From 30c8441a0fbd95cd9cdb69b7280b3ced73233371 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Jul 2025 12:42:24 +0000 Subject: [PATCH 1/3] Initial gh-pages commit From 851cea94781b0ad5bb772ac87d2a59da42c382d8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Jul 2025 12:42:25 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Bost?= =?UTF-8?q?onPython/about@7f10c5300ff8e194f2a79c823b4c26b382c8ac9c=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.editorconfig | 29 ++ .../.gitignore | 3 + .../CNAME | 1 + .../Gemfile | 2 + .../Gemfile.lock | 309 +++++++++++++++ .../README.md | 42 +++ .../_config.yml | 6 + .../_includes/copyright.html | 4 + .../_includes/custom-nav-links.html | 1 + .../_includes/font-includes.html | 6 + .../_includes/sidebar-icon-links.html | 3 + .../_layouts/page.html | 20 + .../add_meetup_events.py | 169 +++++++++ .../assets/css/main.scss | 88 +++++ .../assets/images/LI-In-Bug.png | Bin 0 -> 5557 bytes .../assets/images/Slack_Mark_Web.png | Bin 0 -> 7325 bytes ...itter_Social_Icon_Rounded_Square_Color.png | Bin 0 -> 6249 bytes .../assets/images/email.png | Bin 0 -> 29654 bytes .../assets/images/meetup_logo.png | Bin 0 -> 34323 bytes .../assets/images/python-boston-sq.png | Bin 0 -> 11086 bytes .../assets/images/sponsors/CMT.jpeg | Bin 0 -> 2533 bytes .../assets/images/sponsors/DataDog.jpeg | Bin 0 -> 2312 bytes .../assets/images/sponsors/MSFT_LOGO_2.png | Bin 0 -> 21641 bytes .../assets/images/sponsors/MSFT_Logo.png | Bin 0 -> 1755 bytes .../assets/images/sponsors/MSFT_Logo_2.png | Bin 0 -> 21641 bytes .../images/sponsors/MSFT_Logo_2_orig.png | Bin 0 -> 21641 bytes .../assets/images/sponsors/MSFT_Logo_orig.png | Bin 0 -> 20835 bytes .../images/sponsors/PlanetTechnology.png | Bin 0 -> 3910 bytes .../sponsors/PlanetTechnology_original.png | Bin 0 -> 136990 bytes .../assets/images/sponsors/Temporal.jpeg | Bin 0 -> 1708 bytes .../assets/images/sponsors/Vinta.jpeg | Bin 0 -> 2156 bytes .../assets/images/swfd-shirt.jpg | Bin 0 -> 66270 bytes .../images/youtube_social_icon_white.png | Bin 0 -> 37169 bytes .../code-of-conduct.md | 84 +++++ .../conduct-attendee-procedure.md | 62 +++ .../conduct-staff-procedure.md | 107 ++++++ .../contact.md | 18 + .../events.md | 23 ++ .../favicon.ico | Bin 0 -> 34494 bytes .../feedback.md | 17 + .../giving-a-presentation.md | 45 +++ .../helping.md | 167 +++++++++ .../hosting.md | 28 ++ .../index.md | 43 +++ .../jobs.md | 45 +++ .../lightning.md | 50 +++ .../merch.md | 17 + .../officehour.md | 16 + .../our_sponsors.md | 29 ++ ...0070523-the-cambridge-python-may-meetup.md | 28 ++ ...070620-the-cambridge-python-june-meetup.md | 44 +++ ...070718-the-cambridge-python-july-meetup.md | 37 ++ ...0815-the-cambridge-python-august-meetup.md | 36 ++ ...9-the-cambridge-python-september-meetup.md | 32 ++ ...017-the-cambridge-python-october-meetup.md | 35 ++ ...21-the-cambridge-python-november-meetup.md | 30 ++ ...19-the-cambridge-python-december-meetup.md | 53 +++ ...116-the-cambridge-python-january-meetup.md | 38 ++ ...20-the-cambridge-python-february-meetup.md | 14 + ...0319-the-cambridge-python-march-meeting.md | 55 +++ ...0423-the-cambridge-python-april-meeting.md | 33 ++ ...080521-the-cambridge-python-may-meeting.md | 35 ++ ...80618-the-cambridge-python-june-meeting.md | 31 ++ ...080716-the-cambridge-python-july-meetup.md | 31 ++ ...0917-the-cambridge-python-august-meetup.md | 23 ++ ...015-the-cambridge-python-october-meetup.md | 33 ++ ...19-the-cambridge-python-november-meetup.md | 14 + .../20081120-python-november-meetup.md | 12 + ...0090121-cambridge-python-january-meetup.md | 24 ++ ...18-the-cambridge-python-february-meetup.md | 26 ++ ...ython-march-meetup-pycon-on-the-charles.md | 32 ++ ...90415-the-cambridge-python-april-meetup.md | 22 ++ ...0090520-the-cambridge-python-may-meetup.md | 27 ++ .../20090617-june-cambridge-python-meetup.md | 26 ++ ...090617-the-cambridge-python-june-meetup.md | 14 + ...on-july-meetup-remote-objects-with-pyro.md | 39 ++ ...open-hack-night-cambridge-python-meetup.md | 24 ++ ...n-meetup-mobile-platform-with-appengine.md | 26 ++ ...20091118-testing-in-python-new-location.md | 23 ++ ...100120-pycon-on-the-charles-2010-part-1.md | 35 ++ ...100203-pycon-on-the-charles-2010-part-2.md | 36 ++ ...100317-march-python-meetup-free-for-all.md | 22 ++ ...ons-made-easy-plus-more-lightning-talks.md | 23 ++ ...100519-may-python-meetup-testing-topics.md | 30 ++ .../20100615-google-app-engine-at-google.md | 22 ++ ...tup-echo-nest-remix-and-lightning-talks.md | 24 ++ .../past-events/20100915-beginner-s-night.md | 26 ++ .../20101020-processing-py-inside-and-out.md | 26 ++ ...7-intro-to-twisted-presentation-and-lab.md | 25 ++ .../20101214-nltk-natural-language-toolkit.md | 18 + ...ributor-outreach-and-installation-chaos.md | 30 ++ ...pycon-on-the-charles-practice-session-1.md | 33 ++ ...pycon-on-the-charles-practice-session-2.md | 38 ++ ...n-to-python-for-women-and-their-friends.md | 33 ++ .../20110411-education-and-community.md | 26 ++ .../past-events/20110426-python-hack-night.md | 20 + ...n-to-python-for-women-and-their-friends.md | 44 +++ .../20110518-may-meetup-science.md | 24 ++ .../20110520-python-project-night.md | 36 ++ .../past-events/20110601-superpy.md | 14 + ...15-sqlalchemy-lightning-talks-and-beers.md | 25 ++ .../past-events/20110622-project-night.md | 24 ++ ...n-to-python-for-women-and-their-friends.md | 46 +++ .../20110712-python-project-night.md | 38 ++ ...720-getting-started-testing-your-python.md | 26 ++ .../20110811-python-project-night.md | 42 +++ ...onpython-plus-lightning-talks-and-beers.md | 24 ++ ...20110906-september-python-project-night.md | 47 +++ ...21-numpy-scipy-plus-extras-new-location.md | 28 ++ ...n-to-python-for-women-and-their-friends.md | 40 ++ .../20111004-october-python-project-night.md | 47 +++ .../20111019-lightning-talk-trick-or-treat.md | 30 ++ .../20111107-november-python-project-night.md | 48 +++ .../20111207-december-project-night.md | 38 ++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...mance-testing-lightning-talks-and-beers.md | 37 ++ .../20120110-january-python-project-night.md | 38 ++ ...0120118-web-scraping-tutorial-and-beers.md | 26 ++ ...kaplan-moss-frank-wiles-and-alex-gaynor.md | 28 ++ .../20120208-february-project-night.md | 36 ++ .../20120222-pycon-on-the-charles-part-1.md | 30 ++ .../20120229-pycon-on-the-charles-part-2.md | 30 ++ ...ngo-tools-and-crazy-things-new-location.md | 55 +++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...pril-project-night-with-designer-advice.md | 40 ++ ...undamental-topics-iteration-and-classes.md | 26 ++ .../past-events/20120508-may-project-night.md | 38 ++ ...-science-genes-satellites-and-lightning.md | 30 ++ .../20120604-june-project-night.md | 40 ++ ...entation-distributed-computing-star-egg.md | 30 ++ .../20120712-july-project-night-julython.md | 40 ++ ...indows-desktop-applications-with-python.md | 22 ++ .../20120728-intermediate-python-workshop.md | 38 ++ .../20120809-august-project-night.md | 40 ++ .../20120822-giant-robots-and-lightning.md | 26 ++ .../20120905-sept-project-night.md | 40 ++ .../20120927-100-lightning-talks.md | 22 ++ .../20121010-october-project-night.md | 40 ++ ...121016-intro-to-django-special-location.md | 58 +++ .../20121101-november-project-night.md | 40 ++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...beyond-django-four-other-web-frameworks.md | 24 ++ .../20121204-december-project-night.md | 44 +++ .../20121215-january-presentation-night.md | 12 + .../20130107-january-project-night.md | 43 +++ ...y-presentation-night-zipline-and-hython.md | 26 ++ ...ion-to-python-for-beginning-programmers.md | 36 ++ ...ng-started-with-open-source-development.md | 46 +++ ...twisted-test-driven-networking-software.md | 42 +++ .../20130205-february-project-night.md | 43 +++ .../20130225-pycon-on-the-charles-part-1.md | 24 ++ .../20130227-pycon-on-the-charles-part-2.md | 28 ++ .../20130307-pycon-on-the-charles-part-3.md | 28 ++ .../20130409-april-project-night.md | 43 +++ ...development-sprint-for-new-contributors.md | 32 ++ ...24-parsing-with-ply-and-lightning-talks.md | 26 ++ ...06-may-project-night-different-location.md | 43 +++ ...n-night-kenneth-reitz-python-for-humans.md | 28 ++ ...20130525-intermediate-python-workshop-2.md | 50 +++ .../20130605-june-project-night.md | 43 +++ .../past-events/20130625-machine-learning.md | 32 ++ .../20130701-july-project-night.md | 42 +++ ...n-to-python-for-women-and-their-friends.md | 44 +++ .../20130730-lightning-talks-for-july.md | 20 + .../20130820-august-project-night.md | 40 ++ .../20130828-four-talks-about-flask.md | 18 + .../20130909-september-project-night.md | 40 ++ .../20130923-fundamental-topics-night.md | 38 ++ .../20131014-october-project-night.md | 40 ++ .../past-events/20131029-helper-languages.md | 30 ++ .../20131114-november-project-night.md | 54 +++ .../20131120-data-good-tools-bad-journals.md | 26 ++ .../20131205-december-project-night.md | 54 +++ .../20140120-january-project-night.md | 54 +++ ...128-historic-python-and-lightning-talks.md | 20 + ...ion-to-python-for-beginning-programmers.md | 38 ++ ...entation-night-football-cycles-red-line.md | 24 ++ .../20140226-february-project-night.md | 56 +++ ...-analyzing-science-problems-with-python.md | 30 ++ ...ng-started-with-open-source-development.md | 56 +++ .../20140310-march-project-night.md | 56 +++ .../20140324-pycon-rehearsals-1.md | 26 ++ ...0326-pycon-rehearsals-2-hy-and-outreach.md | 24 ++ ...n-rehearsals-3-helicopters-and-open-edx.md | 28 ++ ...ls-4-shelling-out-and-games-for-science.md | 24 ++ .../past-events/20140512-may-project-night.md | 56 +++ .../20140527-raspberry-pi-projects.md | 24 ++ .../20140609-june-project-night.md | 56 +++ ...une-presentation-night-puzzle-solutions.md | 30 ++ .../20140707-july-project-night.md | 56 +++ ...presentation-night-what-i-built-at-work.md | 26 ++ .../20140807-august-project-night.md | 48 +++ .../20140821-august-presentation-night.md | 12 + .../20140908-september-project-night.md | 48 +++ ...tion-night-introductory-data-structures.md | 26 ++ .../20141001-beer-with-harry-percival.md | 20 + .../20141014-october-project-night.md | 44 +++ .../20141029-advanced-programming-tools.md | 30 ++ ...141110-november-project-night-at-akamai.md | 46 +++ .../20141125-november-presentation-night.md | 12 + ...04-boston-python-december-project-night.md | 44 +++ ...er-presentation-night-stocking-stuffers.md | 36 ++ .../20150106-january-project-night.md | 44 +++ .../20150122-engineering-science-and-art.md | 28 ++ .../20150212-february-project-night.md | 44 +++ .../20150217-nanogenmo-and-type-hinting.md | 30 ++ .../20150304-march-project-night.md | 44 +++ .../20150318-pycon-rehearsals-1.md | 29 ++ .../20150323-pycon-rehearsals-2.md | 26 ++ ...ical-graph-network-analysis-made-simple.md | 48 +++ ...al-inference-with-computational-methods.md | 36 ++ .../20150330-pycon-rehearsals-3.md | 28 ++ .../20150402-pycon-rehearsals-4.md | 28 ++ ...ston-python-may-project-night-at-akamai.md | 46 +++ ...hon-open-data-science-con-presentations.md | 28 ++ ...150601-boston-python-june-project-night.md | 44 +++ .../past-events/20150622-9-lightning-talks.md | 30 ++ .../20150707-july-project-night.md | 44 +++ ...21-intro-to-classes-and-special-methods.md | 28 ++ .../20150810-august-project-night.md | 44 +++ ...0827-twisted-async-networking-framework.md | 24 ++ .../20150903-september-project-night.md | 44 +++ ...r-presentation-night-favorite-libraries.md | 30 ++ ...001-boston-python-october-project-night.md | 44 +++ .../20151021-october-presentation-night.md | 32 ++ ...05-boston-python-november-project-night.md | 44 +++ ...ston-python-november-presentation-night.md | 26 ++ ...03-boston-python-december-project-night.md | 44 +++ .../20160106-january-project-night.md | 44 +++ ...0120-project-basics-structure-and-tests.md | 28 ++ .../20160202-february-project-night.md | 22 ++ ...y-presentation-testing-web-applications.md | 26 ++ ...60308-boston-python-march-project-night.md | 22 ++ .../past-events/20160321-scipy-ecosystem.md | 24 ++ ...-talking-to-other-computers-with-python.md | 24 ++ .../20160407-project-night-at-akamai.md | 24 ++ .../past-events/20160419-pycon-rehearsal-1.md | 12 + ...on-rehearsals-1-flask-apis-and-bytecode.md | 26 ++ ...mance-post-mortem-and-machete-debugging.md | 28 ++ ...aceful-degradation-and-property-testing.md | 28 ++ ...rehearsals-4-laser-cutters-and-closures.md | 28 ++ .../20160606-june-project-night-at-akamai.md | 22 ++ .../20160706-july-project-night.md | 22 ++ .../20160714-cris-ewing-plone-s-evolution.md | 20 + ...60716-workshop-plone-theming-with-diazo.md | 26 ++ .../20160719-beekeeper-and-lightning-talks.md | 28 ++ .../20160815-august-project-night.md | 22 ++ .../past-events/20160824-microservices.md | 24 ++ .../20160906-september-project-night.md | 22 ++ .../20160920-september-presentation-night.md | 30 ++ ...004-boston-python-october-project-night.md | 22 ++ ...20-brandon-rhodes-the-subprocess-module.md | 26 ++ .../20161107-november-project-night.md | 22 ++ ...ther-a-dataset-to-predict-oscar-winners.md | 30 ++ .../20161205-december-project-night.md | 22 ++ ...mber-presentation-night-lightning-talks.md | 26 ++ .../20170110-january-project-night.md | 22 ++ ...ipt-modeling-pattern-formation-and-pypy.md | 29 ++ ...170209-cancelled-february-project-night.md | 24 ++ ...on-night-porting-python-to-new-hardware.md | 20 + ...70307-boston-python-march-project-night.md | 22 ++ ...0170321-jupyter-wearables-and-iteration.md | 26 ++ ...70405-boston-python-april-project-night.md | 24 ++ ...comparing-unicode-and-predicting-oscars.md | 32 ++ ...-to-write-and-debug-c-extension-modules.md | 34 ++ ...-intro-to-dsp-digital-signal-processing.md | 30 ++ ...arsal-2-laziness-mongo-and-immutability.md | 42 +++ .../20170506-tutorial-complexity-science.md | 38 ++ ...6-tutorial-network-analysis-made-simple.md | 32 ++ ...l-3-deep-learning-and-bayesian-analysis.md | 27 ++ ...rsal-4-testing-instagram-and-library-ux.md | 44 +++ ...l-applied-modern-cryptography-in-python.md | 34 ++ ...best-testing-practices-for-data-science.md | 30 ++ ...170605-boston-python-june-project-night.md | 22 ++ .../20170622-june-presentation-night.md | 26 ++ .../20170712-july-project-night.md | 22 ++ .../20170718-july-presentation-night.md | 30 ++ .../20170808-august-project-night.md | 22 ++ ...0170824-virtualenv-items-and-attributes.md | 24 ++ .../20170907-september-project-night.md | 20 + ...170919-what-i-did-on-my-summer-vacation.md | 22 ++ ...010-boston-python-october-project-night.md | 22 ++ ...unctions-descriptors-and-teaching-teens.md | 32 ++ .../20171120-boston-python-project-night.md | 20 + ...ston-python-december-presentation-night.md | 24 ++ .../20180108-boston-python-project-night.md | 20 + .../past-events/20180124-lightning-talks.md | 24 ++ ...0207-february-project-night-at-cargurus.md | 20 + ...180221-boston-python-presentation-night.md | 28 ++ .../20180305-boston-python-project-night.md | 22 ++ ...80320-tox-travis-setup-py-and-lightning.md | 27 ++ .../20180410-april-project-night.md | 22 ++ ...con-rehearsals-gerrymandering-and-big-o.md | 30 ++ ...-pycon-rehearsals-functions-and-dragons.md | 24 ++ ...ations-of-numerical-computing-in-python.md | 46 +++ ...180611-boston-python-june-project-night.md | 22 ++ .../20180619-physical-computing.md | 22 ++ .../20180710-july-project-night.md | 22 ++ ...180730-itertools-and-encrypted-bytecode.md | 26 ++ .../20180801-august-project-night.md | 22 ++ .../past-events/20180821-lightning-talks.md | 32 ++ .../20180911-september-project-night.md | 22 ++ .../20180926-cffi-and-neural-networks.md | 26 ++ ...011-boston-python-october-project-night.md | 22 ++ ...1023-molecules-and-reproducible-science.md | 24 ++ .../20181107-boston-python-project-night.md | 22 ++ .../20181127-november-presentation-night.md | 28 ++ .../20181204-december-project-night.md | 22 ++ ...ember-presentation-night-advent-of-code.md | 20 + .../20190109-january-project-night.md | 22 ++ ...oston-python-january-presentation-night.md | 25 ++ .../20190204-boston-python-project-night.md | 22 ++ .../20190221-february-presentation-night.md | 24 ++ ...90305-boston-python-march-project-night.md | 22 ++ ...nner-python-class-build-a-guessing-game.md | 30 ++ .../20190403-boston-python-project-night.md | 22 ++ ...al-night-1-generalized-bayesian-testing.md | 26 ++ ...earsals-2-multiprocessing-and-profiling.md | 30 ++ ...0190520-boston-python-may-project-night.md | 22 ++ .../20190626-making-things-with-python.md | 26 ++ .../20190709-boston-python-project-night.md | 24 ++ .../20190723-presentation-night-science.md | 29 ++ .../20190805-boston-python-project-night.md | 24 ++ ...0190822-presentation-night-web-scraping.md | 20 + .../20190910-september-project-night.md | 24 ++ .../20190924-presentation-night-graphql.md | 26 ++ .../20191003-october-project-night.md | 26 ++ .../20191023-october-lightning-talks.md | 17 + .../20191105-november-project-night.md | 17 + .../20191119-four-data-themed-talks.md | 17 + .../20191203-project-collaboration-night.md | 17 + ...presentation-night-making-python-faster.md | 17 + ...0200107-project-and-collaboration-night.md | 17 + .../20200128-devops-for-pythonistas.md | 17 + ...0200204-project-and-collaboration-night.md | 17 + ...ion-getting-started-testing-with-pytest.md | 17 + ...ne-only-project-and-collaboration-night.md | 17 + ...-online-presentation-loop-like-a-native.md | 17 + .../20200409-pycon-2020-rehearsal-night.md | 13 + .../20200425-online-lightning-talks.md | 17 + ...hon-3-type-annotations-for-data-science.md | 17 + ...nal-analytics-with-sqlite-and-datasette.md | 17 + ...-online-project-and-collaboration-night.md | 19 + ...-how-to-land-your-first-engineering-job.md | 17 + ...-online-project-and-collaboration-night.md | 17 + ...18-intro-tech-talks-with-women-who-code.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20201216-december-presentation-night.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20210119-drawing-with-python-drawbot.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20210217-approaches-to-debugging.md | 17 + ...-online-collaboration-and-project-night.md | 17 + ...210310-python-study-group-iterators-101.md | 17 + .../20210322-pytest-from-the-ground-up.md | 17 + ...210324-python-study-group-iterators-101.md | 17 + ...-python-study-group-list-comprehensions.md | 17 + ...-online-collaboration-and-project-night.md | 17 + ...n-study-group-dates-and-times-in-pandas.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...hon-study-group-yaml-and-json-in-python.md | 17 + ...udy-group-the-python-package-index-pypi.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...0602-python-study-group-lightning-round.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...-python-study-group-linting-with-pylint.md | 17 + ...10921-python-study-group-intro-to-flask.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...on-0-boston-python-study-group-planning.md | 17 + ...1111-solve-programming-puzzles-together.md | 17 + ...on-1-setting-up-your-python-environment.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...0211201-session-2-cleaning-up-data-sets.md | 17 + ...11215-session-3-numpy-and-data-analysis.md | 17 + ...3-overview-of-python-graphing-libraries.md | 17 + .../20220113-aesthetic-python-neurons.md | 17 + .../20220119-session-4-intro-to-seaborn.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + .../20220209-session-6-python-case-studies.md | 15 + .../20220216-exploring-data-with-python.md | 15 + .../past-events/index.md | 354 ++++++++++++++++++ .../planning.md | 14 + .../requirements.txt | 5 + .../resources.md | 70 ++++ .../slack.md | 33 ++ .../sponsorship.md | 42 +++ 386 files changed, 11469 insertions(+) create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.editorconfig create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.gitignore create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/CNAME create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile.lock create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/README.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_config.yml create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/copyright.html create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/custom-nav-links.html create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/font-includes.html create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/sidebar-icon-links.html create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_layouts/page.html create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/add_meetup_events.py create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/css/main.scss create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/LI-In-Bug.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/Slack_Mark_Web.png create mode 100755 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/email.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/meetup_logo.png create mode 100755 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/python-boston-sq.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/CMT.jpeg create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/DataDog.jpeg create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_LOGO_2.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo_2.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo_2_orig.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo_orig.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/PlanetTechnology.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/PlanetTechnology_original.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/Temporal.jpeg create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/Vinta.jpeg create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/swfd-shirt.jpg create mode 100755 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/youtube_social_icon_white.png create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/code-of-conduct.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-attendee-procedure.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-staff-procedure.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/contact.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/events.md create mode 100755 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/favicon.ico create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/feedback.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/giving-a-presentation.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/helping.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/hosting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/index.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/jobs.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/lightning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/merch.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/officehour.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/our_sponsors.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070523-the-cambridge-python-may-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070620-the-cambridge-python-june-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070718-the-cambridge-python-july-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070815-the-cambridge-python-august-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070919-the-cambridge-python-september-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071017-the-cambridge-python-october-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071121-the-cambridge-python-november-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071219-the-cambridge-python-december-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080116-the-cambridge-python-january-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080220-the-cambridge-python-february-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080319-the-cambridge-python-march-meeting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080423-the-cambridge-python-april-meeting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080521-the-cambridge-python-may-meeting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080618-the-cambridge-python-june-meeting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080716-the-cambridge-python-july-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080917-the-cambridge-python-august-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081015-the-cambridge-python-october-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081119-the-cambridge-python-november-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081120-python-november-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090121-cambridge-python-january-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090218-the-cambridge-python-february-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090415-the-cambridge-python-april-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090520-the-cambridge-python-may-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-june-cambridge-python-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-the-cambridge-python-june-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091118-testing-in-python-new-location.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100120-pycon-on-the-charles-2010-part-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100203-pycon-on-the-charles-2010-part-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100317-march-python-meetup-free-for-all.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100519-may-python-meetup-testing-topics.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100615-google-app-engine-at-google.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100915-beginner-s-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101020-processing-py-inside-and-out.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101117-intro-to-twisted-presentation-and-lab.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101214-nltk-natural-language-toolkit.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110222-pycon-on-the-charles-practice-session-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110302-pycon-on-the-charles-practice-session-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110411-education-and-community.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110426-python-hack-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110518-may-meetup-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110520-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110601-superpy.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110622-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110712-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110720-getting-started-testing-your-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110811-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110906-september-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110921-numpy-scipy-plus-extras-new-location.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111004-october-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111019-lightning-talk-trick-or-treat.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111107-november-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111207-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120110-january-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120118-web-scraping-tutorial-and-beers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120208-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120222-pycon-on-the-charles-part-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120229-pycon-on-the-charles-part-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120322-django-tools-and-crazy-things-new-location.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120412-april-project-night-with-designer-advice.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120424-fundamental-topics-iteration-and-classes.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120508-may-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120523-science-genes-satellites-and-lightning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120604-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120620-june-presentation-distributed-computing-star-egg.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120712-july-project-night-julython.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120724-building-real-windows-desktop-applications-with-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120728-intermediate-python-workshop.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120809-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120822-giant-robots-and-lightning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120905-sept-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120927-100-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121010-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121016-intro-to-django-special-location.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121101-november-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121115-beyond-django-four-other-web-frameworks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121204-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121215-january-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130107-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130124-january-presentation-night-zipline-and-hython.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130205-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130225-pycon-on-the-charles-part-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130227-pycon-on-the-charles-part-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130307-pycon-on-the-charles-part-3.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130409-april-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130413-cpython-development-sprint-for-new-contributors.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130424-parsing-with-ply-and-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130506-may-project-night-different-location.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130525-intermediate-python-workshop-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130605-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130625-machine-learning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130701-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130730-lightning-talks-for-july.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130820-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130828-four-talks-about-flask.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130909-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130923-fundamental-topics-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131014-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131029-helper-languages.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131114-november-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131120-data-good-tools-bad-journals.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131205-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140120-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140128-historic-python-and-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140220-february-presentation-night-football-cycles-red-line.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140226-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140310-march-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140324-pycon-rehearsals-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140512-may-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140527-raspberry-pi-projects.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140609-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140625-june-presentation-night-puzzle-solutions.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140707-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140722-july-presentation-night-what-i-built-at-work.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140807-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140821-august-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140908-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140922-september-presentation-night-introductory-data-structures.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141001-beer-with-harry-percival.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141014-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141029-advanced-programming-tools.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141110-november-project-night-at-akamai.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141125-november-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141204-boston-python-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141211-december-presentation-night-stocking-stuffers.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150106-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150122-engineering-science-and-art.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150212-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150217-nanogenmo-and-type-hinting.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150304-march-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150318-pycon-rehearsals-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150323-pycon-rehearsals-2.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150330-pycon-rehearsals-3.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150402-pycon-rehearsals-4.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150512-boston-python-may-project-night-at-akamai.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150520-boston-python-open-data-science-con-presentations.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150601-boston-python-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150622-9-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150707-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150721-intro-to-classes-and-special-methods.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150810-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150827-twisted-async-networking-framework.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150903-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150924-september-presentation-night-favorite-libraries.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151001-boston-python-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151021-october-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151105-boston-python-november-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151117-boston-python-november-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151203-boston-python-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160106-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160120-project-basics-structure-and-tests.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160202-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160223-february-presentation-testing-web-applications.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160308-boston-python-march-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160321-scipy-ecosystem.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160326-tutorial-talking-to-other-computers-with-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160407-project-night-at-akamai.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160419-pycon-rehearsal-1.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160606-june-project-night-at-akamai.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160706-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160714-cris-ewing-plone-s-evolution.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160716-workshop-plone-theming-with-diazo.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160719-beekeeper-and-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160815-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160824-microservices.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160906-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160920-september-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161004-boston-python-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161020-brandon-rhodes-the-subprocess-module.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161107-november-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161205-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161220-december-presentation-night-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170110-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170209-cancelled-february-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170307-boston-python-march-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170321-jupyter-wearables-and-iteration.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170405-boston-python-april-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-complexity-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-network-analysis-made-simple.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-best-testing-practices-for-data-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170605-boston-python-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170622-june-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170712-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170718-july-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170808-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170824-virtualenv-items-and-attributes.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170907-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170919-what-i-did-on-my-summer-vacation.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171010-boston-python-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171120-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171218-boston-python-december-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180108-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180124-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180207-february-project-night-at-cargurus.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180221-boston-python-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180305-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180320-tox-travis-setup-py-and-lightning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180410-april-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180503-pycon-rehearsals-functions-and-dragons.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180611-boston-python-june-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180619-physical-computing.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180710-july-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180730-itertools-and-encrypted-bytecode.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180801-august-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180821-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180911-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180926-cffi-and-neural-networks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181011-boston-python-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181023-molecules-and-reproducible-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181107-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181127-november-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181204-december-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181218-december-presentation-night-advent-of-code.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190109-january-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190123-boston-python-january-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190204-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190221-february-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190305-boston-python-march-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190319-beginner-python-class-build-a-guessing-game.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190403-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190520-boston-python-may-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190626-making-things-with-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190709-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190723-presentation-night-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190805-boston-python-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190822-presentation-night-web-scraping.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190910-september-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190924-presentation-night-graphql.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191003-october-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191023-october-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191105-november-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191119-four-data-themed-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191203-project-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191217-presentation-night-making-python-faster.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200107-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200128-devops-for-pythonistas.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200204-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200226-presentation-getting-started-testing-with-pytest.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200312-online-only-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200331-online-presentation-loop-like-a-native.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200409-pycon-2020-rehearsal-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200425-online-lightning-talks.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200923-online-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201021-online-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201118-intro-tech-talks-with-women-who-code.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201202-online-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201216-december-presentation-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210105-online-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210119-drawing-with-python-drawbot.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210202-online-project-and-collaboration-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210217-approaches-to-debugging.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210301-online-collaboration-and-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210310-python-study-group-iterators-101.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210322-pytest-from-the-ground-up.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210324-python-study-group-iterators-101.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210331-python-study-group-list-comprehensions.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210407-online-collaboration-and-project-night.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210414-python-study-group-dates-and-times-in-pandas.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210427-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210428-python-study-group-yaml-and-json-in-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210512-python-study-group-the-python-package-index-pypi.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210525-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210602-python-study-group-lightning-round.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210720-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210728-python-study-group-linting-with-pylint.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210921-python-study-group-intro-to-flask.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211012-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211027-session-0-boston-python-study-group-planning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211111-solve-programming-puzzles-together.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211117-session-1-setting-up-your-python-environment.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211118-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211201-session-2-cleaning-up-data-sets.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211215-session-3-numpy-and-data-analysis.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220105-session-3-overview-of-python-graphing-libraries.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220113-aesthetic-python-neurons.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220119-session-4-intro-to-seaborn.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220127-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220209-session-6-python-case-studies.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220216-exploring-data-with-python.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/index.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/planning.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/requirements.txt create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/resources.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/slack.md create mode 100644 pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/sponsorship.md diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.editorconfig b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.editorconfig new file mode 100644 index 0000000..e94a4f8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.editorconfig @@ -0,0 +1,29 @@ +# This file is for unifying the coding style for different editors and IDEs. +# More information at http://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +max_line_length = off +trim_trailing_whitespace = true + +[*.html] +indent_size = 2 + +[*.yml] +indent_size = 2 + +[Makefile] +indent_style = tab +indent_size = 8 + +[*.diff] +trim_trailing_whitespace = false + +[.git/*] +trim_trailing_whitespace = false diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.gitignore b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.gitignore new file mode 100644 index 0000000..d1bcfed --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/.gitignore @@ -0,0 +1,3 @@ +_site/ +.DS_Store +.venv/ diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/CNAME b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/CNAME new file mode 100644 index 0000000..53d1658 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/CNAME @@ -0,0 +1 @@ +about.bostonpython.com \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile new file mode 100644 index 0000000..37f5eaa --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile.lock b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile.lock new file mode 100644 index 0000000..9f22841 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/Gemfile.lock @@ -0,0 +1,309 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (8.0.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + benchmark (0.4.1) + bigdecimal (3.2.2) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.11) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) + csv (3.3.5) + dnsruby (1.72.4) + base64 (~> 0.2.0) + logger (~> 1.6.5) + simpleidn (~> 0.2.1) + drb (2.2.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.10.0) + faraday (2.13.1) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.1) + net-http (>= 0.5.0) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (232) + github-pages-health-check (= 1.18.2) + jekyll (= 3.10.0) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.5.1) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.16.2, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + webrick (~> 1.8) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.7) + concurrent-ruby (~> 1.0) + jekyll (3.10.0) + addressable (~> 2.4) + colorator (~> 1.0) + csv (~> 3.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + webrick (>= 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + json (2.12.2) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.6) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.25.5) + net-http (0.6.0) + uri + nokogiri (1.18.8-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.8-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.8-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-musl) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.1.1) + racc (1.8.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.1) + rouge (3.30.0) + rubyzip (2.4.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + simpleidn (0.2.3) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (1.8.0) + uri (1.0.3) + webrick (1.9.1) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.6.7 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/README.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/README.md new file mode 100644 index 0000000..370ba9c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/README.md @@ -0,0 +1,42 @@ +# About Boston Python + +Content and configuration for , built with [Jekyll](https://jekyllrb.com/) and hosted on [GitHub Pages](https://pages.github.com/). + +## Running the site locally + +[Clone](https://help.github.com/en/articles/cloning-a-repository) (or [fork](https://help.github.com/en/articles/about-forks) then clone) this repo. + +Install Ruby v2.6+ as explained in the [Jekyll docs](https://jekyllrb.com/docs/installation/) for your operating system (via [rbenv](https://github.com/rbenv/rbenv), for example). + +Make sure both the installed Ruby version and RubyGems are on your path: + +``` +$ ruby -v +$ gem -v +``` + +Install [Bundler](https://bundler.io/): + +``` +$ gem install bundler +``` + +Install the gems to build the site: + +``` +$ bundle install +``` + +Build and serve the site: + +``` +$ bundle exec jekyll serve +``` + +View the site in a browser at . + +## Developing the site + +This site uses the [Hydeout](https://fongandrew.github.io/hydeout/) theme. Most of the site's structure and style come from the theme, so please have a look at the theme source code if you're interested in making any relevant changes. + +To run Jekyll commands, use `bundle exec jekyll`. diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_config.yml b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_config.yml new file mode 100644 index 0000000..cca908f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_config.yml @@ -0,0 +1,6 @@ +remote_theme: fongandrew/hydeout +title: Boston Python +description: The Boston-area Python user group +permalink: /:name +plugins: + - jekyll-redirect-from diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/copyright.html b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/copyright.html new file mode 100644 index 0000000..f82c53a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/copyright.html @@ -0,0 +1,4 @@ + diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/custom-nav-links.html b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/custom-nav-links.html new file mode 100644 index 0000000..4b8614c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/custom-nav-links.html @@ -0,0 +1 @@ + diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/font-includes.html b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/font-includes.html new file mode 100644 index 0000000..8f4823b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/font-includes.html @@ -0,0 +1,6 @@ +{% comment %} + Separate partial for Google Webfont include, so we can override with + different fonts as applicable. +{% endcomment %} + + diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/sidebar-icon-links.html b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/sidebar-icon-links.html new file mode 100644 index 0000000..34cf631 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_includes/sidebar-icon-links.html @@ -0,0 +1,3 @@ +{% comment %} +the theme puts an rss icon here, which we don't want. +{% endcomment %} diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_layouts/page.html b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_layouts/page.html new file mode 100644 index 0000000..8092371 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/_layouts/page.html @@ -0,0 +1,20 @@ +--- +layout: default +--- + +{% if page.title != 'Home' %} +
+

{{ page.title }}

+
+{% endif %} +
+ {{ content }} +
+ diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/add_meetup_events.py b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/add_meetup_events.py new file mode 100644 index 0000000..e4be034 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/add_meetup_events.py @@ -0,0 +1,169 @@ +""" +Install the requirements in requirements.txt in a virtualenv + +To see the latest output for past-events/index.md, execute + + $ python add_meetup_events.py + +To over-write with latest output, execute + + $ python add_meetup_events.py --rewrite +""" +import httpx +from bs4 import BeautifulSoup +from collections import defaultdict +from datetime import datetime +from slugify import slugify +from jinja2 import Environment +import sys +from pathlib import Path + + +root = Path(__file__).parent.resolve() + +# past events meetup URL +url = "https://www.meetup.com/bostonpython/events/past/" + +# markdown file template saved under past-events +MD = """--- +title: {{ title }} +sidebar_link: false +--- + +{{ event_date }} +{% for c in contents %} +{{ c }} +{% endfor %} + +Meetup link: [{{ event_url }}]({{ event_url }}) + +[Back to Past Events Page](index.md) +""" + +# list of all events which at the end are joined to contruct +# the index.md file inside past-events folder +past_events = [ + "---", + "title: Past Events", + "sidebar_link: false", + "---\n", + "List of past events:\n", +] + + +if __name__ == "__main__": + try: + # by default this get only gets the 10 most recent events + r = httpx.get(url) + except httpx.RequestError as exc: + print(f"An error occurred while requesting {exc.request.url!r}.") + raise + + soup = BeautifulSoup(r.content.decode('utf-8','ignore'), "lxml") + + datemap = defaultdict(list) + + # beautifulsoup finding the list of recent 10 events + # mapping to defaultdict datemap + lis = soup.find_all("li", {"class": "list-item border--none"}) + for li in lis: + t = li.find("time") + d = datetime.fromtimestamp(int(t["datetime"][:10])) + year = d.year + datemap[year].append(li) + + # get list of already existing event files under past-events + processed = Path('past-events').glob('**/*') + processed_files = [x for x in processed if x.is_file()] + + # structure of data for existing_events + # { + # 2007: { + # datetime.date(2007, 5, 23): [ + # ('The Cambridge Python May Meetup', '20070523-the-cambridge-python-may-meetup.md') + # ] + # } + # } + existing_events = defaultdict(lambda: defaultdict(list)) + + # iterate all the files under past-events and populate + # existing_events + for p in processed_files: + if p.name == "index.md": + continue + event_date = datetime.strptime(p.name.split("-")[0], "%Y%m%d").date() + lines = p.read_text(encoding="utf-8").split("\n") + title = None + for line in lines: + if line.startswith("title:"): + _, title = line.split(": ") + break + existing_events[event_date.year][event_date].append((title, p.name)) + + last_processed_year = max(existing_events.keys()) + max_processed_date = max(existing_events[last_processed_year]) + + # now iterate over data downloaded from meetup and check whats not been processed + # and saved under past-events + for year, events in datemap.items(): + for event in events: + link = event.find("a") + url = link["href"] + title = link.text + parts = [part.strip() for part in title.split(":")] + title = " - ".join(parts) + if title == "Monday office hour": + continue + t = event.find("time") + d = datetime.fromtimestamp(int(t["datetime"][:10])) + if d.date() <= max_processed_date: + continue + name = slugify(title) + filename = f"past-events/{d.strftime('%Y%m%d')}-{name}.md" + location = event.find("div", {"class": "venueDisplay"}) + if not location: + location = event.find("p", {"class": "venueDisplay"}) + attendees = event.find("li", {"class": "avatarRow--attendingCount"}) + try: + count = attendees.text + except: + count = 0 + contents = event.find_all("p", {"class": "text--small"}) + new_contents = [] + for content in contents: + if 'class' in content.attrs: + del content.attrs['class'] + if 'style' in content.attrs: + del content.attrs['style'] + new_contents.append(content) + + event_date = d.strftime("%B %d, %Y") + mydict = { + "title": title, + "event_date": event_date, + "location": location.text, + "event_url": "https://www.meetup.com"+url, + "contents": new_contents, + } + # write event file to past-events + with open(filename, "w") as e: + output = Environment().from_string(MD).render(**mydict).replace('\xa0', '') + e.write(output) + print(f"Write {filename}") + # add to existing_events data structure + existing_events[year][d.date()].append((title, f"{d.strftime('%Y%m%d')}-{name}.md")) + + # Now go over all existing_events and construct past_events list + for year in reversed(sorted(existing_events.keys())): + past_events.append(f"- {year}") + for dts in reversed(sorted(existing_events[year].keys())): + for title, filename in sorted(existing_events[year][dts], key=lambda x:x[0]): + past_events.append(f" - [{title}]({filename}) ({dts:%m/%d/%Y})") + + # either print or over-write past-event/index.md file + if "--rewrite" in sys.argv: + index_file = root / "past-events" / "index.md" + index_txt = "\n".join(past_events).strip() + index_file.open("w").write(index_txt) + else: + print("\n".join(past_events)) diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/css/main.scss b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/css/main.scss new file mode 100644 index 0000000..3b841dd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/css/main.scss @@ -0,0 +1,88 @@ +--- +# Jekyll needs front matter for SCSS files +--- + +// Variables for Hydeout + +$root-font-family: Merriweather, Georgia, serif; +$sidebar-bg-color: lighten(#2b442f, 10%); +$link-color: #289828; +$sidebar-sticky: false; +$section-spacing: 2rem; +$sidebar-width: 16rem; +$large-font-size: 1.15rem !default; + +@import "hydeout"; + +// Overrides of Hydeout styles + +#sidebar { + .site-title { + font-family: $root-font-family; + font-weight: bold; + } +} + +img { + display: inline; + margin-bottom: -.25em; + &.left-icon { + width: 24px; + height: 24px; + margin-right: .6em; + } +} + +// Our own styles + +h2 { + margin: 2rem 0 1rem; + border-bottom: 1px solid #ddd; +} + +footer.content { + font-size: 85%; + padding-top: 0; + padding-bottom: 2rem !important; +} + +.editme { + padding: 1rem; + margin: -1rem; + + &:target { + animation: fade-bg 3s; + @keyframes fade-bg + { + 0% { background: rgba($sidebar-bg-color, 0.2); } + 100% { background: transparent; } + } + } +} + +.copyright { + margin-top: 2em; +} + +.container { + padding-top: 3rem; +} + +.content * { + max-width: 32em; +} + +nav#sidebar-nav-links .active { + text-decoration: underline; +} + +#community_inviter_container { + margin: 2em 0; + + input { + font-size: 100%; + } + img { + display: none; + } +} diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/LI-In-Bug.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/LI-In-Bug.png new file mode 100644 index 0000000000000000000000000000000000000000..e85d6bbc4bc086e53f6cb2d389ddb7004ff82a5f GIT binary patch literal 5557 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 literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png new file mode 100755 index 0000000000000000000000000000000000000000..372a39ea9d8e43cc2a16934f5c182ee30a37637a GIT binary patch literal 6249 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 literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/meetup_logo.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/meetup_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ec18ba20706e59bef8476118f656f9fda56fdead GIT binary patch literal 34323 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 LTCjxwhu8lA(jBA@ literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/python-boston-sq.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/python-boston-sq.png new file mode 100755 index 0000000000000000000000000000000000000000..e42003634bd64df1d72fc3717ff7096a0edc4c0c GIT binary patch literal 11086 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 literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/CMT.jpeg b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/CMT.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3ee579f37f11ee895d923e05d24eb0ef9c313ed1 GIT binary patch literal 2533 zcmb7FdpuOz7e8la%#0ys492U>7$(n*XH-HGQ^+VZ>5^A@rjeqQNByGPj?it06?Q@ z0%!mLkbo2j2SCUYz6zko%IE^wia%_3$X5Tc2L{=A*suNm@rafE5a5c~LRyIPb3_6_ zG73OIGgN&&DwwirgAf9c|6^W{N(J**5d{JOfaR|uMnK=df7n)#Efm2ZUHO;YIG3S{MCD4G)L% zD@u_oc&kbo@11JJp{#$Erz_&V^@t5** z(*_H9PpZ%BTXo=*=$%(LY0jC?R$Q+9-Pa+=_4GsciB!`!LBnd`beLJ@&h)eI@?&0i zU&&51HEnui);`eSk#VjgSlq3cAknh3l#Jtc8izcR`@&0!WVFnIDIH=5L^bi0+t)kw z{Y~^zJJTtQ`#vZ=7~{F?xpv!$Px01V0%%cV78AZJD?xjr$nXtqjQFth`v?>c5eL9v zAY9}>QGzfj9GpbQt57X0SAv1!H3xY+Lqj;39EO0QL{|}oMURt0;7KZ$WIcVlh^MrwS8Pf_H`Tz;@FNYjDVs@VYEq{CWPU8PGecK|-S&uyW0>UD$5VBFL`$=tGA*@f+qS$XwpS54el z!5e9O8EyPAN^VtY@6_Qm+Lg7sL7F=1If0irm0$KsR5)|` z?>TcoQ8jDnGjBwSMvF8?KKOp)H)8lebA0M=8Mo*Lk7Ww(wB7WON;KV1UsH8rob@tc zxt5eMOnFbE)Om-{)uo~x4lpY(SccYaf8EH98xsI{?B~-rXlaR-{*@Tu$_hp3Or^OUqigt@5%Dv0MDZT(OteJ6WsF=FGan7?1 zmASi&QR4j~xAJRuFIT6*I#)9FVk0lWE0yU(R!r17BGS9Xut8_}6z7+B`Fst&<5Y(k_O%#``@@8C1N%wH}_D396 z&)Z0oMg1Z}8Ot^+gKzd>hRxc=YzuqkA=MkSHO5Vzg)z)a2cEj-L`@!_e3`5^sB2d5 zZ<`g*yjQ#zLYVTFJo9>&vVn z%c(vskb}?ReEgm@pE&7VHzWXA)VT$E zuFo?0-7-}_LkY3Fgj}GMu>QDA+UkXVC%affyb>_kL zjn4ukvdcs3Nepk62KQ-?D7(|oEqm#rHG3dgu`A=~u}eF9adPMqmX}fa*3Bn{w5y5( zAU1%i;=iZxgoObSfJN+RN;UgmhQUr^j81;Hf=i|+2Bsf1^;y^Vm$uQS>9w2pbzERA zneKRVxJM4V;bhou8+{RHwmxDL`mv+-c&Du-<+h!s+sDnq^T=3;!{HDG{i;J803GK^ zXU3*f6DP9tA`{nM0;cc#KA;Kf1c<@O3dq zYgL_d$~jT?i8h+>FnWeYgmje68^eI`X2)+xM@t|%#&2<%pR@f6R=(9QIupAPP{_eM zG>zd?&RVG&6|wSib9>TJ+?QE=T4@WZFwuFa>8M&4_X5lQxyNv?W&;&RAI$lC5Q`fx zZ9M8XX`eS&CkcNQ+VRAOymRoqhup;l)!4HkWs6r$oaC_=9ui7Rl{7~U32d(jcb|*j z`maSRrz$VLUYB9aUCV3eBi=um;P72co_Ssgj7|(r}1Uo0v-TL7>$^N^`EeMV!X<{j*quKtHn8=}) z_L5>1(mSG&pF-Ptr?zp&seJS^#CD~l@3=iTa|8z5QWT(yirkT*E%11+Kw)pkcpRjm@oXhbqJ4oO}-!)Zejw#696; zZ+DAy?ZfZ3zG5N?6ynxTAzzD6Cn;NT%-&${IT;naq7#F{l}wxu&Ys8UR(J-e>~znA N$4T8C`93G$`~y&I%6k9+ literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/DataDog.jpeg b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/DataDog.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1c175500fd5bbd7b598d17a0531e0c303eddddf0 GIT binary patch literal 2312 zcmb7EdpMM78-Lz+j#RvZqCqoboGF7(OwFbthv^`voWeRp4q;`KWMc>&oJLf8QAF9O zuh@~~6cee~bg--}LfB<|5pqb)zND@1`|rE2>wTZ!bwAJZd+xLNcX2_o#0HJ8oXWo{%1z97yvl`Gh-Bb2eX1%C|(kAH!ufyEDn#u;_)~< zfq*AUB9f945|VOK(yI}9IRyoIxpnKv%4!s{B3)_SI;t*}uCAe_t+k%Ak+D&ep{A*& zxkLgH2n0!@q^zW*tR{IKS@ZuEu@I1mfCZv3kP3iF5QYSa8-XI~JB)#r0`Nt!I2eN` zENv>Fdd#<5Xry2aR{RRAM%6HaK~TlacBm+=`$ESH8h5HFO7zKbJdC4s3?=h@Q+Myp zk8aUPXXcqs1f5>{;Lyjn4{q`TK#EXT{Gw~D&q{l=H`BkfG;f2|CN=;8eW%;J58e-U z=#R|O=63gM_a-TgTAF1LP*Z3KfME#xjisp7SR5e9Fl6PZcm%bHh*}Hb;JIMjuH4!m zdoE7${V9f_PuaAjijl6rDp{i^xbk!z2i<0g-0bvKr4DyKWu`v7_asE6@_O-0$*M=u z@At~MA69m@N^Dh2hzyUIovf`ov8~qc)-k=JUzvi7yfc9Wcx}cL^Rdq3x^DUI#oSBw zIUR>I;qW2t)dwCH@D3%K$-bZGZ$Fn+R$&q1AEf%q)Kj9k(|Eyhkm>%P`-KWLGDmrj z-%j;khWC3MQfs$=8c=xD(ZSjW8+#vhkwOA!O<{0f@_?=oi3(#7nhM*_d)YzMeN(7k zP0P99$WTS3?Bw|ixand)J3HI?r4W(O5CPmb_aPX_U=R|OhSfJr|EWKY*`DV{hrc6PTz?T(Zq?XBa# zUL4HQ-8EH{37vR`>%IJwbVm&{+0sO~XPR8&tK@O@h~>DI!Xx{QX4hBI-{u(p6p-DQ z-}IeTqN=a=um(tt*~fGt{5!Tf8F?8|=BGH^af{%~TLf$N z4b7O)Uj_@p)WTd#`#a|@h{3%*O&kvd*OVH1;Wm$^B+TuI3-)@WIUda1?Fl}vBdh>(M^?iGs9zb|VFoz!V@@Hj|!j*dJUtKc$<6>;x)0;Y5X znhG@p?K%j9LEB)ZNFYF>>9g$^-r-ap|4LcI#N?MoFr`f!ayOR@Yz1)z6#wo2)?IT$ zx(@G1-%cGZ6UZ0!3mL;10IDIn}XIT=A51Im7 z%auYXhc<5g)IrlfHR0*0b~gLn7A|Ggu(3}5thUE`JkK&uRm%HH&inNCTh*c(o38Xu z&gmMHCWJA`jp#AZb_p{l+Pa=At8X6JH<2c|7n^V`<-l;T3@oh5b$l!xnWH|@c78u4 zpo)OCytG#8RzkA1bU8v?F9^!Y)F0cuVcO47!Y#g>>DQjz6ew!QrH+sL?Gn|SxTIG} zxj6i(7}i>njqmvwEme|MlbmdnM%Ob>$SiO5SQEp$dMBp9DEcHLd0(5)0J*P1RF@GV zt+hA0gUFSOHbn!qJjKwa0|1$NBphsGO+9gp4P#BUq;KtGy{mR`76TRy6u4qwU{ zkN;0=BCq3}uKDKNghB8=#rft{o$WzAVi4VUGqCEeOPqY-Z1S_YS%s_JmJ;Ct4Ihtt zgBMy`?)uIX9n#Tf=m`42e@#h<1Xjx93YFKufBsK#Ad3{;KQm$!^k))AKe&Hq4s~XkD zZ+GD9kB+mPwcI{{PyNjWljj^wIc2=onlVSumnq#1O^-HT!@DdFdbt|JRL9>wX+VlQ ztlt>Et@Zrd@dtke6bL-7vO0W9v%9yo3I3R?cRW@_eCND3S1m2l_IJWv!9$IZ!;b5H zYv0Wo4izpCrd~K&yMgxo&B~F7iSt21Oit+L8C_sen#<8}C44WWk1jmTt;${?=!MK_ z*51F*?%U9#Vx^|r>T1Lzg+)I`Y~-H{!hOecUqAT`O0YFbB=X3LJ~k1HEw9L)1NhTD z9lKI(XQgt?_CHl94_j-vWkNkgX1iG`#^H9WqCG#$xQGL0Xw5dFZD6KL^C6g$EbjUn D{C8Da literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_LOGO_2.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_LOGO_2.png new file mode 100644 index 0000000000000000000000000000000000000000..758d4db2356d6ccc561bec99031d30d5c3a9f462 GIT binary patch literal 21641 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 literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo_2.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/MSFT_Logo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..758d4db2356d6ccc561bec99031d30d5c3a9f462 GIT binary patch literal 21641 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 UFzcn`Z~y=R07*qoM6N<$f^2#I^#A|> literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/PlanetTechnology_original.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/PlanetTechnology_original.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2a6d8478f092e4d2ac8d911eb91f4886a41e24 GIT binary patch literal 136990 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%0A%}Qx&5qw| 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 MvTwGpa?y1E17>e4hyVZp literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/Vinta.jpeg b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/sponsors/Vinta.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c60c5ac9a185fad5e9506029c11f71bfefee7839 GIT binary patch literal 2156 zcmb7EcT^Mk7M__*0!EO8gf2A(LjXxA26ZJAks`a06=?!Wk?IpdaRb6q6%Y}4yC79U z6OeXj()GcH1(B`?1v%(GSDFRbM^P5cn^4ww_P=+}nVIj*{N{f5ez)*n@P7k3OgX+@ z0AOK31%v?rzyRVP3IGu#xMV@}_R|i*a=X|S!Ia%I5P}KN*Ymy!@b-Dc;kKD0cY&Y1 zCk6o0ga8xPC~DF) zDKs)gjUsRY3JD2eg|P%ImOzn}l%@RN#_tC3!hjsWL4hg&ga=W0kk12TkdQ%8kpG?` zK>`pg_yqp_6NrK#G{Bz(L{K0A;ZQh4Id`_*+5|JA@=*bmG5o44Ya|mhe%ry2RagE- zX~Sc@?bfNgaYLw*m>T1>M`v{`ZTZMf&3-qwlaQ_2EI@juantVt~uz zmxT<3nuG%c6@wv!XU9-5h)`n)L_K9XUPW6M2|^eN8$?5n82f8EG4!sy>T!EIM#?`W zro=K=;!?{`{D-gdS0Glp%dFo(C+Ua=mV z?BCd|fMs~bb8q~!V%_R^mPNPUom>{a_zvEAJ!)bo=TF{R!>{TRV~EQInF2Aaiq7ZS z4L?4Bixlfu_sk}a_rAMmk9&EoJ! zkBHpkI&YoPe(w@_>K`|}H9QWGn8tNUzc$8|lrqZW^oPzXZNyGpF8z@;L zgk%9Bh(dj36cEB_aXLZS2+`A+#V*_?g#@Inu9H2ztD5$uXtUw4oP&;wGcJy;*yh2g zB9{OQYRINlRhg4bYGd!d?=`j7GnK3RWlHnkR$L*6icBR;adI-L>Eo-}nK|_)RnMqS zYxSQKomTe*LFMjn#{M8 zW#)`U?TUp+GQ)i$a`R$_Pdi0c&Tt_7xyi8*KU!IC0B)d(sDY#LddIFPP(T&#D@{nfJ^>6PL4hw;`|B|p*M6~xGYdu~w2_F|>aRGDZ1 z{^6{ikW-X9*?@LyF67~-3yJ==pR@C0t7ZeYtQZ}h75B5A&2{F@y9ZYIo}MNL%mmgh zk+xp<7yV+OXv~sx)oj)mZ<7~66j8w;Qw2goU&j#y@JK`8SZ*N;y_sQoM%ZrZDm@gyv0xvwc2 z?(4ZnTs{4;UgJrI<$09{et6S{%LByw$+_WXe^hw$NLGg7Q=?rShis~^y&OC-#N%ou z=BSUVTax~;I#atIdjL8#9GE%aR@IxlcvSQ}w%fa8uvBWy?Nnvaxw@p9U>y;vZugB` z=K->RWf_mA%P2ToAeKGOxw|BMJ1s=iaO+0=(~SXIUP^v(7Fwzn@^|_r4@qi!odAM1 zz`3Xiacfe^xs*4X^@t?$cw`A7yI^k(2v)T~5>`yt=(ZYyA;Gy@OfN4$X4-s!%qzUC zn<}}|-8q(a$;pv`v3vM0ohjp+oJ9H$Fd_H)?^Y#p$^U_3Rsmi4#3WIH>PiU3-)3=# z0_nf>uAS}^Oa;!LH}|S#GQ%<`q$R?`#HrjN+LbAtWK|c5i`HPID&oHBvv11E9g&Sb zJz~JiBnH+DnjUpPvl(+ROVg!B)KA6uLWI8!+i%WZKmKxbb7mAmen?PqWH8~sGTh5A z-HlzigsWTrT6CN=>!yVB**+#Nc7Ff;?84(sIw+6We(=W`S{8S#&G$OK(T}8*Vss8z z%1Q)ngYWisRMXW&TS%hEByG#&o@!;7rk$-?%NY8i{o?!1Vm(*OpFFSjhB@AIIL$Iz z{I|+$_&YO}Ql}Ha^rL-PcvfqMwpJ^P8mAlQF@2|1;z+nbp>%P-X^tNm(`8|tNE{^A z2Je%n4UV`dBqeO#GKiU%QTVJHcQch)ypc>I=XJbkEFBS%3wPxMEziHa3z6Z} z;z~3UiX9@J_2ONNYP&Zr>n{bd8zU4v(!{G%$bQQ6-5*9F@wN}HkMQ=cftWC{VDB)S zQQZ{XlN|428#Hqvc3dPh$?%LVD)s`?l&jwS&D+c#lC1xj=*tRoC$(9v*FUNb20f*D zPQ_(7cM}Un_2Zv!adY%=G)l=ubA?1T0~nL?W#!Ua<$HN9MYHOapKd9=e=4uD$mCD_ E7Z3IO&;S4c literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/swfd-shirt.jpg b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/swfd-shirt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7e94aaa0f8db8df75ebc516bba0631f888d5e7c GIT binary patch literal 66270 zcmdqJ2UHYKvp70r1Y||BL;;bUk<5ZfmYgI=Msm&wEJ4YVgCbdA$q0hvBuPM&oRORq zB*OyB@`hjj?*G1fzjx0)=biKKWqNC>tE;=JyQ^z!dbpapS_1lIeQcirfQkyh1^@sq zfQ@z=zyKjM@B^UT0kD390YDdx>Mz(BjpYv-bO1mn{+mAB7Qp<29_0C3QuyQk_ivnd z0Kfq;m^^%Zya{N(!)WLjK+d0dULKwtw7)s#p#RAcXDA2bZ#Wxwtr>(*uB`lZTt8{6qRD`Udnk(*Qa^3E%^F0DLnGcNb}O z^~cv7u4%8o|23UVTx$XVMmhiU@_(iN4|n*MR_+#{9&tguv!%O*BMAEd09KTRi<<}7 zziVv?dwaNC!{Q)J;s$mQgw?NM>)&C^YuNmE7_1A@Xlu%VG%+AdXklXpmg8iAFo*d+ z@Yer;fA0fG0oIkbawV=P&g}R&bGg}9%-wJ-u{+r@|Q2tk-qk|_X^KXd`%n97> zwUohc7EtyVmS&HxVI~kRvoMp@`U4*Fvei}n13q%`c&G`&%;4Oj@U+*F24Qe+qDww= zlhXlVkPo_zji= zmE!ey(}FOIo3rLM4cH$HIZLZYvLMU>!gjVEirOFywuO=E?xl5&|Ba8Ijm&jF!L~43 z?aY*}$LS6T4_P_LU$=YB|A&i*`XB9L5;!@iUbhAE!Q``Y|4m+y4<>-D* zZnE-!z?R^8H3O^wXTTiHEdVFr5}*e(0eRpd`0WC?fhErXTfhOtSb?QhAjS&3`;&(A zUue{SEB~GTPYQa#`nQ^!U`<=F1sU1`z!R)*18jr*Z2saz56FObo*>Q|_|N(L-h-__ z_&8&dWAb3~gO?cQV@wH5VN4N#9utZwg(->o2*iqDiv7h~{U35%_h$=i<##@=V2f72 z(dmK`cYu<40A^sm1X4Hy?tgLk7hS~P@nrd3MyWT0D6pej1G)8j2?_ijHbWn|MM~beeV1<=D*2tjk}iO zdOrRs?>{vP&QHRJgj9r#gpUa62=5U-{)>v9kera0P=WA1SVHyJ==?pK>HkF!wtzmU zvp==q7_Zu`S>Y@^k~We?8Bf0AG;ypX=-oi7;s~ zc`+6L!>ks*p6h?{{(U|CIUav%;$LO3!j{E;ge?uwW3yq4VDn-tUBiE_Z|wVEnFyGJ zR?EZ62i#i#K*rg{*Ui@2#)F=ZhewEB8rD{`lIvvRj`^Rlw! z0v{lisQKIeher18Z=8n;07(40wtIi$3_Jm#%pCy81^&jdfVPn|8vyDbSa`a5 z{mu{Em^}qwZnr+gmwEauQWEXh8YfnD+yn4LM|@j!>SHa&EY*Jesi~w8+c^o6qI-F zG2drlWfKs5AS5gzD)UHIPF_J#NlRNtR}WOPg{9RqYa3fTcMnf5Zy#U3&=)Vm!XqN1 z5|ffsQqx|)NzZ$iUr-1yDlV!1P*eM{uD+r1Q)gFqPw(fx{*lqK@rlW)>6xYFmDRQN zjm@ne`v-?d$0w(Vvvbe``&}F`|6QVg$U_9mgN})bfr)c14;s4nwXj5(Sa*4`Z%b?7 zn7I-&@CDbSwkuenER?lz1^#w4(GZ~t1P-z56?1Pb{dN%WUMf5~$-0}x=K zfdhs?1V8~4iX|@!_`l)08v4ITmf`m$@lWMa6WQKrfsT{#Z@Fd{wMc{7f`5M0wipy*b?j`*Y9sHu3x_`O#%=HeW`#t+!=W-pAlzmz5Bh!0?VZp4;tvY;H zcT|ddoO-hye9sQ~Yk#A=GNO&dX;yvzSDkNZzh6M!Lk-w`j2Zc!!O8nM2?H-rgD6z1 ze0bzC+pUqrb(kA?b5y%rIZJ$Ex989NRImHwHqkJr(OknhZm3>=me3UtQs94o1fz4& zkyw3#+QTr(!qFhgzEYQ0}_18Z+e`I}gBu`aFRK~1B9x-&0mbrk!d+KC=0R4_ts z*+cjH4MYQz0W`wU!PO|^Ucrh7g#=^#72tt{Bh>6J*>ME-U&nAN5w8}N1$?9;Rc#j8 zlEBJ~V#mn&Kdn)#$7LSO)&xL(Z6!mE?=yw0Xf|kacx-+?te}Q%vOpuhVbqE1jKW#_ z9^z|>rZB2 z8#B~J1Wc{aBnMg^_*TXSQuc8pnFATO8{*E=FC5y~U*g%S7^}e!B&m1@t&Iz|nq(bO z*1y_1;}C3WT>&%}b%>-qgP%Mx*y%%;sj!RHUols}O6{p$5Ogv33ix0hgDed&(Msy9 z<8xj6;d*A9EzR~T?wAxg-Fx@RVLCj(@00KfjZoY~NvnKVarN5K6~Os2{F|$Gjq@Ad z>}k2kWg7ghbU(XR+UAh+@!kQ>=4dv$T%)K-OxhHryN}SaNvtH59iz@3S*7>8uOjod z{Er~x^8GL(lbkC6AGTObcc+<$@x%UQW_F}wGGNKLT_;SpL(c*utt2Pv95*XxWp3R? z;539Uv+<3T`NBwG4?XnSv+=Kh#dixIvg0Pip86e_5PTP+HO{M#mK-V6I_wVU&GQL; zxPLFiF6+8i(>=O|zGRP}4;x6ACpvZVcQhYJGzypK=xizSn@6#f-Td^wV2B`BqyJOm z^EP27h(^|zJ1$VnpB`aCl+>HW@P1U`3P^Q(OaP}%s4zULeA#;U3h2;8-P&Y3S%4h9 z-SIPvXNt#H;6HX~pxeXyksDm8hj4-A_L#=NM33y8WVJ zAumg6>z(e^;UUO4|*_cp-f83j!Xr-!i;c}R7U#i?UVNeinch) z_cWG&Efv}D94qIN435QF#ClF5>{W{5NIV+bFWtXKv85!0gltYO)9qXV7Xk=C5!0Y= z;@7*CzL6FF12N}i-YXzLuLDX9TP#5djFE1m$b9@3lx056Ews(tqf;2gh4PyueDm3^ zcXAymR+RLuG!K(~2`@{zgniyG-Iyv#mp!OtoJTPQ4nrveIrhq7}->0#kcySkZ2JiC$o2r&~QWMb{)2Pg0sKz*@|5%b+ zV2WbY=aIU%r;?;XZdh)$*iqqK>kdALN z>`UCe5(35u44qitPwR#vP)|?t5089T#;gK<&Y|HHz^MJa8j3dS-v2Pr>H3(ayW!#f za9!k9?2myE_9L7nawJL8N?Ne4giw#Md{mhp#wGiyo)YwD34svu2JFsRj0r?l@)*Z+ z`U=oR#+80@C82ru)Ns)8lx}E^^lW+&ieL@jK3n#DBCg5ZEFrSgItqDIIOeLSocxourV)o`(fNfGrW6&P7>eeHY0bmzgD5X zBX#LqF6?4S(RrkVC%GnyK`SQkzQtq-B|PLibC$REBdRyA7Xh(sX_IsqF=ztdCOAkz z>eOsP2PdSwo3K9KW$Gk!SNOa9MX^arHZ{xv60<-ZJ?)dNenFPp`|3e2ui?sNtGD76 zfG&JeX^5X_&erDZRtY^2kI{V|mS2wZ1=;rHQspuqXiahU}9+Ob6G-a^k6a7$cm>~}o{{sEa98h{pS(dy zxv@sM>h-hRkL1_RiwHNrXAN=KTUEA=j}r|mg}nLtw-2<2E5P9GJ<9#Q4Vn>;V$+mmF~#MYR1%H$ z5;fbkrNq?GDlhg_5&Gq(N=&5M{zm8X{bCq{KI5 z{L4p!Wug*4Ot~h-mdYGkFX@`S#rQV7&U_a;!<62v#rwv z!HTmzzp}tJs^9vyQ_ng0gJztA{z-}uvt)hc`b){(!HH0QDeuZPV-^22d@VTp0l34& znLsj^ivvn4`7fk~kg_>G=^cV?JwDOCp-Aq zu!Y$ZC8n6pm6hWU-zPm?=!7EJaC&#~@^xFeW50E!Zt|#n@+D3H%^c$jRHu@x4Wbjb zm!G}({7E3wJ5ILVw0-#_L)k!k5!h9 zgrHdcMG(<8-2V9G({@!LN3K!!gkz1*$kN{O&~kZ1yv<3Gg^ezXWE9mzvqSQRr1py^ z7Kw(`|Ky^(8vFmaw^SJR&7d|XOk52nIPWYV+Hvy0d=J3db;FThPQTwQykK2h)BAy4g6|?KcoEAx=a20e0N9fX!uOQH+bJcTvrsz2gQaOHKA5et759P(r3k1K7RG!0>P8!U;PM>4Z@7 z+Z$cZ2)5&+R;%n!-w5(C;_F27-^NY$MaK>PTx^S2_^7vozb_yzdId!O%J~@hae|^I zoc47b0gO!WAhH3ccuTt=p7opEiH+5i9TbyjY4VG!U`@u+PBoG+BtX;l_1D!8Rek1e zy+8cMZ*Wb;`lWy7_YF1Oeau_Gx_DAC8qqwOaSHbxSK^uOpg7lg6+G71ikiLzBU@IdlEmu_PXR4tvSayk9ttL$@8b_2j)2k^emB3)nWT*4`14 z&0|75>`5)@K_rUt6oSNuZ$ts#6@w`jKb%m0+0A%c9T%}Ng1DnrVYY;A}JjGZ7YPWhT)=Ql`) z<08Hbze1O-_#uqion^+j0%R)14$m>p-4&kQe{u6nyI#IZ$!*h9sFisiyYS*z>}P2f zZ=^N2P>z@dW9}ckTQroEeMrSF z_C3f7J?a*+%s)YSY@@$Prb`Z#D536S-&S`K%id&DPko;`+V=h%^M_xxKILha0fxVV z_;!wHS_^|%5n+f;Kkbnj_*=~}d!gkny((?{I1%Od z+q|M?hFeEhSueJm@4tpcIyH{_g{&MdV8CV z%Hg!+;Em~Sx9unmQTSIrR;;iNFG_E@_RE|0wkZ1M;a#!|)ht8($&^Gg-uf#bmHWQKTgw};&`ZE3yD9(I?~K4A8~i3PD) z{kh(U5Qq|rQy|k&qpBfJ^ZlEhU*;l;=H{{aexx0AF9S0{^RTDM9T|w01%V*-z4y6d z@ZcF!7Y_KNck6Fk3^yDJE-oViT_-}@(vGhH;GCN7)+gOpp3Z_*mp3$wtb{>TSb%@?!nhj$ zckOEWmlD1?^B@{ywEc^dIE4F!xR24#EZ+JdDYHEo-79*Ug7>**1M}MSQiR;}b{IiydiFC_7_dY+KSEO1g(7Ps8d;r7Z%78_3*| z!ufSt9J~_6I}?u%sRekoHwu(|g!A$>>aB_t9!a5%q$a<(&yX1WYCiO1=41DlD@Sm` zj3La|pS1KsHS6Y!?6N{0EryPi^e8>0c+T?~$@a;kh>NsmS_=V9;ZtF{C*ShGMt7Y# zL^|0;r!_o^(bD549sN;pNF~n5>p1r6#Gi64N%D>NJ#f|}-azJ|DPE~UIq^*2WZ~btUmx<1-!-HE5JVs z%Ar}4zE*1aC=EaE?Aff^<-x+xqy*MnWDvV1jm9Y4Acv#3QVNphL%=z2rI}sHem)Um zN9Gp7NU1d+Xm+lFT}j=y_9f`j?&a6;rA)=>0YHzDQX_6n>d6O&C;JB;y$%7;6rNu5 zg}X;|i|nFmxKD0N4hmGQTvUVmm4P#o;n}@8Cnwx1pkfClV02U61A%g=SQ_%C*&1|< z;=Lns&e~gGb_IOmk)LmO zUM(F2@~7I6$mvBIFfJj3E%|+y|0@;u4buC ze0U@$;zgKpZ`&dKxB%AFt#g}gNkyeaX@|s!gG8g(j+G#rkuv9&pBBzM$)dbnHOC`W z-+XwRft4~RlFd%YIaQ| z&-F-lhwo!K6C<6Cl3vm_| zTIYCH9Z5|yUCo0Hg z%bvs1EH2bAX_IRaVi#Q3Kfaq~mhL((R>t+HXsH;p~gm7g-GG%Sr%7A`+@VMHq#%PdrQyfd{0 zMzmJM9{!u*49L~QzhVCJw@mO*W6(PJ&Tm1kDof=U&svsUcsQ1w=Vr5dyy?6zyU*g@ zuh-^2^t9?zdHQ;?OY0q>U+m}ecguR+P;`HWy{=X+L~v0zTwk``8Y&Ps%_u!kwOzu# zM|Vg4n#v%9NaaCI-tBraUKP1eC>Is_|LZX2c?l^Oc%y)bX&dmBGa!N7v( zC5fM5u1i!j)4T#=B})9m&UJj`)A+lmke|vjyG%9jP`%f7UMmL1IwiJZg$FTc5?!M_ z1toVxgYaC;g-K?>Eht4!mF;P?%3b4biv#5M@jGIU)Y=D*)aIobUio~VDTU#DLBfTh zq3P~CjOf`?Hl*P*B6ZoHp`HyUY6W(;NnE44*zP?H4V^mI z8L-c#=NafM6oUMaC`r1PwULt7K98D}rsq`+GqPk2j-l){lAtb*|? zNy_8#WVTL;pT?&TZ4}enpFz(ywvJ9t%3jR)8ptpa$Se8H^}{K<1%r*pdSc#pYHTtZ zi~Yhr&#DR4UDb4fT%rnp>yaUnE*sZ7^pq3D6kQ$tjIxOC(|ha7blcUBOkdXiUDafMjETl zJ~*OQ7rV{V(O&e}u9vy+nUOUqF`dq9|*kloC3A z&b-SXqK5~Jc0WiG5zgl${-~UG1(;$Ly|y%sNl^VrC{u;nzhu(^vTP$l2WF;?g-b&j z;=K#sV7n?ji%JUKF<#g+IeCdF-y_x&&F;)pDPKtrmB?>vu6=vC`Hd0`mAiaDK0IrS zR2>&IP|@d8_y$+HkE<$PttYMO_98iFd-#&X9|v3{sYt&4!`V$b(z~?eW2>KT3^-RM z#9ahffDYpRu1SHecWT1SnuGF0wMsNDm}w`g6Qf&{Ab-+o|6 zEuyIXAMeR`XX6?AjJ6xRFnIa0KZFLt^1QTC$8283JLRA{I(p6Ke5y|%!wZikFaFbi zV}2l4lmC_3Nuu}6!K(1?Hs;uy3=yD;BSw5Yrx8=Dd3x|o4D%Im3eBO;8b7Stp}H_a za$jb8Ow>)RqlPA#R3^@!HbDf=1;X7cd?k=ZrOwU-4e$}JyVMIJQz zQySXfR9^waeogLM!QFn-ff{eWBF0{C~n&7`65#43H7pZc&b zx+@mgJ|=LplV5GBH%6(0ky)02z%#n}%D#(oIps)vrLI(_L|>+?{EPHrrlsono0>q@ z&44T_d}Rosl2UKCxvP#V@kYrN@Ht^F1EORgd!OQ{p!^FSxn_@gmoP(-q5lZF-*{71 z_8VTEo#Zg=?1#qdLwCbuIc0CrQ;)%8o+ZfI;zq5rLiTC0v#)@XN}kW{Wf$)*GN-3L)1){hS+ekncZLdxS}D;}}S$k4sPnMJZ;CGdvMG@3o;mGg@N`VJixde%r)@}D**7&_WI$JMijOkktXv{rRu(0I+N zNjZ;5#l5_f;$Hh&99KlpQ=6J+0W_>ra-M~0w$9;J-{;-tCQ6Bhv>s;Y7?w6Y7g%ta z4ZzV13`y4|a$vUSGi-38Ea!mC3;W{8p3q(a{W&_#W8u3UbwO7EWdHpsYWJ{QTVW|i zo&vA59ix_;o*`=fZiHMY1)Rg8g;6OtXz+n@ijn}kW(U1zk#feqx-ZI_As;7ZImtr7 zlVqtT#yh8&q>Q(g!TcTQO4~e6jbbUKe<(#M5Wv#TNMb>a2gqI2-c*&7W4q1U{WvNj zSwmJ)))9KCe+BrqWjm9#s zsr*b2?q}&Go8d%_H8woK5U zppJ-Hc9^W!%+6!G^ma_zvk|QD&Rud`0qz(V?r`U~_$QyMPq+fEfGF->HVON)^V@6{ zBT}TQPj!XS)O~1EdZP#4BVO*7KYv$;^G2@|>bfhsxqvF(rlD#S+j|Niv8)emuYp@L+;%&bw{flwPewY*WR9WCFR)JoWF`_x)7rJ<*q z0l$aKUd^WcQut71nsL6CQ>jzFDotzre(cQ5JpKSj*=+&YANsKXdK(S+Baj=xs?Af- z8v?WTCY<6OC~sVocRsR|fc<<&0P~=&J-fV6LQO+SU^dZpA19bm14Bd~2$LLo`&Zs6 z%~2Zud`Xk6*9%6OzX*#zpB!I1BQe`u77S>FnFJq*gaxpE&!UrEKsM1xHdXvE_*KAF zS!&eh>Fw5|`0Pz|A0zE{Z=yX`q*JXzsus9wX4_?|T6~4wIp<7?drOzSWCw_~6l1t#U06 zV%eqp@Q?BZ6!dO zz8Fiqgg2EARdEkK$vE^@$K;+@stu5gmfPu;M>p|v_*?<{X!E1vs<=pg&3>;>EFl{h z>vSo63d{Ry;p^trMz~M?%Chg$1(z39aI9YeT5NSgQD5I~rzJQx$$D;u15v#&d>;ev zLxYKX&N^q1ttetMi%PZ^X1+xym>a=HX-J0ebh2ldp^`~Z#2EKdHo>BA!iU2wOZUeaKZ#72CT~CTv;x5UV%hH^u9yQQq13C&E%_8<+$cE8H=$K)dDz0U- z4<7`<2!XsMbLsmLm1Ee`7L?mO2awC;z*@IiwW`sn!P7M-f>^iS{hcGy7c*bJHiQ@G z2oWm*W`kUoIEMEQMW%bj+P1iU$%t!(Y&BP4%L` z2w9;NBHCo_TGRx_&du+@8PcDGM)}ecq?_-UWvJsmy?iMcZIPf!y%OaRC3`oIhkqpF zRupl$k_3z56RN6gI1gFQ^SZ<0L!E6jL#cq-v$3yyFYpX+5@Hf1C~HrV{QR_B`o<_r zIG_B%E$`epP798aqHgVU+Z(&uO}8B-#@Gk$^fitrLXV9m3~}rVPr8nZylMKZ#;7we z`pPzJpCW`w?Zn7-4K!@K4x>1_tmGY;LMhJmD#0hL@Ae^!mC=j)m7ST=M;8bmCU@%M z%Rb_Fxku2jo38u%xcgaHhGBv--GoH;DceTWd1HB?Cngx!Z&D{81huiZ@#n2L^P`Iz zm-~6&LDn_4+^KgLRv&2gOQf>N9`W&GLw$99?7>&LFqSvpyVg58jh^& zd@|_*v-wXMqWXr82kE-fwePG4dy=kYj@-DLP6naM-PDf7Ew?*sGL+fU+9uJE#Q@!~ zp#OM5ul|p-K1l@tr*>;=^(e>cm>{Jl?p@6TMMlg=8e@q*fL{Ls9n4`Nln&rrt)6g} zD=ud_6Br=VdkZ}px||BXm^;TX2{i#NWx~GmNod1!POnAVb9#sFf|*46mE8E_l<*4^ zmhHTj$AnsXM3tT3wz}#oy!}0lZr)&^8dU>TXtVu>V11U9djm;xA$jIK>BGug#qxzH z``k4A(v0rAbG+A0lgRJ)_T?H@ZaQsrWwEuqRc~u@Jox6au1I~6v^C{H6GZyi=o_n8 zc%W@0GXvJoZ5N+A!ZtJMlKhmhrI9H=B*Z*qHmI5wb=@wJLKw9+p}k5kdZJ&RR19P| z67|G1qf#6daMDd@^hBsNM=&G#ZUxU|t2>=}Wq->51`P3bNQsbGj0DTj)BryU+%Xiu zMMBl6zUe9zQ|i9PL*s4`O0itT@wf~^YU|eGr)3)MmMN<3=R&JRba{gEw1^2{Z4B&= z*x7tC6#s_(xbWru0woPKrDsaWnr*>VAzSpME!Ah5lF2g(FID2PpKH@wN4@4As2P8h z$|Y}S@NCWlK7N}-ODS|BQ|eYCZeOAMluk(JujQZ|kK!sl`X1Jf2nv!DO*N7Qj$yM{ z47y7@3xYf8uP<3!UPMU2U)8T_*%Yz7e5V4BDrYj`?widir^$C$B4rm3d`V)Ocm<0LKBK3k%$iQtYw)39* zQ~5;nqZ|MmOIfCBP#!LNQqID`*gI(OM66m=t4O9w+n@(dkM|*l0MCGhVzoE0=5$LV zfK_#y@aP=xlZO0c6f1$-<&X4SwHD2!sDdgE1J>6L7n&hAx-}S!z|(x3!s2oveU_MJFzE7948OaXuj~7P{zA9lE^wTq%V#hJBPzJyy$JFs=jK#gbydX! z;4W3!H1+yCQj0nTvRVhDA+#_hoPKEmBQGY5m^)5$9$U)In!iYbJVkJ^-_5biwXk6P zP@7&jsYSpqgnpPJbYUMi4O6>Ww zJIQP}zrJyO*$}=!LnA@sbFOy~M?HNd%97Wh`u;ye&N2SwNL@)<-GrZGe%k3l{;h`vtBG>B5hWr_;CnE;CJEU! zr$~~L0XcHoTbJ45O%0Q)X-`tTABCebhc1z@fL1lB@$r`(<6X+BiB|xVoB4i?%kX;1 z&KgR7Gp;9lhI~n{T>^4pz08&WahD+pD_`bIV@B+7mk3nrCCy+US>RCHo<>`A8)??c z!@avOyiLdCX{WR1H==EJ!I(+ zsBVX6wd?qx-3*;FZwc*Uo{sOR$Ie3EIS4n>$S}=9s*_+OC|EK-cok%{oG9zPLb*a} zM)?IM!HH&`kJXvt*HAOc2VZ5#$6!PcddPBCqAp=eDk~ZMQl25zNKdk9%7V za5x6XSdfaCit0G?O3(PfS??#QE>}@E6O7@QIndsqVe=ASE>a;5SQ^rl8pJY1!;a=F ziFp^pTk>APl0w4nc|g4>wE4N#&4C6ncMV$GE@X4MBf)Jv7Qlm)Ud`Y(#rVazAWu&3 zKsSY7L9SR_-fIkR_~@-JBZAQ_9{zNLhqnk^SZ(rN-_*h5VI6awi2_*R^scITL6kvr z!|%0C6Grl7(lha<0&a#qCLGhyRtPO*l>&yPNPvm6v^5fzPoqWoyiL*~`7ENNTTOEA zvOy6$s5?gf4TWPtR#-~1M8le-pT;}{%@VgshWNZrNbhcS3u=cZfewX0p{N#bESp)A zumr2*Lsz8^H{Psqwv7Gn33}KG?;$ic1^{($H$%V=9U#_L=?d_Ux&_ILVv8ikD5wAG zI+H02+;`9<{bpdKrRpB6VE@_TCOj(rHTlKZ`E6|VTId!zK5F3*y}X`cP&>%6HN$Tk zT3{3(8 zf(W!WbMSiTRaprzs0nm32y3YxM&2UGGjN`sfs8cJPi+k|Z2sSE?48P203#?t92A(y{%TZb;C{k`5oD>x+ zkunYldOQ`aEM~>xN z>6bUIPueL+Ej&AuKp@#qI#D<3E|ih3`{A)m2(gO(^ItEWtvPmF-BYvr7~9ppAA3Ig z^wLS*A~@>IVSq_{@u!9#SN3Xvu6|ZyqP9J!apb#G^eE|()K-Ucmw#9Tj6ct}v4UeZP-!x6qbi0eKr0B~O|naSea-*v5fqeWChnwfzqfbxjR47g#k~=sUq_p>Z>okX zC;|>Qvt0wuCqI2qP7^!qTS2l9OY-`Q??XOuN6gf9I+Mg5wXj)`Ax)Ku)rj9m<#mB0;ey!UIr~5iQ^3(%CxTTZ0Tm!P8yvF4kf5yq2?Co<`Zu37BMq@31#D;KO~`LIoxaL7BriA zOPdnPcQOdR=s^^2@UY9$bw~e#_QB#wfvtY5G~BeoJ<5F7*nK8L0fRY6nvx_;IAhdJ zn6{=C*E1=`JeV+8VFfO*N#oKE^Eo*!+L_y5_ZuzKY3-#Br!+%uVyc>C;JLj&zhm;Y zg$u_3n^OdIZX8MInV-!n)~X4N9=fqE5_Ri~5#|e%)PzeECjy~h;J~_t6ChFd0o_I3 z9-G3CgjfI=5mI5SD}dTkkBOkQu-+sj`5_%U78K$tMVOb4dr^}g#Ah2};9}02t#km3 zfZai&?e(9}KAK!>Y#iq%{!%yUF`!tvYx#KR``uug6#kx*nK!%oI_0X#)IStiDk>id z#2MW8Hc&ciGyxByQaGc%?WDtQ*73%nGXCKx+Up`2$@z8vh>e{YGLxpVcN)Rr&%ZzL zDSe}}_*gM@rf20zEUU*wWX8)U-D{--=wiHh(d=?YdpVN{GLd{G;{mTY9#c25GU7cc zlhD5q)yZY`(u#(;c}wP5ZbYdR7WN3|God9JkH<#GTfB!SydcTNMT?UeUD#5lZ|^7= zveec}4ptEeQ^??iZfO*^w-@8I7)*t6GUFILq^hN-cd>mLK1yL-z_qrenomU_9US$v zUl^|K)a6p+KovXJ!ircf1w;BtJ_W7^u}pZ9DU@doB;Pa4Ge33BvkGxy`qz_EYO>r` z@Nrc=*Cyo)m{EL{myWEfhSijwYj0C|3*uXv6m4sr-Fc4~q<>_(5vOFplCPf0TK>5` zXG6G`B;dOWAi%n-Ntj%tjzNtsnL?`25xG(zWJUsnM%glb6f;ka0?a@Bk_fkpbgW)Y z(sOxNAVz}MWu`z`jKi3IqrK?qn;;@u8;bT1l5!7HEnvjEn_%+H#y zV_n`2+`s>8^62miz}&seGF*grDELb+2yg8_PeXBI!v{}DBY{CVDqmDMH((hr8EdbihG`S;L~?t9&JZ%Po)IPCE6 ztQC$nelYd4fqaEd%}KEDLF`OL7mKNhJ|o#LlpE?oe$DSVX;{X}vVHDk)83P&ec@`- zU$>KVA+C18=WmnUNv1)%*HhPcD3e6Tb{8s9CBctR&3%Do|Kot#bLH6gXm+&fKwLU# z4W=J9ua?Suh%KHw8TyOOjDmvq5Jk$2{bh_RB@)o3~hJi(h) z(Tn$WOkN#7c<~%BMy|w7UZC78(4KhMG-A9ZY2{<`d6`!+VUz?|?uyaoz!J}D*Cf3;5kHh;s)+@xXUg&tRT}%i zS86F}Y%qzs?}qWVSBmb3ciMB4*u6(&D~(k)OH|BCIhv0PG?3mW+wMreucsILq>mDx z;TAllqf&0sv+|AP{lL*y>b%q>V|v4fTOdMq3?pS-=;hCR@{!tUUuhct8g8nCHD$2 zx7BzXow{!vNjn}XA_lKXz1i$S*m)%QBMWDr09Fgzw!N&~&z4rEmFg^90^@gX;O3qqHgIWwNlO++Kh+Lq$JxQqG*+P``i`ngC}H6s~rz`Giwxno)R z)Ba;Qami&$vm)sJ1`g7q?W@H^)99%Waolg@YSPcQN#l?=_nWlZ4_{`2;z?52o80<7 zU1{?8BR5uwsbF_!e0-NELGw$!{n9|L{Rh!|rAs@zkxX^qk*;A!sHY<#nqv@?I^3aZ zCi)nB0YSpZ-*eQTsssr|l)oEzPBY(~Rh(YtF{7@k_Y0$mONx{)33`b)`=Tp?X@f=qeq3mk^EJB`L^Cb`?jH!oix ziI+Lip|=A^g@m#M_bYNK5>W?+0}-6%_gs@mV~7-rovBS+@m{S0`jP9!olDTDw(7Ox z&9E zXPpnxi_A;-%GWK&daOls7CY-ymvr7~Sy zr|G6LX=ECwF!J*DQI4N+qmcg2sN+oe6?g|2wcnia`mhWhj^1j#HI^6l zBzKH!IYeWF#k4>_c#c1`*KTF0g0p=?0Iqct&RLO_x^qT7t?C*&$l6$cL*(8&6$9n* zKwZax-cmBN&s&PkBTNY@6zOx}xaXa;{1_o+NIu%fYc&oC3dgltkShCt&|N%D0ZPRmYa)2TxlEhY@0l zKG@HT z$6tc{+kW-bOCMDhvjXkioPnOY`6Vh}4L=;EYrj*)%OHyY&z5`{0<*tf;{507IrcT! z%oT9rJkn;H9a@)#7ti5WUUgxd;xgx}rxBM-JWcKYYTJFLwJ5*Wu2JWns-4R`<#@rJ zc#riO>wT-|_NAMm;|nj4@=hn|u~|DL!wL`HTZ$PnjuC}G3t9bh>l_0IVIAr)D_-}y zllVPxG+NH8pX_&zHjCYZXY-VIYEA?ZE!J+-{ z=4!Pdp-EBZkwOGRSjZUbT8yj|!sXI-IQgd~7E0q|SG%?6i-CFBs8Ma9`!}fVk*ZL7 ze$9COkl>Nv8#F^s^~GH!dS2|}T{7|5Y%{M)uy`I7{g?|LRHmxf_R}%NzWml}rcBA^ zwot&tx6zj|TF0$ay3Q%=w_dVbWz9%}4pE8>6E0kd8Fqb=&E$f`vr9lHAjeZrdXLvZ z$ZvEYBx8*Ja3YKGepcQKvAg56i#NIUl@Gmgz(<=}3ZDzJ=+! z-doQ2*Juq#B^-N$wj+1}UlQF%-=Ai$QX%eft;M=3vd`6%^?BtKVWxam`V#k=a1)67<*@~vTe_vN@4lNzD0FOfz197#*y54 z{=EAtE#qAbhOADE)!G-bO=UyjCbdp@UxQWU(OV}GzAJAb5m~pY_p@SXNt2J4KTQqOxVq9)KTY+;}GLqjUXL~Mr-p2l9&mG0;`-QcaSc%8QPx$-9^Z5rC><06J zPlx-~8Y;tJwxRF*nGw-T&NC0lVn0zu*EfqT%ZuMQn$29WPL)FItEunMWn5LH%c*QA z4WIOlymn#BiM+*%kI-uCqu zc?)~CvJ|~VHSev92n;xP9y+`U>HUtgFBg0T+)xYid`ly*deD3Y)Edmm3m88^aTJT| zy+nOmpbVrzxG%#Z0x2c->cYEblGDG&ofKJBCx3Gzb#gQo8OBZeV)B4%1T+=g^Mau7 z{Smsou=n9pqgUO9!Z+H4r8ge>oZL(qJ0HkhXH`h5r5+h;ir3-OC71KY9|q;zxx62x zhKJPJi}9`~F4__utbQCKTIm zyO3}$PwXlOp-g$m7LzF&JNSJrF)CVjWMp{f*Oq7Q=+oJPIY-RM7ADOYcrH!|v>?#c zUmAg*gS31)>3s+I1I4`Fog z_RhTC=WCETb6{b`8iMaYDV|ooXuZ2hOMjV;v~~t#LVAf$eIQ+T^1aU2U%AYJFPAzU zvxeN;iMDW&&up)+yKgQvKVxo z=AyR`?-xu=q6`Zw4LK+ z$2jA==bn4+4;XI-`Ncc-+I!FS%(+UGMg{oQ()wR=Y|&=(TCOuv+ya*J2f{2mn0GP* zE~|=o+0**L&j4NxCgA7seAulx0$v7^xLt|_sCaFc@{Ckr&o2*%H=`!8uk=R{v(cbi zXjgiYgI~P^`&XP%@hM;V$Mdg`Sd`wVL1|;uYlIz+olX2CV;7(4JyN|qGTqs|x1DtU zeaJ9qg?C=a@>>Q$gm&?d8-4nQ^;TvBQqFkd_<&X(h?ubXrB=r+BgDdgHQ&d+m^QGfJGi(+-Va&U0vh;h>1itdD16@B_2j_x3 zIjfrR-rxwFyb=vKJQ$#-MDyQ2cm7w_bZo|_TE=2ZNZj3wrnRvxu^@|=SZ~WaO8+J4 zCL#m4^z71M7W4)Yr|*1Y=*bmb_PAw|%fqi1V|)lhJoY}8%-ca!>?47T8tcGlkW+r- zRUYB2Z?6vsX5*L8*f>d*GI+~<+;UtTcYaz0o2fWJc8>8&j?8jpwxa~`Z4_1O&hX8r z0xHSdM`#0wl;4t+ImyWCwU|6o6jiS$y^9qiiY420ZLeOOZWfn>80h+%@BkL;hKCqG_0iS6Fac=O=fmg%GA0Zf2T zsg0yXsx>A1o=(ECp6SH#M@(a3P`ie4Th4~A2Pl%!L@nL^a2Y5$vPzK)fDPZRzxEwkHnY{t;Hz|nUd>rpwk!_dl|3+u+)ygxP%2;-} z{U4pAcu|wOlwmMK{ownjEI*Y$aob^&PAF7RqzvTmD^FWQdxX#f*p-q6ESI8~(|f zU(Th)#T_rugZ@BgR^xBAGy(PKh;IY1B_zfTq!HHtZcY-?l-oAsbHW1EciVDmMgG~M z$MgPvMc3eQfwv)_JY2Rj@BX=Oy1{0LgFCpJZt&t))5CuN_8syuCfr&c6GU?4HBvb4 zQ}DXbiFmZs`3lRA-No`{+_Kd(G)!_W8F5cmYh#3S0IQ>Ja&hoz_`b{Or z^m5rX`)xet8b%O{=Q_t0nlBrWoxk(f zt6eowT7{3A9}gRjc|O@|qhs1ikq!s*xlUq8kh|LGfM^XQcKRP+L9fTt)7gRFGim-c znp%quZ^Q@O?@tBWvOtic|}udb815MlOA-+^$l^t zv=%EX=3h3ug5}=dzHD$!r>On)$UOOriBNazvg*x@k08fEbRX=EUXb0@Nk$+qGknjR*dORrT2ybAL1et%9e6+Wo3Q}xknRmv7Voo_jgao4w(d8n~a zj8;%SQ3DIm1f`Qy74G8ey3rqF<&+A{;BRitDe3I;zx%@c3U#cX@P)SL`GDu5UANWa z=D8374BNEF)8+&gh27q{jJXqfy|ZCK0)Z0f&m>{dXr=r8FlA&ZP_KW(j(Ji&*HSQ$ zQ*Kl!Khy3igmsgC%WFLESw^~wJ981M$8X+tynDRYDL9B&n@_8vV~%|t#0)jq)QJ=b zdbb`pJuP0X3=+GywJ!2ko`lF$wU-wVE~4a1NHB{~kI+}wu-oUzvHbi4_vzvVP4?qV z`gNm+1w^!x{om?BrSMn-e}@a!C1Dl~CgSP{{-*kluLr@AF zr~Fh|t5a2?fz(%P%VCQhhhvQ2r~Nbg&LMLte;uIQu{8yk#<<+%jtY^S~(f1k=)x!(#=$NA!ww*C3nm2i+x%o<`1*_yCL~nnNGrAxde)>C1 zEfWrJ6sdy~$1H4ol;?)EC(G-Pk`gipHB^Zb%k7nZ=di`IZQ9m@1z+u7-MvRXs#*E* zxfkDSrG8K(vwtz1yPMd|-3hq|vrrR0f6cKT+tV$MLc_7RIWbL#+RJ{+hd)|7<7+mJf zivzzr4>7FhrZ6xAtjpg_QISZMP!bVgd1$L%Xe-H5{U{=$S}XNlDiMErJ0PlBOgtv9 z7THZ-{Fmp>$y}UnH-(|yp2qpNr{D-3Thh(Xoi2J~0f6XIJU*^N>&iOAMDb45$^EtA zZkYZQjT`;lC{m^2%aR^$k`gHcjXV7;#CHG%QOZPeS-rA)HWu-A`iE{)KR!bDv}6JT z^lQN!Lp0O$^rhCi%Fu7B*%>Xc7zmXt6AIijmq&oYW4hZYqza(mSp^*B=M$!PiXO*|J>nE6m?(LPI_e!A36n;zlk8!VM*WawPw0i1HUgp z0`Ai1PvoeBDCwi98_9tTYD zMGmk~LG+4ZSkGX7kYUR|K%^RKtsB9zZbO+{ru7d%8XZHaP~JRkE-BW`{MqyFKqtU- zv2*G&3`r7ok*)P?GXnwF+Gq_T_INLK@>+LUo{>II-9GBQy_@igH9`4pX)4v};Nw3u zZ*z_fEj-noTdIB9e9e3_Ju*PFo6OnwG96uvcuSQV>^B?h(zMJbW`})!&6SFPm$pbm zVvt}FG+ZY}j@6RMWKLoPYkcbc?*80j$OQNC9jEU)X&&q`9t3wpq~N6^g+aaHo&38x z3#((BA8sU0;&E(imLtRsHmy^K?;j=lJ3k(~cCj-|WYlZ?#nTdlYHbhPDS7W$vM^e) z|F-IJ)6kR_J2RgO{c_(8fGFtA%hpZKK*()-0RQFEsT{ZTr_!X{YxAiMgwTjmu+LIc zma`qccX;VBwSgS#KS}H&n*1nV?2Hr9sFd*maA=jyn=k)q5{qTydZ95BkBWOKTa>}43~lhX4>%@7cm;{^Qvbh zaBuVUbE6AaRn(oW0`;zt(tQ+n%l1Lt3Fq2H!I z;Y%aH!K!;+O!x)-`OKfxdvgiks-Zg;jO!9uiQR-zpf0bd+ejYMOsd;bUZ;Oe-lV<8 z7Xe7~@91gPwMZzl-}3+mq|NE>HMq>w#kJgwJjR46-uokozD)A)hk-e}HZl_Rz)I<3 ztNU*jbS@h-O14ek@}BrJ4$-jkeT*qdnRd74eK@OGnd4V|&sO8ZDk9Rp!e2;#-S%@l z->=?ZR-L^4R8Ipb4D|HnTf7hXOpw&uG&O{QYv{SSY@RY1eRdKCnyGZAmQe!EK^y%9 zzB5Ate@)Ske1CLyDDuMN?{fT}8JQXnVgPK{HRi$1NuoYq=~;kZ7&aQY?Vk0 zUUjpkpRFDCBKbA2`En1PSMN40aURP}lxY`X-!F%Hf{x*2h{G_5BDj0!^IFwx8`?Mq zOTycYH4BeN;|aR$Q#{1lF*WtSqOAY<4Eo=J{QOC%e}GVoDC&97Vsx0Sotx14iaIsL zM4r@3vb<33C( zvO9PU&8w) z=Qhp%0lr-0Tr)caA%5$4qv%jky??LwdHJX7*xH+<7F>G1Lon?jo0E=Szlj|m<^c0D zy7YR_s!+BTf7|3tRuAW1T?(zFu2b^xFtq1c8N3Rd_8rPO`r}(r^FuR7QhKV`jm!8` zVM^R++bRc{w86YMRhF99nqSGAeIfQf)fe2%#{CUSV5tL(zF05M+~R?8XwP{$MB_ofX9<(qv{I0lc@0>;&og>`%=O@M9H(5K3S^7X&MWa;>Ve zXIjh(R;NPveP>$JAKpCh<4XnC4zd;c#QdyrlV9UD+Vn?v+WLtMv=3bYs!_8{=Z7=}$K3DF-E8Qkp5+XmbmEc4gKy z1=Zc!BBg%-^C{W@u9u1YN&Rp^XUVSz+9YAG+;RepOv%>qVKMh*ns|yYzdiNdQ+fjM zDH#aRy`#jXGMN!d3l-mdwE-=pH_i63ZXP!rV7NChiEjzS`!D7Al=YrnIZrB2E`-Am7y`mOMU#emrf_mGO?lME56%B{Fl_(fZvp|AQw&61QRk zWmzbCl#e4#5NT_u1aQiwXQV860~jO6T#srFyP%h_WH*fU5EMGHP@|XtJxz~hk@2l$ zWk=2?Z+5amsGxBx9*06ATw!N*MkF#8R2|W6=j;)Kw5RaH16L&1lp!iA8^7M81nqR= zO;&26zm&u=Wms30)7U)Ks$^ojR;LTd?fWiqGM6VdiJ|u3LKjr;nFS10ZjXrXxiI{c z2{ok;D%vJb4w_pxLLTROn1QEUD?#lyC-xzn2|dzM<%;)5OR}`2#@eP%7Z1#ZavYDI z`DB5+sc7XrB(ZfpRdlw<@WU$3??sVHwu1zbtl?cSY+emKgwge8?y$CIxp57{rq|>5 z)k^hhSkN z6$LT;>YzJ6_kbLCa5n?}ztTXZ1-SPKJj>g?2J1n&jr4_UKr&OyQ+dru6va8nXP;MLAUE`k9uWE6sA``h}pUR1B^+s z(6i3Nbx_eu(Gj+FiGE_Ad#{7SzhXC%zT!S@J^3Wf`lZmqe8s%FkKj&afUDDX!adPA zEFK66_Ydh=BW+9$X9V@1#2f3O;|=CME-MlCVY3zmj*Lh}7|`?e<8vk z_hgk&Q=3-l$hqF4kxbn*vC)L8$9un0^RK|A<=yZD#qJOayjI^kMzXg`imbZ3rZc&& z0e#?W$bua+II$uQOuY2Le(-~(oHJ08EE-;(S{?f0<6OdUDkc>))&^yTT~fEY|AmwO zcSH-p|J#}Je>a)=Q3p6Ohg%_``jY0OhwIs%=k0`svqcH-1ly3A^cV3(H{Ym`bBBUP zU3Cr9Zrf8Qo2FlL8DFq_r`y|v7Y95X;4i%wo55O94%}mI`6VDqlgkV1#V4+Op;~BM zN)%WZ7`cq;K3W(&m6$p-QDqUe8ol+$jkV<;HlylZ_!N7hRgS;Z`0T#CUzDSE548Fr z2iD#&7bjK~$3h8apodTJ7$utU_Pz=6G)pMgn#%hdM{Dv_@?@Mk4EOUNK&nDgDxBS^ zl#9JNf9kw4P28()DC9~rFqki=?%})7c4Qp;qXXVYa~OVe1~xQ^=S4+*s6A6{+-F7h zu$GUYg-Y**hf#XrE29K_neQl{LdN3ygC*5=&V(p8usz*)@pf)Dp8{r&SR~jSQQ`g& z^xQ|V`la8`@HHfn#7!C!|NcEUgzqo+ZvvCR2XG562A?HeyLu8_){EYe z^J}{KIbwdX-f^q*#=|5GmuU}S||4i13khA#xEphm|q9CBQ>*GEY!8NR70;i#wEIg|tl?QZbj zjFcj0Y2s|k#DXOyXJ?NBwkVp1198$sMu0o#)xz5l{>0yv#@Y|A?B;KlDOK=zzHk5} z{9J_!1?&#s?n40f*QhY^4>HD#8&emRUN$F@UKxZ_+47@jW;a@=;5Fh)Jxzfx?3>d- zYq4?9_ZzXbcqZBxHx(d^VTUzm#$p#K2lmCeyE?bFdkvN*2dR_Ez! zR;x=}!p3%2w{PbIk(sglvOP-V^q@+N=c7G-;m;6U{9!Twm8C`z#f|gI) z+!1`mHhZG(bsa6i?C8ftWC~cQ6eTX5BF2~T3&s*Dq z+Az}AVka&Z{U>4C0!L$^_PDILCa~X12*0vIF%qyX;Num}q|9%xuIQc(d6hHUar^_k zlF1{IoCF7wiMlT^E=F!AWjhF!l#jABHnwG^nwqe&B^9TI0^sq2AXln~L2f7-90@i# zNIJ-5cJi7okE>JAb>o1IlIhV_@D$u>ou0$G?gE~VAz25;<|7SQg5@}Z^imIcAw-8Y zCe8sAnl>%7zqnc54n!jj64NOJ-&R>~S0{ z=_&$m`;#pQ6Uz4&}lU3|>M=Pf5&gox%b{}3~H zyLDAq%p+YXw*18~+1q;G#9PifRdg4Re+jTchbpd8I<2tMP|sbNZpKt$SX8fhcluPz z;L;2Qj`;dKzkV>O5kzUhrM`DF($!i#97vMnd;8jT>FSyAWGf;X!76+l6tqStC+Q4A z#zHr2pDlIUpSejmQQs+@D(yZqf+ca03j}#s&~hKo+W&R!K{&xft(dTda;$0_EXKxD zjr?jv$MF?CVeh`Vh`yuk6HFqNmB!8~7=@A0?jhkZ^O&v%=Pj;%y@O!0b67#3L%$O`i731kaG4p_|#%_bI1*hftw-e@FYnjj2!dKa|0NS z1L6~_4~)o}MY{8|ABi0X)QfUtU6WtJvAG?Z@2kJmef%r7<=oieIvv79pY%!=oEAibg#BPq z)SdG2u5k@v%GPR&+5r)`fc2`3!Cox;O}FDC0%XerY+p8)5&*;#S2=opYxC#++sgV{ zGU7F#+IW4f9H-wbln8W1^cj69ZbTbRHdY6^H1UK$?CRxaING&jxXS)9%F| z=RbtFGR00PgQmN_*7L4Si3u>t|1ExJ1|-Bi=kBMS2@>6O=Y!lwBYK|+)-)Gs_bjd| zGbE`N(^H%OBK}*V7cTYGgcj&TL58_PN%W_$VQ7SSFhaT-rOp z8GKNps1T$29WB2(O0ekx-;TdeXV}=%o@)7n$9kpqPfChq3cK;L#Z&U+?0c!tG+3wa zG5FKo%DHAv4X#&OyR<78TUfSB*j-QvIw~~qE4k9W`wLuD>0KjhfYIYq>nP}J&fNpH zxdSWj$xS#&{4QYWpHAf{GZRtyR8XWz_()}?^33ki?@JKq_6^1vsj8o{e;LAxdO}bn zKB4hucYbq4r6ibzHPVsxkZ#tUv!z*CDV%}Aco3#s2V{u`!_!N7EJ#DH2WeZ z>JRU{u@u&d9!pyKGyLt0`Gbw+&mF`oS^iBy?g2TvsSeWu#21J1#a=&;`2pK6ioz@{ zFZoddgAc9vS2AuJJ=?Y1XMeB84Q{+Rwn;1juFMz*sOx#Jfk&WS4)^^(Ik@|(@e7CJ zJ6wYJUB+&SKY3B*5*F#BMXm;NMtMek6=-wV`OU%(9#r2%Sn1umpbO`E@em7le8X+|leplJUw#h=J5~imIwa|%n|>Or)~eJQl&S;K8PQ7lH7i3MUhtV`*ob%73Y#7DT@N4W zzv5RPu%uO3y^~)@mD~u5S*r&{bZBkfr7X(|Fm<^TKtA%wefJ+=a7*Gm2?e3W^?NIR zbzXba#cY z=GHms`=9=nDh2#ni}a0A=PBkU5C_;hx=UoDJ9!f-s#^o5E8g5cBY>S&p3WX-6E@zP|CKi(a*qHXl|DGC`x z{|1rW;zeO&^s_DDMVYCp=<9j4nJA0jr~-2J{3guTjO_$48wVQ zPVdJJx6K}wH%?#;f+Uc{vB>7`0Q`EsA1>e%XmVsTrq53Q^NKsoa^}gN1|&~%sU4(> z*Zc*OhhbWipCI-|gUxJw$4#^T72T~e;KkC?nBLX9tL{MyFkU3}zSEp} zctXvQQmc?q!b0z*NHD}+KxhxXgvX(?FXONuLMU+KbOz`wlY9jfO;N7$(4C#{^sGLP z+i9#Fk}`9M^j*3BK)y99l_lJrvxORsqx{AK)O*XZ?L9;DpRG3%R!`}PE)LG|neGcn zoq@HxvhP4)LBXEeqxS>}hp5ut(II~_yfnOGF+{rle5|?!P!DnZ{c`Lp9R6X8ql6_n zDTkAIi}OwF0+mY*IA0_O0D5Y?rC*ELMukyVn-%-Gr_C!H2ud*vt3N^Y zBeOi9b(7_PfWrhoTKc&0BCVN>p^ldf#^sEinx(@zj1Hq} z#nydKyIJu|;j1MiOXYcCQJe%my)YC&5AY&>$)}FleQ0G=A)UG(k`~$fBa&w_Y6uSy z_bvZ7Mf~5-{|~qEf04%j`OY=T;}GER#xUez1_;hP2j$8}PXrviTB- z&FP}K_A`4E_P8_{i0N{H?dk8%KOaIMX=yKVbd?BQDfk{furZ_nkXXxrt=MB`r){qO z0aAWOZ8UfKV=^ypfN}o-WQg^2#`Ljt7%JLI!(@QmbWbrb-%dRA&Og8%#S8ePP86sv zzgzf2JQEbun^Cwg`VRo~5hZo!$s)u$U*U7p7ss{q;XB4~Z57$WK2E4Zb-cyhJdNp~uX>s^X<0fBTnB0_%*w zVD-Ry)O~<;xOuaSX+@me;rVs#6sUFSAE0ioz4x?39OXBbUzn__&$O#9G+Jd=d(AxitsU=*6V=LMwH){om7g%K$SQElmtOrox@? zD!X}1G;LR_I{3>W%TiaKJJP!G)!ZE)_;{n+@g}=p@M*LzNeO}Y7ltL((WX$&hkv$j zCTU-Emy%rUX|D{@8oy2v)`R4Mns(B;2Ox1EeCnosD_1Iu@PPEMwxkAjnV=OJH64+` zeC0GJb{4tx8y-@2HiR6)?RE@pga>CIgiNRXF+r>JffllAair%*HnLG4@$*GE+Uc9E z`Fl4ZZgm|hGhK3Eo7IX)m1rC{$2F{f_!`D!f>obvI1+w6d35g1MtbBf$gXM~#YvVj z5J6UfpU5df;Gx|4BOFv$86UmW4+!GW$PjkzjO?_YZCW4C{v=GJ;TGq|~r zC>T~;%#*m_5@rfPe0h!9Os*zx(hCyVoqu1GmFXW6-?1g(W`4KW>DDX`RX5rzTbWK4 zF1^61O#NY26M*AkL&l)roghcpHl!w3e1=_xfM8D*pR5%&Cub^~5You$Pco99!-zlk z)Z@t51l+|kV6+&4tG7?O<;(s);-edoJO8Np_4Wz8p5ETt7oLD{S9a&VOvB~|skv-( z$?;5!&kjOs+&DRPnsk|chG;J#EAmZ>4&Y)oXuSnz94!yhv;iOOE(1>ox zgRc7rt5g%Xhar>F0|m&bemRz`q2)clIpx*i%@ZAm6d?g&F5^eN>^$Cemfeq%Du?I( zn#)m1oB@v_wt_V_@D=f*#$}Zy{N6?2nS0Tm?T)B`T42SmjF0uagzm;4AH5_Bl+{ba z`cZB(zb=1U>c?8!R9>C+(!z@Tz$cx`na{H*z7hVd@(p4{Ik|1Kv$3<8&iAcA?GQm_ zpCT_w3wuH^{~y@miACy(JhHT>T13VQdS%s6E2DfOG(3c@J6am|_qw(|U*6|mkR!yf z;?;sfEHb)xjTj?hTGb)rz>+1CQ(s4wn|wQ(mK0I)E}sGP<|G=%B$4>6569)MJ_w%p z+R|8$nDi|9-kL<-+2s?s$-W&NpZ|4${~F8#|L|kSuwt>md}cGP$JFg7f|9O;5q< zt=;JVLbsG_N)POdVBc;#cr$Y;7lLlQwZ~AP6*sStR59??UGThyqANoNk7LR^Pfyw2 zE3Xl+H38K>)aSGZ_=5Eh;5g#?(s*fea6lpNDXN`H^2HnMcFjj1&hi{RHuC7JjG3K4IWY(!-LI|9sX?(M+Iz9PUmLI+8%sO%W`JUrgGubQQjwwT(s3oEs z4`UtxNoAkl1X_MK%Ow_fZXSAGTzPH#4=jIA{2UshE9NB%aqVAz7xUW-H%5`eTP{BL z-qZK;Jixv7GDxp~Osq%B!9_1Fy>wO2b!EvR#C{9Mq6Jzc*&K|KdxU1W@FaEeV?3_( zIv{HB?q^?8IO)#VE(E`i4g6sI<}ZmiD*v$FuK=ysFWnr0fnedn$sMLl&}_XKiEMW3 z_x2P|1zpMOWsNTp0&3)uJ_^MV?cC=@3bW^9)PFPb*e5v8s)gCq)>EKVObL~EA!|!G z>F%5n_It?V1t-+?VpLkGYcpd)%D0`S?=49jO6h~k)S4A~=1iB5o;9o^rzCEg95wEd z-5Yi<*Dx<}&s6egd$=*+%qRsvoZrCioxRgBUles$UZI`s#Hp_-u~F!!6TsCa>k<;^-l2C3{)-FO!)W(=VFx%Pa){AhmW>2p-RiKEA6t(WLVP z+-m0B#fpx=J3rfgO(~V_wQ1*im+y6%3w&1#m=s|3;!l4Q&LsnD-*K$r-xofBL_sqL z-aj?-7vyvPG4iGTAW%HLy5PE$5%sR;x2XkBxs@E=YI7M($Dgd-eA*P2{? zyueMAZaEyDV3XGaJrCEY%r?^BWE#ftew${JeK0{A1t8WH_yUq77+KPP&xsrmMrm=L zx#c7kC92uFAXcV6bX{}P!*lYwz_O4_V=#~b=Jb^9h<%gTd))3;a*8>a|EQGZU=uc< z_H#}g5`&R(DeR~EzU0{rZ(<0er^UYS^;waH-@oTk035=7D$$xM z)y`fOjk_+x^B!!nTXAXr-wf3BdZge^KK!}E`Ln_qsb;Yqw7)4dy zQ{=Ei*VNrNfj<8L-zMNvz%@wb9%OPwBE`~IWJuPwlY-I#OmW0ww{$aqR=Z%ytlp7c zvH~20_fkdW388zoT!D9>WJ^Z@k+(J^NH(fY_WX_4%xP#!Z^#VE;XeRUr#BxELO&lQ zi#$1@Ao$hR!hYZT?LR<>;>F*hx=3KYBO+>Ery*XpsLt%Kx99 z`LE~j$Ce^z4bNK*^EImLfC)h+96Hqq{ znkcC-SS`XZ#O&~OaBo>vVCk~LY*=TMg9i9tRyYx))U4N{ehN-E>_rCT%!SJGN4hF(Ono=eT4x9A2(DP$;}G27wUvCyOVq(4w3C z`3u0UwV1+=_}Hz#NQ;dA0iu6Tjy2yL$Z6|uiZ9r!RV-Z-{^B9j_$hVg)St~WeLL-K%?^WJ zj-5AroQ3~V7|pp+Xp8jeVjFiGz$@a22m6v4dSyq<_oR|U55JOO9yLeRjc#CzB66I| zo37ux%uQSeu;Lx=)Y}d9Sq(-=_74a3h<;#Y^Xc z?8+AZUV5FLS*d@20tB<4!^fOJ9{w<=lf*3U!=hUvv(h+>&E^X$;iHkykXt5=rdU56 zd^6^KX%bP-mYdtQ-CAoX+^_}x5^25>6;=U7?x_h5WZS%xabf&a=R&8(toMvr>+Pg8 zQsyC~42D#K%~N&bVe`Y1uR*U`zCXgqqhpH~Tvne>b6Jc&Xpt8%7Rg_4Zl($?Vp9i4jryz}Sd#e+ageqxO8Ak|?ONB{@Zf_6l+IBh(V=yi{QR z6(qjdb#IJ;h5wBCTUCXP&5Prc>-y7t+V7u`7=wf&Wj;}h42{>B^-;0FEKpPW-)V#^ z)xu!U<*jBV+$F0rX_G&YJ07IjLVGzhm;r$Q(n(mOmAzjI>rwXT@I#SZi{q`;7+z$Y zIl~{K`tpO+#P5A^%$;C4$qwerB4+H{WsvO3ATBcG6ld9dG?K<3yy-;q_#Hz&nT| zhxN*n#j&m34+uMVIh+Q|H$43_c<(hfX}-9#P2=5{Dr|@2=-3uTeI@S)t0OFS2mMtNYM9*u(o`IhAnF zFBW&DWT4fE*gUy*ByD5owDDU@5;>cPHCr5B9~~0`_@w4SmPut$vK`MZt?&mqS~S(h zL^kfhiZnlAx_jnuj19Yn)Q1OEt`kNE36x@L`>x|n=F2vmuXbD4kv`cV8RXU%e5otfzIYb&akTcU&*af>KfCOn!xr9;Ae& z4N9!B^|-_nx;&(@CZY!fSnD$+%bNziDH$cQ`?8tiIHvaYCcqpY70JGP5})@Fb+XMiBD8!&;`RYtJ`nYW59-8?z_}YG^3?^pXcDobZ(sT~<&xdM2X^^WO(ePh^zI#*uaMp{QmLkk}v&Ft`!2_TGkI#J%uA4Zr`EsNg2Odpknv->SH-5wH4T(gtN=9)5^-Z8} zdt?O7Cqgvp%z???Np^}%S%&GPrvt(n$6Bi^`nUWI#<9R~7*f}B$!e|#(&!lF1Eey| z1?!+gINgx1s^yZ@t5qB}%$YTYoEsZI`tv26*Jt0%S zUq{KC&g9fqBT*pV9C;vgCtdqK%w{V5gW=;5#T)InJ06w;6H2tNBk_~sDD~2GE&9y! zR%dvm_Hri7>8T>wYb(bs*d;~d;C|G`9J0j#|w8USUpwZhIw9_?OBPnspn5+i9HCx`Bf|WXhTL) zvv_eehXjk4yr&JFm2T*?tn@&&wfKlIpA!5oH2veh@|o`b|2+TC{HFiYA@INd#*f4Y zTF$s2ko6thKE2VCj+*}fts?&bjM#NJ{$`5i*W{BmUoS^pRh?v>LK6cPfVaybu#~Oc z5o{bpcoY~<*Q9pm`QxHeJyj3F7-Hp+beH{W!4f&IYiY7y<}rV4ZJGR!AkZLkp+Ror z!EJr>dS6-F%Dyg}>mrol#%4!Z{RhwOSe)fK-%5`^YfnQPeiH2^Xm#FB z3N(lzspfvM8A{KP%)*O?{4RQEQ+HpLz%dH|wJoCgqz}OM158-n?Lku4nlgVtVx*Zh zHi0xyxY1k)%gVk;)s4Ve|NYK}W&@trAC(?t?JQHDDvyO~&r-Au9`FuYoEdqzSD&~i zR-ZeI+lL!Xi{+N$$wfl4jZqPDhNwK2p9A}I+OxL^_JxhZ9aCeuBx&&?gOt({sdA;I zpQWdVK}EN07=9F0D2B5V-8<0aUg|0**hM#K+C{!-*2~!IPQJBG$!__(@<%=GF73t7 z-)q$>IcHXZDD%za$Sz7Ki7x6YUg+qkpf+6XsYa|ZP|nbzO4THxo|%Hu1!%qy~OBq)p1$1O(q?p z)%~_l1Eh}r$=PMS9(|-JqT;tjzYp2Z7Ob@|p)P{fWkGlQq?jrdH4AhjVvr{s?h@ zsv>_zB}!%!&kX+ie1M9`2|;#opIZZMvq27zjFL*IruqQCcu6*^t9lQYOo&&Rp4e^k zv>ZW3c6KyCU=m}NIl(4PIG@m^<{*bi})eKcmC%adi5x-#tQV>7I9iRban346lQ^`?`ELD z-^Te-?tp1Zu}KpTAr5&2&%~35{A)BJv(i_QIEJ;a<3XI8PK>LAuO_SKG(Y^kG`HHh z+@x<3>xoizUzcrHXS8V`Vg*xpb-oCs5C%Q-m~G75y$&H+Uwwk6jvRreb~z8w&z~AL z*B7a+zH=d8K`g|npQWejEvycquQsATG{Rz8xza9kGJ6+i;jVBOaMtG9P;EA~9|zk6 zcSD1&2PQp|&|7^=PIr}V7Y+|$b^+0g!{r7yezjS(%9VIs(WSXa8yA)Ix_LJU=WJb7 zGKQ9g(I&rq25~c8Sa6>G?%WonKrgsuvZ3@hCc>o*Z!Cd0rb0S2Y!M|$S)j_j*eJe4 zXI`GNr4^Tv!nTP3lM7MVVB;F)7JnOFmHTwivU257C8g)ioZR%4LiWP}L7Bc;vRa$> zww$+On7$N2_yoIy4lC3ayF$~#AbhYM(0O@~KV34+1*=KG-Dl~cG`Sp>Qs`{IWCrN1 zP*wbeIGMP$gTnhBVqVmt1(7&U;eObo6T03uXM?D4-k#@vaz9oVEV0jR0^@FB-Et(z zt6m6!GmsL)`=EJBTtmvuT~8ShM@ZH|_04so!|L}mkN${rr$gnrIWQERoK+=h&ddzy z#7}hilkyMn!fb8B(aPwp0U{v9L}YkUl#f{2fVOu%iNppHYJy>gx(S)boyF(JGAfNF zAvP?aKJhEsGmnB5ZLljJgs)^brPYKnb;&0WGoCN)=Hrv}YiR;mlsKR^d4H$(u}{}1r61D}(zRnniCaAMokfX?NrCr;<6 zBRV}1Pqan)Q{1~Y_R03qgbI`deB{3bn@m^Bf{HC&Zz4W4)rD)sTHxj5*CnwS0DLza zckkt`_+Jo1katbUEbGhWTlb{=@=^{o53|Ihtl*4k_D`LJi! zzV>yV$9a?rAEx!|PyPn3&gJ`=HZh)&(;nGeM$MVW=-F;YMMmGP>=kvv-QhdgZ%o#R zLQKMdW?EQV9SemA(_R_Qs<@dOlFgqgqWhF* zsFB_agD>tykB_{YN09Iyv&Wvx?rKdxI`k{CjAeOcyu@Gs7_{@IzjOKVc`HHKXXze1 zb)icA2C(1G)?6?ym_EE@sHw{@VnA2`hLCF8bA4 z*>ZGVsBtEX3Aprt^>K#@WP>Cv(mCL(M$h#w=^r4{#8dE2e$Qs~{RPQwCG64B4X|2K z%0(2P2vu$aL9t$9T%A=ZlvNWyZv%yEi9>lngWH$U${j3<%|5%3fRPniL1+mS` z+7?lciUeUr>rzp@?Zx@&bfo39MP8!Opwus%r@&t_m_gp|bi|lB*cNUwU@97zdM9t| znrWHN6qnb+*zxH;lLJ}@wavve!X9+=8rZy_TfPT(ZQCri%e&5YS2$*VwU3ur|P9#PMRoGV;9vDx7&8=}VV#s9Uo`+pt(tBctG>%0G42cOEK z@qbeQQg{-sd!A`rv;<+`+#KLEha#_fY>a#=f7}xC7qpjo>85@?;1As1;26an8QLrp zLVPKlY~}N5f7D$U7WytHZFWWei3_~b?-%-)2IO-#_=M`_#%V?TCHXsC(~u%<9ctaw zQ^kDFovb4FuF{O1ea-TB=TgMG?R;FV3pxMzWXlj!79iWpZ1b=v3vU{6$lvYKXt^G+ zSAt_Xb8vW6%UsF>*raiT<-*79G3t|5v<;8G9)>nBGh@mS znaW@+K1+!Q2TgUF19flUO!{mfB_jL2qqfSv*0*K0)*Iw7`23CUtXKF?qA%~}Nz$SW z4RC}+5>INF?<@UX5j%_hw?q}2MiY(&C?O%ys}gR=*^T>$t64$Uc%h{?mUa&;SahVH z;~1XT%p0Ncv+rC1IeE{lxX|5We*(ypXNvhB?{HeIJi?M|#eW3V8pU;opmtqxLt_&L zd{(*pb@~HzW2ap%<~qTJH9ISrwt;u+Xi}D8pTGv^SY`bim22+gwC1N7*Iug2CJR?T z?1Y?`h=XrS!l0IiRa(8dPf&P{0q)*5R}xCco7y=>K(n0g#vDB{{3JMR^BC34M0ta| zQF4TLC$wkSP;iQ+GVuY0x8BNn)%)yuV?#rusV_CEi1|zgB!*#Tk1`&Iu2n-DpuKx- zBpdV*P$EgI|>BL%xU>e6QZ#%dOgzMN>3t=AgV!xdF=zIsKN_6lM}jJIk* zy27$N1HboIbq5dT2K4Q8zDBfHTHEN63RnRS=SSW**N_;ucuu&hsq<%79N@3_J?>|7 zd^p%>1#m)G0#|eu=JAW-u{EdbCB&qsUI|oLZ-^O*DQ4R3q=mp~Tw{Ooh=V{CWo=FR za8poCqQ8Oz@sa1|7sJQ<%Xm3rYS=%8%?dlt zcbyH6T-{zmc-w<^`A?pyl*kT^`mad}gYom8)An@A;3%z~YR?K6#4!Zx^2_0ubC>72 zfM|ngFm#!$Xz%pSo_c1^j?|{{q@mdYALZZBkNToL^#uCIDD+hJG8ADSI?Q6GU3htV ziNIe@8)MtV5W79ka^u^~+|mto6C7EVM@G98^G)D4?}!ceCdR%1j_&J?sHfnosEH#E ze)``|Y+HANRUFSUqI7Xs4~uaZlD2)Z2kfLkTXM1PDy+jraj;&ZhQlqufej(4ppJ(? zoo7wPV^Ry92uy;#uWj4@B+RZNU%8wJ!-zIPh zYbdjQXy50Wplaz)u&A4A8m|9%d~ym)H}jJe7y2O)Sg0N_in2S^%g%UmyVm7Q|eq~nthG0bjT3_ zfTd}tz4M~Zvqd$P)zH5n0-NW2or4>WhIEq0L>w08t6yB8VbQnZ84*8e4u1Oh*slDj z&+n`rxNZ9y?#^*mS*yEUyy)a;DCuA3gvzfwwERc`cxxVvL1v#9-chnrs^j> zAOXG=3m4|XP1b4)IH>UrjQIg^8Fb^I(~_R(hU=Xwp)~)3Sg)dQmJh^&2TLkm`Rr?i z)74et%8mvkk6%^-wji$tPUU;Y@i}<%uqnyvfgA}+a~Ia{)e0)1N}6C0j}pcskB#vC zQPJe!7`f*~dH58i_*+B{ujr^V_h`NGcOOx{68wIs`edS&EKHdxg;L;3=nq2)9?-_p z<2dcpPLBZweT#!;RF#1qAGPWOfM(&rnHl7&29Zy5EbFzJ);cH1_eMe;(K&DkXr0=o zE)_1WIz6e{imR}f4xTkKh4MfUv&of^eY;FmHt@#;eF!))*uHhu-IRaTiF?E0_o`%EkeuQWE?y5IfxQz1p4bFuXXu)NJurWR zl3xn~lhB%eBl_shCy;khp1C0_uMkAF8|_a`v@~Y?MJnvnag$imE_S>k){8wzBw7cw zftW6CO8;*S=wEU~@)Sj+3x*~=j!p#zI!)|DRO(KV@mYEY{(ODN*c1}>Y4Yi`ObFq+ z8hcst%-1XXB9S7WhS^2_Ifu@S^&7smPI{EieVMpa2MC!FK+#K2e2D4bSvy%M^lWq~ zsnqvFQTvT%&-VM95yd#>BwB=`Ofp18lG>jW=?%<(y;dF~%?lUzZdFVBT#TM;(RC)&3#}AVB zGM)Clk~kYU7$4lE{z#M~Q=(i&+BQXJs8#;_$;daGjZ}E*`ueAnno`r0+1ZJ0$;5uA zqti^Q*vm?3AVq?J#Az|d){fV$gl>BDBpV)m6S@&^0}tc@C`Aw)``pL=HeTt5YB3Hh z+e>FIWn{9PXsngaOhWZ5?>VUbYV;M|i~IZBKd+MXH(KI< z;e$=)o0l4f#PuzUbH%feeAKI9Xf0xxr-pb%cYh&Q9ffzemml~G4WI+@Xf8Ayj9A^+ zNpM|1`Sgq^H4~?^SUC$``ulY`OQZYQsI#z6GG5|(+IO$->=3aLF4C4I%y?cZb!>eX zX*zf`A|VV?_ZM_@cSmoRgnZc}tB%}U`zoh@ai{)dwd3msq3DBs`~yr8%_{*@Cerc& zo^!=zheTxaUl8`wnKtJQVU&XJov6Pw;<&&K)DgdWC#F$vjTNaEvL(1V9@mC&I2-Dq zbtN*1t5RL}EmK-nCKR}K${1E{8*_){&?Y?A`1ZxhO|weXt?9#(w{Azy;oa0(?Imlt z;()*-P*pV2aO|oN`Ll-C$j4|+JysUL;SI`0OY9Ke{(@}3X837b_C*gHS2A~ zm8$lkgq2pB&$x(*k5pB%EGWD+DtR_L7QG}R+G9I=|6G%^kVkHtY+H7YAs|nBd_1#t zl6B0VIkXjavM!@>$LT5168QRb(#@xe|@uN!$W_^W=u|75kC@UFs)#J;m` z>`3cQI^j>}Z<`+6?pv~XAd|EeHvW0O9~wQSx}p1W*75UNki%RD^*_>E>_Do+giSCf z$Dt(iXUDI`vs;b|T8X5|;x~=t#uu*_D(3NTnfse>^$waT!YMg~IN$UHPMV|x$XrNZ zN{S1SPH^2}jic7x(70)$(O=NwXw7jhJ&Nu=UL1Rkm;~B0jEo9!-~0=rRZY+6dv^RH zlNTDXz~Sq)C&uwkZ(b_PeH1@0Nllmr|6Y$cqDUsQ2$=etkX%iEO-uRxp+U(@#j-7N z$vrc0b6kr@0kh%p*U#KkCEs_xsz`x)V(~vd(aN-<67DX3O70i^F))o%V*e<&Ys%;$ z6^KTQ&CO49%@HS&Fh2-`UYU)6H9rHl9wbDbP$r{vE&;awmMuOoBGRMj_hJHx50)YK64eoPlnE>Hko||F0kDzcUW|PrEMoj2M^zJ%WUzNEuyYT4zuj z>WG@TAygW0|3ACbd&eFw6JgrBmjRM;DQHhSNA4Rd$lw zQ^y7A>PwAJ%rO{nsA|I*8s=V!wkr$Ur`gG7YQ)%i+u6psTohOc?@vMFCxjBJ&g zdF3y#sg7$p!f!@q>-MRhmiKshflY(ilvW7LoFu66U7E6{7htJw2r3;_mTv4fQkz~i zswJfDPpP)>2UM{q51i8dQqPR7zkpOa+&OTO?2*pj1n0E{Z?Zgmrz_VlO=FRXVxGM) zk?nofJ{KwQ`nRhESeh|cd-IZ#X?`vd#Q{7U-vXB)KdZAkp5B+DskmTOjN^_meK`+o z9R;Y!pyai+nV?uh?P}YhEzCiRB*f_1@ z(phehKHJG50~7rC=Y!EAkP+D%fPNEo0};X&3) zpg+T>bJRmUaw(7zGBSBnC?S7Yx-7oFXb5R^`s&p$-}5;^aCG2pk=g5Vq&;2 z7#d#{nfbx%#^U8dE28b?*Eu`Qp5f!hU5l0kjNMDf&J&HlAadZ%Uc?^=q}1TP=)gs; z-WeROFrSJ8+PBp|VTlfC0q13V(dPS|l=W$+A4>zB;9t16tsY`g{VpPvCLh;!;eSC1 zB>a#%+<5xe<0Zg$vEGU6^fPJ->)QQ*6P?C-c@_q`=m+mPM?wgIxTu((bo4`{W1-<* zrfSVnL%mc~%1nZn#d5q-%@oq6Co^YK;M_Xd%sjB>0-*dxwuu&mXSq@prfxNa1=8R7 z?nC8Dz8ca1zAC|z6!*EPhvF=Gs+^b0)1$uS_Ie5dv)=-^c-8s5IsAyCo3Jq3+rFFD z|Eh^;dns5Hkl$No*uIngt%kF&VyBDBo6X~wHu;w8K&4s4LL@9<0dscv?R};=mHS3J z)7xZWhPhWZs$$B#EfnvV6RBw5y(JiWqb>G&zqVclJ*!Hm!*U_IUp(S5XQTudn z7*9bGm0i}|;CRR?968nN+bQ8ADT3(N9|+!8@(0Vy={#qk_9-D2 zk_Z=z?rWXb4vr8h9sI@CoWE`^LvSi>EFdB*K3O}k5g#P~P=eiZU;77>BmAs_d!Uk= zRqBfD2##4`y{ML-I3y$(!#Z#PKJG-mP)@otvQ5fe|2Yk?i8^IE7&R-sqVG!3cx7~} z3+IYg-=~SuGUUSv03)yrO>sl(3$R!1iw+X@KYNhX#f)pt?Y`V+0AlPh{*NEre`gT( zpSPe2G=AsPlh76Fuk`K)Oy?oW_c}Gh064RYN`eyq1#U9E9+ z;LZ*6?bPF}wMkR({pmt7U1%ry?IVb|OeC#TnXuJvk!XRN)Qzj6B{6#+<_jo3$yWyb zt5Jp(isFYyx+IOBfMe5FuUNXCqP;AyBD_5|x29tjw+sP zL$0JGZ z3!)j9nu^ktXmlvjCf{I5#VN~RP!=UH6HLeE5wXqVo9d;%i81qmcJpto-kI*r?|A?U z-+KzPMw`<(<#fJdwBC`6M ziCe}0VHf|e*75)I7~_Al3;N#{H~6d(jo-2!NQm^}LmAGU0qa_`251wIV2<+KN8(`I z>q~DYM5EsYZ_RZJbWV13^e<@Xzz+)aW}=arU|vjJ3#uc-%QTk|rk$j*qQEeqRD3s- zw~30@`B1FN9eC<(fhZ{{W>=;olH+8ICD0tl&;+wmmVW8#k|=A13FK8u=3511#Z|opH%=+U#s>SG!U(B`EWs#D7hcPh) zDQ~MyBqhrE4^rGt-$vgXA~Wu+kt$bSNWAscNN?S_Inn;+Z%aSaEhqXvBrCDRu?#1r zFDK`D(JGK{Sqq#7&Zg14IO|lKl^`Ib;fvjk@`?p)%L)85|AJ~0jxe&I@6~wbuAe|p z1^SV5SB}UM#QEz0DD295=mCLrx(KPSbW?e9({f`LjSG0EGtBH+n^JY)Z_`J!f%Gf( z4g1ilg@F785n86RmN(y?8c0VasR*9AD2cn8wbD1NMt$&CMbJ7|PUopqd>SInE|gly znc21$DKaL45C>NnzVZ~%*#7y$4$`vgMT)IJ8deomf|JU>ayVRzOf1_WdFq!1RYv3n z{RPp~5htLZ&G>7rFM?yJ1Go%2CmNR0R?h6seASRLQo8TFVs|NPd}B+SjOm0Dh6RxO zcf|g0ks0e_5i6X4Vy?F{av>r5i@3vvNMQ?w?yO);%jsW`R}J5>ukc=3owxn%v&$QH z84223KQHki%0NFY2Ty0Fs|O%aE!VLjZiijxpxnC1FiEk!TNtb=do}VBO0X=D-dJdF zU%PB~UVhwr#6pFC_Je_4VX`en_5Mej%4XGzJ2?G=4oZg(ZbV#Id`v~RtDVEuDM@d8 zEUDs;H!-0Rj=`sAmhZp9G?m0o7KaDDSj^d%;pwwCe!hP6?wjJ8A=*b5HD5h)7fRL| zs_rC~1Eu6UfQQS%{BsK5}oqW{taC7 z9Cp>JeY3RH`i%ItfCBXIRorjD5WMstX@AmQ%b?fU`+-XNAWH`olU|a}GmPmGG8$B5 zRY1n6`&Bdm5jx}V>7f~>xSYl1Htd+{Cs86+KOF8V8dOK|X+A}!^L5Dd2w;i8YzU00 zON;U&Z@9S9;$DVjYA<>2n9Xh9>)%o`j468&%Lv!R*R3urTuUKC^Zmt;*K64dUG6^l z8jb}kqpsMO;jmwPS6-P*x$MS7SV1Lu7AEjM=z@?E!nyC0d;BVk94oLQB}?+3Hb}+7aL#9=zZv~ zzPC+x2ut5d`Wqpvzpd4f*b6537V}T_`dUHBWOqqa@z&>BT59S8R5u`x_f5$sUJ2Yg znX%9Q_7=lPi4Ova<%E0MP=jlD04d3cdAgQu9b*;)KE@KvK{)FegWcU z2v5RK@+YTp?0#>YKjlNoKUczRp(pWIn&9W8P@c=vYYWxSq2yfPz_>e(bsxt-UX|*X z8y+^MMf(`GyfV4i^Ao!)z10)i7cw8T0x2yo)55FXu2ZirabN-4sVwm(4{ z&H_`&kHP_=3n?`MeaKdLrcfCFokMf)vZ{ZNn94`j7Nw=wpn_ta)x2umxs9+{!{y@0 z&46c{G9Nd8EEt%uL@nMGr5xv0d8m-8aV2#gp2?H+YNz@pPu>28Cj9}~1gnGLv<_nc z6hd#XFS=w(K6zv_eQ98EE?3`#WeHvJawFF*we5UT^cALo1j7uC7bNa`s5pCDhH3J= zbWQnS^!mj`L#r7XCFTK!1qr++TvN_!@L~%xFL;r%S57@Okqh{vem4)#yjGCaPQkWr z;!_DWg2b#z%>X+}!1dkfVM&6ra6eltW^Aw&5j&xkanIq4iz)#p5z2CJyJq3yu;Hh_ zOmNWkHV^Q7>e63lI9v$Su|8mW<>%sXbb@?w&Tm$~8+jIZS#<#L$4JdcQtGTb0J=zs z_ec_Y&Xhc(6sY{oI=z2yW9^l@TUvfHhHOVNfr&-$W=9KVVk)b{4e*|Ni_O@ z+fV=9dGHw*z{-#u!$67xu)@;v6tyM99bG-uwmS(ub*-=Dg`# zWcv#;AqI|i3^3eqHPpl}YdV^5?my|wsFCiBmDnd{Wmmj? zdAu0DIa~Op&tZ(8AQi!DD*_+ZIN>k9xhTZ8{v@fEYlexpV@nz{`F&|=fzEl{HpTq$l24G!{A?MZuo)8lw1F!$23+5HREz^BinBK(^ zw)wKThFGL$F0Kqb8*%n)ATTSy{w^@{d7uQ!TsVyQL#z|nDqN0| z$m;@IO+tzW|6F|$+|%2=`g3D{OgP8aX*cP&Jb;SM1KxO;9TYKFtH@m&p#{zw4Q5Dx zZ69?m6fDq>Qn)V*WJBp9&XLaj8ITW+?-qp~3-VP@cCo)wTM8nko4JADB27LG)oQ>k zSdJWC7S_}`wYW>>B7`KzL^cT|xd=HpAD+Rgs^*R*y`GSW0*1%uHNO&&FNS%L0vk&N zHK>=SEVoej=GLu52`t|#c=29S;tD&L_Nq4B9RMKHayed%Nb}quQEeN}|>ADKgX<=r6bBz04b z-PdZxi9g9H4;kUzC-LBu+<7rw#8vYhy}v*^qFcV+glJM+VZxLrQY$`8NMoV><(hMs zStR7=ZkRP9p|`@0gzJ@MdwWZBTJ@`wS4DSI>U`UUZrmbkAW&BgQ}cavAdQi+J;I0H z=#(O?E<4bsX_`NqRMWwTs_^T*`RfHkV!jGrf-mBi)rP|Mb%o`IMXxe6*9KR55p;ZO9f+cY7Tzi<#Uv%-FHs>hdAQRKoF&(&yQ=$&_bqlqAb3 zS3Kv1QEKbd#l81izTeW~W(Ujpa?*S+vEM8rm~ri9Krons4kENS+F0*q_N04_f=4!PR^H zX=(>Y+QuJ5VjCTu$U(qX4MGjAt!YzW*~u+OI_<6Oi{^Y4X=wYIomxP-g!#})*wTtU zfZaK&6NIKm*&t|hg9BLiK?6V$x9Kkw7%M<`>8QGY=c z#;(fxc0(og_6u-z7U(&RtM;bKJluq3s-kiI+u6$_d{Q*sBLwloM*#_a!V>5$f4!Mb zdgGTpoW>UnjDY1N%n4BBS?#1}cTGc4lQ+lGa3G9+RQC z;b@s>TW|0?=cGRcLb_vJzAhZ^FDU2ZSMuY1goWbF#n+E2?MB*;f{GjN=2rQ~`cvO$S!;1xa zDDLM`o%z{!Y+?UYj^&y!Cxnp05c%4Q5q9=uWvJIZ+}N1(bh6e4iA2NPiIvqSE&e z*A>h_)Tq_XzMHFWm$^1*2Bv=r76H#aBbRk_QD=5aI`#U+O4-S>&IpMYVKCP zX!r#zo2S-PQw+qxwAKKc^@YuDCt+g03FxY;aLwn$Gal2+JGNy)v8!wZ=Z=qw{jwtc z5vp_cI}ALYc?M0I2=}VN-Rb1JodyaTJ76YdADH!jok#uiJ?P)5|FWjJ0RWAV#)Iod z2&KQsx2{f>hFHt7wkbjA1%}x;OCa#LcN_4#JD*zg+#au{A1Wo&T#b<0+z8j0F*VL^ z?g89W*x1RXh|vJb)@ZT9q4R}##L+Q0KYn)vL*1-Mca|e_hj^KW*S{B0S;c-g(lgu* z3z!)To!{G!`%c@pHZ_NvGtK*rmW@pN+!(>lJ`1`DDs;i$Ot4Svp)_v-tPDxgLBWT* zq{q`AWn!&!9_o-0s1Aq}K#QdQkh?uBfuGaR1*Sgq+Ln-0Y?mk#taepauEy914wBBn zRtllWw2>%(;Ueq@`sh+O9vsQPR?!&!wp?uD9i@d?8`}Xln-W|tXBr2{da>SYB}06C zUtkemw{0E`0%6rlW-8M9l(@%wnhBJ60#ZQoDrBUu~=+Og8blNNlTlmqfzFjE-28usSo~{m=DCiU40>vJiv;d;N=-TwQ?mmq;GIciHDNTnTUv z!$t~YOBwF)k@5Dl5%Zdhs20oDhLp-r&4;GF2*Hy(vCYU(XNtJY<>1Y!UmB(qmN4TN z4pV44W8nS66>%I%r(0&ZnmVYV^D)^}ZZZ&Ma33F^S{GWx8TdZ1_`h2K)BoiHINe0! zZx{8gP$J};@_dt4OpSK$zcA{-(IRHwFK>i^YQgSx%DQ^EG2kBa{V(WN?Q-9WXnx2G zT_--W4XvHN3A9B$cBwh5cg+mrv=GXscgoYVdT#7)aNTg|N;I|5ag&=vOj zG9JyOCJpx{>YqSFT-Qs);!t9XVynS&rek3K#IL?M`WuU@wmz^4`@=< z`i02|szb1b)Zs{Bxb@O56m@pNkeZnZ=y#>l2KIS|F2naG}#is0sv z!k{YH0mxf*%N0_O`4qGLyvmpYF5tRdW6DXy_Mp$Ne2?BR6BmiG=xrA+^|?z?P0Ew* z(nP1(ypstMAs6d^SguN?2dFsJVBHK|96XwFg_gRyyZv}o)OHbFCG}!NTfZs03JU@E zvm~V_10t2XPx_nwf-ZHNsD#TK9|9N=_Cr+?BSoV~nwbN5*IOYXKl~h#273oQj`}cQjL~Ro(JbwFSppB3K$OlP*;G7+nC)X36f{mzP0g+}?|yca zYcl9Ha+5r*^tncxZh=dEuE*Dc0kY@To_Uh?NBbrxkyKSEtwLiu@zzD_%>}t?e9%)J zEtr?6Wo!#9lz6=<<}XNwY^5iD_bNnGbLOM$SKC4K9$M#p=PQWrze{-e-_Ak)YsJ8s z4H|!fl^$Q5JrY?TdC$4hX;5(nLE|rTr6E>(9(KaYM{kYl{Y2F7mj8cJ0sXP31VlTK z*jn&Lsr-$23DzRHvd^&vl#h9*vX_0O57JhDi*d7_QepRPk7FF#vrjZO;RwFKQmgBHVS_uiNT}&f8(Cls| zBW&Np;Pvy$d*@=ux`p^W3K9t_Ba7=)j>(xmZDL*EwZ)W;b)O89-hVUC17i%KCc}7% z6>S)odR6>~A2by^@rxH%`3=@w5v6HpV-*PBO@dtt2>X)RZ7STdiBARP5lkh}#IsSH z;HL*Y-+!|d+OFK3Xc?>d7^53Ah^`Q0l!E5^%YL2hYT zYA3!G5iTKz8_GR?IFwX(s`&)hFtwye?@XrS0Na7IVmD`cP*+4wvC}Ja(KU3eHqTm| zhq#^Cfp4nTq(R*f)4UQ*+kXIGvpEfF@-oNvKsZ+(qaxx}5 z@lSRx_uB`Qvu%RTr3U0TgQw_H|0H#9WHTJ-R{SK_Sc$>lagApSd6V3d<6se3M072`OaJ zc^-MVtX(ipa%$Xz&NL912N#%5Tg1Nq(nd#&lP!fGx-%-0*62F8H%SU7o9Xw>!;>Bu)%BTsxn1(}F_N+@c#|I^iryni*A&d9y) z`Ni6D>4<&$$iqc)hl}d>cnfU88;yBcirgRHYFZBc-iX}SDf|>c{7X!$z=a5} zkT-6`D4||MQ!5zel+=2nt9@!7&sH)X5tVH6tEkmg&pKAvFeep7PY8`c{OZ% zIi8grUN0i56$NAbgtnqAgn08G9Zse?(MwN}VHn{reJ`3URtd14-QWm3_E|*Vyn`00 z1~=iCjvu9rB#h?{XgE|nL{IaVh4+7T7QOJ9=oBFTW~|=p&|Qj>7_TSaQZF$ChGPM* zi(Bnc{mP>Sm%^=ufcn3T_21!s|L)v>&HY+~Ala-FGfV!|l>YLYU)5jYT4y!enz`N% z41{*8)L%?=TC2oxZA^Poi@9_(Suor`X>~ifF4sMdry0AStU(%}=920Mk1`{Cl0CbR zR!VTeZ;yK-%!AFoye+BoxyVIA&l=uMj-`|%AIAxs_r!;PHVmETDw z$SJ$Ri+a8RVU`eY2m0^)T%+AQOKP!w zN{L)yAVtL!srL$434UayG|`&cv2U^1IjX%`$LxV!!a}1z%hCKqDk?QXOu7P}n@5L+ zwHv;z<-~EPfEk>CjjJr9J*9FwrtAn3`I%$aw8`&vQ!Yni`4%fW;!qjLIS2iA?DHs- z^F3cokLOmEG{8(OuBd|}ad)MvUso1830J^;U^eU`jtA^>S?WV-5_XH<6O%$B z?Qn{B>lu?3BudTGdQO!$Y2Rqxxk-((_RDyeq&;_+g2@J-zYAbDj;_WLE|aI&qB6ggKZeum2?)|s$-_)T-ysvw=K^~QnQErNq#VYdc z?cFI4`_p|IP(95PO#NLcun&eSI5g*qcor$<3w}DuMeyO!wlcO5n)J@~Jk|Xk z6T*Mkv8}b>I1R-zz4N*rLtn7f8*77LwzQj z<{%yc<%Qt5O0TU&%aMB0b82X@-cN^?J`dFK6xDtb!Xl#%%7Nh9DqL>f2`}CMTzeVn zL@ZWk#C1=W-(K8CdS#3awK01Dh(V-`AoowfD~IQz0G&9kHMazy0EQFG-2f5;1L}X( z8T_YX`v0DeVg?}UrIdkBee~3pgC(n&62)#@AOKs-tco0Y0@U8#sa#?HBt(*zm;3Z# z%8)8Q0~tVHQF8Ag-nPAntp(ufhyg)B-lOA2)e;@veGo~unJhsVaC(E>1^BaUFwGpw zCJA4Oj4fRhB&kiz4BOqD5Hx!p9w~&cv5s!Dt0f1T#^_~--6$_K4XxW zCX6`=)jT%an8Oo2_R&>y?p?D)LrD;+@KtsCif8)sn`(B&w7^}Ql15*P?iVo^4}Q(t zwA1Jc)L##d+OqV0XdV?K`@A_gDiT42&9_kazR>b5Pt!(`Su0E{sfaKPCgd@X5vh#r z*1a4H@w1gPl`4MohwR-9l;_?S^DK)_feaI4aH9af`z#WxU6CRSALqsRDq9)8pO)5% z=1ndST`K5<05FBulGH8cS#V(mc{AAO<|r*d4fPz`iiw*`9}fh6Anwmj;?Oksira4R zxQzDTyRd7UP7w1vPxOON1q*RO!lP<$0;J)S6{Xawpj1k$Q9=yJ=TDMm=z67{Z@WdB zOfS7a#hWzv9AcU8Hd1TFb(ndD*JjdyOmx}Tnu>dC7)e@iCPymDabq=k{HF5^8k*zUxn_~)%<>j0;;2swi=Y?3QnSH%;LmN zU+21Mjw<>_efNfM=oditDEIH=52RE&Gau!q&v4m{w!BMl!(n^(Ys97~VE^WZyMHw! zL0vi4>A|tcX1%y0jb)&RiwJ!Yh@L4vH`}J=PfwB_??{)QW(!l6Fl9+YNUfB7XOEp= zshCei9A@Kki7#GG+c=nV)QM8tnnefXc~Qmo+-l8*9l{bs&_(aZ5%dehwo?UXoX(Lt znC_*d;S_tA{c0&m&rs(%t1v`)^sQ?{rN!{wvMR$;=HsD9Q1+y>RR6Fkh9uX9VjKN_ zS9m?c1$A1Q$R@cy!bMakK`aSQj+M&HPTZ>Mi1`>o7JV^rZ;#Y=M5B_is)LQNWp zgXcq*40_}|^VxFR$*;A}P<0q$O523v&hx|xKCH$*KS)V-!sJY!rm{^Bc5shRC1fnWoh~oDDESko#nf1&ME0RAOLLw> zP=Fow`JEP(3WOZ;gkkZb9BmwWZ?M0wQ2N^jL(&31S)lNIJ>KreyMC-oa^oD#8ZvCy z6=vaTa1ggWw=rS!Mh;1BSMhV#bZQs&5y!J5PNZ(&%t?|a2p2OgWG9&1m_dC-h;DlC zn5ITrg*leuW$Z1!Y3N6styD*GUB^CK{Z}h#A6U^((W$$`j#xO^mAEgxAJbUSmJ7cs ziR#$|FEms;PO7Kk?;JB(y2gu?)(3<4yaY2^GaT?ePSXZ4n-0ZlSgw-6we>9q6b>Hc z(&lAM3>9t)JD{a$Z<25<+B+>x%_dD(^>I^q+U?9nk@ClC2%(HQ@_7@P%6vKUU&{vW zZQAwo9Ci!FQHlej21$lbM&xm*OD3C*gfgjIda;VZ1%Rq^*gO_&fxan^!Mfu@z6BvI z)`8&U44Z_zv-&;q-CR6MNY5(afT&=aCG-qm@7vstfaHt7GW9jnU^z1Fr~g+J2>PE4 z_WxZe2R_3^gIt$GEi(Do^G z3!SwqK#lxo^YOF@_(E&fE4))-)J#LiKG+Swso{Y^V`Cab#|kyh%BietiM$eQpW|?P zm1%K7r-}~?mr5Q@X8s_#{;5TgaNSpJ5lK{wz_GleYxOzwR$2PyA#%-}lr?$DU_aG#6SlxxQI$ zOqnc{rvp~&`P-^okGS8QPbCzdaA=x8o`tV5In!VMiN_O~}7qQd_o+XE;XVZ;%M#BD4g1Drb6LQGf8F?1`Lvu+%T>gJIu|k~)h{y8{gR zBC{m#^Oe%BrX~;&89bTtI`=nMS8I4Hl4~6tzIQ7S^%pb%Hmxwlz2jVtIr%-+Eu=D0 zX9St#2Cst8l@Df^+s39##U^9U%n~)^$dgL{k4!|2|9YB$s6peOY;3ojs)x2cjODR$ za4%JqAQ-7F*^4u4u?aRCu|bi+O;Zf-D+DUEMN|bRhej2Ona+t1F8^%t-_$BynIVWt zKd}q1KQl2jtJw<-qz+$_$+_e+sqJ#=Y5o|pJ`|d;Z?JQ`>BQ?MI=ARf|7ggocsGYf z^U)W~xVGrEjzw3}V=rdyNZrKyDVSI!!-DUYS6TWAmc`tYg~HZA3#2B?xdqqRorcS{ zO#to4$Ft>wx!lJznQKhbTfbmt@P(ph72dZREg*vtzrrUEA(m*Lk1U`HAzLGiQ3>-bz}X zp6~`TiZdYz+$|sO{ypnAeexzxwq^gC&61Y^p^QE=R8~FDZ6jG3T_*?K2$*W|GVJRc z(x+44IGQCwK5&D*RpJc(zL8wfvn~7KUO*(Bn{KEXa)3_nFw|hjAX{|sVVV+uT{-B;sgY7Iw;gDh^d0>23bj$W*J68AH-pA_F%%AdorN951S?f_2R~juBatlK$kg4V$soWfy4i@~%V9Wr zEVJn@KV>75^Mas|?NKcwQYmWA5u)xf4`wT*h_-1t@AffE6oFBSW=NL5^O9vQc@T8o z%}*#vVP03AymTN?jo$x$irW5^PjbJf9`rNCa)BCrtY6Jvl99_<@j271P#8sFv|DhK zgVMhYHh-e&SYw@4$3iZ?OKTWa6urc19L;&G9Qe~)BlSJvOfu^(+<38y0c{o9FMsVz zlapQn?ur|Z3^B6iz<0Pcov9w^)TG8>5vQl8p>7}Xaylj#nfXieTLz&Tf3@R*3R zNB{TQ8PT7A2vN9%%-{{+?lN^PfD4Kz?vXQj=I`$!6(<$jgC`Yh31?kRqIfi3w%%aU ztlqjq9C#vox%=t@Aom^z115uB#G988K`XQ1?%D~~+A=2M`m^$eRR4~hC;G~RS32sK z8!=JZC=s#DLG5{fxvG`rAF%~EVnip6%R=S#w636Py_bejs_V^P!dQBKoNUrZemy~{ z@7kdi*2ZcxZ)}Usl;|C&`FdHh+9R6I0^X0PZ|P4+jtm%3*f4TTXq}IC>eE_2ul1YHhM&3gA91TeuO~7pWG3pY-TpU zp8mk+vnxr_Q%<(}QofCg_q{_J8<~2D7SQ}n5|+>9(uUwj&*>pu^Q`2)OQW}KBTU^C zz4jX-kEMO~4U<;4s@44B+4Ar;7HtD~dV!nI71t9+6tu~y{d=I`uOm-l=>IZWpUl&j|xQ)h2|Ss6oTzX<0Ll~Q3^)U8bJF? zX?C4;H3CV@o}N1sVaBf4+XvkcK`P<9T9Ho?UoQR-i)btJQ{f88Xw9Q{#C z%Zw->Lp20$oSd_)WxBZrPgsoU%vgmL(@e4c0rhbC-wibDg&he@P8l86Vd-#n_}*4ZUVKPC zByq(0>EtGOWcBAM{L7^kDQ+S2+++>N?|j&RozveEzmWb@d_-}qEw*hYRL|#1$$wj+ zS9$S7u*m&@g4{Ks5lQZ0YN)u!O;m)b0NE*#C56^~`~DUOCkl9l(d~GnSa

F9A5&$w!47S)w;v_y_}D-ViZGb0KCwl;CX`SiWYY zZ?m^Mc7E;YK2$xHCya&~Y(%F+Z>iYEiy#K`^zUolNOD6V9}7Mcde?Wx20elnNrAgH zITmLz+Uu5n{9m5VF{pscf_#(9(dbJ<;n}Em-W_wV9$hyvy$@8;?`dbljU~cF>K=?+ z=%U@WiOmTlJT*d%=-+|t5rs!-*qq|xp|)2*?`uD8Qr@HDO~OQ;)#I_(2?MC_1u)Aom^!*dzHo+js*(_OD7(5d37WaA;zkOw9VjQ%uTT z;w-~5wVn}sL+@~J{)Lxi9QPVOf%604e1y3wQk#h6ub!e>pvYz)-LHkLM(w4m;oVB@ zD`ET$QghUDMG{G_z9r`3<%Z<%yEC*vcjj*R)j8KkmlH6g@>($8bci8yawW;;Wi_O! zKX6uEdqOSJt$syt)WUy3ph-x|z$81K5VMRi8u3zzrHe(%VZx16hlJJQx@G)VqQWZE zp-js+DQn2v&yde}->!to{x+*pO&(zWy*HMBaF+Atg6a=wyZp0m?QssYrAMHDKqq(m zX{=%3gomQ)c8uTG+wW0GEkF3!(q$&bw2^8mO@R81am{aRumZruC2#4QhWvbqr5ox3 z<~}Xz`7hFSnaP=&gMBPr`nN02a|d{%`{Ysj&Mzo-m9=dK8u;yGkmjlec2MzG3$bR`UeCKHWBihsG$ScRy5YrdKl{-lkOX6tnwlK&gk~! z=7Gdb6SU_f%HRh?2w>w9i|t&p2lc{)?xdA7M%pEb7!Js^{v<+N4#mW9$soZPgKK2X zDZ#YDJEMMuTsEj{k)zkHDrF2VeT&0_yV!`;*dKN?6WB)@!o_{YGQ%Y0wmfc{gK(kxOa-jr%wo>s+*KX^@BSOjs;=8me=De^{< zy9)h}Ao5LFzv8_@KCSIQy{ubiLyEWLh@lFQ1q)+e6J^`ay(8cf@y(lVBuNwP&jX;U zoUaWSI@f+`GKr?RMh*&7nGu@A(WM#jG_ss+WUe=POEEB23ymmhSiR(%KkfEnGpEW)(c^+-OEZV>C*kF1-!VA5!3*gbD; z{=r$5n#b?ZNM_JpE|P~d&}()Up?YrifRN}S9HU#`BP>}GnHSQbX@@EUDY8b&>q7e+ ziP)ebQO)S)Qr0q%Y4lRz+L&WNZ*h?SMUi3>t1rDNMQ~hg>ajb@`K<#_9(B-3wkZ*) z7Am!j8mw`NSi>hyTtu@VjDHc++X>fr1W@TFb`0H?%qNbF#5ofZdP41#7nBs5JcpkX zEF&Vxbzf4_>i!}{e11+&ROggK-9#Btse(#9f(r6s+px=*RA?kJFj=JcnS;r5Ga`5aIX=EIiK?lqmMAM97x0kvk%mJqZxDL^a|{{Z`H9G-cxAM^*5JJWhlF$}OF z_r>I%Txwh6cQmj9|0}VgZqGsR{r3dwKiwz#r=Se53_g0WSybbN#@9&SwKaJRJBs0Q z`@TB@ec!at;{`_cb|$W7%b%U$#VhicTegE^l2+gm@uxV-gjjJNsHxp!>tsl0nTpH0 z(uT%jJ~VHn#*ZL+{M17$Chj`qWj_e>Uqq9*^Zf@3 zb(F`*Y9jl!N>Xk|jZOgJG-v#v5*cxwFeyo)ok7L3owVl3O`&V7My87D>)Q{re37e= zdm`z_2pgEwh#bFgaR`*>1?II@!nI$l`XHxPtMMn#?pP7a-LXffytbVq@{-{Oyu zeIZ%G<(B7g%}15Ii5Q0D{{VYebEi;_KWwQZpj#--JPV^G<5hjE2U7I(ihdO)D8emF zY{VVjE+&z7N+&r#Vg|CDExvOz@!GHn!akPfLA#Sp!TL)6fLkvE$zn2dny?;1m8`Gh zLdLLn(__$C>}V3cT?{w=80MKCqWDK0+KH_loGT`xBH%eAW6zyRX8(XsYswbc4L-%dL;V%;YTuv ztKwE5$$ACIhx>B;EiO~raO|hQ*+K&Va&th@_Q==)`INK9RmuNeKb3!b{fz#zO0-MJ zoXKI*%17VoLmnhuw0%>(_0@(l11=>a3F{SXTc;(uqVj$>eB++kh1W^?4yN8?rLcwO z(~85dvCy{c4aS$yp%Dd)A=7j_IVnj(fFEZ?jmVcAjJ0X-2Z3vEenEt4Z0EPN^WI1xj~>T$Cl^aD>g=&Z-RgFyiQ7AnEDxAd1OrU6(p3qKO>@X zbonfdNs9wgrV&0$9vMNk_wdHoFsHYQA=_V)H;HOgG6Hhii9m);3PdUP(4>59?|p#e zb9=d=2(;S*g?a)so+ARoc+Vj8nGll8X}-R2Iu-DU$rw++bGs${9VKh15nyZ7t>5|) z2c1Ua0|^W`V8tHiyb_SFyl+w2O^^#VAniK0$6xRK4kTwxq~EM)u+gW#jK z5ZV*ajkfu+{Q^~2 zoi(-xqVDsz`&bQBS>r`GC(`XNGFu?CVS+DzNiLD^aUM9N6#vp`Lf@%%#loJKR4ZqN z@afsU7(F@+dBGL*IRGoU5<6!V&=ki7Isy4sJjbJ65i;Ge3MqLcC%xDhhRR61P~BAd zsQkiM*Z4Y|K;L5`(OvZ^YjR0jaspqm9 zWPIB}>`Ta!+?ygDAhtJgJ{=AbS`$`mJ zEjjOGwwFRW^F(2!KSZv0zPzr;JhHC=z_k61_)oaemNYpXQIi=-6f;@NAp)qoSPvhH z_iHTgPR_(;rq4Skf(2sRqD<~@E526Iy?3MB9LYQV-Eqx=+^x0BQHUc3>7?Z4asQVw zN%0TvGY-osKq_XmM5ovI_37)BCMrRw^SI zZQ|!Lu!eJmd2U+8{2?FW_H}D!<0&o1O?6i@)JopJ5ghe|BYBM9f4aU-^=YNr@Ec{y z$PJ%fjEUWnTaHYu)hHI%au_W@zUn<%akZ&Wu2p}Tt%zm-Wzg#^j-XcAf0(_2UUGaVF?2!4C1NfR> zMbpj_U>N1wX+15fLUb+&wBksfT&%g6kTa(<7|%qm{{j7~{=Y$C_g@$Pe|il2r;rq~ za5lB%df7W{b=2o$aK%cd!H2RJ*Y|Wxk#PX)^~HO967DOIqgn(%u3>%|T{CO6q*!Fd z!Jhie%UY+)!|WsaRNmynL}DvEyL-r+LopggzFc$9@afW_nRMdUIjIQ2R}HhN;G7Nj zkhdW+j{V)Ho4!6_qog2L@1o@fiI6d2X^JmH|oEEgh#C|$2JVCP%U4N7-4F-`ix2O*H zS7p1h`*_<&G^Xkx5>44ptzi?~dj1ErV~nea*s~{RAUKiy1CmdwWA!15Tzc7uQFRb` z!PWvF8GG}7sD9#wyKOpGWv%d9MuqXTzzdf~72W$ z;&#kn^9g1jp;J{p$0OIWqxN*9FmG6yRAJ^Lhp5>N;k9OkmtVtluvdcmaJ$ zhAQtO=R{KcjRyf>eVFu{&hJb12Sv*GbW*D{`?AN8Gy`Fz+UZp>>h_#hcawW_dp#S> zDxY3R_Q+>$j^!NJE_q#q!Zv3TRLL~m6?!qcHOaPVMse~#s!!S>u|*EvB@Lu&A#b^2 z!8--f{(yQ&{Z+`V>tV;72It1R29?)#C9yQ{BmOceI~F$SNO-3617<&2w7~&e;_kD$ zL6vbGozD85OtKwgdtYnm%Q(buI-lOVpw0ZnW4wRK-LqXeIL+})K@!6r({Wzi%y2wl zJVUH3ZI76(Jp9%vUe6I~jSS)*yk#Pi80Y;iI=v*R;UFW%w`oPmN(9AL?0R`CFJpa= zw|n9Tz!86)#Du9kAlIMij=`B4VW9prCZ#;FBiCl>MHkJwiJt}{h&@a8 ztn&a=^oi@)_hhlCf_V!quu}rlrE&C5Yc9z@^{B zI{Bn9Qm@g`Lp?aBL7iVsCJbXj`?dMN=}?i?egljR&D=aFdh}g+H}cXEduf2EeD8S` zXz*ICZUbD<81blIrq+ngGqrdk?p^_O; zz>dcvK&Yd${FR5HuA%hzK*cXt$Fc+!I)6V}0oy#vX@A6R5j;+UJ%Tz! z7Phle^HV;JBv2(wf0HRd;|^_#YUUf3@h$ReJWz79V6;y2l`F~_6L)pIs8nIF+i_}q z`|dYjMdhu#p!$ufOa8Rc{aOX7#{$i|PWC-#xSsWa21a&dTD=e6P-I@cWZgRr| zd-Jn?^v;<>eWm{O>WK>a)gPUb_!pNB)|t=Lr;0NQFib!x_9=1;s2G)V*8e+{``;b= zr|_N=P#)4jJr6}4zV80S)TId65);iVUzwb_2bvrXTxrkTwXOyvn`9h3Eum6i!2Ns> zUKRqOZVSyhQW^BRkDHg+2;TcmVA$M4{1R^(|`b zXM3*qe%`X6i&-WrfQ+>kZ}wYcfK#|=j_vDs!Fw0RSq)^urkUDKnNyS9;<$o*VetxW zXmyI^j)Z6uMLPi_Y-Hw5`_@vVX7IRJ30()JMP2!#x_!6@Gee*aA#FxNA)sBQoAl80s)UfO1}snnWnm;pkv$ zBvODUF!L)JK$cl~v0OXidQdR2;SS+0)Q4 zb-ufO6Wl??9P_zWGFz7yL>c5)u7Rhcf(p9ZX9&)Hha-*Hg?}vAjP?&ot_jh{CNfQ{ z$J54Uy$Vg-%I&8bz+4)0$@7gp!;SU#hxoA?y~nELk{r#fld^3!QX6PK7B=C9;9TLS z+qdc-dLz93CFOB#NhbK|F;!wgdssBTaz(x)2@p;9vmZW*8Tt$@lxDgL> z=k~W!-zPO|^l)`2SxZv=E4h;R>2~k3H(gGNNJ+pnIJW_uc}^{mSEo#IHPVF`s`**U zrK`ac=ox6-ujRfiUJr``{ZcJ26rQHY97_PR*z?AnJ7W16a)yVd&vJj;{2F0{eyB`U z4YkH}-}PiGNIL{dma?1&{wQ_tzV*m*|03gU;(Y;Lwl?cygf5f694TN6K<+#!3Fdup zHbbr2Bk&Ls!8?;k_?oH*t{yXDY=LCA<)GBd3cDMAID1r(=yq;lm&&<{<);l_l|^LH zzWjANY$dH@vQ|D39WVVX!U626KSg@$_G^1YY0t7sza;8{zTzDUNz4ejC-|D_1DUH$ zpbx_4zN-PAJ{18GqE8(j*&jIeWM%)wbSUDzulsg-CeHSz*hcxD%ajN3zc-)>$1y){zrB=9OJ7+Y*kNHRu?UV{lk zI=#*bjCKbj)@Ef$gzL}BZoALjXEmmzvsNfmP2huWh!Y23_7qg{uiBPk7VaHCfHV2u zG#C^$+op|iqW`{lNjSM@1eXPTJp0#Bo&V#qfB^%5K zj^wZIWQtR>n*b=0Nn+sg-^PmmA>OKJ-K(?r7Bc+@}=UmOm1r0VhLi-X4RlVeR}OcEJ~~NYA%mev=_h6ZV^rU9-FTqTNnqN_TGbrI)m$$XZ~sa1!cJH@?_A+#cj!M?TneYU{ZwiJBSE8^tZdVGQQxnD^N z&ga+25Z^ly!_jI0?+HE^-g%GJE35cvo{1}XVgT=8ZM_9KKRt}Df=sXgb+c(=*j_U) zyghT5()y^P1v2735p}fW>0ffKSKfF3(qumgg{7_NaE1K{epx7Vb*3wEBw*p53k>bl z^a!PLxGlWPiw1s5)&LGV;q?aY0p!pcy;UD~L;0|B0bVy$wq)$`H41gORpfR~H}!#v zl?>K8vhM8VM_(tDEtlwb_?fMhLkYZt8|F+w0-N^PdYJ|H+gk<1&N*fFUzV-LX+QRh zXy7fs9Y5}(bQUk{5z*rkUwx|!>jl;mj-U+~@pFS-|?Pf zYH%v^D1$HxSHt&WrF;WpLi*1&LoymY|uvspL{K_Z=JdwRGO9`4SrAAh=(m~4*~#8={8NHP zrtf=|tlgdY-MqWjJ0N>r_@MFnm6W^bd8-FST;UsfM=6R8@y0f<0~_WD(4$R~O^eHKTvF;XK2w^Adw%%#=uw2!GT|SPP+)0_ zVA{Efu0Qx*tO^6VQ{n`p|266lXcJ9u>a21b7UBC6{z;bA>$nPJthE_&Ppe#+V3u3kp22I(<;guZb&CIogh+JsYjhR0y^1!Jn3OOa>o9la&{e%DmejV}|SLHgV z+YYPiT`z!eZlXl*seX%zgbdufDi%eVI=1KU97j~tth=~~NCkI+5}UiFTk zuV+}A0_V|~$1M%t1mt?!@56kX%nx`AoVN?cmh9Uo3uLj2n`7CpxR07Y&8OMRe8cr}AB~1HBENC71(fJj&j(Bf9Gr#D7baE|uO%|vxh}VW%p*}q1bXqO! z5x6lmEn6>gh$5XrQ$KxzSXhnv{k2vHB8+V`TK`CPJwvhQJ`0dE&SDG}GwhuE^21tKL;|9|3b<^R+J^}QD#c7$d#0h(Y0)H9{&v^;62k=Yw znRogW0bEYZ43I9y-;n!q<6BZUir9z#fF=sK*B-+2l($uC;YlF{`9LE*xXY0B`(Roh z5bXHy0WDlgVAOZtg+FK${m)MnyK z@kvVNTg0lRbr$m%=RM>IoGrR-DYmVeJtxa~CjYJD{>H#<$nQbB7E)y(dObKlNW{+_ z4!zow!VRUB`~McqJt?(vd1L-l`Ji9K!xF`8@? z?4|;77~hEd63VM~NUlRqWogx84&yMpfbBe?e(B*(vXERc)_7qt(;_{7fsrZU+`S(x zrw)cY8a)iW+ubL~Cz+7134bj24sWcJ#<=|C_7HPbJKe`q4%b482qo3wXbAou}XQ-xh& z=NN`lC5D{u6XsgDHCZvnX2!XgXm{8WFv+Ucd%OH^cEIPHOfKYX=HMNYZT8c{CY^Rd zmzys=+phFm*K#U$>SHd>@n?>wtT60V%v{XKPQ^J7Y&YCjxRH3!>Tq$62A9b&umJDi zhdEFnzl*rs0))yVx;}qE*+kaJ2S#_hZnmwjUiAg|F#t`{3UR&I_;J`$OdBCLcQuUG zWx{IsKofSj6<#4X4qu9v7SZ<=VxP-K^$XtR^!fvemNwZ7VJP)+weTyt01xnX4B#y* zdhwwz;OCqp-Kwv}Kde&mtU`RXJRWf2l@6`c%79tJ4|6uB1Uy3F_RgGjN&fb{2mb9i zmrL86y66CerOBMn07pklg0<*{@=xF#rNe3kBRAo%hkC8fCjE{8sRM+eXA$4?2UMf| zIl<=uuslA+%?WS-ZYbc%)A5=Re(~_Jx|kc2)()&k%cU?iSQj>CwRZLF87{{SuZE?n z0FtGO>#(fSBDiBkOzgn|*<@l61`R)Cz$Mz~yD`9b7<4YqBL9HKQ>+1j0?|2e^OoXp zKuVrs5_Vt-19~eO8!QR+VBx)A%7G0r&>z#Vj_+dD^dzzBtQb?fUEOT(zMOMXb6JaE|&iewO(logM*&c!c z|LE!k%NX1)bEd>p*G-n7L@b-m9bIo>`9x;YI6sdnov zI!%hjO!Cw+1}YtwFf5(RnZg*^{PMdd&X%FIqtMj$3Z1bwyTxgf$2OPnFkjaSMeh1U zz=ZLlqVRcnfW5##V9dU>{p&8&a{lK&cKiHbhI3d>p(Sr;qf(_+hGn8a4A!ryZf3njUX3Ud|?RHiOKDkV4FY|HQ!ToTPch0MvzZZaABOb7&te+?mj=kY&f!Tg;u f|EFH_PpJ(5Q{VINeC|J01^%5e|EFH_XZpVYngyAG literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/youtube_social_icon_white.png b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/assets/images/youtube_social_icon_white.png new file mode 100755 index 0000000000000000000000000000000000000000..4da72c4b85fcdab593bac9f74f9cbfe062a0d22e GIT binary patch literal 37169 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 literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/code-of-conduct.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/code-of-conduct.md new file mode 100644 index 0000000..c72d5f8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/code-of-conduct.md @@ -0,0 +1,84 @@ +--- +title: Code of Conduct +sidebar_link: true +sidebar_sort_order: 1 +--- + +Boston Python events are intended for networking and collaboration in the developer community. + +We value the participation of each member of the Python community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees at all Boston Python events, whether officially sponsored by Boston Python or not. + +To make clear what is expected, all staff, attendees, speakers, exhibitors, organizers, and volunteers at any Boston Python event are required to conform to the following Code of Conduct. Organizers will enforce this code throughout the event. + +## Our Standards + +Boston Python is dedicated to providing a positive experience for everyone, regardless of age, gender identity and expression, sexual orientation, disability, physical appearance, body size, ethnicity, nationality, race, or religion (or lack thereof), education, or socio-economic status. + +Examples of behaviors that contribute to creating a positive environment include: + +- Being kind to others +- Behaving professionally +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- Harassment of event participants in any form +- Deliberate intimidation, stalking, or following +- Violent threats or language directed against another person +- Sexual language and imagery in any event venue, including talks +- Insults or put downs +- Sexist, racist, homophobic, transphobic, ableist, or exclusionary jokes +- Excessive swearing +- Unwelcome sexual attention or advances +- Unwelcome physical contact +- Sustained disruption of talks or other events +- Other conduct that is inappropriate for a professional audience including people of many different backgrounds + +Participants asked to stop any inappropriate behavior are expected to comply immediately. + +If a participant engages in behavior that violates this code of conduct, the event organizers may take any action they deem appropriate, including warning the offender or expulsion from the event with no refund. + +Thank you for helping make Boston Python a welcoming, friendly group for all. + +### Weapons Policy + +No weapons are allowed at event venues, including but not limited to explosives (including fireworks), guns, and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. + +Attendees are further expected to comply with all state and local laws on this matter. + +## Scope + +All Boston Python attendees are subject to the Code of Conduct. This includes staff and volunteers, as well as attendees of events, presentations, project nights, after-event gatherings, receptions, and all sponsored or unofficial events. + +Communication outside of events are also subject to the Code of Conduct, including email, online postings, chat messages, and any other communication under the auspices of Boston Python. + +## Contact Information + +If you believe that someone is violating the code of conduct, or have any other concerns, please contact a member of the Boston Python staff immediately. + +**Incident reporting**: send email to + +In case of a conflict of interest, you can individually contact one of the organizers: + + * Ned Batchelder, + * Emily Charles, + * Jon Kiparsky, + +Boston Python staff will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist any attendee to feel safe for the duration of any event. We value your attendance. + +## Procedure for Handling Incidents + +* [Attendee Procedure for incident handling](conduct-attendee-procedure.md) +* [Staff Procedure for incident handling](conduct-staff-procedure.md) + +## License + +This Code of Conduct was forked from the [PyCon US Code of Conduct](https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md), which details the sources of its language. + +[![Creative Commons License](https://i.creativecommons.org/l/by/3.0/88x31.png)](https://creativecommons.org/licenses/by/3.0/) + +This Code of Conduct is licensed under a [Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/). diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-attendee-procedure.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-attendee-procedure.md new file mode 100644 index 0000000..04c6618 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-attendee-procedure.md @@ -0,0 +1,62 @@ +--- +title: Attendee Procedure For Reporting Code of Conduct Incidents +--- + +**If you believe someone is in physical danger**, consult with a volunteer or staff member for the appropriate crisis number, non-emergency number, or police number. + +If you believe someone has violated the [Code of Conduct](code-of-conduct.md), we encourage you to report it. If you are unsure whether the incident is a violation, or whether the space where it happened is covered by this Code of Conduct, we encourage you to still report it. We are fine with receiving reports where we decide to take no action; they help create a safer space. + +During an event you can make a report: + + - To one of the event organizers + - Email **** + +In the event of a conflict of interest, you may directly contact any of the incident responders: + + * Ned Batchelder, + * Emily Charles, + * Jon Kiparsky, + +## Report Data + +If you make a report via email, please include: + +* Your contact info (so we can get in touch with you if we need to follow up) +* Date and time of the incident +* Location of incident +* Whether the incident is ongoing +* Description of the incident +* Identifying information of the reported person: name, physical appearance, height, clothing, voice accent +* Additional circumstances surrounding the incident +* Other people involved in or witnesses to the incident and their contact information or description + +## Confidentiality + +**All reports will be kept confidential**. When we discuss incidents with people who are reported, we will anonymize details as much as we can to protect reporter privacy. + +However, some incidents happen in one-on-one interactions, and even if the details are anonymized, the reported person may be able to guess who made the report. If you have concerns about retaliation or your personal safety, please note those in your report. We still encourage you to report, so that we can support you while keeping our attendees safe. In some cases, we can compile several anonymized reports into a pattern of behavior, and take action on that pattern. + +In some cases we may determine that a public statement will need to be made. If that's the case, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise. + +## Report Handling Procedure + +When you make a report to an incident responder, they will gather information about the incident according to the [Staff Procedure For Incident Response](conduct-staff-procedure.md). + +If the incident is ongoing and needs to be immediately addressed, any one of the incident responders may take appropriate action to ensure the safety of everyone involved. + +If the incident is less urgent, the incident responders will meet within 24 hours to determine an appropriate response. Examples of possible incident responses are outlined in the [Staff Procedure For Incident Response](conduct-staff-procedure.md). + + +## Following Up With Reporters + +Within one week of an incident report, the incident responders will follow up with the person who made the report and provided their contact information. The follow up may include: + +* An acknowledgment that the responders discussed the situation +* Whether or not the report was determined to be a violation of the Code of Conduct +* What actions (if any) were taken to correcting the reporter behavior + +In some cases, the responders may need to ask additional questions about the incident in order to identify the reported person. + +## Conflicts of Interest + +If an incident responder has a conflict of interest for a report, they will recuse themselves from the discussion and handling of the incident. The incident documentation will not be available to them, and they will excuse themselves from any conversations involving handling the incident. diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-staff-procedure.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-staff-procedure.md new file mode 100644 index 0000000..be6dbbb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/conduct-staff-procedure.md @@ -0,0 +1,107 @@ +--- +title: Staff Procedure For Incident Response +--- + +Be sure to have a good understanding of our [Code of Conduct](code-of-conduct.md). + +Also have a good understanding of what is expected from an attendee that wants to report an incident: [Attendee Procedure For Reporting Code of Conduct Incidents](conduct-attendee-procedure.md). + +### When taking an incident report: + +1. Ask the reporter if they want to go to a quiet space +1. Be an active listener and don't use judgement words +1. Ensure the reporter's safety +1. Seek additional emergency resources as needed +1. Take down the report and ask any clarifying questions +1. Thank the reporter for reporting the incident +1. Report the incident to the lead incident responders + + +### While gathering information from the reporter: + +1. Do not invite them to withdraw the incident report +1. Do not ask for their advice on how to immediately respond to the incident +1. Do not offer them input into the long-term response to the incident +1. Do not promise any particular response, since it may differ from the official response decided by the lead incident responders + +Try to get as much of the incident in written form by the reporter. If you cannot, transcribe it yourself as it was told to you. The important information to gather include the following: + +* Current date and time +* Date and time of the incident +* Location of incident +* Description of the incident +* Identifying information of the reported person: name, physical appearance, height, clothing, voice accent +* Additional circumstances surrounding the incident +* Reporter's name and contact information. If the reporter wants to make an anonymous report, allow them to do so. If responding to the incident would reveal who reported the incident (e.g. a micro-aggression in one-on-one conversation) ask the reporter if they have safety concerns about this. +* Other people involved in or witnesses to the incident and their contact information or description +* Do not prompt the reporter for suggestions of how to handle the incident, but record their suggested responses if they offer them + +Assess whether an immediate response is necessary. This initial response is very important and will set the tone for Boston Python. Depending on the severity/details of the incident, please follow these guidelines: + +* If there is any general threat to attendees or the safety of anyone including event staff, consult the volunteer guide for emergency and crisis resources. +* If everyone is presently physically safe, involve law enforcement or security only at a reporter's request. +* After taking the report, assess whether you need a lead incident responder to immediately respond to the incident. If so, ask the reporter to stay with you and get in touch with the lead incident responders. + +Respond to reporter needs. You can: + +* Thank the reporter for making the incident report +* Reassure them that the incident report will be reviewed by the lead incident responders +* Gather their contact information to send a follow-up after the incident is resolved +* Offer to get them water +* Ask, "Is there a friend or trusted person who you would like to be with you?" If so, arrange for another incident responder to get this person. +* Ask them, "How else can I help?" +* Provide them with specific non-emergency or crisis contacts from the volunteer guide if necessary. + +Once something is reported, the lead incident responders should meet. The main objectives of this meeting is to: + +* Review report documentation to determine what happened +* Consult documentation of past incidents for patterns of behavior +* Discuss appropriate response(s) to the incident +* Assign a person to make those response(s) +* Determine the follow up actions for any impacted people and/or the reporter +* Assign a person to follow up with the impacted people + +After the staff meeting and discussion, a staff member (preferably the event coordinator if available) may choose to communicate with the reported person. + +When following up with a reported person: + +* Explain what happened +* Focus on the impact of their behavior +* Reiterate the Code of Conduct and that their behavior was not appropriate +* Give them concrete examples of how they can improve their behavior +* Remind them of the consequences of their behavior, or future consequences if the behavior is repeated + +People who are reported often get upset, defensive, or deny the report. Allow them to give any additional details about the incident. However, remember: + +* It does not matter if they did not intend to hurt anyone -- their behavior still impacted attendees negatively +* It is not your job to reassure or forgive them +* Do not allow the reported person to make an apology to the reporter or impacted person. Often an apology centers on the reported person's feelings and not the person who was impacted. You may accept their apology and offer to pass it on (but you're not required to if you think it would negatively impact the reporter). + +What follows are examples of possible responses to an incident report. This list is is not inclusive, and Boston Python reserves the right to take any action it deems necessary. Possible responses to an incident include: + +* Nothing, if the behavior was determined to not be a Code of Conduct violation +* A verbal or emailed warning +* Requiring that the reported person avoid any interaction with, and physical proximity to, another person for the remainder of the event +* Requiring the reported person not attend evening events +* Refusal of alcoholic beverage purchases at events +* Ending a talk that violates the Code of Conduct early +* Not publishing the video or slides of a talk that violated the Code of Conduct +* Not allowing a speaker who violated the Code of Conduct to give (further) talks at the event now or in the future +* Immediately ending any event volunteer responsibilities and privileges the person holds +* Requiring that a person not volunteer for future events (either indefinitely or for a certain time period) +* Requiring that a person immediately leave the event and not return +* Banning a person from future events (either indefinitely or for a certain time period) +* Removing a person from membership of relevant organizations +* Publishing an account of the incident and (optionally) calling for the resignation of a person from their responsibilities + +If a reported person wants to appeal the decision, notify them that they may contact the Boston Python leaders . Keep in mind that it is not a good idea to encourage an apology from the reported person. + +It is very important how we deal with the incident publicly. Our policy is to make sure that everyone aware of the initial incident is also made aware that it is not according to policy and that official action has been taken, while still respecting the privacy of individual attendees. When speaking to individuals (those who are aware of the incident, but were not involved with the incident) about the incident it is a good idea to keep the details out. + +Depending on the incident, the organizers or their designate may decide to make one or more public announcements. No one other than the organizer or someone delegated authority from the organizer should make any announcements. + +If some attendees were angered by the incident, it is best to apologize to them that the incident occurred to begin with. If there are residual hard feelings, suggest to them to write an email to organizers (leaders@bostonpython.com). It will be dealt with accordingly. + +--- + +This procedure has been adapted from the Ada Initiative's guide titled "[Conference anti-harassment/Responding to Reports](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Responding_to_reports)" and has been updated by [Otter Tech](https://otter.technology/code-of-conduct-training). diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/contact.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/contact.md new file mode 100644 index 0000000..28a52a6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/contact.md @@ -0,0 +1,18 @@ +--- +title: Contact Us +sidebar_link: true +sidebar_sort_order: 999 +--- + +To reach the organizers, you can send an email to . Current organizers are: + +- Ned Batchelder -- +- Emily Charles -- +- Fay Shaw -- +- James Gerity -- +- Jon Kiparsky -- +- Lewis Staples -- +- Sydney Runkle -- +- Wolf Richter -- + +We also have a [Slack workspace](slack.md) for online discussions with the entire community. diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/events.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/events.md new file mode 100644 index 0000000..adf657a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/events.md @@ -0,0 +1,23 @@ +--- +title: Events +sidebar_link: true +sidebar_sort_order: 100 +--- + +Boston Python runs a number of different events: + +- **Presentation nights** feature presentations by members. These are technical + peer-to-peer presentations. [Anyone can do one!](giving-a-presentation.md) Sometimes we do + [lightning talks](lightning.md). +- **Collaboration nights** are unstructured times to sit with people with similar interests, and do whatever you would like to do. +- **Study Group** features presentations by members who are beginner-to-intermediate. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. +- **Office hour** is a weekly hour to drop in and ask anything on your mind: [Office hour](officehour.md). +- **Book discussions** choose a Python book and work through it chapter by chapter as a group. +- **Python en Español** are Spanish-language presentations. +- **Social events** happen sporadically to bring people together casually. + +Most events are listed on the [Boston Python meetup page](http://bostonpython.com). RSVP there to be sure to get a spot. + +We're always interested in ideas for **new events**! Read about how to start one at [Planning an event](planning.md). + +We have a [long list of past events](past-events/index.md). diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/favicon.ico b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..c41440301feadd493da372fb912e6f932eb10ca9 GIT binary patch literal 34494 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 UD$sktmm2-wcN)x1kxTsfe>wGro&W#< literal 0 HcmV?d00001 diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/feedback.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/feedback.md new file mode 100644 index 0000000..c5086c1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/feedback.md @@ -0,0 +1,17 @@ +--- +title: Feedback +sidebar_link: false +redirect_from: + - "/how-was-it" + - "/howwasit" +--- + +We want Boston Python events to be great for everyone. We want them to be great for you. + +Please let us know how the event was for you. Did you feel welcome? Did you find people to work with or talk with? What could we do differently? + +We really want to hear from you. Be **blunt** if you need to! Honest feedback will help us improve Boston Python for everyone. + +Send us an email: [leaders@bostonpython.com](mailto:leaders@bostonpython.com?subject=Feedback), or to any one of us on the [Contact Us](contact.md) page. + +Thanks, we really appreciate it! diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/giving-a-presentation.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/giving-a-presentation.md new file mode 100644 index 0000000..c96785b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/giving-a-presentation.md @@ -0,0 +1,45 @@ +--- +title: Giving a Presentation +sidebar_link: false +--- + +Boston Python's presentation events are a place for members of our community +to share what they've learned about making Python programs. Giving a +presentation to our audience is a way to give back to the community, and it +helps you understand the subject matter better - it's a win all around! + +Presenters do not need to be "experts", they do not need to have contributed to +the Python language, created a library, or written a book. Anyone who has worked +with the language and learned something interesting from doing so has something +to share, and our community wants to hear you share it. + +### How do I know if I have something to say? +If you're not sure whether you've got a Boston Python presentation in you, take +this quiz: + +- Have you learned something about the Python language or ecosystem? +- Has it been useful to you? +- Do you think someone else might find it useful? + +If you answered "yes" to any of those questions, there's a presentation waiting +to happen - and we'll help you find it, if you want. + +### What sorts of talks are you interested in? +We're open to topics of interest to a community of Python users and learners, +ranging from quick "lightning talks" to deep-dive talks. Ideally, talks should +be pitched to an audience including users of all levels, from beginner to +experienced professional. + +### But really, what should I talk about? +If you think a topic would be interesting to you, that's a good start! To +inspire you, we have a long list of [past talks](https://about.bostonpython.com/past-events/) +If you're still not sure, reach out to an organizer by [email](contact.md) +or on [slack](slack.md) and we'll help you find a topic. + +### Okay, I'm interested. Where do I start? +If you're interested in presenting to the Boston Python community, and you have +a topic in mind, you can start by filling out +[this form](https://docs.google.com/forms/d/1ndedcjLoPiq6k_A7Q1eyxHk_8rMKBC-m2CZ6Pg9NlvE/edit). +If you have questions about giving a presentation, you can always reach out to +an organizer in the Boston Python [Slack workspace](slack.md) (Jon, Ned, Emily, and +James are good bets to start with). diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/helping.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/helping.md new file mode 100644 index 0000000..b0f834a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/helping.md @@ -0,0 +1,167 @@ +--- +title: Helping Out +sidebar_link: true +sidebar_sort_order: 300 +--- + +Keeping Boston Python running requires lots of small jobs. If you take on one of these, it's a big help to the organization. You can sign up for one of these and then move to doing something else later on. Or you can suggest a different job that you're interested in doing. + +If you want to talk about any of this, find us in [Slack](slack.md) in the [#organizing channel](https://app.slack.com/client/T8Y3V5G9E/CJP5P5TNX). + +We really appreciate your help! + +## Considerations + +Time: roughly how much effort it will take? + +One-time or on-going: how big a commitment are you making? + +One person, or shared job: can this task be shared among a few people? + +Importance: is it critical that it get done, or is it more casual? + +## Types of jobs + +- [Behind the scenes](#behind-the-scenes): Jobs that can be done at home, not tied to a specific event. + +- [Before events](#before-events): Jobs that can largely be done at home to prepare for presentation and project nights. + +- [At events](#at-events): Jobs to be done in-person at a specific presentation or project night. + +- [Other projects](#other-projects) + +## Behind the scenes + +### Mailing list moderator - Ned + +Get notified when someone emails the mailing list. Read the messages, decide if they are appropriate or not. If not appropriate, but close, write to the sender telling them what they need to do to get approved. Approve or deny the messages. + +### Discussion moderator + +Be aware of discussions happening on Slack and Meetup. Answer questions, suggest proper usage, report inappropriate usage. Make people feel like someone official is paying attention. + +### New-member greeter - Michelle + +When new members join Meetup or Slack, send them a personal message welcoming them. People answer questions when they join; it would be great to include details from those answers, and an encouragement to share their expertise (if they have claimed some). + +30min/week; One person + +### Twitter tweeter - Srini + +Run the @bostonpython Twitter account. Follow interesting people, tweet things. Announce events and sponsors. + +10min/day; Can be shared + +### Website contributor + +Open issues and pull requests for content suggestions and edits to this website. + +### Website maintainer - Ned, Brian + +Improve the content of this website and manage contributions. + +### Jobs detective + +Search job postings for Python jobs in the Boston-area. Collect names and email addresses of people we can contact about sponsoring. + +1 hour/week; Can be shared + +### Event list gatekeeper + +Keep track of other events people want us to announce to the group. Send a monthly email with the ones that are appropriate. + +### Public relations bullhorn + +Find places to publicize Boston Python events. Publicize them. + +### Onboarding polisher + +Play-test the experience for new members. Make sure we properly explain how Boston Python works so that they can get as much as possible from joining. + +One-time; Can be shared + +### Member pollster + +Write a survey to find out what people want and what is on their minds. Collect results, summarize for everyone. + +### Conference groupie + +Monitor conferences happening around the world for likely Boston-area speakers talking about Python-related things. Alert a presentation night curator that those speakers could be good speakers at Boston Python. Conferences include PyCon, EuroPython, SciPy, DjangoCon, OSCON, data conferences, etc. + +### T-shirt wizard + +It would be amazing to have Boston Python t-shirts to sell. Find someone to design the shirt (or design it yourself). Work with enough leaders of the group to get approval of the design. Find a vendor with the right price/quality balance. Decide on the right quantity and mix of sizes to order. Deal with the vendor to get the shirts made. + +## Before events + +### Hosting wrangler - Mike + +Find companies to host our events. Reserve Microsoft NERD when it's available. Communicate with potential hosts about requirements. Evaluate potential spaces in person. Confirm dates for events, add to meetup.com. + +### Sponsor wrangler - Brian + +Find pizza sponsors for events. Contact potential sponsors about how sponsorship works. Answer their questions. Arrange sponsors for specific events. Keep the Meetup sponsor list updated. Send thank you emails, be really grateful. + +### Presentation night curator - Ned + +Choose a topic for just one presentation night. Find speakers who fit that topic. Nag them just enough to be sure they are ready for the night. This doesn't have to be a repeating task, doing it for one night is a big help! + +### Bar reserver - Ned + +Email their events person to reserve space for us after presentation nights. Check in with them the day before to be sure the reservation is in place. + +### Pizza quartermaster - Ned + +On the day of an event, note how many people have RSVP'd yes, use the Beauty's Pizza web site to order enough pizza in an interesting mix, pay with the Boston Python debit card. + +### Puzzle crafter + +Project nights often have a set of puzzles for people to work on. Write or find some puzzles. Make them available for people to use. + +### Give-away rustler + +We sometimes have prizes to raffle away. Someone needs to arrange for those donations. Books are easy, you send an email to O'Reilly and they ship a box of books. But with more effort, we could probably get more stuff. + +## At events + +### Table arranger + +A project night has tables organized by topic (beginners, web, data, hardware, etc.). These need to be set up, with power nearby, and signs indicating the topic. + +### Video director + +Record the presentation nights and put the videos on YouTube. Boston Python can buy the equipment. We'd like to have somebody with video expertise to help select equipment and establish the process. + +### Name tag master - Ned + +Set up name tags and markers, and encourage attendees to fill one out. Maybe add prompts for areas of interest or employer. + +### Attendee greeter + +People showing up to an evening event could probably use a friendly face to greet them. Stand near the entrance and be friendly! Tell people how to get started. Make them feel welcome. This can be totally informal; if you warmly greet just one apprehensive attendee, you've made a difference! + +### Beginner table captain + +Be at project nights, and make sure people at the beginner tables are getting their questions answered. You don't have to be an expert; you have to be friendly, understanding, and helpful. + +### Presentation night emcee - Ned + +A presentation night needs a few bits of time where someone stands at the front of the room and announces things: welcome people, remind them how it works, who is the sponsor, who is the next speaker, are we going to a bar, etc. + +### Project night emcee - Ned + +A project night needs a little emceeing at the start: welcome people, explain how project night works, encourage people to announce what they are working on, introduce the sponsor, etc. + +### Give-away give-awayer + +On nights when we give away things, it helps to have someone at the front of the room to help people choose their prize. + +## Other projects + +### Workshop monarch + +Resuscitate the Boston Python workshop. Workshops have been held on Friday nights and all-day Saturday for larger teaching tasks. + +### Mentoring monarch + +ChiPy has a well-regarded mentoring program. Should we try to replicate it? diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/hosting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/hosting.md new file mode 100644 index 0000000..bb88560 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/hosting.md @@ -0,0 +1,28 @@ +--- +title: Hosting +sidebar_link: true +sidebar_sort_order: 540 +--- + +Boston Python is always looking for new venues. Hosting Boston Python can be a good way to introduce people to your company, and is a great way to contribute back to the community. + +Here are some things to consider: + +- Seats: we generally need to accommodate at least 100 people, ideally more. Will there be mingling space as well as sitting space? If it's a project night, is there table space? Can people aggregate flexibly? +- Food: is there a spot to serve pizza and soda? +- Electricity: are there outlets available? +- Climate: will your heating/cooling still be running during the evening? +- Projector: For a presentation night, we need a way to show presentations. Is there a projector? Will everyone be able to see the screen? Is the screen large enough? What resolution is the projector? Will a speaker be able to operate their computer while it is projecting and still stand in front of the listeners? +- Microphone: will the speaker need a microphone? Is one available? Is it hand-held or lapel? +- Wi-fi: Will there be wi-fi visitors can use? Is there a code, if so, what is it? +- After-hours staff: will there be (for example) cleaning crews that won't expect us there? Let them know. Maybe they need to adjust their schedule? +- Bathrooms: Can people get to the bathrooms? Will they get lost or locked out if they do? +- Security: Can members get into the building easily? Does the front desk want a list of attendees? Can they deal with ad-hoc people showing up that aren't on the list? Can they quickly admit 100 visitors? +- Legal: do you have legal requirements for visitors, for example, an NDA? Please consider whether this is the right tone you want to set for guests at an event open to the public. +- Directions: How do we tell members how to get there? Are there good instructions available? +- Parking: Is there parking nearby? What does it cost? Are there options? +- Public Transportation: Can people get there without a car? + +We can work with most situations, but it's good to know the details beforehand. + +If you'd like to host a Boston Python event, send an email to . Thanks! diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/index.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/index.md new file mode 100644 index 0000000..d4b7fd8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/index.md @@ -0,0 +1,43 @@ +--- +title: Home +--- + +Boston Python is a large and vibrant Python user group in the Boston area. We +run [a number of kinds of events](events.md). Anyone interested in any aspect of the +Python world is welcome! + +## 🎯 Next Events + +### 🌟 Summer Meetup - Kendall Rooftop Garden +**📅 Wednesday, August 27th @ 6:30 PM** +**📍 Kendall Rooftop Garden** + +Thanks to your enthusiastic responses, our casual summer meetup is happening! A relaxed evening to connect with fellow members of the Boston Python community. Whether you're new to Python or a seasoned dev, come hang out, chat, and enjoy the view! + +Feel free to bring a friend and spread the word. We're looking forward to seeing you there! 🌅 + +--- + +We use [Slack](slack.md) for online discussions. + +All of our interactions are covered by our [code of conduct](code-of-conduct.md). + +If you are an employer, you can [announce jobs](jobs.md) and even +[sponsor](sponsorship.md) or [host](hosting.md) events. + +We appreciate [our sponsors](our_sponsors.md)! Learn more about the organizations +that support us. + +## 🤝 Connect With Us + +Other ways to connect with Boston Python people: + +[![Meetup](assets/images/meetup_logo.png){: .left-icon}Meetup](https://www.meetup.com/bostonpython/) + +[![LinkedIn](assets/images/LI-In-Bug.png){: .left-icon}LinkedIn group](https://www.linkedin.com/groups/12301683/) + +[![Slack](assets/images/Slack_Mark_Web.png){: .left-icon}Slack](slack) + +[![YouTube](assets/images/youtube_social_icon_white.png){: .left-icon}YouTube](https://www.youtube.com/user/bostonpython/videos) + +[![Email](assets/images/email.png){: .left-icon}Email the leaders](contact) diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/jobs.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/jobs.md new file mode 100644 index 0000000..77eba14 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/jobs.md @@ -0,0 +1,45 @@ +--- +title: Posting Jobs +sidebar_link: true +sidebar_sort_order: 500 +--- + +The Boston Python group is focused on building a community in the Boston area among Python people. We welcome job postings of interest to members of the community. Such postings can be sent to our mailing list, posted to our Slack workspace, or both. + +You can see previous job postings in the [Meetup mailing list archive](https://www.meetup.com/bostonpython/messages/archive/). + +In order to ensure that job announcements are relevant and useful to the community and produce good responses, there are four requirements for any job posting: + +- The job must significantly involve Python. For example, more than half of the work is in Python. +- The job must be available to someone living in the Boston area. Either it's in the Boston area, or remote is OK. +- The name of the hiring firm must be clearly provided. No mystery firms hidden behind a hiring agency. +- For postings sent to the mailing list, the subject line must include "[Job]" to help people filter messages. For example, your subject line could look like this: + ``` + [Job] Junior engineer at Initech + ``` + +If your job posting meets these simple rules, feel free to send it to the mailing list at [python-181@meetup.com](mailto:python-181@meetup.com) or post it to the [#jobs channel in Slack][slack]. Messages sent to the mailing list are moderated and may take a few hours to go out. Messages posted to Slack are subject to after-the-fact moderation. + +Some suggestions/requests: + +- Don't re-post announcements too often: you will wear out peoples' attention. Six months is a good interval for repeated posts. +- When sending to the mailing list, don't use attachments. Most people won't open them anyway. +- Include an email address for people to respond. +- If you have questions about the format of job postings, take a look at the [previous messages to the list][message-archive]. +- Don't post jobs elseware on Boston Python, for example as event comments. + +If your email message doesn't go through, here are some things to check: + +- You must be a member of the [Boston Python group on Meetup](https://www.meetup.com/bostonpython/). +- Be sure to send your message from the email address you used when signing up for Meetup.com. +- Some people have reported that you have to visit your Meetup settings and elect to receive updates from the mailing list. + + +By the way: if your job posting succeeds, please consider making a [donation to the group][donate]. + +We don't have a general time during face-to-face events for job announcements. There would be too many to be effective. [Sponsors](sponsorship.md) get time when they can talk about their job openings if they wish. + +[email]: mailto:python-181@meetup.com +[slack]: slack.md +[message-archive]: https://www.meetup.com/bostonpython/messages/archive/ +[donate]: http://donate.bostonpython.com/ diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/lightning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/lightning.md new file mode 100644 index 0000000..c6d967a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/lightning.md @@ -0,0 +1,50 @@ +--- +title: Lightning Talks +--- + +Lightning talks are 5-10 minutes long, on any topic of interest to other Python people. It doesn't have to be about something that you wrote, it can be something that you learned, or a technique you think other people will be interested in. + +* You know that thing at work that everyone comes to you for help with? **Talk about that!** + +* You know that thing you just learned that helped you out? **Talk about that!** + +* You know that thing you always wish you understood, but haven't figured out yet? Learn it, then **talk about that!** + +* Other ideas: + - How I contributed to open source + - My best mistake + - How I learned to do X in Python + - This One Weird Python Trick + +Things people say when they think they can't do a lightning talk: + +* *"Everyone already knows THING_X"* + - No, they don't. + - They think they do, but they still have more to learn. + - Even if they do, they will be interested to hear another person's explanation. + +* *"I'm not an expert at anything"* + - You know more than you think you do. + - You don't have to be an expert, you just have to be interested enough to talk for 5 minutes. + - People like hearing from peers. Beginners can do a talk. + +* *"My topic has been done before"* + - Everything has already been done, you will do it your way. + - New people haven't heard it before. + - When Google started, people wondered why we needed another search engine. + +* *"It's scary talking in front of people"* + - Yes, but you will feel really accomplished when you've done it. + - Boston Python is super-friendly and is always welcoming of new speakers. + - Everyone is nervous speaking in public, even people you think wouldn't be nervous. + +* *"I have an idea but it's no good"* + - It's a better idea than you think. + - Send me the idea, we'll tweak it up. + - Are there really any bad ideas for lightning talks? :) + +**Seriously**: anyone can do a lightning talk. + +If you need more encouragement, watch this lightning talk about brewing tea (hint: it's not really about brewing tea): + +[![Brewing you're tea](http://img.youtube.com/vi/XJm69BZU7ho/0.jpg)](http://www.youtube.com/watch?v=XJm69BZU7ho "Brewing you're tea") diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/merch.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/merch.md new file mode 100644 index 0000000..8e92400 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/merch.md @@ -0,0 +1,17 @@ +--- +title: Merch +sidebar_link: true +sidebar_sort_order: 450 +--- + +Buy some stuff! The money helps support Boston Python. + +## Snake Way for Ducklings + +These shirts look great, and Boston people love the humor based on [Boston's +beloved ducklings][sculpture]. When you are not in Boston, you get to explain +the joke! + +[![Snake Way for Ducklings T-Shirt](assets/images/swfd-shirt.jpg)](https://nedbat.threadless.com/designs/snake-way-for-ducklings) + +[sculpture]: https://en.wikipedia.org/wiki/Make_Way_for_Ducklings#Cultural_effects diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/officehour.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/officehour.md new file mode 100644 index 0000000..3a871ab --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/officehour.md @@ -0,0 +1,16 @@ +--- +title: Office Hour +redirect_from: + - /officehours +sidebar_link: true +sidebar_sort_order: 250 +--- + +Boston Python holds a weekly Zoom office hour on Mondays at noon. + +This is an unstructured time to drop in to ask questions or just chat. There is no set topic, anything goes: Python, Boston Python, specialized technical topics, adjacent technologies, it's all good. Any expertise level is fine! + +The office hour happens on Zoom. The [event page on Meetup](https://www.meetup.com/bostonpython/events) has the link. Questions and topics can be added in the [#office-hour][office-hour-channel] channel in our [Slack workspace][slack]. See you there! + +[office-hour-channel]: https://bostonpython.slack.com/archives/C02V2C7U3D3 +[slack]: slack.md diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/our_sponsors.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/our_sponsors.md new file mode 100644 index 0000000..80955fc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/our_sponsors.md @@ -0,0 +1,29 @@ +--- +title: Our Hosts and Sponsors +--- + +Boston Python would not be able to put on the events that we do without the help +of our sponsors and event hosts. Our sponsors provide us with donations to pay +for refreshments at in-person events and other expenses, and our event hosts +provide space for us to meet. Below we list some of the many organizations that +have supported us over the last two decades. + +## Long-term Sponsors + +| ![Planet Technology Logo](./assets/images/sponsors/PlanetTechnology.png)| [Planet Technology](https://planet-technology.com/) is a continuing sponsor.| +|![Microsoft Logo](./assets/images/sponsors/MSFT_Logo_2.png)|The Microsoft NERD Center is a long-time regular event host| +|![DataDog Logo](./assets/images/sponsors/DataDog.jpeg) | [DataDog](https://www.datadoghq.com/) is a regular event host and sponsor| + + +## Past Sponsors + +|![Vinta Logo](./assets/images/sponsors/Vinta.jpeg) | [Vinta](https://www.vinta.com.br/) | +|![Cambridge Mobile Telematics](./assets/images/sponsors/CMT.jpeg) | [Cambridge Mobile Telematics](https://www.cmtelematics.com/)| +|![Temporal Logo](./assets/images/sponsors/Temporal.jpeg)|[Temporal](https://temporal.io/)| + + + + +If you would like to see your organization listed here, visit our +[sponsorship page](sponsorship.md) or [hosting page](hosting.md) to learn more +about sponsorship and hosting. diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070523-the-cambridge-python-may-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070523-the-cambridge-python-may-meetup.md new file mode 100644 index 0000000..4e1d707 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070523-the-cambridge-python-may-meetup.md @@ -0,0 +1,28 @@ +--- +title: The Cambridge Python May Meetup +sidebar_link: false +--- + +May 23, 2007 + + +Needs a location + +    + +(PLEASE NOTE DATE CHANGE. Sorry for the inconvenience. See details below.) + +Why did you choose Python? + +Developers and their companies are using Python to do all kinds of tasks. From utilities to ERP systems. Why are they choosing Python over Java, C++ and other proven enterprise 3 and 4gls? + +At this meeting we'll all get a chance to meet each other, learn why we've made this choice and what we've learned in the process. + +To kick off the meeting, I have asked George Lambert of Goldenware Travel to explain why his company has switched to Python and the benefits and challenges they are seeing. + +The meeting will be held at my office in Somerville. We currently have 7 RSVP's and 10 "Maybe's". Of course that may change with the date change. + + +Meetup link: [https://www.meetup.com/bostonpython/events/5643943/](https://www.meetup.com/bostonpython/events/5643943/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070620-the-cambridge-python-june-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070620-the-cambridge-python-june-meetup.md new file mode 100644 index 0000000..8e4ad1e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070620-the-cambridge-python-june-meetup.md @@ -0,0 +1,44 @@ +--- +title: The Cambridge Python June Meetup +sidebar_link: false +--- + +June 20, 2007 + + +Needs a location + +    + +Members, Python Newbies and Certified Snake Charmers, + +Hope you can all make it to the next Python Meetup. This is a busy month for those of us interested in Python. So for those that can't make some of the events scheduled (pythoncalendar.inav2.com) we hope to review some of the events highlights. + +This month's agenda: News and Events, Lighting Talks, General Discussion + +News and Events: + +Event/Overview/Event Info +Django June / P. Marquez / (DjangoJune.inav2.com) +Mass TLC: / Speaker? / (Masstlc.inav2.com) +WebCamp Boston / Speaker? / (WebCampBoston.inav2.com) + +Lighting Talks +1: George Lambert, Goldenware Technology +2: Mike Pittaro, SnapLogic open source data integration Project implemented in 100% Python + +General +Open Discussion + +Please let us know if you'd like to speak on one of these current events or do a Lighting Talk on a current project, technical problem, solution or innovation. + +Look forward to seeing you all. We will confirm at this meeting whether we want Google (in the form of an engineer and a recruiter) to come speak to us or not. + +Drop me a line if you have any questions or suggestions. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/5811659/](https://www.meetup.com/bostonpython/events/5811659/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070718-the-cambridge-python-july-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070718-the-cambridge-python-july-meetup.md new file mode 100644 index 0000000..b15bbea --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070718-the-cambridge-python-july-meetup.md @@ -0,0 +1,37 @@ +--- +title: The Cambridge Python July Meetup +sidebar_link: false +--- + +July 18, 2007 + + +Needs a location + +    + +Members, Python Newbies, Certified Snake Charmers and this month Ruby-Lovers! + +Hope you can all make it to the next Python Meetup when Special Guest Chris Bowen from Microsoft will talk about Python's role in Microsoft's SilverLight. + +Silverlight aims to compete with Adobe Flash and the presentation components of Ajax. It supports Python and Ruby so this would be a good session for all those Ruby-lovers out there. + +If you'd like to learn more about Silverlight before the meeting check out these links to voidspace techie blog and Wikipedia for more info. + +http://en.wikipedia.o... (http://en.wikipedia.org/wiki/Microsoft_Silverlight) +http://www.voidspace.... (http://www.voidspace.org.uk/python/weblog/arch_d7_2007_04_28.shtml) + +This month's agenda: News and Events, Microsoft Silverlight, General Discussion + +Please let us know if you'd like to do a Lighting Talk on a current project, technical problem, solution or innovation at a future meeting. + +Look forward to seeing you all. + +Drop me a line if you have any questions or suggestions. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/5915248/](https://www.meetup.com/bostonpython/events/5915248/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070815-the-cambridge-python-august-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070815-the-cambridge-python-august-meetup.md new file mode 100644 index 0000000..7044954 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070815-the-cambridge-python-august-meetup.md @@ -0,0 +1,36 @@ +--- +title: The Cambridge Python August Meetup +sidebar_link: false +--- + +August 15, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +Data access is usually where the rubber meets the road. This Meetup will focus who we get data in and out of Python applications. + +Be prepared to discuss you best and worst experiences -- querying minds want to know. + +In keeping with our discussion, the feature presentation is on STORM. + +What is Storm? + +Storm is an object-relational mapper (ORM) for Python developed at Canonical. The project has been in development for more than a year for use in Canonical projects such as Launchpad, and has recently been released as an open-source product. + +Christopher Armstrong of Canonical will walk us through this open source project. Sometimes called the International Man of Twistery, Christopher is also involved in the Twisted project. This should be a great presentation. + +Drop me a line if you have any questions. + +Best Regards! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6044211/](https://www.meetup.com/bostonpython/events/6044211/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070919-the-cambridge-python-september-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070919-the-cambridge-python-september-meetup.md new file mode 100644 index 0000000..08956dd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20070919-the-cambridge-python-september-meetup.md @@ -0,0 +1,32 @@ +--- +title: The Cambridge Python September Meetup +sidebar_link: false +--- + +September 19, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This session should be of interest to experienced developers, those new to Python and those trying to introduce it in the work place. We will have a presentation from John Ehresman and Stephan Deibel of Wingware. + +Wing IDE, Wingware's Python integrated development environment, will be the focus of our discussion. The session will start with a 10-15 minute intro, another 10-15 minutes to talk about how Wing is developed, and the rest as Q&A. + +This is a great chance to get your hands wet, so go to Wingware.com and download Wing 3.0 beta before the session and build something. John and Stephan will help you with any questions you may have about installing and using the tool. + +Wingware was founded in 1999 as Archaeopteryx Software, Inc by John Ehresman and Stephan Deibel. The first version of Wing came out in September 2000. Wing now runs on Windows, Linux, and OS X, supports Python 1.5.2 through 2.5, and provides many editing, debugging, and testing features for the Python programmer. It is written in Python, uses the PyGTK GUI library, and is developed and debugged with itself. + +Perhaps an IDE is just what you need to evangelize your company or maybe you just want to ask John and Stephan how they built Wing in itself. In any case it should be a great presentation. + +Drinks and pizza will be served -- thanks for the donations -- again. Last time it seemed to work well after the presentation. What do you all think? Let us know. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6187888/](https://www.meetup.com/bostonpython/events/6187888/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071017-the-cambridge-python-october-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071017-the-cambridge-python-october-meetup.md new file mode 100644 index 0000000..006d6d5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071017-the-cambridge-python-october-meetup.md @@ -0,0 +1,35 @@ +--- +title: The Cambridge Python October Meetup +sidebar_link: false +--- + +October 17, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This is your chance to shine. You are the star of the October Python Meetup, when we have the first Cambridge Python Lab -- workshop. + +The Lab and the problem in it were inspired by and excerpted from "Core Python +Programming. The Python challenges range in complexity (from easy to challenging) and each one has multiple potential solutions. + +The challenges can be solve with brute force computing, a complex AST, or even a database solution. So it is up to you and the skills of those on your team -- because our focus is on learning from each other. We'll discuss sample solutions and discuss each solutions tradeoffs or 'issues.' + +Doug Napoleone and George Lambert proposed this to the present membership last month and everyone agreed -- just before we headed over to the Independent for beers. (Hmm.) + +So bring a laptop and your thinking caps. We'll have teams of 4-5 working on one portable. We'll see if we can distribute the material before hand if possible. + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6391989/](https://www.meetup.com/bostonpython/events/6391989/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071121-the-cambridge-python-november-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071121-the-cambridge-python-november-meetup.md new file mode 100644 index 0000000..2887bc2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071121-the-cambridge-python-november-meetup.md @@ -0,0 +1,30 @@ +--- +title: The Cambridge Python November Meetup +sidebar_link: false +--- + +November 21, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This month we explore Mod_Python in a workshop setting. + +Mod_python is an Apache module that embeds the Python interpreter within the Apache server. With mod_python you can write web-based applications in Python that will run many times faster than traditional CGI. Application built with Mod_Python have access to advanced features such as: access to Apache internals and the ability to retain database connections and other data between requests. + +This Meetup will be a useful hands on working introduction to Mod_Python led by George Lambert, with contributions from each of you. + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6569551/](https://www.meetup.com/bostonpython/events/6569551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071219-the-cambridge-python-december-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071219-the-cambridge-python-december-meetup.md new file mode 100644 index 0000000..8c511d8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20071219-the-cambridge-python-december-meetup.md @@ -0,0 +1,53 @@ +--- +title: The Cambridge Python December Meetup +sidebar_link: false +--- + +December 19, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, we'd like to welcome all of the new members! The quality of this group is astounding -- and it just gets better. Newbies, all of your contributions and questions are welcomed. + +This month we will conduct a Design-Review session where one of our members presents a project they are working on. We will then explore 3 challenges presented by the project and asks for your thoughts and comments. The idea is that as a group we will explore the impact of design choices made during Python development -- while identifying the strengths and weaknesses of other options. + +This month we will focus on a gaming project called Mekanimo with Python Meet-up member Fahri Basegmez. Mekanimo uses Python and wxPython to create the gaming engine (middleware) and development environment that controls visual elements -- including a real world physics engine! But I'll quote Fahri below to explain more. + +Mekanimo's project goals include, + +"Introducing science and technology to people, especially young ones, in a fun environment. It aims to be a powerful and entertaining learning environment for topics as diverse as introduction to computer programming, physics, feedback systems, robotics, mechanical linkages and mechanisms, etc. + +Due to combination of smart objects, real time sound synthesis, programmability and provided libraries this tool can also be used to create games, puzzles, mechanical simulations, and multimedia presentations. + +Since it seems to be everybody's favorite subject I will be focusing on the game creation and introduction to programming aspects of the application during my introduction instead of more technical issues like mechanical simulations and robotics. " + +The 3 technical aspects we will review are: + +1 - Naming conventions: Not getting the in the developers way when building a development tool with Python and wxPython. +At first glance this seems like a trivial problem but it is a big issue because of the underlying layers of Mekanimo and wxPython. Considering that this application will be programmed by its users, a consistent naming convention is a must. + +2 - Smart objects: Event-Driven Programming with Python and wxPython. +These are Mekanimo objects with user defined behaviors. wxPython already has a mechanism to bind events to objects. How do we mix Mekanimo objects with wxPython objects seamlessly? + +3 - User interface and application layout details. +We all know this is a killer. Looking at the same interface for a long time it is easy to miss sharp corners. So we'll provide fresh eyes for Fahri and an outsiders' perspective to spot the obvious problems. + +We'll try our best to get through all of these in one session, but if we go deep in one or another that would be fine too. + +I hope you are all as intrigued by this session as I am. Spread the word! + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6785407/](https://www.meetup.com/bostonpython/events/6785407/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080116-the-cambridge-python-january-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080116-the-cambridge-python-january-meetup.md new file mode 100644 index 0000000..cfe1310 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080116-the-cambridge-python-january-meetup.md @@ -0,0 +1,38 @@ +--- +title: The Cambridge Python January Meetup +sidebar_link: false +--- + +January 16, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, we'd like to welcome all of the new members! Secondly, sorry for the late posting for this month's subject -- Pylons! Thanks to Ches Martin for volunteering to lead this session. Here is his description: + +An Overview of Pylons: +A rapid-development framework for web applications, embracing WSGI + +Pylons is a highly flexible, extensible MVC-style web framework that builds heavily on established, best-of-breed libraries for optimal code reuse and strength of individual stack components. It is also very forward-thinking in design, tightly integrating technologies like WSGI and setup tools that many consider to be the future of Python web development. Pylons has also been selected as the basis of Turbogears 2.0, promising increased adoption and even more active development. + +Perhaps the biggest challenge that Pylons presents to the new developer is diving in: the flexibility afforded by using existing libraries makes it difficult to know where to begin, and which components are responsible for different aspects of your applications. This presentation will offer a broad overview of the components that make up Pylons, how they interoperate, and how you might swap out some -- such as object-relational mapper or templating engine -- for ones of your choosing. We'll also briefly discuss WSGI, the concept of middleware, and practical concerns such as deployment. Finally, we'll look at a small sample application, and propose additional topics if time allows, such as facilities Pylons provides for conveniently building REST and XML-RPC web services. + +Often considered a "hackers' framework," you'll see that Pylons provides nearly all of the conveniences of other "full stack" frameworks, including sessions management, caching and form validation. We'll explore some of the luxuries and challenges you'll face in Pylons development today, as well as forthcoming features and clean-up as the framework moves toward 1.0. Hopefully you'll leave equipped to jump into experimenting with Pylons, without first spending days getting acquainted. + +Thanks again to Ches! + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/6941751/](https://www.meetup.com/bostonpython/events/6941751/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080220-the-cambridge-python-february-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080220-the-cambridge-python-february-meetup.md new file mode 100644 index 0000000..861502b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080220-the-cambridge-python-february-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python February Meetup +sidebar_link: false +--- + +February 20, 2008 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/7132704/](https://www.meetup.com/bostonpython/events/7132704/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080319-the-cambridge-python-march-meeting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080319-the-cambridge-python-march-meeting.md new file mode 100644 index 0000000..546a37d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080319-the-cambridge-python-march-meeting.md @@ -0,0 +1,55 @@ +--- +title: The Cambridge Python March Meeting +sidebar_link: false +--- + +March 19, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, welcome back! After a February hiatus we are ready for our next Meet-up. This month we will for the first time conduct Python POWERPOINT KARAOKE. + +So you have heard of Karaoke - when you sing along to the soundtrack of pop songs. The idea behind PowerPoint Karaoke is similar. Presenters present, but to slides they have never seen before. + +We will conduct two 35 minute sessions. In the first we will use an Intro to Python presentation. It will be presented in some sort of order that will make sense to people new to Python. This is a easy way to get familiar with Powerpoint Karaoke. + +After a break, in the second session we will use a randomizer tool that will grab open source PPTs from the web, so presenters will really be challenged and surprised by the Python presentation slides that have to present. + +So all we need are volunteers to sign up to be at bat for 5 minutes. + +Here is how it works. + +1. I will be in charge of matching the presentations, calling speakers and keeping time. + +2. Presenters sign up on the list and come to the stage when their name is called. + +3. A presentation is put up on screen. The presenter DOES NOT get to look at it prior to it being projected on screen. + +4. The timer goes off and the presenter starts giving the presentation. You're pretending this is your presentation and trying to actually give it, not necessarily make fun of it, or just blast your way through it. Take your time and read the slides as if you really want to communicate the information. Most of the time, the presentations give you plenty of stuff to work with, so be sure to ham it up and go off on tangents. + +5. Presenter continues presenting for 5 minutes (or until you run out of slides or decide you've had enough) + +6. Audience applauds. + +7. Next victim arrives on stage... + +So are you game! Send me an email or mention it in your RSVP if you are willing to join in the fun. We need you all-knowing Pythoners! + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7374450/](https://www.meetup.com/bostonpython/events/7374450/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080423-the-cambridge-python-april-meeting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080423-the-cambridge-python-april-meeting.md new file mode 100644 index 0000000..29346cd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080423-the-cambridge-python-april-meeting.md @@ -0,0 +1,33 @@ +--- +title: The Cambridge Python April Meeting +sidebar_link: false +--- + +April 23, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +April showers bring May flowers. We're going to give our flowers a little more time to blossom. So this months meeting is pushed back a week and now schedule for Wednesday April 23. (Business trip.) + +On that date, Python Meetup member "flajann" (Fred) will walk us through his "TinyURL" clone built entirely in Python. + +Fred's app will provide us with an opportunity to discuss and ask questions about developing Python applications and logic that interact with web servers. + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7566266/](https://www.meetup.com/bostonpython/events/7566266/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080521-the-cambridge-python-may-meeting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080521-the-cambridge-python-may-meeting.md new file mode 100644 index 0000000..05eef68 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080521-the-cambridge-python-may-meeting.md @@ -0,0 +1,35 @@ +--- +title: The Cambridge Python May Meeting +sidebar_link: false +--- + +May 21, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Google App Engine is making news for Python these days. The Google Doc API also supports Python. (It is even being used by some of our members.) Google's commitment to Python makes it applications implementation and API's worth taking a look at. + +At this session we will watch the Google App Engine demo together. We will stop the MPG to discuss and ask questions. (If anyone has any experience with App Engine we won't hold it against them.) + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Note: As it gets hotter we may take a summer recess, being that there is not AC in the gallery. So unless we get a great speaker for next month, or another location we may have our next meeting in September. + +Thoughts? + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7799559/](https://www.meetup.com/bostonpython/events/7799559/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080618-the-cambridge-python-june-meeting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080618-the-cambridge-python-june-meeting.md new file mode 100644 index 0000000..5f75ca8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080618-the-cambridge-python-june-meeting.md @@ -0,0 +1,31 @@ +--- +title: The Cambridge Python June Meeting +sidebar_link: false +--- + +June 18, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Due to popular demand we a not going on hiatus just yet. + +Topic: Follow-up to our last meeting on GAE + +1: Brian -- Brief intro to Google App Engine and show the basics of GAE Django Helper +2: Nate -- Pylons working on GAE +3: PK Shiu -- From J2EE to Django a Python Perspective + +Thanks to all of the active members and supports. + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/7987640/](https://www.meetup.com/bostonpython/events/7987640/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080716-the-cambridge-python-july-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080716-the-cambridge-python-july-meetup.md new file mode 100644 index 0000000..6e5d141 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080716-the-cambridge-python-july-meetup.md @@ -0,0 +1,31 @@ +--- +title: The Cambridge Python July Meetup +sidebar_link: false +--- + +July 16, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Due to popular demand we a not going on hiatus just yet. + +Topic: Follow-up to our last meeting on GAE + +1: Brian -- Brief intro to Google App Engine and show the basics of GAE Django Helper +2: Nate -- Pylons working on GAE +3: PK Shiu -- From J2EE to Django a Python Perspective + +Thanks to all of the active members and supports. + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/8169446/](https://www.meetup.com/bostonpython/events/8169446/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080917-the-cambridge-python-august-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080917-the-cambridge-python-august-meetup.md new file mode 100644 index 0000000..587b6b8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20080917-the-cambridge-python-august-meetup.md @@ -0,0 +1,23 @@ +--- +title: The Cambridge Python August Meetup +sidebar_link: false +--- + +September 17, 2008 + + +Needs a location + +    + +Tentative agenda: + +1) Intro's for new members +2) Django/Python unitTesting with PK Shiu +3) General Python discussion next topics +4) Optional Food & Drink afterwards in Central Square + + +Meetup link: [https://www.meetup.com/bostonpython/events/8354869/](https://www.meetup.com/bostonpython/events/8354869/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081015-the-cambridge-python-october-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081015-the-cambridge-python-october-meetup.md new file mode 100644 index 0000000..27a30de --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081015-the-cambridge-python-october-meetup.md @@ -0,0 +1,33 @@ +--- +title: The Cambridge Python October Meetup +sidebar_link: false +--- + +October 15, 2008 + + +Needs a location + +    + +Follow Snake Charmers, + +October's Meetup will consist of two sessions. The first is the "Pimp My Code" Challenge. Peter Beardsley has volunteered to provide some code for everyone to review and improve -- aka "Pimp." Keep an eye out for Peter's code on the mail list then get to work adding headrest LCD's and a hot tub in the truck. We can't wait to see your suggestions. + +In the second half, George Lambert will present a session we are calling "Werkzeug: Less than a Framework, more than a Toolkit." It will provide an introduction to Werkzeug, one of the most advanced WSGI utility modules. + +Thanks to Peter and George -- and to each of you that help make this such a great community. + +Peter M. + +Agenda + +1) Intro's for new members +2) "Pimp My Code" Challenge from Peter Beardsley +3) Python presentation with George Lambert +4) Optional Food & Drink afterwards in Central Square + + +Meetup link: [https://www.meetup.com/bostonpython/events/8779253/](https://www.meetup.com/bostonpython/events/8779253/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081119-the-cambridge-python-november-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081119-the-cambridge-python-november-meetup.md new file mode 100644 index 0000000..2af84dc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081119-the-cambridge-python-november-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python November Meetup +sidebar_link: false +--- + +November 19, 2008 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/8970018/](https://www.meetup.com/bostonpython/events/8970018/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081120-python-november-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081120-python-november-meetup.md new file mode 100644 index 0000000..08d9c0d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20081120-python-november-meetup.md @@ -0,0 +1,12 @@ +--- +title: Python November Meetup +sidebar_link: false +--- + +November 20, 2008 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/9113014/](https://www.meetup.com/bostonpython/events/9113014/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090121-cambridge-python-january-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090121-cambridge-python-january-meetup.md new file mode 100644 index 0000000..4488d02 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090121-cambridge-python-january-meetup.md @@ -0,0 +1,24 @@ +--- +title: Cambridge Python January Meetup +sidebar_link: false +--- + +January 21, 2009 + + +Needs a location + +    + +Alexander Fairley will be presenting Fabric (http://www.nongnu.org/fab/), a simple pythonic remote deployment tool. It is designed to upload files to, and run shell commands on, a number of servers in parallel or serially. These commands are grouped in tasks (regular python functions) and specified in a 'fabfile.' + +It is a bit like a dumbed down Capistrano (http://www.capify.org/), except it's in Python, doesn't expect you to be deploying Rails applications, and the 'put' command works. + +Unlike Capistrano, Fabric wants to stay small, light, easy to change and not bound to any specific framework. + +Alexander says, "I've been using fabric to deploy a rather large and wizened codebase to a datacenter in Beijing, as well as ease a great many configuration issues. I'll present my experience with Fabric 0.0.9, as well as what I think the strengths and weaknesses of it are as compared to ParallelSSH." + + +Meetup link: [https://www.meetup.com/bostonpython/events/9266630/](https://www.meetup.com/bostonpython/events/9266630/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090218-the-cambridge-python-february-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090218-the-cambridge-python-february-meetup.md new file mode 100644 index 0000000..7fc407a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090218-the-cambridge-python-february-meetup.md @@ -0,0 +1,26 @@ +--- +title: The Cambridge Python February Meetup +sidebar_link: false +--- + +February 18, 2009 + + +Needs a location + +    + +Topic: "A Whirlwind Excursion through Python C Extensions" + +If you've never explored the Python C API, now's your chance to journey there safely. In 45 minutes, Ned Batchelder will cover the tools and techniques of writing C code to execute inside the Python interpreter. The terrain may be challenging, but we guarantee you will return unscathed. + +This is a preview of a Pycon 2009 presentation. + +Afterwards we will invite folks to give lightning talks (5 min or less presentations) on topics that are interested in sharing with the group. + +We can go to a local watering hole after the meetup for further discussion and socializing. + + +Meetup link: [https://www.meetup.com/bostonpython/events/9577198/](https://www.meetup.com/bostonpython/events/9577198/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md new file mode 100644 index 0000000..b227188 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md @@ -0,0 +1,32 @@ +--- +title: The Cambridge Python March Meetup - Pycon on the Charles +sidebar_link: false +--- + +March 18, 2009 + + +Needs a location + +    + +Pycon on the Charles + +Pycon 2009 is happening in Chicago, March 27-29. If you can't be there, we'll bring three speakers to you! + +On March 18, three Boston-area Pycon speakers will preview their talks at the Python Meetup. To fit it all in, we're going to start just a little early. + +Please note the earlier start time of 6:30. + +Presenters: + +Jack Diederich: Class Decorators: Radically Simple (http://us.pycon.org/2009/conference/schedule/event/55/) +Jesse Noller: Concurrency and Distributed Computing with Python Today (http://us.pycon.org/2009/conference/schedule/event/69/) +Owen Taylor: Reinteract: a better way to interact with Python (http://us.pycon.org/2009/conference/schedule/event/23/) + +It should be a really fun and informative evening, maybe even with snacks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/9772106/](https://www.meetup.com/bostonpython/events/9772106/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090415-the-cambridge-python-april-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090415-the-cambridge-python-april-meetup.md new file mode 100644 index 0000000..6b9e056 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090415-the-cambridge-python-april-meetup.md @@ -0,0 +1,22 @@ +--- +title: The Cambridge Python April Meetup +sidebar_link: false +--- + +April 15, 2009 + + +Needs a location + +    + +Matthew Page-Lieberman will talk about: + +Pyjamas - a port to Python of the Google Web Toolkit for easy creation of AJAX applications. + +(sorry for the late notice!) + + +Meetup link: [https://www.meetup.com/bostonpython/events/9984098/](https://www.meetup.com/bostonpython/events/9984098/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090520-the-cambridge-python-may-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090520-the-cambridge-python-may-meetup.md new file mode 100644 index 0000000..03e8bf5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090520-the-cambridge-python-may-meetup.md @@ -0,0 +1,27 @@ +--- +title: The Cambridge Python May Meetup +sidebar_link: false +--- + +May 20, 2009 + + +Needs a location + +    + +For May, Fahri Basegmez, author of Mekanimo (http://www.mekanimo.net/) will present to us: + +Extending GUI-based Applications with Python scripting / Interpreter. + +wx.py package in general +wx.py.shell in more detail +namespaces +wxPython's pubsub (publish - subscribe) messaging system +some examples of how different components of Mekanimo (object tree, code editor, interpreter, and canvas) communicate by using namespaces and pubsub +QA and open discussion + + +Meetup link: [https://www.meetup.com/bostonpython/events/10194352/](https://www.meetup.com/bostonpython/events/10194352/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-june-cambridge-python-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-june-cambridge-python-meetup.md new file mode 100644 index 0000000..e07b86a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-june-cambridge-python-meetup.md @@ -0,0 +1,26 @@ +--- +title: June Cambridge Python meetup +sidebar_link: false +--- + +June 17, 2009 + + +Needs a location + +    + +For June, we don't have a formal presentation, but someone suggested delving into the details of how Python software is packaged and distributed. I can show how I've done things, but there's stuff I don't know, so it'll be a collaborative exploration entitled: + +** I'll Show You My Package If You'll Show Me Yours ** + +If you've been confused by setup.py, setuptools, distutils, easy_install, eggs, pip, pypi, and so on, come and see at least part of it de-mystified. + +On the other hand, if you know what any of these things are, then come and help educate the rest of us! + +We'll be at Betahouse in Central Square. Remember, cheap plentiful parking is just around the corner on at the municipal Green St. garage. + + +Meetup link: [https://www.meetup.com/bostonpython/events/10613171/](https://www.meetup.com/bostonpython/events/10613171/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-the-cambridge-python-june-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-the-cambridge-python-june-meetup.md new file mode 100644 index 0000000..eb39927 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090617-the-cambridge-python-june-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python June Meetup +sidebar_link: false +--- + +June 17, 2009 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/10458743/](https://www.meetup.com/bostonpython/events/10458743/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md new file mode 100644 index 0000000..8663b62 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md @@ -0,0 +1,39 @@ +--- +title: The Cambridge Python July Meetup - Remote Objects with Pyro +sidebar_link: false +--- + +July 15, 2009 + + +Needs a location + +    + +Remote Objects with Pyro -- Allen Downey + +Pyro is a network communication module for Python -- it provides an +easy-to-use form of remote method invocation. In many cases you can +take existing objects and make them available for remote access with +a few lines of code. When you invoke a method on a remote object, +Pyro marshals the arguments, sends them to the remote object, then +marshals the return value (or exception) and sends it back to the caller. + +In this presentation Allen will show a few simple examples that use Pyro, +we will write a server together, and then participants will write a +client that talks to it. If possible, please bring a laptop with +Python and Pyro installed. If you use Ubuntu, you can install the +package named pyro, and optionally pyro-doc, pyro-examples and +pyro-gui. Otherwise you can get it from http://pyro.sourcefor... (http://pyro.sourceforge.net/) + +The talk will be accessible to intermediate Python programmers -- +if you are familiar with inheritance, that should do it. If you can't bring a laptop, +don't worry -- if we have one laptop for every two people, that will be plenty. + +If you have any questions about Pyro or anything you would like Allen to +cover, send him email: downey@allendowney.com + + +Meetup link: [https://www.meetup.com/bostonpython/events/10676152/](https://www.meetup.com/bostonpython/events/10676152/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md new file mode 100644 index 0000000..92a4ccf --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md @@ -0,0 +1,24 @@ +--- +title: September open hack night (Cambridge Python meetup) +sidebar_link: false +--- + +September 16, 2009 + + +Needs a location + +    + +Welcome back from summer! + +To get back into the Pythonic swing of things, we'll be having an open hack night, Wednesday 9/16. Bring a project or a problem, and get help from fellow Pythonistas. Can't get that weird module installed properly? Is threading twisting your brain in unpleasant ways? Just want a nerd-filled room to quietly work on your side project? You've come to the right place! + +Nothing to work on? No expertise (I don't believe you)? Come and watch the nerd sparks fly! Get inspired... + +We'll have some time up front for lightning talks: if you have a cool project, an idea, or even a burning question, take the mic for 5 minutes to let us know about it. + + +Meetup link: [https://www.meetup.com/bostonpython/events/11256075/](https://www.meetup.com/bostonpython/events/11256075/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md new file mode 100644 index 0000000..ad4c312 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md @@ -0,0 +1,26 @@ +--- +title: October Cambridge Python Meetup - Mobile platform with AppEngine +sidebar_link: false +--- + +October 14, 2009 + + +Needs a location + +    + +Tom Marsh will present "Designing an API for a mobile platform with AppEngine". + +Tom is a recent transplant from the UK where he was an architect on the Guardian Open Platform (http://www.guardian.c... (http://www.guardian.co.uk/open-platform)), a fascinating open API to newspaper stories at the Guardian. + +Tom's built a mobile application on the API, and will explain all the pieces: the inception and the philosophy behind the API itself; the homegrown AppEngine client API that reduces the bandwidth requirements for the mobile platform; and a little bit about the browser application. + +If you're interested in programmatic access to data, building AppEngine applications, or how to design for mobile platforms, please join us! + +We'll likely also have time for either lightning topics or free-form hacking, so bring your ideas... + + +Meetup link: [https://www.meetup.com/bostonpython/events/11528015/](https://www.meetup.com/bostonpython/events/11528015/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091118-testing-in-python-new-location.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091118-testing-in-python-new-location.md new file mode 100644 index 0000000..05cd67c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20091118-testing-in-python-new-location.md @@ -0,0 +1,23 @@ +--- +title: Testing in Python (*NEW LOCATION*) +sidebar_link: false +--- + +November 18, 2009 + + +    + +NEW LOCATION! + +For the November Python meetup, we have Tayeb Al Karim presenting about Testing in Python. Tayeb is a Software Engineer in Test at Google, and will cover a range of topics from the basics of testing your Python code, continuous builds, and how to improve testability with techniques like dependency injection. No matter what type of code you are writing, testing is a must, but many developers have doubts about how to proceed. Whether you are just test-curious or a grizzled expert, it should be an enlightening evening. + +We are meeting in a NEW LOCATION: the Microsoft New England R&D Center at One Memorial Drive, Cambridge. +We'll be in the first floor conference center. I'm told there is some parking in the building. + +DON'T FORGET: it's in a NEW LOCATION!!!!!! (have I emphasized that enough?) + + +Meetup link: [https://www.meetup.com/bostonpython/events/11824316/](https://www.meetup.com/bostonpython/events/11824316/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100120-pycon-on-the-charles-2010-part-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100120-pycon-on-the-charles-2010-part-1.md new file mode 100644 index 0000000..df86d83 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100120-pycon-on-the-charles-2010-part-1.md @@ -0,0 +1,35 @@ +--- +title: PyCon on the Charles 2010, part 1 +sidebar_link: false +--- + +January 20, 2010 + + +    + +In preparation for PyCon in Atlanta (http://us.pycon.org/2010/about/) in February, three Boston-area PyCon speakers will rehearse their talks for us. It's a full night, so we'll start promptly at 7:00. There may even be snacks! + +PS: stay tuned for three more speakers on Feb 3... + +Python for Large Astronomical Data Reduction and Analysis Systems +Francesco Pierfederici + +We describe how Python is used in a large astronomy project to automatically process data from several telescopes in both the hemispheres. We introduce the general problem and discuss challenges and lessons learned. + +Python's Dusty Corners +Jack Diederich + +The talk will be a brief overview of all the features in python that you don't need to know about right up until the moment you do. The list includes how comparisons work, descriptors, iterators, context managers, namespaces, else clauses on for/while loops (suggested by Hettinger). The narrative of the talk is that these are features that you don't need and/or shouldn't use in your day-to-day code but that you need to keep in the back of your mind because other people's code and the stdlib do use them. As Alex Martelli pointed out in his wonderful talk "Abstractions as Leverage" you can't successfully function at one level of abstraction if you don't know what is going on at the next level down. This talk is a whirlwind tour of the next level down. + +Tests and Testability +Ned Batchelder + +Testing software is difficult. Large complex systems don't lend themselves naturally to automated testing. This isn't just because they are large, it's because developers often don't consider how testable their code is. Testability is as important as all the other -ilities in your code (portability, maintainability, efficiency, etc). + +I'll discuss specific examples to demonstrate how code can be made more testable. Mocks, dependency injection, and crisp API design are just a few of the techniques that can improve your code's testability and make you a happier person. + + +Meetup link: [https://www.meetup.com/bostonpython/events/12189514/](https://www.meetup.com/bostonpython/events/12189514/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100203-pycon-on-the-charles-2010-part-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100203-pycon-on-the-charles-2010-part-2.md new file mode 100644 index 0000000..aeb3bcc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100203-pycon-on-the-charles-2010-part-2.md @@ -0,0 +1,36 @@ +--- +title: PyCon on the Charles 2010, part 2 +sidebar_link: false +--- + +February 03, 2010 + + +    + +In preparation for PyCon in Atlanta (http://us.pycon.org/2010/about/) in February, three more Boston-area PyCon speakers will rehearse their talks for us. It's a full night, so we'll start promptly at 7:00. For some open-ended mingling, show up as early as 6:15! + +Demystifying Non-Blocking and Asynchronous I/O +Peter Portante + +We will first define what blocking, non-blocking, synchronous and asynchronous I/O are under the POSIX interfaces. We'll cover how and when these four types of I/O should be used, and their individual effects on a Python based application. The notion of concurrency will be discussed by comparing a simple threaded blocking I/O application to a simple single threaded non-blocking I/O application by walking the attendees through the python code for those applications. + +Turtles All The Way Down: Demystifying Deferreds, Decorators, and Declarations +Glyph Lefkowitz + +Python's flexible object model allows library and framework authors to add very flexible declarations. Metaclasses, decorators, callable objects, and operator overloading practically allow libraries to re-define the language in order to provide a more concise, natural style for that library. Unfortunately, the library user's first experience of such conveniences is often confusing, because it's not clear what's going on. + +In this talk, I will try to convince you that all of this wonderful magic isn't all that weird. This is not a typical how-to session on how to use a particular feature, either of Python or of Twisted, but will rather draw examples from Python, Twisted, and Zope to illustrate techniques you can use to read and understand "magical" Python code. + +Keynote: Relentlessly Pursuing Opportunities With Python, or why the AIs will Spare Us All! +Antonio Rodriguez + +DJ-ing in Python: Audio processing fundamentals +Edward Abrams + +I have been wanting to learn about audio processing because I'd eventually like to write a simple DJ-ing application. What better way to explore some intermediate level programming concepts, as well as an interesting media library (PyMedia), than by doing it in Python. This talk covers what I learned on my way to creating a console-based skeleton of a DJ-ing application with the intention of later returning to add a GUI on top. + + +Meetup link: [https://www.meetup.com/bostonpython/events/12189588/](https://www.meetup.com/bostonpython/events/12189588/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100317-march-python-meetup-free-for-all.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100317-march-python-meetup-free-for-all.md new file mode 100644 index 0000000..1c89d4f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100317-march-python-meetup-free-for-all.md @@ -0,0 +1,22 @@ +--- +title: March Python Meetup free-for-all +sidebar_link: false +--- + +March 17, 2010 + + +    + +We've got nothing formal planned, so bring your projects to hack on, bring your questions to be answered, bring your topic to lightning talk on, whatever you want is what will happen. + +Pythonistas of all levels are welcome! I hear there might be pizza... + +BTW: PyCon 2010 just finished in Atlanta, the videos are posted here: http://pycon.blip.tv/... (http://pycon.blip.tv/) + +Where: Microsoft NERD, maybe up on the cool 11th floor... http://bit.ly/msnerd... (http://bit.ly/msnerd) + + +Meetup link: [https://www.meetup.com/bostonpython/events/12720365/](https://www.meetup.com/bostonpython/events/12720365/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md new file mode 100644 index 0000000..d969892 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md @@ -0,0 +1,23 @@ +--- +title: Discrete Event Simulations Made Easy, plus more lightning talks? +sidebar_link: false +--- + +April 21, 2010 + + +    + +Francesco Pierfederici's Pycon talk touched briefly on simulations in Python, whetting our appetite for more detailed information. Francesco will talk more in-depth about discrete event simulations with SimPy: + +Abstract +I will introduce SimPy (http://simpy.sourcefo... (http://simpy.sourceforge.net)), a Python framework for discrete-event simulations. I will describe the framework itself and its main components. I will then walk you through a simple but non-trivial simulation to explain how SimPy is used in practice. You can also read the wikipedia page on discrete event simulations (http://en.wikipedia.o... (http://en.wikipedia.org/wiki/Discrete_event_simulation)) for some background info. + +Last month's lightning talks were a big hit. We'll probably have time for one or two more: send me your ideas! + +Free-form chilling starts at 6:30, formal activities at 7:00. Pizza will be provided by Microsoft! + + +Meetup link: [https://www.meetup.com/bostonpython/events/13008927/](https://www.meetup.com/bostonpython/events/13008927/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100519-may-python-meetup-testing-topics.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100519-may-python-meetup-testing-topics.md new file mode 100644 index 0000000..f3ec18b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100519-may-python-meetup-testing-topics.md @@ -0,0 +1,30 @@ +--- +title: May Python meetup - Testing Topics +sidebar_link: false +--- + +May 19, 2010 + + +    + +In response to a member-suggested idea, we've got two Testing advocates for May: + +Marshall Weir: Testing, Where Do I Start? + +Marshall will cover basic unit test concepts and quickly move to making your tests motivating, easy to run and adding testing to an existing project. He's aiming squarely at developers who have projects they want to use testing for, but don't know where to get started. + +Have you wanted to become test-infected but couldn't find the start of the thread to pull? Marshall will help. + +Stephan Richter: How to Test the Hard Stuff + +Stephan will cover testing network-driven components, RDB stubbing, test setup layering and stuff like that. Recently he used manuel to do this sort of testing by simulating CLIs and Shell access in a doctest-style test, so he may cover that as well. + +Bring your testing challenges and the impossible to automate projects that haunt you at night, we'll see what Stephan can do with them. + +We're meeting as usual at the Microsoft NERD Center, 1 Memorial Drive in Cambridge. People will be there starting at 6:30, talks begin at 7. There will likely be pizza donated by Microsoft. + + +Meetup link: [https://www.meetup.com/bostonpython/events/13402161/](https://www.meetup.com/bostonpython/events/13402161/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100615-google-app-engine-at-google.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100615-google-app-engine-at-google.md new file mode 100644 index 0000000..a00a01e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100615-google-app-engine-at-google.md @@ -0,0 +1,22 @@ +--- +title: Google App Engine at Google +sidebar_link: false +--- + +June 15, 2010 + + +    + +For June, we've got an in-depth evening about Google App Engine. And due to some scheduling issues, we're on a different night (a Tuesday), and in a different location (Google's Cambridge offices). + +Omer Trajman has built an RSS reader on App Engine: http://webwriting.com... (http://webwriting.com/reader/) He'll walk us through the basics of App Engine, and then dive into the details of how he built this particular application. + +Google's Cambridge office is at 5 Cambridge Center. Parking is right behind the building (http://bit.ly/aLrkhH)... (http://bit.ly/aLrkhH)), and I believe will be free for the event. Our host Tay Karim is still working on the possibility of food also... :) + +The talk starts at 7:00, general mingling starts at 6:30. + + +Meetup link: [https://www.meetup.com/bostonpython/events/13724524/](https://www.meetup.com/bostonpython/events/13724524/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md new file mode 100644 index 0000000..3a179a1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md @@ -0,0 +1,24 @@ +--- +title: July Meetup - Echo Nest Remix and lightning talks +sidebar_link: false +--- + +July 21, 2010 + + +    + +Paul Lamere will tell us about Echo Nest remix. Remix (http://code.google.com/p/echo-nest-remix/) is an open source Python library for remixing music. With remix you can use Python to rearrange a track, combine it with others, beat/pitch shift it etc. - essentially it lets you treat a song like silly putty. + +The Swinger (http://musicmachinery.com/2010/05/21/the-swinger/) is an interesting example of what it can do that made the rounds of the blogosphere: it morphs songs to give them a swing rhythm. + +For more details about the type of music remixing you can do with remix, feel free to read: http://musicmachinery... (http://musicmachinery.com/category/remix/) + +I'm also looking for lightning talks, especially if they involve art of some sort, but any are welcome. Drop me a line if you have something you'd like to talk about for 10-15 minutes. + +We're back at the Microsoft NERD center (http://bit.ly/msnerd... (http://bit.ly/msnerd)) for July, future locations may be fluid! + + +Meetup link: [https://www.meetup.com/bostonpython/events/13929110/](https://www.meetup.com/bostonpython/events/13929110/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100915-beginner-s-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100915-beginner-s-night.md new file mode 100644 index 0000000..50b72df --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20100915-beginner-s-night.md @@ -0,0 +1,26 @@ +--- +title: Beginner's Night +sidebar_link: false +--- + +September 15, 2010 + + +    + +For September, we're back to school: Beginner's Night is for those that want to learn about Python from first principles. + +Ned will present a whirlwind introduction to Python. Aimed at developers new to the language, we'll cover some real Python code line-by-line, explaining the core principles of the language as we go. + +Interested in Python, but don't know where to start? Come find out what people love about the language. Have friends who don't understand why you keep going on and on about how wonderful Python is? Bring them along! Already a Python expert? Come to help point out the finer details, and brush up on subtleties you've missed. + +The event is free, and all are welcome. We'll have a lively discussion, and all questions are fair game. Plenty of experts will be on hand to help. + +Pizza will be provided by Microsoft, and we'll have a few door prizes to give away. The NERD center is on Memorial Drive, overlooking the Boston skyline. Parking is $10 in the basement garage, or there are other parking alternatives nearby. + +Shmoozing at 6:30, coherent presentation starting at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/14443924/](https://www.meetup.com/bostonpython/events/14443924/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101020-processing-py-inside-and-out.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101020-processing-py-inside-and-out.md new file mode 100644 index 0000000..3609748 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101020-processing-py-inside-and-out.md @@ -0,0 +1,26 @@ +--- +title: Processing.py, inside and out +sidebar_link: false +--- + +October 20, 2010 + + +    + +For our October meetup, Jonathan Feinberg will talk about his work on Processing.py. Processing is "an open source programming language and environment for people who want to create images, animations, and interactions." (http://processing.org... (http://processing.org/)) It's implemented in Java, and offers a simplified Java-like syntax for students, artists, designers, researchers, and hobbyists. Jonathan's Processing.py brings makes it possible to write Processing sketches in Python. + +Jonathan's presentation will start by introducing Processing, demoing what it can do, and how it has helped artists and designers experiment with algorithmic art and visualizations. + +Then he'll get into the deep details of how he used Jython to meld a Python interpreter into the Processing implementation to allow Python programs access to the Processing execution environment. + +It should be a very interesting evening, looking at both the user-visible environment, and the nitty-gritty under the hood of how it was accomplished. + +The talk starts at 7:00, social niceties both before and after. + +LOCATION: We'll be meeting at the Google offices this month, at 5 Cambridge Center. Google will be providing pizza, but unfortunately, there is NO subsidized parking. Parking in the adjacent garage is $17 for 3 hours. If you know of other appropriate alternatives, send them to the list. + + +Meetup link: [https://www.meetup.com/bostonpython/events/14939685/](https://www.meetup.com/bostonpython/events/14939685/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101117-intro-to-twisted-presentation-and-lab.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101117-intro-to-twisted-presentation-and-lab.md new file mode 100644 index 0000000..6a98c8a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101117-intro-to-twisted-presentation-and-lab.md @@ -0,0 +1,25 @@ +--- +title: Intro to Twisted - presentation and LAB +sidebar_link: false +--- + +November 17, 2010 + + +    + +Come learn about Twisted! Twisted is an event-driven network engine in Python, with a large rich set of components. Start with a fully functioning web server, mash it up with DNS, bridge over to chat, and throw in a little SMTP. Whatever you need in your networked code, Twisted has the parts to build it. They're all built on a uniform core, and can all be programmed together with Python, making Twisted's toolbox the richest and most powerful way to create networked software. + +Tonight's format is slightly different: we'll start with a presentation about Twisted and how it works, then switch into active mode with a directed lab. Bring your laptops and build real code! If you don't have the equipment (or the desire) to do the lab yourself, come anyway, and pair up with someone who does. + +Glyph Lefkowitz and J.P. Calderone are the two brightest stars in the Twisted firmament: Glyph founded and continues to lead Twisted, and J.P. is its most prolific contributor. Who better than them to explain Twisted and initiate us into its mysteries? It should be a really interesting evening! + +We'll send instructions later for installing the lab prerequisites. + +Location: Microsoft NERD center +Time: 6:30 for chatting, presentation at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15242326/](https://www.meetup.com/bostonpython/events/15242326/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101214-nltk-natural-language-toolkit.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101214-nltk-natural-language-toolkit.md new file mode 100644 index 0000000..5742e2d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20101214-nltk-natural-language-toolkit.md @@ -0,0 +1,18 @@ +--- +title: NLTK - Natural Language Toolkit +sidebar_link: false +--- + +December 14, 2010 + + +    + +NLTK is the Natural Language Toolkit, an extensive Python library for processing natural language. Shankar Ambady will give us a tour of just a few of its extensive capabilities, including sentence parsing, synonym finding, spam detection, and more. Linguistic expertise is not required, though if you know the difference between a hyponym and a hypernym, you might be able to help the rest of us! + +Socializing at 6:30, Shankar's presentation at 7:00. See you at the NERD. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15547287/](https://www.meetup.com/bostonpython/events/15547287/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md new file mode 100644 index 0000000..6a93d0e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md @@ -0,0 +1,30 @@ +--- +title: Updated - Pycon talk 1 - "Contributor Outreach"; and installation chaos +sidebar_link: false +--- + +January 19, 2011 + + +    + +Asheesh Laroia is speaking at Pycon in Atlanta this year, and will present a draft of his 30-min talk, "Get new contributors (and diversity) through outreach": + +This talk is targeted at anyone involved in an open source project who wants to find more contributors.Programs like Google Summer of Code often provide excited students who disappear after a summer's work. Meanwhile, request for help emails on development lists are typically met with silence. Hackathons create a flurry of commits, but then we never hear from the participants again. Expanding your team is possible, and it requires care in terms of outreach, expectation management, and mentorship.We will discuss three major forms of outreach: + +* One-on-one check-ins with participants, +* Periodic drives to bring in new contributors, and +* In-person teaching events. + +Each one has "do"s and "don't"s associated with it. This talk digests the experience of effective outreach into practical strategies that you can re-use within your project. + +Then we'll turn our attention to more mundane matters: this discussion about installation chaos (http://www.meetup.com/bostonpython/ideas/583191/) seems like a good topic for a freewheeling session. I don't know exactly what we'll cover, so bring your questions, answers, and opinions. + +Have an installation issue that's been bugging you? Have you come up with a novel way to solve the tension between Python packages and OS packages? Just need help getting a particular package to finally work right? Confused by virtualenv, pip, easy_install, pypi, etc? Come to the meetup and get into the mix. + +If we run out of installation stuff to talk about, we'll start on something else, who knows what? The floor is completely open, bring your Python grievances and adorations. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15979297/](https://www.meetup.com/bostonpython/events/15979297/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110222-pycon-on-the-charles-practice-session-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110222-pycon-on-the-charles-practice-session-1.md new file mode 100644 index 0000000..bac0c8f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110222-pycon-on-the-charles-practice-session-1.md @@ -0,0 +1,33 @@ +--- +title: PyCon on the Charles - practice session 1 +sidebar_link: false +--- + +February 22, 2011 + + +    + +PyCon 2011 (http://us.pycon.org/2011/) is coming up in March in Atlanta. In this first of two sessions, three Boston-area speakers will practice their presentations. If you can't make it to Atlanta, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their talks. + +The presentations will start at 6:45 to make room for everything. + +Python-Aware Python (experienced extreme) +Ned Batchelder + +Python provides many features for introspecting, analyzing, parsing, compiling, and otherwise grokking Python code. This talk will cover a number of the techniques for writing Python-Aware Python, and will hopefully inspire you to build the next great Python tool. More info... (http://us.pycon.org/2011/schedule/sessions/58/) + +What Would You Do with an AST? (experienced) +Matthew Demsarais + +The ast module in the Python (>= 2.6) standard library provides a representation of python code in a python data structure. We'll begin with a discussion about what an abstract syntax tree is and why it's useful. We can then talk about what's available in the ast module, how it works, and how you can use it. This will be a practical session built around examples examining and modifying live ASTs. More info... (http://us.pycon.org/2011/schedule/sessions/184/) + +"Dude, Where's My RAM?" - A deep dive into how Python uses memory (experienced extreme) +Dave Malcolm + +This talk will give a deep dive into how CPython uses memory. I'll be demonstrating a new tool I've written that analyses CPython's memory usage, and offer hints and tips on how you can reduce the memory footprint of your Python programs. More info... (http://us.pycon.org/2011/schedule/sessions/25/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16117739/](https://www.meetup.com/bostonpython/events/16117739/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110302-pycon-on-the-charles-practice-session-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110302-pycon-on-the-charles-practice-session-2.md new file mode 100644 index 0000000..c9c9f69 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110302-pycon-on-the-charles-practice-session-2.md @@ -0,0 +1,38 @@ +--- +title: PyCon on the Charles - practice session 2 +sidebar_link: false +--- + +March 02, 2011 + + +    + +PyCon 2011 (http://us.pycon.org/2011/) is coming up in March in Atlanta. In this second of two sessions, four Boston-area speakers will practice their presentations. If you can't make it to Atlanta, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians to polish their talks. + +We have a jam-packed evening: the talks will start at 6:30! Very early! + +Using Python to debug C and C++ code (using gdb) (experienced) +Dave Malcolm + +Got a difficult C/C++ program to debug? The power of Python is now available from within the GNU debugger. I'll show how you can use simple fragments of Python to quickly track down fiddly bugs in C/C++ code. We'll also see how to use Python to extend gdb with new commands and new ways of visualizing the internal state of a program. More info... (http://us.pycon.org/2011/schedule/sessions/27/) + +An outsider's look at co-routines. (novice) +Peter Portante + +Let's take an outsider's look at coroutines, the underlying concept used by greenlets. First we'll define what they are conceptually, and show some typical use cases. Then we'll take a look at a sampling of the implementations out there to see what they are actually doing to implement the concept. Finally, we'll show their pluses and minuses, and highlight some features of packages that use them. More info... (http://us.pycon.org/2011/schedule/sessions/154/) + +Ten Years of Twisted (novice) +Glyph Lefkowitz + +The Twisted event-driven networking engine is well-known in the Python community. However, only a few of its features are widely understood. This talk will be a brief conceptual introduction to Twisted, followed by a survey of its features, their status, and how development has been proceeding over the years, with a special focus on the last two years of sponsored development. More info... (http://us.pycon.org/2011/schedule/sessions/208/) + +Useful Namespaces: Context Mangagers and Decorators (experienced extreme) +Jack Diederich + +Python has two useful conventions for "I mean it, but only here" and you can say it with Context Managers and Decorators. Both give you the power to define a push/pop of a resource for a set period inside a namespace, be it a function or a level of indentation. This talk is a list of patterns that are implemented by one or the other (including some clever functions that are both). More info... (http://us.pycon.org/2011/schedule/sessions/224/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16117740/](https://www.meetup.com/bostonpython/events/16117740/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..b5eefd8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,33 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +March 05, 2011 + + +    + +Learn and practice Python basics with this full-day project-driven workshop! + +On Friday evening, come by for an hour any time between 5 and 8pm to set up your development environment. + +On Saturday, we'll spend the morning on an introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon, we'll hack on two projects: a web application in Django and visual effects for a programmable "color wall". + +Audience: Women and their friends who have no or limited programming experience. + +Our goal is to provide a comfortable environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +Friday evening: laptop setup + +5 PM to 8 PM: Come by the venue (1 Memorial Drive, Cambridge) and volunteers will help you set up your development environment. Things to bring: your laptop computer. +Saturday daytime: Tutorials, teaching, and projects + +9:30 AM: Early arrivals can chat with volunteers 10 AM - Noon: Welcome and introductory tutorials Noon - 1 PM: Lunch (pizza), thanks to our sponsors 1 PM - 5 PM: Project time 5 PM - 5:30: Wrap-up Things to bring: your laptop computer. + +Afterwards: After-party, place TBD. (Suggestions welcome.) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16682815/](https://www.meetup.com/bostonpython/events/16682815/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110411-education-and-community.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110411-education-and-community.md new file mode 100644 index 0000000..f5dbf65 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110411-education-and-community.md @@ -0,0 +1,26 @@ +--- +title: Education and Community +sidebar_link: false +--- + +April 11, 2011 + + +    + +Spring is here, and it seems like new shoots of Python activity are popping up everywhere. For April, we have an evening dedicated to education and community. We'll have a few informal speakers telling us about their work introducing Python to new Pythonistas, and a discussion about how to foster a larger Python community in Boston and beyond. + +Maria Litvin teaches math and computer science at Philips Academy in Andover, and is the author of a number of textbooks covering C++, Java, and of course, Python. + +Asheesh Laroia and Jessica McKellar are the co-conspirators behind the recent Python workshop for women, which was a huge hit. Dubbed Pystar.org, the workshop has spread to to Minneapolis and San Francisco, and will be run again here in Boston soon. + +Allen Downey teaches computer science at Olin College of Engineering, and is the author of a range of computer science textbooks, including How to Think Like a Computer Scientist: Learning with Python. + +I'm hoping these experts can tell us what they know about hatching new Pythonistas, and we can tell them what we'd like to do to enlarge and enrich the Python community. + +Chit-chat starts at 6:30 or so, sit-down at 7. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17083319/](https://www.meetup.com/bostonpython/events/17083319/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110426-python-hack-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110426-python-hack-night.md new file mode 100644 index 0000000..a146100 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110426-python-hack-night.md @@ -0,0 +1,20 @@ +--- +title: Python Hack Night +sidebar_link: false +--- + +April 26, 2011 + + +    + +We're starting a new event of the Boston Python Meetup: Python Hack Night, a chance to get together with Pythonistas of all abilities, to hack, chat, learn, teach, socialize, whatever suits you. There's no structure other than a location, some food (if we're lucky) and a bunch of Python people getting together. + +I'm hoping this can be a regularly occurring event. + +The first Hack Night will be Tuesday April 26th, at Performable, 486 Green St, Cambridge, 6:30-9:30pm (or so). Performable is buying the pizza, you're bringing the energy and ideas. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17353310/](https://www.meetup.com/bostonpython/events/17353310/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..d49cb79 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,44 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +May 13, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment, learn how to execute Python code from a file and interactively from a Python prompt, and practice printing and using Python as a calculator. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Projects include: + +using the Twitter API to write parts of a Twitter client a Jeopardy!-themed introduction to databases and database access with Python graphing and data analysis text-based games wordplay and the power of regular expressions programming graphical effects for a ColorWall See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_workshop_2) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Our goal is to provide a comfortable environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +Venue details + +HubSpot (http://www.hubspot.com/company/contact/) is hosting and sponsoring this event. They are at: + +25 First Street, 2nd Floor + +Cambridge, MA 02141 + +The Workshop wiki (http://openhatch.org/wiki/Boston_Python_workshop_2) has information on public transit options and parking at the venue. + +Friday evening: laptop setup and first steps with Python + +6 PM to 9 PM: set up your development environment and practice running Python. Things to bring: your laptop computer. Saturday: lecture and projects + +9:45 AM - 10 AM: settle in and review Friday's material. 10 AM - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1 PM: lunch, provided by HubSpot! 1 PM - 4 PM: projects. 4 PM - 4:30: wrap-up and next steps. Things to bring: your laptop computer. You must be able to attend both days of the workshop to participate. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17433132/](https://www.meetup.com/bostonpython/events/17433132/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110518-may-meetup-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110518-may-meetup-science.md new file mode 100644 index 0000000..cf3159b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110518-may-meetup-science.md @@ -0,0 +1,24 @@ +--- +title: May meetup - Science! +sidebar_link: false +--- + +May 18, 2011 + + +    + +Pythonistas, the May meetup brings us two scientists sharing their work in Python: + +Geraldine Van Der Auwera: TRAPPIST is a BioPython-based package that performs detailed comparisons of related genomic regions and produces publication-quality vector PDF figures for clear visualization of analysis results. It is built as a series of functional modules that can be run separately or in pipelines. Several pre-set pipeline scripts are provided for automated start-to-finish processing of tasks that combine analysis and visualization, such as producing figures of multiple alignments with detailed similarity heat maps, identifying conserved genetic backbones or reconstructing the differential phylogeny of mosaic genome regions. + +Byron Galbraith: Modelling Neurons in Python. Representing the function and behavior of neurons in software is one of the core activities of computational neuroscience. As neurons communicate via electrochemical currents, this is typically accomplished through modeling the dynamical nature of the neuron's electrical properties. Several models treat the neuron as an equivalent electrical circuit, with its membrane potential described by one or more differential equations. In order to simulate the response of the neuron to various stimuli, these equations are numerically solved over some time interval for a given pattern of input current. + +Plus, we'll probably have a lightning talk or two. + +Socializing and other interactions at 6:30, formal presentations at 7:00. See you there! + + +Meetup link: [https://www.meetup.com/bostonpython/events/17330576/](https://www.meetup.com/bostonpython/events/17330576/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110520-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110520-python-project-night.md new file mode 100644 index 0000000..ca7055f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110520-python-project-night.md @@ -0,0 +1,36 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +May 20, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_workshop_2) will be here to help beginning Python programmers with language basics and practice projects. + +Audience: everyone! We'll have something for all Python experience levels. + +When: 5:30pm - 9:30pm on Friday, May 20th + +Location: The 11th floor Commons at Microsoft NERD One Memorial Drive, Cambridge, MA 02142 + +Food: We'll have snacks and drinks but not dinner. You are welcome to bring or order food. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop will be here to help work through practice projects from the Workshop (http://openhatch.org/wiki/Boston_Python_workshop_2/Saturday_projects), including: + +using the Twitter API to write parts of a Twitter client a Jeopardy!-themed introduction to databases and database access with Python graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library text-based games wordplay and the power of regular expressions programming graphical effects for a ColorWall Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Use the DonorsChoose.org data or API to make discoveries and build apps that engage the public and improve education in America: http://www.donorschoose.org/hacking-education Win $35,000 in prizes for using CDC flu data to develop an innovative app, data visualization, tool, or game: http://fluapp.challenge.gov/ + + +Meetup link: [https://www.meetup.com/bostonpython/events/17802791/](https://www.meetup.com/bostonpython/events/17802791/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110601-superpy.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110601-superpy.md new file mode 100644 index 0000000..7b727d2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110601-superpy.md @@ -0,0 +1,14 @@ +--- +title: SuperPy +sidebar_link: false +--- + +June 01, 2011 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/16245232/](https://www.meetup.com/bostonpython/events/16245232/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md new file mode 100644 index 0000000..121cfa8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md @@ -0,0 +1,25 @@ +--- +title: SQLAlchemy, lightning talks, and beers +sidebar_link: false +--- + +June 15, 2011 + + +    + +Michael Kowalchik will teach us about SQLAlchemy, the Cadillac of Python database object-relational mappers. He'll give a quick overview of this impressive package, then outline how to operate at different levels of abstraction within SQLAlchemy, while retaining control over lower-level details where needed: + +* The database "machinery" (connection strings, connection pooling, database reflection, different database dialects) +* The SQLAlchemy "core", building SQL expressions using Python +* The ORM, sessions, and the "Unit of Work" pattern +* How SQLAlchemy's ORM is different: Data Mapper vs Active Record pattern + +We'll also have lightning talks, let me know if you want to contribute one. + +Afterwards, on to the Meadhall for drinks! No sponsor this month (unless someone wants to step forward), but a good time nonetheless. + + +Meetup link: [https://www.meetup.com/bostonpython/events/19750991/](https://www.meetup.com/bostonpython/events/19750991/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110622-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110622-project-night.md new file mode 100644 index 0000000..462f19c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110622-project-night.md @@ -0,0 +1,24 @@ +--- +title: Project Night +sidebar_link: false +--- + +June 22, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one you find there. Other ideas are on the previous Project Night page (http://meetup.bostonpython.com/events/17802791/). Experienced Pythonistas will be on hand to help in any way you need. + +Audience: Everyone, all levels are welcome! + +When: 6:00-9:00, June 22nd + +Where: Microsoft NERD Center, One Memorial Drive. + +Food: Microsoft will again generously be providing pizza, but anyway, you're supposed to be coming for the Python and the people, not the pizza! :-) + + +Meetup link: [https://www.meetup.com/bostonpython/events/22515391/](https://www.meetup.com/bostonpython/events/22515391/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..506ca3c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,46 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +July 08, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_3) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +Google is hosting and sponsoring this event. They are at: + +5 Cambridge Center, Floors 3-6 + +Cambridge, MA 02142 + +You will need to sign Google's standard visitor NDA upon arrival on Friday. + +Friday evening: laptop setup and first steps with Python + +6 PM to 9 PM: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday: lecture and projects + +9:30am - 10am: settle in and review Friday's material over tea and coffee, courtesy of Google! 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by Google! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client wordplay and how to cheat at Words with Friends programming graphical effects for a ColorWall + + +Meetup link: [https://www.meetup.com/bostonpython/events/22818421/](https://www.meetup.com/bostonpython/events/22818421/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110712-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110712-python-project-night.md new file mode 100644 index 0000000..b5be558 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110712-python-project-night.md @@ -0,0 +1,38 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +July 12, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, July 12th + +Location: The Horace Mann room on the 1st floor at Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/23745451/](https://www.meetup.com/bostonpython/events/23745451/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110720-getting-started-testing-your-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110720-getting-started-testing-your-python.md new file mode 100644 index 0000000..4892804 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110720-getting-started-testing-your-python.md @@ -0,0 +1,26 @@ +--- +title: Getting Started Testing your Python +sidebar_link: false +--- + +July 20, 2011 + + +    + +Ned Batchelder will present Getting Started Testing your Python Code. + +Do you have Python code that you know you should be testing, but aren't? Have you got tests, but aren't sure how to use them to full advantage? Are you not flossing as often as you should? + +We'll start from scratch with a very first test, talk about unit test structure, how to structure your code for testability, isolating components with mocking, how to use nose to run tests, using coverage measurement to gauge test effectiveness, the testing mindset, and other topics. + +Testing will never be easy, but it doesn't have to be a burden. Come learn how to approach Python testing to make it work for you. Pythonistas of all levels are welcome! + +We'll be at the NERD as usual, come a little early for pre-schmoozing. Microsoft will be generously providing pizza. + +Afterward, we'll head over to Meadhall for socializing over beers! The first round is being sponsored by InsightSquared! + + +Meetup link: [https://www.meetup.com/bostonpython/events/23388681/](https://www.meetup.com/bostonpython/events/23388681/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110811-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110811-python-project-night.md new file mode 100644 index 0000000..e2db2c9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110811-python-project-night.md @@ -0,0 +1,42 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +August 11, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/2RB7y + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Thursday, August 11th. + +Location: The 1st floor at Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/25875041/](https://www.meetup.com/bostonpython/events/25875041/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md new file mode 100644 index 0000000..368cbce --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md @@ -0,0 +1,24 @@ +--- +title: Alternate pythons - PyPy, Jython, IronPython, plus lightning talks and beers +sidebar_link: false +--- + +August 17, 2011 + + +    + +One of the fascinating features of the Python ecosystem is the variety of implementations of the language. In addition to the classic CPython, there's: + +Jython, running on the Java Virtual Machine IronPython, running on the .NET platform PyPy, written in Python itself, and faster than CPython! Dave Malcolm will introduce us to these alternate implementations, showing the important advantages each brings, the differences from classic Python, and exploring some tantalizing implementation details. If you've ever wondered whether one of these other implementations was for you, or were just curious about how Python works under the hood, this talk is for you. + +We'll also have some lightning talks. If you have a lightning talk you want to give, drop me a line. + +As if that's not enough, I'll have a copy of the new book, The Python Standard Library by Example (http://www.doughellmann.com/books/byexample/) to give away. And of course, we'll have pizza donated by O'Reilly Books. + +We'll round out the evening at Meadhall for informal socializing. Join us, even if you can't make the presentations. Proxpro will be sponsoring a round of drinks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/25396721/](https://www.meetup.com/bostonpython/events/25396721/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110906-september-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110906-september-python-project-night.md new file mode 100644 index 0000000..ff388b0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110906-september-python-project-night.md @@ -0,0 +1,47 @@ +--- +title: September Python Project Night +sidebar_link: false +--- + +September 06, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/3wRT9 + +If you're coming, and know what you'll be working on, update the Sept 2011 Projects (http://meetup.bostonpython.com/pages/Sept_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, September 6th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +What other people are doing: + +See the Sept 2011 Projects (http://meetup.bostonpython.com/pages/Sept_2011_Projects/) page. +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/29074611/](https://www.meetup.com/bostonpython/events/29074611/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110921-numpy-scipy-plus-extras-new-location.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110921-numpy-scipy-plus-extras-new-location.md new file mode 100644 index 0000000..a9b08a6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110921-numpy-scipy-plus-extras-new-location.md @@ -0,0 +1,28 @@ +--- +title: NumPy & SciPy, plus extras - *** NEW LOCATION *** +sidebar_link: false +--- + +September 21, 2011 + + +    + +Jiahao Chen will introduce us to two powerful packages for numeric and scientific work, NumPy and SciPy: + +Python is rapidly gaining traction as a programming language for scientific computation. This evening, we examine how to use NumPy (http://numpy.scipy.org/) and SciPy (http://www.scipy.org/), two of the most widely used Python modules for numerical calculations, and explore their joint capabilities. We will also examine several use cases showing how numpy and scipy can greatly simplify the handling of data in arrays as well as facilitate code reuse by generating wrappers to external Fortran or C code. + +If you work with numeric data, or do anything even remotely scientific, these packages are for you. Come learn how they can ease your complex computational problems! + +If we have time, we'll throw in some lightning talks, especially if you have one related to numeric computing. + +Pizza will be provided, of course. + +Afterward, we'll head over to Meadhall for the usual after-presentation beers, socializing, and unwinding. + +Tell all your friends about this meeting: http://meetu.ps/3wQVc + + +Meetup link: [https://www.meetup.com/bostonpython/events/29071011/](https://www.meetup.com/bostonpython/events/29071011/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..110c125 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,40 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +September 30, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_4) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. On Friday we'll be in room 4-149. On Saturday we'll be in room 32-155. See the venue section of the wiki (http://openhatch.org/wiki/Boston_Python_Workshop_4#Location) for directions and a map. + +Friday evening (9/30): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (10/1): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client. wordplay and how to cheat at Words with Friends. programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/33124602/](https://www.meetup.com/bostonpython/events/33124602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111004-october-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111004-october-python-project-night.md new file mode 100644 index 0000000..0998b2a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111004-october-python-project-night.md @@ -0,0 +1,47 @@ +--- +title: October Python Project Night +sidebar_link: false +--- + +October 04, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/4y98R + +If you're coming, and know what you'll be working on, update the Oct 2011 Projects (http://meetup.bostonpython.com/pages/Oct_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, October 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided, money will be collected. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +What other people are doing: + +See the Oct 2011 Projects (http://meetup.bostonpython.com/pages/Oct_2011_Projects/) page. +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/34664362/](https://www.meetup.com/bostonpython/events/34664362/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111019-lightning-talk-trick-or-treat.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111019-lightning-talk-trick-or-treat.md new file mode 100644 index 0000000..eec5e97 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111019-lightning-talk-trick-or-treat.md @@ -0,0 +1,30 @@ +--- +title: Lightning Talk Trick or Treat +sidebar_link: false +--- + +October 19, 2011 + + +    + +An evening of nothing but lightning talks! Usually we have a solid meat and potatoes presentation meal, followed by a nice dessert of some lightning talk candy. But this is October, so why not have an evening with just candy!? + +A lightning talk is no more than 10 minutes, so we'll have time for a good selection of topics. + +If you have a talk you want to do, send me an email. Please keep these guidelines in mind: + +You'll have 5 to 10 minutes. Please be realistic: most people underestimate how much time they need to get their ideas across. I will limit you 10 minutes. Almost any topic is good: something you learned that you think others will like, something you've made, something you found, it doesn't even have to be especially technical, just something you think Pythonistas will want to hear about. No jobs ads, we don't want this to be a job fair. Get in touch with me separately if you want special promotion of your position. You can of course do demos or use slides if you like. Even better is if they are on a public web site so you can use a laptop already connected to the projector. You know you have something to say! To get on the list, send me an email, and include your name, the title, and just a little bit about what you'll say. + +Here's the list so far: + +Sean True, yapocis (Yet Another PyOpenCL Interface Specification). Corey Goldberg, linux-metrics, a package for system metrics/stats for linux. Andrew Inglis, wirite.com Dylan Shea, Linden Lab Automated Test Hackathon Shauna G, newbs hacking public data Brendan K, packaging a PyGTK app for Windows Will Ware, MyHDL (myhdl.org), a Python tool for digital logic design, simulation and FPGA synthesis. Fahri Basegmez, re_ad: lets me write readable regular expressions. Eliot Eshelman, Entity systems in Python for game development. Ned Jackson Lovely, Celery message queuing. Nate Aune, Twilio API, and PickupConnect.com. You, your talk here... It should be a fun and fascinating evening! + +After a couple of hours of lightning talks, we'll head over to Meadhall for beers, socializing, and what have you. Want to sponsor a round of drinks? Get in touch... + +Share this event with anyone who might be interested: http://meetu.ps/4c6VC + + +Meetup link: [https://www.meetup.com/bostonpython/events/32680722/](https://www.meetup.com/bostonpython/events/32680722/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111107-november-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111107-november-python-project-night.md new file mode 100644 index 0000000..ccc193c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111107-november-python-project-night.md @@ -0,0 +1,48 @@ +--- +title: November Python Project Night +sidebar_link: false +--- + +November 07, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/56NnM + +If you're coming, and know what you'll be working on, update the Nov 2011 Projects (http://meetup.bostonpython.com/pages/Nov_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Monday, November 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided, money will be collected. + +Things to bring: a wireless-enabled laptop and power cord + +What other people are doing: + +See the Nov 2011 Projects (http://meetup.bostonpython.com/pages/Nov_2011_Projects/) page. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/37948602/](https://www.meetup.com/bostonpython/events/37948602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111207-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111207-december-project-night.md new file mode 100644 index 0000000..e8c35bf --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111207-december-project-night.md @@ -0,0 +1,38 @@ +--- +title: December Project night +sidebar_link: false +--- + +December 07, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/5HGx8 + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Wednesday, December 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by AdmitPad (http://admitpad.com/) + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36664082/](https://www.meetup.com/bostonpython/events/36664082/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..618601b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +December 16, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/33124602/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_5) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 32-155 in the Stata Center for both days of the event. See the venue section of the wiki (http://openhatch.org/wiki/Boston_Python_Workshop_5#Location) for directions and a map. + +Friday evening (12/16): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (12/17): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client. wordplay and how to cheat at Words with Friends. programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/42610202/](https://www.meetup.com/bostonpython/events/42610202/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md new file mode 100644 index 0000000..24722a2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md @@ -0,0 +1,37 @@ +--- +title: Web Performance Testing, lightning talks, and beers +sidebar_link: false +--- + +December 19, 2011 + + +    + +Corey Goldberg of Canonical and Dan Kuebrich of Tracelytics will tag-team to tell us about web performance testing, and a few interesting tools they've built. + +Brief Introduction to Web Performance and Scalabilty Testing + +When launching a new application, preparing for future capacity, or changing IT infrastructure, web performance and scalability testing allows you to find and fix performance problems. You simulate the current or projected user workload against your site, allowing you to test and tune your systems, and allocate hardware accordingly. + +Web Load Testing with Python and Multi-Mechanize + +Multi-Mechanize is a Python framework for API performance and scalabilty testing. It enables you to run simultaneous Python scripts to generate load (synthetic transactions) against any API or service. This is useful for system tuning, benchmarking, and capacity planning. Multi-Mechanize is Free Open Source Software. + +Demo of Tracelytics with Multi-Mechanize + +Building on Corey's presentation of multi-mechanize, Dan Kuebrich will discuss how to make the most of load testing your Python-based web app and talk about how Tracelytics' Python instrumentation is implemented. + +Pizza will be provided by Canonical (http://www.canonical.com/). + +We'll probably have some time for lightning talks. If you have something to say for 10 minutes, especially if it's related to web measurement, let me know. + +Afterwards we'll head over to Meadhall for drinks, the first round will be sponsored by Kyruus (http://kyruus.com). + +>>> 1,2,3 +(1, 2, 3) + + +Meetup link: [https://www.meetup.com/bostonpython/events/36664122/](https://www.meetup.com/bostonpython/events/36664122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120110-january-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120110-january-python-project-night.md new file mode 100644 index 0000000..c786759 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120110-january-python-project-night.md @@ -0,0 +1,38 @@ +--- +title: January Python Project Night +sidebar_link: false +--- + +January 10, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/65zp4 + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Tuesday, January 10th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Jana (http://jana.com) (they enable global organizations to engage directly with emerging market consumers). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662072/](https://www.meetup.com/bostonpython/events/36662072/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120118-web-scraping-tutorial-and-beers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120118-web-scraping-tutorial-and-beers.md new file mode 100644 index 0000000..549383c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120118-web-scraping-tutorial-and-beers.md @@ -0,0 +1,26 @@ +--- +title: Web Scraping Tutorial, and beers +sidebar_link: false +--- + +January 18, 2012 + + +    + +For our presentation this month, Asheesh Laroia will preview his PyCon tutorial! + +Web scraping: Reliably and efficiently pulling data from pages that don't expect it + +Exciting information is trapped in web pages and behind HTML forms. In this lecture, you'll learn the basics of how to parse those pages and when to apply advanced techniques that make scraping faster and more stable. We'll cover parallel downloading with Twisted, gevent, and others; analyzing sites behind SSL; driving JavaScript-y sites with Selenium; and evading common anti-scraping techniques. + +This month's Boston Python talk is a preview of a tutorial that Asheesh Laroia will deliver at PyCon ( https://us.pycon.org/2012/schedule/presentation/317/ ). The format is 1h30min of fast-paced lecture, and 30 minutes for Q&A and feedback. (At PyCon, tutorials are a full three hours, so this will be somewhat abbreviated.) + +Pizza will be provided by Nokia. + +Afterwards we'll head over to Meadhall for drinks. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662312/](https://www.meetup.com/bostonpython/events/36662312/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md new file mode 100644 index 0000000..215dad2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md @@ -0,0 +1,28 @@ +--- +title: An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor +sidebar_link: false +--- + +January 25, 2012 + + +    + +An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor + +These three luminaries from Django, PyPy, and the Python world in general will be in town for an informal panel discussion. The discussion will be wide-ranging, authoritative, opinionated, illuminating, and entertaining. Bring any and all topics! A list of questions is growing at http://www.google.com/moderator/#16/e=1d669f . + +Jacob Kaplan-Moss is an original author of Django and is now a co-BDFL (https://www.djangoproject.com/foundation/) of the Django project. Frank Wiles is the founder of Revolution Systems and a longtime Open Source leader. Alex Gaynor is a prolific contributor to Django, PyPy, and the Python core. + +Revolution Systems and Lab305 have made the night possible by bringing everyone to Boston. + +Location: Room 32-155 in the Stata Center at MIT (http://whereis.mit.edu/?go=32), aka room 155 on the 1st floor of 32 Vassar Street. + +Video will be broadcast on http://www.ustream.tv/channel/bostonpython . + +Tonight's pizza is sponsored by Lab305 (http://www.lab305.com/). Kyruus (http://kyruus.com/home/) is sponsoring drinks at Meadhall after the event. Thanks Lab305 and Kyruus! + + +Meetup link: [https://www.meetup.com/bostonpython/events/48542762/](https://www.meetup.com/bostonpython/events/48542762/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120208-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120208-february-project-night.md new file mode 100644 index 0000000..21c6ea0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120208-february-project-night.md @@ -0,0 +1,36 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 08, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Wednesday, February 8th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by the Cloud Numerics group at MS NERD (http://www.microsoft.com/en-us/sqlazurelabs/labs/numerics.aspx). Thanks Cloud Numerics! + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662582/](https://www.meetup.com/bostonpython/events/36662582/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120222-pycon-on-the-charles-part-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120222-pycon-on-the-charles-part-1.md new file mode 100644 index 0000000..f6d9ddc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120222-pycon-on-the-charles-part-1.md @@ -0,0 +1,30 @@ +--- +title: PyCon on the Charles, part 1 +sidebar_link: false +--- + +February 22, 2012 + + +    + +PyCon 2012 is coming up in March in Santa Clara. In this first of two sessions, two Boston-area speakers will practice their presentations. If you can't make it to PyCon, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their presentations. + +Static analysis of Python extension modules using GCC, Dave Malcolm (Experienced) + +Want to analyse C/C++ code using Python? I've written a plugin for GCC that embeds Python inside the compiler, allowing you to write new C/C++ compilation passes in Python. I've used this to build a static analysis tool that understands the CPython extension API, and can automatically detect reference-counting bugs, and other errors. + +Through The Ether And Back Again: What Happens To A Packet When You Send It, Glyph Lefkowitz (Experienced) + +Many - perhaps even most - Python software involves a network, at least a little bit. You've probably written some yourself. But do you really know what happens - to your kernel, to your ethernet card, to Python - when you call socket.send()? Come to this talk and find out: if you dare. + +Lightning talks - Get in touch if you want to do a lightning talk, especially if you're planning one for PyCon! + +We will be streaming video on Ustream (http://www.ustream.tv/channel/bostonpython). + +Pizza will by provided by Red Hat. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36663002/](https://www.meetup.com/bostonpython/events/36663002/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120229-pycon-on-the-charles-part-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120229-pycon-on-the-charles-part-2.md new file mode 100644 index 0000000..1057f11 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120229-pycon-on-the-charles-part-2.md @@ -0,0 +1,30 @@ +--- +title: PyCon on the Charles, part 2 +sidebar_link: false +--- + +February 29, 2012 + + +    + +PyCon 2012 is coming up in March in Santa Clara. In this second of two sessions, four Boston-area speakers will practice their presentations. If you can't make it to PyCon, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their presentations. + +Stop Writing Classes, Jack Diederich (Intermediate) + +Classes are great but they are also overused. Classes must be nouns but not every noun must be a class. If your class only has two methods and one of them is __init__ you probably meant to write a function. This talk will describe examples of class overuse taken from real world code and refactor the unnecessary classes, exceptions, and modules out of them. + +Pragmatic Unicode, or, How do I stop the pain?, Ned Batchelder (Novice) + +Python has great Unicode support, but it's still your responsibility to handle it properly. I'll do a quick overview of what Unicode is, but only enough to get your program working properly. I'll describe strategies to make your code work, and keep it working, without getting too far afield in Unicode la-la-land. + +Diversity in practice: How the Boston Python Meetup grew to 1000 people and over 15% women, Jessica McKellar & Asheesh Laroia (Intermediate) + +How do you bring more women into programming communities with long-term, measurable results? In this talk we'll analyze our successful effort, the Boston Python Workshop, which brought over 200 women into Boston's Python community this year. We'll talk about lessons learned running the workshop, the dramatic effect it has had on the local user group, and how to run a workshop in your city. + +Pizza will be provided by HubSpot, first drinks at Meadhall by WebReply. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36663162/](https://www.meetup.com/bostonpython/events/36663162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120322-django-tools-and-crazy-things-new-location.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120322-django-tools-and-crazy-things-new-location.md new file mode 100644 index 0000000..3b5cb5f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120322-django-tools-and-crazy-things-new-location.md @@ -0,0 +1,55 @@ +--- +title: Django Tools and Crazy Things (New Location!) +sidebar_link: false +--- + +March 22, 2012 + + +    + +For our March meeting, we're in a new spot! Rue La La is providing the location, the food, and the drinks! We have two great speakers, RSVP at http://meetu.ps/81SQz . + +Frank Wiles: Django Developer's Survival Guide + +Frank will take us through a quick tour of the must have tools for the modern Django developer: South, Django Debug Toolbar, Celery, Fabric, Haystack, Tastypie, IPython, and so on. Frank runs Revolution Systems in Lawrence Kansas, and has built large Django projects for clients across the country. + +James Tauber: You Used Python for What?! + +Taking a break from his usual web development, James will give an overview of some of the more unusual things he's done with Python: from graded readers for Ancient Greek to analyzing piano performances; from emulating an Apple ][ to the beginnings of an operating system written in Python. James is the leader of the Pinax project, and runs Eldarion virtually from Burlington, MA. + +Plus, a Boston perspective on last week's PyCon 2012 in Santa Clara. + +Drinks and socializing included, in Rue La La's spacious headquarters. + +Getting to Rue La La: + +WALKING +From South Station (8 - 10 minutes): +Coming out of South Station, turn right onto Summer Street. Follow Summer Street over the bridge toward South Boston. Immediately following the bridge, you will see a building on your right with a sign for “Neighborhood Health Plan” and a convenience store. Take this right, down a stairwell that will take you parallel to the water. Follow this path all along the water. There will be a big parking lot on your left, and once you come to the far corner, take a left (you’ll be headed towards the brick buildings. This will take you to A Street, which runs right in front of the Channel Center. #20 is the building diagonally across the street to your right. + +From Broadway T Stop (8 - 10 minutes): +Coming out of the Broadway T stop, turn right onto W. Broadway. Follow W. Broadway to A Street. Make a left on A Street, and walk until you get to 20 Channel Center. The building is on the right-hand side of the street, and the entrance is about halfway down the building (you can enter on either side). + +DRIVING +GPS: If using GPS, we recommend entering “229 A Street”, as there is another Channel Street in Boston. + +From the North: +Follow I-93 South to exit 20A toward Purchase Street (signs for South Boston). Turn left at Summer Street, then right onto Melcher Street, and another right onto A Street. You will then take a left onto Iron Street and a left onto Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the South: +Follow I-93 North to exit 15 for Columbia Road, turn right at Columbia Road (signs for South Boston). At Kosciuszko Circle, take the 3rd exit onto Columbia Road/3A and follow it for 0.6 miles. At Columbia Road Rotary, take the 2nd exit onto Old Colony Avenue. Continue straight onto Dorchester Avenue then turn right onto A Street. You will then take a right onto Iron Street and a left at Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the West: +Follow I-90 East to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +From the East: +Follow I-90 West to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +Parking: +There are four lots to choose from. One small lot is directly attached to the Channel Center, at a rate of $12/day. This is primarily used by employees with monthly passes, but you can pay with a credit card or cash when you park. Across the street from the entrance is a large lot ($11), which accepts cash or check when you exit. Next to that lot on the right is a parking garage, which is $11/day ($10 if you’re in before 9 and out before 6). They only accept credit cards, and you’ll pay on your way out. + + +Meetup link: [https://www.meetup.com/bostonpython/events/56404642/](https://www.meetup.com/bostonpython/events/56404642/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..4edde66 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +March 30, 2012 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/42610202/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_6) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 4-237 on the main campus for both days of the event. See the venue section of the wiki (https://openhatch.org/wiki/Boston_Python_Workshop_6#Venue_and_Logistics) for directions and a map. + +Friday evening (3/30): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (3/31): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +Using the Twitter API to write parts of a Twitter client. Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/56754812/](https://www.meetup.com/bostonpython/events/56754812/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120412-april-project-night-with-designer-advice.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120412-april-project-night-with-designer-advice.md new file mode 100644 index 0000000..da301a5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120412-april-project-night-with-designer-advice.md @@ -0,0 +1,40 @@ +--- +title: April Project Night, with Designer advice! +sidebar_link: false +--- + +April 12, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. + +Our sponsor Matchbox (http://matchbox.net/) will bring along some designers who can give advice on your project! + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Thursday, April 12th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Matchbox (http://matchbox.net/)! + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175882/](https://www.meetup.com/bostonpython/events/51175882/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120424-fundamental-topics-iteration-and-classes.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120424-fundamental-topics-iteration-and-classes.md new file mode 100644 index 0000000..0fb4d7b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120424-fundamental-topics-iteration-and-classes.md @@ -0,0 +1,26 @@ +--- +title: Fundamental Topics - Iteration and Classes +sidebar_link: false +--- + +April 24, 2012 + + +    + +The April presentation night will have two tutorials on fundamental Python topics. These are aimed at beginners, to bring them up to speed on two important Python topics, but intermediate users will pick up details and gain a deeper understanding. Of course, all are welcome! + +Iteration, Ned Batchelder + +An important tool in any programming language is looping over a sequence of values. Python provides unusually rich support for iteration. Learning Python's iteration tools will give you a deeper understanding of the language, and let you use the language like a native. + +Classes, Anna Callahan & David Baumgold + +You can get a long way in Python without using classes, but classes are a powerful tool for organizing your programs. This topic will cover how to architect a complete program using object-oriented techniques. + +Pizza will be sponsored by Oracle, thanks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176162/](https://www.meetup.com/bostonpython/events/51176162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120508-may-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120508-may-project-night.md new file mode 100644 index 0000000..bb0486d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120508-may-project-night.md @@ -0,0 +1,38 @@ +--- +title: May Project Night +sidebar_link: false +--- + +May 08, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/9SPh0 + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Tuesday, May 8th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by The Creative Group (http://www.creativegroup.com) and Robert Half Technology (http://www.rht.com). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175912/](https://www.meetup.com/bostonpython/events/51175912/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120523-science-genes-satellites-and-lightning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120523-science-genes-satellites-and-lightning.md new file mode 100644 index 0000000..94e73b6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120523-science-genes-satellites-and-lightning.md @@ -0,0 +1,30 @@ +--- +title: Science - Genes, Satellites, and Lightning! +sidebar_link: false +--- + +May 23, 2012 + + +    + +A night of science, sponsored by Seven Bridge Genomics (http://sbgenomics.com) and Compete (http://compete.com). Two Boston-area PyCon poster presenters will tell us about their scientific work with Python: + +Clint Howarth, Millions of Genes with Python and Jython + +The Analysis and Annotation Engineering group at the Broad Institute uses cpython and jython as fundamental technologies to help sequence, analyze, and publish hundreds of bacterial and viral genomes every year. Clint will describe how his small team uses Python to accomplish big things. + +Tom Aldcroft, Keeping the Chandra satellite cool with Python and Xija + +The Chandra X-ray Observatory has been producing significant astronomical discoveries since its launch by NASA in July of 1999. The Chandra operations team uses Python for predictive thermal modeling of the spacecraft to maintain a safe thermal environment. Tom will describe the suite of modeling tools and how they take advantage of powerful packages like NumPy, mpi4py, PyTables, and PyGTK with embedded Matplotlib. + +We'll also have time for Lightning Talks: if you have something to share, and want to talk for 5-10 minutes, get in touch with me, especially if it's scientific! + +As if that's not enough, we'll raffle off some books. If you have any lightly-used books you want to donate, bring them and we'll add them to the pile. + +Pizza tonight is sponsored by Seven Bridges Genomics (http://sbgenomics.com). Afterward, we'll head over to Meadhall, with drinks by Compete (http://compete.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176182/](https://www.meetup.com/bostonpython/events/51176182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120604-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120604-june-project-night.md new file mode 100644 index 0000000..3d16e4d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120604-june-project-night.md @@ -0,0 +1,40 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 04, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food sponsored by Yieldbot (http://yieldbot.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/cjtk4 + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Monday, June 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Yieldbot (http://yieldbot.com). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175942/](https://www.meetup.com/bostonpython/events/51175942/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120620-june-presentation-distributed-computing-star-egg.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120620-june-presentation-distributed-computing-star-egg.md new file mode 100644 index 0000000..f948613 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120620-june-presentation-distributed-computing-star-egg.md @@ -0,0 +1,30 @@ +--- +title: (June Presentation) Distributed Computing - Star + Egg +sidebar_link: false +--- + +June 20, 2012 + + +    + +Two talks about lashing machines together to do big work! Sponsored by CloudLock and Rue La La. Tell your friends: http://meetu.ps/cXWmR + +StarCluster, Justin Riley + +StarCluster is a cluster computing toolkit for the cloud, developed in Python by The Software Tools for Academics and Researchers (STAR) group at MIT. StarCluster makes it easy to create and manage parallel and distributed computing clusters on Amazon's EC2. Additionally, a command line interface provides utilities for working with clusters, machines, and data volumes. StarCluster also exposes a Python plugin API that allows users to customize their systems beyond the defaults. StarCluster also includes public machine images, equipped with frameworks out-of-the-box including OpenMPI, OpenMP, Hadoop, (Py)CUDA, (Py)OpenCL, and IPython (parallel). + +In this talk I will give an overview of StarCluster and how to get started using it with these various parallel frameworks on real clusters in the cloud. I will also cover using StarCluster's Python plugin API to further configure a cluster and automate various workflows. + +Integrating Distributed Systems with Egg, Saul Youssef + +Egg is a python framework that lets you integrate distributed systems into a coherent whole. I'll talk about the rationale for egg and show how we're using it to manage a large (2.2PB, 3500 core) joint B.U./Harvard computer center. Egg is kind of perfect for "big data" applications if you're interested in that. I keep thinking that this has something to do with the security of the open internet too, but my friends think I'm crazy. We'll see... + +We may have time for a few lightning talks, get in touch if you want to give one! + +Pizza will be provided by CloudLock (http://cloudlock.com), and drinks afterwards at Meadhall by Rue La La (http://ruelala.com)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176262/](https://www.meetup.com/bostonpython/events/51176262/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120712-july-project-night-julython.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120712-july-project-night-julython.md new file mode 100644 index 0000000..231ef87 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120712-july-project-night-julython.md @@ -0,0 +1,40 @@ +--- +title: July Project Night - Julython! +sidebar_link: false +--- + +July 12, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food sponsored by Safari Books Online (http://www.safaribooksonline.com/)! + +July brings Julython (http://www.julython.org/), a friendly competition to increase activity in Python projects. Check it out and get your projects going! Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/fnn1C . + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, July 12th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Safari Books Online (http://www.safaribooksonline.com/). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175972/](https://www.meetup.com/bostonpython/events/51175972/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120724-building-real-windows-desktop-applications-with-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120724-building-real-windows-desktop-applications-with-python.md new file mode 100644 index 0000000..10b9008 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120724-building-real-windows-desktop-applications-with-python.md @@ -0,0 +1,22 @@ +--- +title: Building Real Windows Desktop Applications with Python +sidebar_link: false +--- + +July 24, 2012 + + +    + +Patrick Moran will tell us about building desktop applications with Python, sponsored by http://embed.ly and Jana (http://jana.com). Tell your friends: http://meetu.ps/g70Tz + +Have you ever wanted to distribute your Python script to a user that didn't have Python installed? It's not easy for non-Pythonists. Maybe you should consider making it into an installable "MSI" file. This talk will show how to build a stand-alone installable Windows MSI installer using a collection of open source tools such as PyQT, py2exe and Inno Setup. I will walk you through the installation, configuration and compilation steps needed to build a demonstration application. Bring your own code and play along too! + +We will have time for lightning talks, send an email to ned@nedbatchelder.com if you want 5-10 minutes to talk about any Python-related topic you like! Something you wrote? Something you found? Something you like? Something you hate? Now's your chance! + +Pizza will be provided by http://embed.ly , afterwards, we'll be at Meadhall, with drinks sponsored by Jana (http://jana.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176392/](https://www.meetup.com/bostonpython/events/51176392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120728-intermediate-python-workshop.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120728-intermediate-python-workshop.md new file mode 100644 index 0000000..2c14cc4 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120728-intermediate-python-workshop.md @@ -0,0 +1,38 @@ +--- +title: Intermediate Python Workshop +sidebar_link: false +--- + +July 28, 2012 + + +    + +Level up your Python through your choice of a dozen fun and practical projects. + +We’ll provide the projects and friendly helpers; you bring a laptop and enthusiasm. You’ll rotate through the projects that interest you at your own pace, and we’ll have breaks for demos of awesome Python libraries and applications. + +The Projects + +Our material is all online. Please visit our wiki for a detailed event description and the full list of projects. (https://openhatch.org/wiki/Intermediate_Python_Workshop) + +We'll have 4 styles of projects for you at this event: + +Practice writing Python programs from scratch. Learn a Python library through a bitesized project. Work through an online tutorial. Learn advanced CS concepts through an in-person interactive lecture. Projects include: + +Building a web application with Django Interacting with a database in Python Data analysis and plotting with Matplotlib Using the Twitter API Regular expressions and cheating at Words with Friends Building a graphical game with Pygame Prerequisites + +This event is perfect for you if: + +You know Python language basics, including dictionaries, lists, for loops, and writing functions You are comfortable with looking up Python information when you need it (example: if you needed to learn about generating random numbers in Python, you'd be comfortable with Googling for and reading through the relevant documentation) and at least one of the following is true: + +You want to practice writing programs in Python from scratch You want to learn about and practice more advanced Python/CS concepts, like classes and object-oriented programming You want to learn about and practice using useful Python libraries, for example to talk to a database, make graphs, or create graphical games If you are not sure if this event is appropriate for you, please check out the projects and get in touch with us (https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects)! + +Event schedule + +10:30am - 12:00pm: Projects 12:00pm - 12:45pm: Lunch: meet fellow Pythonistas over pizza (sponsored by the Python Software Foundation!) 12:45pm - 1:00pm: Demos 1pm - 2:30pm: Projects 2:30pm - 2:45pm: Demos 2:45pm - 4:15pm: Projects 4:15pm - 4:30pm: Wrap-up Questions? Please get in touch (bpw-staff@lists.openhatch.org)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/72888922/](https://www.meetup.com/bostonpython/events/72888922/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120809-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120809-august-project-night.md new file mode 100644 index 0000000..4df9a84 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120809-august-project-night.md @@ -0,0 +1,40 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 09, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided. Want to sponsor? Get in touch! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/fnn1C . + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, August 9th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176032/](https://www.meetup.com/bostonpython/events/51176032/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120822-giant-robots-and-lightning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120822-giant-robots-and-lightning.md new file mode 100644 index 0000000..da88b8b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120822-giant-robots-and-lightning.md @@ -0,0 +1,26 @@ +--- +title: Giant Robots, and Lightning +sidebar_link: false +--- + +August 22, 2012 + + +    + +Dan Cody will tell us about Project Hexapod + +Project Hexapod (http://projecthexapod.com) is building a giant robot, and it's powered by Python! Meet Stompy: An open-source, 18ft wide, 4,000 pound, 6-legged hydraulic robot that you can ride. We’re a team of 3 instructors, 1 TA, and 15 students based out of a makerspace in Somerville, Massachusetts called Artisan’s Asylum (http://artisansasylum.com/). We’ve spent the last four months running a class on how to design giant robots (http://rideablehexapod.eventbrite.com/), and Stompy is the end result. + +Note: there is no actual robot yet, but Dan will explain all the awesomeness of the project so far! + +And then we'll have time for a bunch of lightning talks. If you have something you want to talk about for 5-10 minutes, drop me a line (ned@nedbatchelder.com). + +Pizza will be provided, though we don't have a sponsor yet! We may have to pay for it ourselves... + +Afterwards, we'll be at Meadhall with drinks paid for by Hubspot (http://hubspot.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176452/](https://www.meetup.com/bostonpython/events/51176452/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120905-sept-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120905-sept-project-night.md new file mode 100644 index 0000000..c6dacfa --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120905-sept-project-night.md @@ -0,0 +1,40 @@ +--- +title: Sept Project Night +sidebar_link: false +--- + +September 05, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by CloudLock (http://cloudlock.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/jCTYj + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, September 5th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073162/](https://www.meetup.com/bostonpython/events/69073162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120927-100-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120927-100-lightning-talks.md new file mode 100644 index 0000000..8c04c71 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20120927-100-lightning-talks.md @@ -0,0 +1,22 @@ +--- +title: 100% Lightning talks +sidebar_link: false +--- + +September 27, 2012 + + +    + +Join us for a night of 100% lightning talks. A dozen or so topics, 5-10 minutes each, it will be fascinating! Currently, we have talks signed up ranging from image processing to energy to map/reduce to backward compatibility to dystopia and beyond! + +No promises, but we might have room for one or two more. Let me know if you are interested. + +Pizza will be sponsored by BitSight (http://bitsighttech.com). + +This would be an interesting night for the Python-curious to attend, tell your friends: http://meetu.ps/ld8Qz + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073242/](https://www.meetup.com/bostonpython/events/69073242/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121010-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121010-october-project-night.md new file mode 100644 index 0000000..1561ca6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121010-october-project-night.md @@ -0,0 +1,40 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 10, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by TalkTo (http://talkto.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/mngdx + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, October 10th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073402/](https://www.meetup.com/bostonpython/events/69073402/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121016-intro-to-django-special-location.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121016-intro-to-django-special-location.md new file mode 100644 index 0000000..56fc048 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121016-intro-to-django-special-location.md @@ -0,0 +1,58 @@ +--- +title: Intro to Django - *Special Location* +sidebar_link: false +--- + +October 16, 2012 + + +    + +Have you been wanting to learn how to use Django, the foremost web framework for Python? This is your chance! + +Kevin Grinberg will give an introduction to Django for those who have never used it. The first hour will be Kevin's presentation. The second hour you can use as you like: some of us will be holding an open-ended ask-anything Q&A, and others will be doing hands-on work on their own computers, with help from roving experts. + +What to bring: your Python language skills (beginners welcome!), and a fully-charged laptop if you want to do hands-on work. + +And of course there will be time for chatting and socializing, thanks to food and drink provided by Rue La La. They are also hosting us in their offices at 20 Channel Center in Boston in the Innovation District. Thanks, Rue La La! + +Where we'll be: We're meeting at Rue La La's offices at 20 Channel Center. There is (paid) parking in the complex, or at meters on the street. The building is a 10-minute walk from the Red Line. More details: + +WALKING + +From South Station (8 - 10 minutes): + +Coming out of South Station, turn right onto Summer Street. Follow Summer Street over the bridge toward South Boston. Immediately following the bridge, you will see a building on your right with a sign for “Neighborhood Health Plan” and a convenience store. Take this right, down a stairwell that will take you parallel to the water. Follow this path all along the water. There will be a big parking lot on your left, and once you come to the far corner, take a left (you’ll be headed towards the brick buildings. This will take you to A Street, which runs right in front of the Channel Center. #20 is the building diagonally across the street to your right. + +From Broadway T Stop (8 - 10 minutes): + +Coming out of the Broadway T stop, turn right onto W. Broadway. Follow W. Broadway to A Street. Make a left on A Street, and walk until you get to 20 Channel Center. The building is on the right-hand side of the street, and the entrance is about halfway down the building (you can enter on either side). + +DRIVING + +GPS: If using GPS, we recommend entering “229 A Street”, as there is another Channel Street in Boston. + +From the North: + +Follow I-93 South to exit 20A toward Purchase Street (signs for South Boston). Turn left at Summer Street, then right onto Melcher Street, and another right onto A Street. You will then take a left onto Iron Street and a left onto Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the South: + +Follow I-93 North to exit 15 for Columbia Road, turn right at Columbia Road (signs for South Boston). At Kosciuszko Circle, take the 3rd exit onto Columbia Road/3A and follow it for 0.6 miles. At Columbia Road Rotary, take the 2nd exit onto Old Colony Avenue. Continue straight onto Dorchester Avenue then turn right onto A Street. You will then take a right onto Iron Street and a left at Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the West: + +Follow I-90 East to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +From the East: + +Follow I-90 West to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +Parking: + +There are three lots to choose from. One small lot is directly across from Barlow’s on Binford Street. This is primarily used by employees with monthly passes. Across the street from the entrance is a large lot ($12), which accepts cash or check when you exit. Next to that lot on the right is a parking garage, which is $12/day ($10 if you’re in before 9 and out before 6). They only accept credit cards, and you’ll pay on your way out. + + +Meetup link: [https://www.meetup.com/bostonpython/events/73703392/](https://www.meetup.com/bostonpython/events/73703392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121101-november-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121101-november-project-night.md new file mode 100644 index 0000000..ac34333 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121101-november-project-night.md @@ -0,0 +1,40 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 01, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by edX (http://edx.org)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/nGBRz + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, November 1st. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/71319362/](https://www.meetup.com/bostonpython/events/71319362/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..b44db20 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +November 02, 2012 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/56754812/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 4-231 on the main campus for the first day of the event. See the venue section of the wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7#Venue_and_Logistics) for directions and a map. + +Friday evening (11/2): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (11/3): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects + +Using the Twitter API to write parts of a Twitter client. Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/88039732/](https://www.meetup.com/bostonpython/events/88039732/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121115-beyond-django-four-other-web-frameworks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121115-beyond-django-four-other-web-frameworks.md new file mode 100644 index 0000000..162bf7b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121115-beyond-django-four-other-web-frameworks.md @@ -0,0 +1,24 @@ +--- +title: Beyond Django - Four other web frameworks +sidebar_link: false +--- + +November 15, 2012 + + +    + +Note: I know this event conflicts with a Django Boston event, we are so sorry! We're working to make sure this doesn't happen again... + +Django is the most popular Python web framework, but there are lots of other choices. Tonight, four members will present overviews of some other options: + +David Baumgold: Flask Jason Michalski: Pyramid David Sturgis: twisted.web and Klein Ricardo Newbery: Zope and Plone We'll follow up with a free-ranging Q&A session about web frameworks in general, or whatever else comes to mind! + +Pizza is sponsored by Nuance (http://nuance.com). + +At Nuance, we’re the people who make voice work. We design and deliver intuitive technologies that help people live and work more intelligently. We provide the tools to inform, to connect, and to empower people to be more productive and creative. We give people more than just control over their communications. We give them command of their lives. + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073762/](https://www.meetup.com/bostonpython/events/69073762/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121204-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121204-december-project-night.md new file mode 100644 index 0000000..7c25e46 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121204-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 04, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/plxXd + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +We'll also have some books from O'Reilly to raffle off! + +Thanks to AppNeta for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:00pm - 9:00pm on Tuesday, December 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69757612/](https://www.meetup.com/bostonpython/events/69757612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121215-january-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121215-january-presentation-night.md new file mode 100644 index 0000000..f601c96 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20121215-january-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: January Presentation Night +sidebar_link: false +--- + +December 15, 2012 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/93611332/](https://www.meetup.com/bostonpython/events/93611332/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130107-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130107-january-project-night.md new file mode 100644 index 0000000..eb8d940 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130107-january-project-night.md @@ -0,0 +1,43 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 07, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/77937672/ + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Thanks to EnerNOC (http://www.enernoc.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, January 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/77937672/](https://www.meetup.com/bostonpython/events/77937672/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130124-january-presentation-night-zipline-and-hython.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130124-january-presentation-night-zipline-and-hython.md new file mode 100644 index 0000000..026d36d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130124-january-presentation-night-zipline-and-hython.md @@ -0,0 +1,26 @@ +--- +title: January Presentation Night - Zipline and Hython +sidebar_link: false +--- + +January 24, 2013 + + +    + +Two presentations, sponsored by edX (http://edx.org) and Kyruus (http://kyruus.com): + +Thomas Wiecki: Zipline + +Zipline is a new, BSD-licensed quantitative trading system which allows easy backtesting of investment algorithms on historical data. The system is fundamentally event-driven and a close approximation of how live-trading systems operate. Input of historical data and output of performance statistics is based on Pandas DataFrames to integrate nicely into the existing Python eco-system. Furthermore, statistic and machine learning libraries like matplotlib, scipy, statsmodels, and sklearn integrate nicely to support development, analysis and visualization of state-of-the-art trading systems. + +Paul Tagliamonte: Hython + +I've created a Lisp variant that's fully hosted on and fully interoperable (in both directions) with Python. This talk will cover the basics of creating and manipulating Python ASTs, as well as a good show of how far they can be pushed with some clever hacks. + +Pizza will be sponsored by edX (http://edx.org). Drinks afterwards at Meadhall sponsored by Kyruus (http://kyruus.com). Thanks to our sponsors! + + +Meetup link: [https://www.meetup.com/bostonpython/events/77229092/](https://www.meetup.com/bostonpython/events/77229092/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md new file mode 100644 index 0000000..31e6302 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md @@ -0,0 +1,36 @@ +--- +title: PyCon tutorial - A hands-on introduction to Python for beginning programmers +sidebar_link: false +--- + +January 26, 2013 + + +    + +In preparation for her PyCon tutorial, Jessica will rehearse it for Boston Python members. + +Jessica McKellar, A hands-on introduction to Python for beginning programmers (https://us.pycon.org/2013/schedule/presentation/1/) + +Beginning programmers: Jump start your Python and programming careers with this 3-hour interactive tutorial. By the end, you'll have hands-on exposure to many core programming concepts, be able to write useful Python programs, and have a roadmap for continuing to learn and practice programming in Python. This class assumes no prior programming experience. + +We'll cover: + +Python as a calculator Basic data types Interactive programs: input and output Making choices: booleans and flow control Lists and iteration Functions We'll also practice writing Python scripts, see demos of cool Python applications, and take a quick tour of popular Python libraries. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in MIT classroom 2-139, which is in Building 2 on the first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +The closest T stop is the Kendall T stop on the Red Line. The closest bus stop is the 84 Massachusetts Avenue stop on the #1. There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100277162/](https://www.meetup.com/bostonpython/events/100277162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md new file mode 100644 index 0000000..276a69f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md @@ -0,0 +1,46 @@ +--- +title: PyCon tutorial - Getting started with open source development +sidebar_link: false +--- + +February 02, 2013 + + +    + +In preparation for her PyCon tutorial, Jessica will rehearse it for Boston Python members. + +Jessica McKellar, Contribute with me! Getting started with open source development (https://us.pycon.org/2013/schedule/presentation/4/) + +Want to contribute to a Python project or the core language, but not sure where to start? + +Join us for 3 hours learning the nuts and bolts of open source contribution. By the end of this tutorial, you'll have the tools and practice to confidently contribute to your favorite projects. Give back to the community while making yourself a better software engineer. + +Beginning programmers are welcome and encouraged! + +We'll cover: + +the structure of an open source project the many ways to contribute the life cycle of a bug key development tools communication in an open source project During this tutorial, you'll get hands-on experience with: + +issue trackers, to report and track bugs the diff and patch utilities, to share your source code changes a revision control system, to collaboratively manage changes to projects IRC, to get and give help while contributing in real time testing and building Python projects We'll put these concepts and tools to practice by collaboratively reporting and fixing bugs in a demo Python project. + +We'll end with personalized next steps for getting started with open source projects that match your skills and interests. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in an MIT classroom, 2-139, which is in Building 2, first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +* The closest T stop is the Kendall T stop on the Red Line. +* The closest bus stop is the 84 Massachusetts Avenue stop on the #1. +* There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100330612/](https://www.meetup.com/bostonpython/events/100330612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md new file mode 100644 index 0000000..9eed7f5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md @@ -0,0 +1,42 @@ +--- +title: PyCon tutorial - Intermediate Twisted - Test-Driven Networking Software +sidebar_link: false +--- + +February 02, 2013 + + +    + +In preparation for his PyCon tutorial, Itamar will rehearse it for Boston Python members. + +Itamar Turner-Trauring, Intermediate Twisted: Test-Driven Networking Software (https://us.pycon.org/2013/schedule/presentation/15/) + +Unit testing is one of the most important methods for building more reliable, robust software; test-driven development, where tests are written first, even more so. But testing network applications presents additional difficulties: + +Data can arrive over the network with arbitrary delays, in arbitrary chunks, Connections can break at random, Timeouts are an important feature, but a unittest that takes 2 hours to pass is unacceptable, Relying on actual networking for tests leads to more fragile tests, etc. In order to deal with these issues, the Twisted event-driven networking framework provides an extensive set of functionality for testing, making it an excellent choice for building reliable applications. + +This tutorial aims to teach you how to write well-tested network applications with Twisted using a series of hands-on exercises. We will begin with a quick lecture on how to test Twisted code. Then you will get your hands dirty coding by trying to make a provided set of tests pass; the result will be a toy HTTP server. For the final exercise, you will need to come up with the list of tests yourself, as you would in real world development. + +Prerequisites: Intermediate knowledge of Python: classes, functions, etc.. A basic understanding of Twisted (protocols, transports, Deferreds), e.g. as provided by the introductory Twisted tutorial. Previous experience with other event-driven frameworks may suffice, however, given enough programming experience. Some experience with the unittest module would also be very helpful. + +Please arrive with a laptop configured with a recent version of Twisted (12.2 or later) and Python 2.7. Ubuntu, Debian or some other version of Linux or Unix (e.g. OS X) is highly recommended, but not necessary. If you’re using Windows please make very very sure you have a Twisted development environment set up before the class has started; in particular you should be able to run the trial command-line program. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in an MIT classroom, 2-135, which is in Building 2, first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +* The closest T stop is the Kendall T stop on the Red Line. +* The closest bus stop is the 84 Massachusetts Avenue stop on the #1. +* There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100333602/](https://www.meetup.com/bostonpython/events/100333602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130205-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130205-february-project-night.md new file mode 100644 index 0000000..7dca07f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130205-february-project-night.md @@ -0,0 +1,43 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/77939352/ + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Thanks to Digitas (http://digitas.com/) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, February 5th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/77939352/](https://www.meetup.com/bostonpython/events/77939352/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130225-pycon-on-the-charles-part-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130225-pycon-on-the-charles-part-1.md new file mode 100644 index 0000000..95d6295 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130225-pycon-on-the-charles-part-1.md @@ -0,0 +1,24 @@ +--- +title: PyCon on the Charles, part 1 +sidebar_link: false +--- + +February 25, 2013 + + +    + +In preparation for their presentations at PyCon US, Jessica and Nate will rehearse with us! Thanks to Smarterer (http://smarterer.com) for sponsoring the night. + +Jessica McKellar: Keynote [All Levels] + +Jessica is a director of the Python Software Foundation, and will be speaking inspirationally about Python. + +Nate Aune: Deploy your Python app in 5 min with a PaaS [Intermediate] + +How can you avoid servers and get back to coding? Platform-as-a-service (PaaS) makes deployment easy. But which PaaS do you choose and how do you get started? This talk will examine several of the leading PaaS providers and discuss their pros/cons. We'll also give examples for how to deploy the same app to each of them to see the differences. + + +Meetup link: [https://www.meetup.com/bostonpython/events/76032852/](https://www.meetup.com/bostonpython/events/76032852/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130227-pycon-on-the-charles-part-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130227-pycon-on-the-charles-part-2.md new file mode 100644 index 0000000..19246c7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130227-pycon-on-the-charles-part-2.md @@ -0,0 +1,28 @@ +--- +title: PyCon on the Charles, part 2 +sidebar_link: false +--- + +February 27, 2013 + + +    + +In preparation for their presentations at PyCon US, Ned, David, and James will rehearse with us! Thanks to Arista Networks and ZEFR (http://zefr.com) for sponsoring the evening. + +Ned Batchelder: Loop like a native [Novice] + +Python provides powerful primitives for iterating over your data in ways that let you express yourself clearly and directly. But even programmers familiar with the tools don't use them as fully as they could. This talk will cover Python's iteration tools, from basic loops to generators and how to add iteration to your own classes. Come learn how looping was meant to be! + +David Malcolm: Death by a thousand leaks: what statically-analysing 370 Python extensions looks like [Experienced] + +What happens when you run a custom C static analysis tool ("cpychecker") on hundreds of Python extensions? I'll talk about the kinds of errors that my tool found, how to run it on your own code, and how to prevent memory leaks and crasher bugs in the C code of your Python extension modules. + +James Tauber: Music Theory and Performance Analysis with Sebastian and Czerny [Novice] + +This talk will discuss two open source projects for using Python for music analysis. Sebastian focuses on music theory while Czerny focuses on performance (particularly keyboard playing). + + +Meetup link: [https://www.meetup.com/bostonpython/events/76034482/](https://www.meetup.com/bostonpython/events/76034482/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130307-pycon-on-the-charles-part-3.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130307-pycon-on-the-charles-part-3.md new file mode 100644 index 0000000..6886da9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130307-pycon-on-the-charles-part-3.md @@ -0,0 +1,28 @@ +--- +title: PyCon on the Charles, part 3 +sidebar_link: false +--- + +March 07, 2013 + + +    + +In preparation for their presentations at PyCon US, Jessica, Stephen, and James will rehearse with us! Thanks to Quantopian and EnerNOC (http://enernoc.com) for sponsoring the evening. + +Jessica McKellar: How the Internet Works [Novice] + +This talk is an introduction to the Internet's structure and protocols through fun experiments from the Python perspective. We'll use Python libraries like Scapy and Twisted to explore what happens at a networking level as you surf the Web, how coffee shop Internet access works, and more. + +Stephen McJohn: Python's Law [Novice] + +Open source software is changing intellectual property law. The talk would cover recent cases on what elements of software may be copied without infringing copyright, the scope of software patents, enforceability of licenses, damages for copyright infringement, and how the network of community support for projects such as Python may be more potent in litigation than a patent portfolio. + +James Tauber: ApplePy: An Apple ][ emulator in Python [Intermediate] + +ApplePy is an Apple ][ emulator written in Python. It combines emulation of the 6502 microprocessor with emulation of the keyboard, display (including graphics mode), speaker, cassette and disk drive. This talk will provide a background to Apple ][ internals then dive into the Python code and the challenges of emulating hardware. + + +Meetup link: [https://www.meetup.com/bostonpython/events/76035042/](https://www.meetup.com/bostonpython/events/76035042/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130409-april-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130409-april-project-night.md new file mode 100644 index 0000000..71802b7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130409-april-project-night.md @@ -0,0 +1,43 @@ +--- +title: April Project Night +sidebar_link: false +--- + +April 09, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/87982382/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to Enernoc (http://enernoc.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, April 9th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/87982382/](https://www.meetup.com/bostonpython/events/87982382/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130413-cpython-development-sprint-for-new-contributors.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130413-cpython-development-sprint-for-new-contributors.md new file mode 100644 index 0000000..eabd9e9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130413-cpython-development-sprint-for-new-contributors.md @@ -0,0 +1,32 @@ +--- +title: CPython development sprint for new contributors +sidebar_link: false +--- + +April 13, 2013 + + +    + +Please read the full event description below for instructions on how to sign up. + +Want to contribute to Python? Join us for a 1-day development sprint on the CPython language implementation and standard library. This event is focused specifically on new contributors to the language! Several committers and experienced contributors will be with us to help with the mechanics of the contribution process as we triage tickets and make progress on bugs. + +Our goal is for everyone to have submitted at least one patch by the end of the event! + +When: 11am - 5pm on Saturday, April 13th, 2013 + +Where: MIT, room 4-159 + +Prerequisite: attendees must have at least 1 previous open source contribution experience + +Schedule: + +overview of the contribution process, gotchas, pro tips, Q&A on points of confusion pick tickets, start working on them lunch, provided by the Python Software Foundation Sprints Committee! more work on tickets wrap up Because this event has both high demand and prerequisites, instead of using meetup.com's first-come, first-serve model we are going to draw attendees from a lottery of those who meet the prerequisites. To sign up for this event, please complete this short form: + +http://bit.ly/boston-python-sprint + + +Meetup link: [https://www.meetup.com/bostonpython/events/112582582/](https://www.meetup.com/bostonpython/events/112582582/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130424-parsing-with-ply-and-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130424-parsing-with-ply-and-lightning-talks.md new file mode 100644 index 0000000..f1d6d27 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130424-parsing-with-ply-and-lightning-talks.md @@ -0,0 +1,26 @@ +--- +title: Parsing with PLY *and* LIGHTNING TALKS +sidebar_link: false +--- + +April 24, 2013 + + +    + +We have a short presentation about PLY, and then LIGHTNING TALKS. Thanks to CustomMade (http://custommade.com) for sponsoring pizza, and Carbonite for sponsoring drinks afterwards! + +Parsing with PLY, Johnny Healey + +This talk will provide an introduction to PLY, a python-based implementation of lex and yacc. There will be a brief summary of what lexer and parser generators are and when they are appropriate to use. The talk will then proceed into a tutorial of how PLY can be used to construct a parser. Demonstration examples will revolve around the creation of a simple engine for processing the bbcode markup language. + +LIGHTNING TALKS + +We have a variety of lightning talks planned, including: + +Making snowflakes with Python Check.io Descriptors Blood Analysis Economic simulation with open government data Python anti-patterns And more... I don't know how many we'll be able to squeeze in, but it should be a great night! We'll be doing more lightning talks at future events, so if your talk doesn't fit, don't worry, there will be more opportunities. + + +Meetup link: [https://www.meetup.com/bostonpython/events/89590252/](https://www.meetup.com/bostonpython/events/89590252/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130506-may-project-night-different-location.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130506-may-project-night-different-location.md new file mode 100644 index 0000000..5132926 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130506-may-project-night-different-location.md @@ -0,0 +1,43 @@ +--- +title: May Project Night - DIFFERENT LOCATION +sidebar_link: false +--- + +May 06, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. UNUSUAL LOCATION: Akamai, 8 Cambridge Center + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/92264042/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to Akamai (http://akamai.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday May 6th. + +Location: Akamai + +8 Cambridge Center, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/) Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/92264042/](https://www.meetup.com/bostonpython/events/92264042/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md new file mode 100644 index 0000000..48330e9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md @@ -0,0 +1,28 @@ +--- +title: May Presentation Night - Kenneth Reitz, Python for Humans +sidebar_link: false +--- + +May 21, 2013 + + +    + +For our May speaker, we have a real treat! Kenneth Reitz is a luminary in the Python world, and a prized speaker at any Python conference. Thanks to Heroku (http://heroku.com) and Rue La La (http://ruelala.com) for sponsoring. + +Python for Humans, Kenneth Reitz + +Python’s ecosystem is held up to a high standard, but it falls short in a few key areas. A handful of crucial APIs are an absolute pain to work with. We’ll go over where these APIs went wrong and learn about strong and elegant API design, with particular attention to HTTP requests. The high barriers to entry in Python will be discussed. Potential solutions will be proposed. + +We'll also have a broad-topic Q+A discussion. + +Then, a few Lightning Talks! + +Pizza is sponsored by Rue La La. + +Heroku has provided Kenneth and drinks afterwards at Meadhall! + + +Meetup link: [https://www.meetup.com/bostonpython/events/98911382/](https://www.meetup.com/bostonpython/events/98911382/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130525-intermediate-python-workshop-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130525-intermediate-python-workshop-2.md new file mode 100644 index 0000000..1eb1407 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130525-intermediate-python-workshop-2.md @@ -0,0 +1,50 @@ +--- +title: Intermediate Python Workshop 2 +sidebar_link: false +--- + +May 25, 2013 + + +    + +What: Intermediate Python Workshop: level up your Python through self-paced practice on short, fun, practical projects. + +When: Saturday, May 25th, 10:30am - 4:00pm + +Where: MIT, room 56-154 + +Things to bring: a wifi-capable laptop and power cord + +Questions: e-mail us! + +Level up your Python through your choice of a dozen fun and practical projects. + +We’ll provide the projects and friendly helpers; you bring a laptop and enthusiasm. You’ll rotate through the projects that interest you at your own pace, and we’ll have breaks for demos of awesome Python libraries and applications. + +The Projects + +Our material is all online. Please visit our wiki for a detailed event description and the full list of projects (https://openhatch.org/wiki/Intermediate_Python_Workshop_2). + +We'll have 3 styles of projects for you at this event: + +Practice writing Python programs from scratch. Learn a Python library through a bite-sized project. Work through an online tutorial. Projects include: + +Building a web application with Django Interacting with a database in Python Data analysis and plotting with Matplotlib Using the Twitter API Regular expressions and cheating at Words with Friends Building a graphical game with PyGame Prerequisites + +This event is perfect for you if: + +You know Python language basics, including dictionaries, lists, for loops, and writing functions You are comfortable looking up Python information when you need it (example: if you needed to learn about generating random numbers in Python, you'd be comfortable with Googling for and reading through the relevant documentation) and at least one of the following is true: + +You want to practice writing programs in Python from scratch You want to learn about and practice more advanced Python/CS concepts, like classes and object-oriented programming You want to learn about and practice using useful Python libraries, for example to talk to a database, make graphs, or create graphical games If you are not sure if this event is appropriate for you, please check out the projects and get in touch with us (https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects)! + +Event schedule + +10:30am - 12:00pm: Projects 12:00pm - 12:45pm: Lunch 12:45pm - 1:00pm: Demos 1:00pm - 2:30pm: More projects 2:30pm - 4:00pm: Even more projects! Things to bring + +a wifi-capable laptop on which you have the administrative rights to install software the laptop's charger Questions? Please get in touch! + + +Meetup link: [https://www.meetup.com/bostonpython/events/119501112/](https://www.meetup.com/bostonpython/events/119501112/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130605-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130605-june-project-night.md new file mode 100644 index 0000000..0cf24cc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130605-june-project-night.md @@ -0,0 +1,43 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. We're back at our usual location, Microsoft NERD, 1 Memorial Drive, Cambridge + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://www.meetup.com/bostonpython/events/101472372/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to ClearBallot (http://clearballot.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday June 5th. + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/) Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/101472372/](https://www.meetup.com/bostonpython/events/101472372/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130625-machine-learning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130625-machine-learning.md new file mode 100644 index 0000000..577f07a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130625-machine-learning.md @@ -0,0 +1,32 @@ +--- +title: Machine Learning +sidebar_link: false +--- + +June 25, 2013 + + +    + +Three talks about Machine Learning, sponsored by Ab Initio (http://abinitio.com) and Bullhorn (http://bullhorn.com). + +Nelle Varoquaux: Working on a machine learning challenge with sklearn + +Analysing data is hard. You have to normalize the data, extract the features, and choose and (sometimes) implement the right algorithm to perform the correct analysis. More and more, companies outsource this problem to data analysists (and geeks) in the form of challenges. In this talk, I will present tips and tricks to solve such a challenge using the machine learning toolbox scikit-learn. I will give concrete examples from several bioinformatics challenges. + +Michael Selik: Why Big Data? + +Many articles assert that Big Data will create value, but few if any explain why. Michael Selik will discuss different characteristics of data (volume, velocity, and variety), when each is valuable, and how to extract that value even if you're not a machine learning expert. + +Vik Paruchuri: edX Ease and Discern + +EdX runs MOOCs (Massive Open Online Courses), and uses machine learning to grade student essays. All our code is open-source, including the grading code, and we have open APIs for you to use our ML engine. I'll describe how it works, and how you can use it for your own machine learning tasks. + +Pizza is sponsored by Ab Initio, with drinks at Meadhall afterward sponsored by Bullhorn. + +We'll also be live-streaming the evening at http://youtube.com/bostonpython. + + +Meetup link: [https://www.meetup.com/bostonpython/events/107649802/](https://www.meetup.com/bostonpython/events/107649802/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130701-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130701-july-project-night.md new file mode 100644 index 0000000..5542a0a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130701-july-project-night.md @@ -0,0 +1,42 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 01, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thank you Riverbed (http://riverbed.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, July 1st. + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/114712842/](https://www.meetup.com/bostonpython/events/114712842/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..f82cc13 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,44 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +July 12, 2013 + + +    + +What: Learn and practice Python basics with this project-driven workshop! + +When: Friday, July 12th, 6pm - 9pm, and Saturday, July 13th, 10am - 3:30pm + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://www.meetup.com/bostonpython/events/88039732/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the previous Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. The exact room is TBA. + +Friday evening (7/12): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (7/13): lecture and projects + +10am - noon: lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 3pm: projects. 3pm - 3:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects + +Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/127748182/](https://www.meetup.com/bostonpython/events/127748182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130730-lightning-talks-for-july.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130730-lightning-talks-for-july.md new file mode 100644 index 0000000..90baec4 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130730-lightning-talks-for-july.md @@ -0,0 +1,20 @@ +--- +title: Lightning Talks for July +sidebar_link: false +--- + +July 30, 2013 + + +    + +An evening of all lightning talks, 5-10 minutes each, on a wide range of topics. The night is sponsored by CustomMade. + +Topics: + +Jenny Cheng, Sewing patterns with PIL Chris Naughton, Using Python to make Java homework fun Ghinwa F. Choueiter, 5 cool things about Pandas Mike Speciner, What I don't like about Python George Schneeloch, Static analysis options for Python Mali Akmanalp, Simpleflake Samantha Scharr, My Django app Muthu Annamalai, Tamil twitter API programs Christopher White, FlyScript portal John Baldwin, Testing with SQLsoup We'll also have some books to raffle off, and Meadhall for drinks afterwards. The talks will be livestreamed on http://youtube.com/bostonpython. + + +Meetup link: [https://www.meetup.com/bostonpython/events/112763272/](https://www.meetup.com/bostonpython/events/112763272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130820-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130820-august-project-night.md new file mode 100644 index 0000000..7d11053 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130820-august-project-night.md @@ -0,0 +1,40 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 20, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Kensho Finance (http://kenshofinance.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, August 20th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/120413472/](https://www.meetup.com/bostonpython/events/120413472/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130828-four-talks-about-flask.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130828-four-talks-about-flask.md new file mode 100644 index 0000000..108702f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130828-four-talks-about-flask.md @@ -0,0 +1,18 @@ +--- +title: Four talks about Flask +sidebar_link: false +--- + +August 28, 2013 + + +    + +Flask is a small powerful Python web framework that is gaining in popularity. Tonight we have four talks about sophisticated uses of Flask: + +Isaac Slavitt, Writing Flask Apps for Fun and Politics Brendan Kohler, Rate limiting your APIs Freedom Dumlao, Building a Flask extension Mali Akmanalp, Chassis, a "batteries included" boilerplate flask project Thanks to Cogo Labs (http://cogolabs.com) for sponsoring the pizza, and to Smarterer (http://smarterer.com) for buying drinks at Meadhall afterwards. The talks will be recorded and livestreamed at http://youtube.com/bostonpython thanks to Custom Made (http://custommade.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/114714422/](https://www.meetup.com/bostonpython/events/114714422/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130909-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130909-september-project-night.md new file mode 100644 index 0000000..298b1f4 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130909-september-project-night.md @@ -0,0 +1,40 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 09, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to FlipKey (http://flipkey.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday September 9th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by FlipKey! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/119805122/](https://www.meetup.com/bostonpython/events/119805122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130923-fundamental-topics-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130923-fundamental-topics-night.md new file mode 100644 index 0000000..cf49fda --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20130923-fundamental-topics-night.md @@ -0,0 +1,38 @@ +--- +title: Fundamental topics night +sidebar_link: false +--- + +September 23, 2013 + + +    + +Welcome to another installment of our Fundamental Topics series, thanks to InsightSquared and Solano Labs for sponsoring! + +All of the talks at this event are perfect for motivated beginners and intermediate programmers looking to level up their Python and programming skills through a mix of theoretical and practical topics. + +The talks will be live-streamed and recorded and available at http://youtube.com/bostonpython. Thanks to CustomMade for making it happen! + +Tonight we'll cover: + +1. Names and values (Ned Batchelder) + +Ned will make us all experts with the ins and outs of assignment. Learn about mutable and immutable data types, and why this bit of code behaves the way it does: +nums = [1, 2, 3] +tri = nums +nums.append(4) +print(tri) +2. Basic data structures and analyzing algorithmic complexity (Jessica McKellar) +When should you use a dictionary versus a list, tuple, or set? Have you ever written code that seems like it should run quickly but takes forever? We'll break down what data structures are efficient for various use cases and practice analyzing the runtime complexity of our algorithms. +3. Virtualenv and pip (Giles Hall) +virtualenv creates isolated Python environments, so you can work on multiple projects simultaneously without causing problems in one project by upgrading or uninstalling Python packages for another. +pip is a tool for installing Python libraries. +Giles will help us master both of these tools and develop a clean routine for starting new projects. +4. How to find answers to your questions (Deb Nicholson) +90% of programming is knowing how to confidently and efficiently find answers to your questions! + + +Meetup link: [https://www.meetup.com/bostonpython/events/120746442/](https://www.meetup.com/bostonpython/events/120746442/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131014-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131014-october-project-night.md new file mode 100644 index 0000000..afe4853 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131014-october-project-night.md @@ -0,0 +1,40 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 14, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to U Lived It (http://ulivedit.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday October 14th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by U Lived It (http://ulivedit.com)! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/127234242/](https://www.meetup.com/bostonpython/events/127234242/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131029-helper-languages.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131029-helper-languages.md new file mode 100644 index 0000000..74af9fd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131029-helper-languages.md @@ -0,0 +1,30 @@ +--- +title: Helper Languages +sidebar_link: false +--- + +October 29, 2013 + + +    + +Python is great, but you often need help to get the full job done. Tonight, with sponsorship from Red Hat (http://redhat.com) and Rue La La (http://ruelala.com), we cover three helper languages that make great additions to your toolbox. These talks are all beginner-friendly, don't be scared! + +SQL, David Baumgold + +SQL is the query language underlying all relational databases. Many Python frameworks let you avoid the details of SQL, but understanding how it works gives you greater power, even if you are using a framework. + +CSS+HTML, Frances Botsford and Brian Talbot + +HTML is simple and easy to get started with, but as your pages get more complex, it's easy for things to get out of hand. Separating the form from the appearance with CSS gives you more control and more power. + +Regexes, Jessica McKellar + +Matching patterns in text is a common job, from data import to routing URLs. Regular Expressions (regexes) give you a succinct way to express patterns, but they can seem mystifying at first. They aren't as tricky as they look, and you'll find uses for them in lots of places. + +Thanks to Red Hat (http://redhat.com) for sponsoring the pizza, and to Rue La La (http://ruelala.com) for buying drinks at Meadhall afterwards. The talks will be recorded and livestreamed at http://youtube.com/bostonpython thanks to Custom Made (http://custommade.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/131802142/](https://www.meetup.com/bostonpython/events/131802142/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131114-november-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131114-november-project-night.md new file mode 100644 index 0000000..aa25ad1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131114-november-project-night.md @@ -0,0 +1,54 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 14, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Akamai (http://akamai.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, November 14th + +Location: Akamai Technologies + +8 Cambridge Center, Cambridge, 02142 + +Food: Pizza will be provided by Akamai (http://akamai.com)! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/149945212/](https://www.meetup.com/bostonpython/events/149945212/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131120-data-good-tools-bad-journals.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131120-data-good-tools-bad-journals.md new file mode 100644 index 0000000..4e0cf20 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131120-data-good-tools-bad-journals.md @@ -0,0 +1,26 @@ +--- +title: Data! Good tools, Bad journals +sidebar_link: false +--- + +November 20, 2013 + + +    + +Come hear about good tools and bad journals! Thanks to Continuum (http://continuum.io) and Scout (http://goscoutgo.com) for sponsoring the night. + +Ian Stokes-Rees: Wakari, Blaze, and Bokeh: scalable, multi-user IPython, NumPy, and Interactive Graphics + +We're pretty obsessed with Python-centric data analytics, and figuring out how to do this well led to the creation of Continuum Analytics. This talk will tell you about three pieces of that puzzle we have developed over the past year: Wakari, a web based analytics platform, leveraging IPython and IPython Notebook; Blaze, a next generation NumPy; and Bokeh, providing interactive data visualization. All are available now for free as services or open source projects. + +John Bohannon: Finding bogus science journals with Python + +The task? Submit hundreds of fake scientific papers to fee-charging open access research journals to reveal how many are breaking their promise to do peer review. (http://www.sciencemag.org/content/342/6154/60/suppl/DC1) The result? 60%. The tool that did the job? Python! + +Pizza will be provided, thanks to Continuum, and afterwards, drinks at Meadhall thanks to Scout! The talks will be livestreamed and archived at http://youtube.com/bostonpython thanks to CustomMade (http://custommade.com)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/136007682/](https://www.meetup.com/bostonpython/events/136007682/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131205-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131205-december-project-night.md new file mode 100644 index 0000000..9ae5aaf --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20131205-december-project-night.md @@ -0,0 +1,54 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to VMware (http://vmware.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, December 5th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by VMware! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/153304612/](https://www.meetup.com/bostonpython/events/153304612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140120-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140120-january-project-night.md new file mode 100644 index 0000000..8c36183 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140120-january-project-night.md @@ -0,0 +1,54 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 20, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Quantopian (http://quantopian.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, January 20th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by Quantopian! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/143563952/](https://www.meetup.com/bostonpython/events/143563952/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140128-historic-python-and-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140128-historic-python-and-lightning-talks.md new file mode 100644 index 0000000..4c1415c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140128-historic-python-and-lightning-talks.md @@ -0,0 +1,20 @@ +--- +title: Historic Python, and Lightning Talks +sidebar_link: false +--- + +January 28, 2014 + + +    + +Jean Bauer is a Digital Humanities Librarian at Brown University, speaking about using Python for history! Thanks to Turbine (http://turbine.com) for sponsoring the night. + +Ever wonder about transcontinental information networks before the telegraph? Do you like the idea of Thomas Jefferson buying shoes for Abigail Adams? Then you might be interested in Project Quincy (http://projectquincy.org), the Django/MySQL software package that powers The Early American Foreign Service Database (http://eafsd.org) and allows historians to trace social and information networks over time and space. Jean will talk about how her work in Python is allowing historians to find new connections using databases, manuscripts, interactive visualizations, and even some old fashioned shoe leather. Project Quincy was originally written in Ruby on Rails, so this is also a conversion narrative! + +We also have a handful of lightning talks on ocean science, fixing Unicode, and other topics. + + +Meetup link: [https://www.meetup.com/bostonpython/events/146327392/](https://www.meetup.com/bostonpython/events/146327392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md new file mode 100644 index 0000000..9b8ce3f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md @@ -0,0 +1,38 @@ +--- +title: PyCon rehearsal - A hands-on introduction to Python for beginning programmers +sidebar_link: false +--- + +February 15, 2014 + + +    + +Beginning programmers: jumpstart your Python and programming careers with this 3-hour interactive tutorial. + +By the end, you'll have hands-on exposure to many core programming concepts, be able to write useful Python programs, and have a roadmap for continuing to learn and practice programming in Python. + +This tutorial assumes no prior programming experience. + +We'll cover: + +• Python as a calculator + +• Basic data types + +• Interactive programs: input and output + +• Making choices: booleans and flow control + +• Lists and loops + +• Functions + +We'll also practice writing Python scripts, see demos of cool Python applications, and take a quick tour of popular Python libraries. + +By the end of this tutorial, you'll be in great shape to continue learning Python through longer-form resources and start working on your own Python projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/165036402/](https://www.meetup.com/bostonpython/events/165036402/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140220-february-presentation-night-football-cycles-red-line.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140220-february-presentation-night-football-cycles-red-line.md new file mode 100644 index 0000000..a8a7672 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140220-february-presentation-night-football-cycles-red-line.md @@ -0,0 +1,24 @@ +--- +title: February Presentation Night - Football, Cycles, Red Line +sidebar_link: false +--- + +February 20, 2014 + + +    + +Tonight we have three talks, sponsored by WorkMob (http://workmob.com). + +Bill Mill, Choosing Your Fantasy Football Team with IPython. Want a winning football team? Analyze the stats to assemble the best players, using IPython notebook. + +Edmund Jorgenson, Shortening your dev-cycle time with Python. Edmund has tools and workflow he uses to reduce the time to develop his software. + +Allen Downey, The Red Line problem. Allen uses statistics and Python to predict the time until the next train arrives, based on the number of passengers on the platform. + +Pizza will be provided by WorkMob (http://workmob.com). Afterwards, we'll head to Meadhall for drinks, sponsored by Zefr (http://zefr.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/144809982/](https://www.meetup.com/bostonpython/events/144809982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140226-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140226-february-project-night.md new file mode 100644 index 0000000..e727727 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140226-february-project-night.md @@ -0,0 +1,56 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 26, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, February 26th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided! + +Things to bring: a wireless-enabled laptop and power cord. + +Also: we'll have more Python puzzles, and giveaways (O'Reilly books and a hardware goodie from Ab Initio). + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/146327142/](https://www.meetup.com/bostonpython/events/146327142/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md new file mode 100644 index 0000000..e778931 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md @@ -0,0 +1,30 @@ +--- +title: PyCon tutorial - analyzing science problems with Python +sidebar_link: false +--- + +March 02, 2014 + + +    + +How to formulate a (science) problem and analyze it using Python code + +When: 9:30am - 12:30pm + +Where: MIT, room 3-133 + +Things to bring: laptop and charger + +Instructor: Eric Ma + +Are you interested in doing analysis using Python but don't know where to start? Then this tutorial is for you! + +You've probably heard about how great Pandas and iPython are for doing data analysis. However, you probably aren't sure where to get started. That was the exact same place I was when I first heard about how to do data analysis in Python. It was even more challenging having only a single undergraduate class (5 years ago) in programming and only self-taught coding experience elsewhere. + +In this tutorial, I aim to guide the class through the process of doing data analysis, from problem formulation to coding to deriving conclusions. I will be emphasizing one underrepresented yet crucial step that typically does not get discussed in most workshops, that is the step of translating the problem into a series of computable steps using data structures that are amenable to analysis. + + +Meetup link: [https://www.meetup.com/bostonpython/events/166476902/](https://www.meetup.com/bostonpython/events/166476902/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md new file mode 100644 index 0000000..26946ee --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md @@ -0,0 +1,56 @@ +--- +title: PyCon tutorial - Getting started with open source development +sidebar_link: false +--- + +March 02, 2014 + + +    + +Contribute with me! Getting started with open source development + +When: Sunday, March 2nd, 1pm - 4pm + +Where: MIT, room 3-133 + +Things to bring: laptop and charger + +Instructor: Jessica McKellar + +Want to contribute to a Python project or the core language, but not sure where to start? + +Join us for 3 hours learning the nuts and bolts of open source contribution. By the end of this tutorial, you'll have the tools and practice to confidently contribute to your favorite projects. Give back to the community while making yourself a better software engineer. + +We'll cover: + +• the structure of an open source project + +• the many ways to contribute + +• the life cycle of a bug + +• key development tools + +• communication in an open source project + +During this tutorial, you'll get hands-on experience with: + +• issue trackers, to report and track bugs + +• the diff and patch utilities, to share your source code changes + +• a revision control system, to collaboratively manage changes to projects + +• IRC, to get and give help while contributing in real time + +• testing and building Python projects + +We'll put these concepts and tools to practice by collaboratively reporting and fixing bugs in a demo Python project. + +We'll end with personalized next steps for getting started with open source projects that match your skills and interests. + + +Meetup link: [https://www.meetup.com/bostonpython/events/166913622/](https://www.meetup.com/bostonpython/events/166913622/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140310-march-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140310-march-project-night.md new file mode 100644 index 0000000..6a31dc0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140310-march-project-night.md @@ -0,0 +1,56 @@ +--- +title: March Project Night +sidebar_link: false +--- + +March 10, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, March 10th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided! + +Things to bring: a wireless-enabled laptop and power cord. + +Also: we'll have more Python puzzles, and giveaways (including a hardware goodie from Ab Initio!). + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/151764232/](https://www.meetup.com/bostonpython/events/151764232/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140324-pycon-rehearsals-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140324-pycon-rehearsals-1.md new file mode 100644 index 0000000..28f34fd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140324-pycon-rehearsals-1.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 1 +sidebar_link: false +--- + +March 24, 2014 + + +    + +Join us for three PyCon presentation rehearsals, sponsored by Facebook. + +Getting started testing — Ned Batchelder (45 min) + +If you've never written tests before, you probably know you *should*, but view the whole process as a bureaucratic paperwork nightmare to check off on your ready-to-ship checklist. This is the wrong way to approach testing. Tests are a solution to a problem that is important to you: does my code work? I'll show how Python tests are written, and why. + +Enough Machine Learning to Make Hacker News Readable Again — Ned Jackson Lovely + +(30 min) + +It's inevitable that online communities will change, and that we'll remember the community with a fondness that likely doesn't accurately reflect the former reality. We'll explore how we can take a set of articles from an online community and winnow out the stuff we feel is unworthy. We'll explore some of the machine learning tools that are just a "pip install" away, such as scikit-learn and nltk. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660672/](https://www.meetup.com/bostonpython/events/134660672/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md new file mode 100644 index 0000000..d47a8d6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals 2 - Hy and Outreach +sidebar_link: false +--- + +March 26, 2014 + + +    + +Join us for two PyCon presentation rehearsal, sponsored by Kyruus and AppNeta: + +Getting Hy on Python: How to implement a Lisp front-end to Python — Paul Tagliamonte (45 min) + +This talk will cover the internals of Python, such AST, Import hooks, creating a console, and a very brief overview of Python internal formats (such as pyc files), by way of looking over the implementation of a Lisp called "Hy". No Lisp knowledge is required. + +Outreach Program for Women: Lessons in Collaboration — Marina Zhurakhinskaya (30 min) + +Since 2010, the GNOME Foundation’s Outreach Program for Women has provided 130 women with an opportunity to participate in remote internships with 23 Free Software organizations. This talk will cover the history of the program, what makes it successful, how the same strategies can be used for engaging all new contributors, and what other initiatives help increase diversity in Free Software. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660412/](https://www.meetup.com/bostonpython/events/134660412/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md new file mode 100644 index 0000000..9d077a2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 - Helicopters and Open edX +sidebar_link: false +--- + +April 01, 2014 + + +    + +Join us for three PyCon rehearsals, sponsored by Wayfair and AppNeta: + +Cheap Helicopters In My Living Room — Ned Jackson Lovely (30 min) + +Using Python and a minimal amount of hardware hacking, it's possible to build computer controlled helicopters you can fly around your living room for surprisingly small amounts of money. This talk will describe the steps you'll need to take to start the ball rolling towards Skynet using a $20 helicopter and an Arduino. + +Thumbdrive destroyer — John Jarvis (5 min) + +This talk shows off a tiny hack to turn a Raspberry Pi into a thumbdrive destroying appliance. + +Teaching a billion students with Python — Ned Batchelder (40 min) + +Open edX is the online learning platform that powers edX.org. It's built with Python and Django, and runs dozens of other online learning sites. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660122/](https://www.meetup.com/bostonpython/events/134660122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md new file mode 100644 index 0000000..bf8a9c4 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals 4 - Shelling out and Games for Science +sidebar_link: false +--- + +April 07, 2014 + + +    + +Join us for 2 PyCon talk rehearsals, sponsored by Scout (http://goscoutgo.com). + +Subprocess to FFI: Memory, Performance, and Why You Shouldn't Shell Out — Christine Spang (45 min) + +Sometimes, the code you need just isn't available in Python, but someone's written some code in another language that solves your problem. What options do you have for interacting with this external code from within your program? We'll examine how to call external binaries, what happens behind the scenes at a systems level, and how these implementation details affect performance and memory usage. In the second part of the talk, we'll discuss the different options for more tightly integrating external code in the form of a C library for better performance and control. + +Games for Science, interactive psychology experiments w/ Panda3D — Peter Battaglia + Jessica Hamrick (30 min) + +Have you ever wanted to play video games while also contributing to science? In psychology experiments developed by myself and Peter Battaglia, participants are immersed in an interactive 3D world which is experimentally well-controlled, yet also extremely fun. This talk will explain how we created these "game-like" experiments in Python using the Panda3D video game engine. + + +Meetup link: [https://www.meetup.com/bostonpython/events/163873812/](https://www.meetup.com/bostonpython/events/163873812/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140512-may-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140512-may-project-night.md new file mode 100644 index 0000000..4c81c7d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140512-may-project-night.md @@ -0,0 +1,56 @@ +--- +title: May Project Night +sidebar_link: false +--- + +May 12, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, May 12th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Q Factor (http://www.qfactor.com/) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/152732482/](https://www.meetup.com/bostonpython/events/152732482/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140527-raspberry-pi-projects.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140527-raspberry-pi-projects.md new file mode 100644 index 0000000..56095b8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140527-raspberry-pi-projects.md @@ -0,0 +1,24 @@ +--- +title: Raspberry Pi projects! +sidebar_link: false +--- + +May 27, 2014 + + +    + +Four presenters will tell us about their hardware projects. Three are Raspberry Pi projects, and the last is a hardware alternative to the Rasp Pi. + +Pizza for this event is sponsored by Creare (http://www.creare.com/). + +Drinks after the event at Meadhall are sponsored by Scout (http://goscoutgo.com/). + +Our four presenters are Mike Milkin, Nash Reilly, Dag Holmboe, and Joseph Okor. + +The Raspberry Pi is an affordable credit-card-sized computer. Hardware hobbyists use it to power all sorts of projects. Tonight we'll hear about a web-powered remote control car, a GMail/Twitter monitor, and a bus beacon. No hardware experience is needed to appreciate the ingenuity of these projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/159107932/](https://www.meetup.com/bostonpython/events/159107932/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140609-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140609-june-project-night.md new file mode 100644 index 0000000..a628e25 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140609-june-project-night.md @@ -0,0 +1,56 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 09, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Turbine (http://turbine.com). + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, June 9th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Turbine (http://turbine.com) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/160021932/](https://www.meetup.com/bostonpython/events/160021932/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140625-june-presentation-night-puzzle-solutions.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140625-june-presentation-night-puzzle-solutions.md new file mode 100644 index 0000000..36c3311 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140625-june-presentation-night-puzzle-solutions.md @@ -0,0 +1,30 @@ +--- +title: June Presentation Night - Puzzle Solutions +sidebar_link: false +--- + +June 25, 2014 + + +    + +Come hear about peoples' solutions to the project night puzzles (http://puzzles.bostonpython.com)! Sponsored by Red Hat (http://www.redhat.com) and Kyruus (http://kyruus.com/). + +If you've been to a project night, you know we often have puzzles (http://puzzles.bostonpython.com) there. Different people solve the puzzles differently. We'll have solvers show us their code, explain their approach, and teach us some Python along the way. It will be fun, interactive, and instructive! + +Try out the puzzles yourself beforehand! We'll have people talking about solutions to at least: + +• A Hot Date with itertools (http://puzzles.bostonpython.com/hotdate.html), + +• Twitter Puddle (http://programmingpraxis.com/2013/11/15/twitter-puddle/), and + +• Python Poetry (http://puzzles.bostonpython.com/poetry.html). + +Red Hat (http://www.redhat.com) is sponsoring pizza. + +Kyruus (http://kyruus.com/) is sponsoring drinks afterwards at Meadhall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/169599982/](https://www.meetup.com/bostonpython/events/169599982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140707-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140707-july-project-night.md new file mode 100644 index 0000000..4b0c274 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140707-july-project-night.md @@ -0,0 +1,56 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 07, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Pixability (http://pixability.com). + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, July 7th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Pixability (http://pixability.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/169600862/](https://www.meetup.com/bostonpython/events/169600862/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140722-july-presentation-night-what-i-built-at-work.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140722-july-presentation-night-what-i-built-at-work.md new file mode 100644 index 0000000..a57a2aa --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140722-july-presentation-night-what-i-built-at-work.md @@ -0,0 +1,26 @@ +--- +title: July Presentation Night - What I Built at Work +sidebar_link: false +--- + +July 22, 2014 + + +    + +What I Built at Work: four short presentations about things people have built to get their jobs done. Wordstream (http://www.wordstream.com/) is sponsoring pizza for the night. Xively (http://xively.com/) is sponsoring drinks after the event at Meadhall! + +Laurent-Philippe Gros, Design by Contract + +Jon Henner and others: ASL, STEM, & more via Python + +Nick Bargnesi, From Prototype to Production + +Rick Landau, Simulating Document Retention + +Jonathan Tushman, Flask utilities + + +Meetup link: [https://www.meetup.com/bostonpython/events/179514872/](https://www.meetup.com/bostonpython/events/179514872/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140807-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140807-august-project-night.md new file mode 100644 index 0000000..71a395b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140807-august-project-night.md @@ -0,0 +1,48 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 07, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Twilio (http://www.twilio.com/). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Twilio (http://www.twilio.com) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/180062592/](https://www.meetup.com/bostonpython/events/180062592/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140821-august-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140821-august-presentation-night.md new file mode 100644 index 0000000..5982f90 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140821-august-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: August Presentation Night +sidebar_link: false +--- + +August 21, 2014 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/179514102/](https://www.meetup.com/bostonpython/events/179514102/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140908-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140908-september-project-night.md new file mode 100644 index 0000000..e397d46 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140908-september-project-night.md @@ -0,0 +1,48 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 08, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by AppNeta (http://appneta.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by AppNeta (http://appneta.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/186776832/](https://www.meetup.com/bostonpython/events/186776832/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140922-september-presentation-night-introductory-data-structures.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140922-september-presentation-night-introductory-data-structures.md new file mode 100644 index 0000000..3e01aa7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20140922-september-presentation-night-introductory-data-structures.md @@ -0,0 +1,26 @@ +--- +title: September Presentation Night - Introductory Data Structures +sidebar_link: false +--- + +September 22, 2014 + + +    + +Introductory Data Structures! sponsored by NetProspex (http://www.netprospex.com). + +Are you new to Python? Or say you got into Python sort of sideways and suspect that there are multiple ways -- potentially more efficient ways -- to solve your programming challenges. If that sounds familiar, then this is the presentation night for you! Python's "batteries included" philosophy means there are a number of built-in tools at your disposal. These three talks will cover some very handy data types and help you start choosing and using the right tools for your tasks. + +Langdon White: Lists, Stacks and Queues + +Brett Smith: How to Pick the Right Data Structure + +Ned Jackson Lovely: Maps, Sets and Graphs + +Food is sponsored by NetProspex (http://www.netprospex.com). Drinks afterwards sponsored by InsightSquared (http://insightsquared.com) at their offices. + + +Meetup link: [https://www.meetup.com/bostonpython/events/186777292/](https://www.meetup.com/bostonpython/events/186777292/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141001-beer-with-harry-percival.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141001-beer-with-harry-percival.md new file mode 100644 index 0000000..09cca02 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141001-beer-with-harry-percival.md @@ -0,0 +1,20 @@ +--- +title: Beer with Harry Percival +sidebar_link: false +--- + +October 01, 2014 + + +    + +Harry Percival is in town from the UK on short notice, so we're throwing together a quick social night. Harry is the author of Test Driven Development with Python (http://www.obeythetestinggoat.com/), and a fun guy. Want to hoist a few with him? + +Where: InsightSquared offices, 160 Second St, Cambridge +When: Oct 1st, 7:00-8:30pm +How: Sponsored by InsightSquared + + +Meetup link: [https://www.meetup.com/bostonpython/events/210369412/](https://www.meetup.com/bostonpython/events/210369412/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141014-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141014-october-project-night.md new file mode 100644 index 0000000..58f5c92 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141014-october-project-night.md @@ -0,0 +1,44 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 14, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Vertex. (http://vrtx.com) + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Vertex (http://vrtx.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/195246442/](https://www.meetup.com/bostonpython/events/195246442/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141029-advanced-programming-tools.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141029-advanced-programming-tools.md new file mode 100644 index 0000000..bcb5673 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141029-advanced-programming-tools.md @@ -0,0 +1,30 @@ +--- +title: Advanced Programming Tools +sidebar_link: false +--- + +October 29, 2014 + + +    + +Three talks about advanced programming tools, sponsored by Quantopian (http://quantopian.com) and Cogo Labs (http://cogolabs.com). + +Andrea Censi: PyContracts + +Python is famously untyped. PyContracts (http://andreacensi.github.io/contracts/) is a library that allows you to annotate your functions with type specifications which can be checked at runtime. The best of both worlds? + +Laurent Poulain: the Python disassembler + +Python is compiled to bytecode, and the dis module lets you examine that bytecode. We'll go through a few examples of how and why. + +Joe Jevnik: qdb + +Quantopian has implemented their own debugger for use in their specialized environment. + +Pizza will be provided by Quantopian. Drinks afterwards at Meadhall, sponsored by Cogo Labs. + + +Meetup link: [https://www.meetup.com/bostonpython/events/194829182/](https://www.meetup.com/bostonpython/events/194829182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141110-november-project-night-at-akamai.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141110-november-project-night-at-akamai.md new file mode 100644 index 0000000..6f4db94 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141110-november-project-night-at-akamai.md @@ -0,0 +1,46 @@ +--- +title: November Project Night - At AKAMAI +sidebar_link: false +--- + +November 10, 2014 + + +    + +NOTE: This is at AKAMAI!! + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Akamai (http://akamai.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Akamai (http://akamai.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/205960272/](https://www.meetup.com/bostonpython/events/205960272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141125-november-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141125-november-presentation-night.md new file mode 100644 index 0000000..2e77976 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141125-november-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: November Presentation Night +sidebar_link: false +--- + +November 25, 2014 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/203235462/](https://www.meetup.com/bostonpython/events/203235462/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141204-boston-python-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141204-boston-python-december-project-night.md new file mode 100644 index 0000000..6b8afa5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141204-boston-python-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python December Project Night +sidebar_link: false +--- + +December 04, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. We are looking for a sponsor! + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/209457982/](https://www.meetup.com/bostonpython/events/209457982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141211-december-presentation-night-stocking-stuffers.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141211-december-presentation-night-stocking-stuffers.md new file mode 100644 index 0000000..0e38718 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20141211-december-presentation-night-stocking-stuffers.md @@ -0,0 +1,36 @@ +--- +title: December Presentation Night - Stocking Stuffers +sidebar_link: false +--- + +December 11, 2014 + + +    + +Tonight, five short talks on a variety of subjects, sponsored by Indico. + +Nate Aune: Docker + Open edX + +Docker automates the deployment of applications (http://en.wikipedia.org/wiki/Application_software) by providing a layer of abstraction and automation of operating system–level virtualization (http://en.wikipedia.org/wiki/Operating_system%E2%80%93level_virtualization) on Linux (http://en.wikipedia.org/wiki/Linux). Nate will demonstrate how to use Docker to easily run Open edX. + +George Schneeloch: Docker for test automation + +George put together a test framework that runs each functional test in a Docker container for easy reproduction of test failures. + +Shauna Gordon-McKeon: WelcomeBot + +WelcomeBot is an IRC bot. Shauna will discuss some of the things she learned while building WelcomeBot, including unit tests and how the socket library/how Python interacts with IRC protocols. + +Justin Black: Wrapping a Finite Element Analysis tool + +Justin will talk about wrapping other tools in python to make them more usable. Free FEA software is capable, but too complex for mechanical engineers to easily use. Python can be used to provide a simple powerful interface to existing tools. + +Thomas Markovich: Teaching Python and Quantum Mechanics + +Thomas will discuss how he took 40 students, most of whom had no prior programming experience, and taught them basic Python and intro quantum mechanics. The students literally went from not knowing how to write a for-loop to writing their own electronic structure package. He'll discuss mistakes made along the way, and demo some of the students' projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/202723912/](https://www.meetup.com/bostonpython/events/202723912/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150106-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150106-january-project-night.md new file mode 100644 index 0000000..06f5354 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150106-january-project-night.md @@ -0,0 +1,44 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 06, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Addgene (http://addgene.org). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/212185062/](https://www.meetup.com/bostonpython/events/212185062/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150122-engineering-science-and-art.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150122-engineering-science-and-art.md new file mode 100644 index 0000000..e3a59fc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150122-engineering-science-and-art.md @@ -0,0 +1,28 @@ +--- +title: Engineering, Science, and Art +sidebar_link: false +--- + +January 22, 2015 + + +    + +Three talks, sponsored by Jana (http://jana.com), covering a wide range of disciplines! + +Dan O'Brien, Scripting best practices + +When you're using Python as a scripting language, as your script gets more and more complicated, Python tends to push you in the direction of writing better code, which is one of the things that's great about the language—and there's no need to resist! This talk will cover ideas like breaking functionality out into functions and encapsulating state into classes, with a handful of increasingly-complicated examples. + +Milos Miljkovic, Automating cell identification + +Problem: On a microscope slide, mark 400-600 cells for data collection, all done manually by poor grad students. Solution: Image the whole slide, sort cells automatically according to size and data quality, extract usable pixels, tag them, and store in a database. Bonus: Lots of beer from happy grad students, university patented it. + +Vik Paruchuri, Algorithmically generated art + +(I'll be honest with you: I don't know exactly what Vik means by this, but it will be good!) + + +Meetup link: [https://www.meetup.com/bostonpython/events/212185222/](https://www.meetup.com/bostonpython/events/212185222/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150212-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150212-february-project-night.md new file mode 100644 index 0000000..fbcea6e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150212-february-project-night.md @@ -0,0 +1,44 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 12, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Kyruus (http://kyruus.com/). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651141/](https://www.meetup.com/bostonpython/events/218651141/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150217-nanogenmo-and-type-hinting.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150217-nanogenmo-and-type-hinting.md new file mode 100644 index 0000000..89394ef --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150217-nanogenmo-and-type-hinting.md @@ -0,0 +1,30 @@ +--- +title: NaNoGenMo and Type Hinting +sidebar_link: false +--- + +February 17, 2015 + + +    + +Join us for two talks plus a lightning talk, sponsored by AppNeta (http://appneta.com). + +Liza Daly: NaNoGenMo 2014: A procedurally generated mysterious codex + +The idea of NaNoGenMo is to spend a month writing code to generate a "novel", a twist on NaNoWriMo. Liza will tell us about her entries, including a Voynich-inspired mystery codex (https://blog.safaribooksonline.com/2014/11/08/nanogenmo2014-procedurally-generated-mysterious-codex/). The code involves finding images, producing PDFs, randomizing layouts, and other techniques that could even find a place in "useful" programs. + +en zyme: Duck hunting: Type hints for Python + +Guido is stirring the pot again! PEP 484 (https://www.python.org/dev/peps/pep-0484/) proposes adding a type hinting mechanism to Python. As you might imagine, this is controversial. Is our dynamic BDFL supporting a powerful new feature, or just being coerced by anti-pythonic staticism? + +Matt Bachmann: Opening the Floodgate: Unicode Identifiers with Python + +Python 3 allows using Unicode characters in identifiers. That can create some unusual possibilities and problems. What if we take it even further...? + +Pizza will be provided! + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651214/](https://www.meetup.com/bostonpython/events/218651214/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150304-march-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150304-march-project-night.md new file mode 100644 index 0000000..51e08c8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150304-march-project-night.md @@ -0,0 +1,44 @@ +--- +title: March Project Night +sidebar_link: false +--- + +March 04, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by FormLabs (http://formlabs.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651284/](https://www.meetup.com/bostonpython/events/218651284/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150318-pycon-rehearsals-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150318-pycon-rehearsals-1.md new file mode 100644 index 0000000..dc69c19 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150318-pycon-rehearsals-1.md @@ -0,0 +1,29 @@ +--- +title: PyCon Rehearsals 1 +sidebar_link: false +--- + +March 18, 2015 + + +    + +The first of four PyCon rehearsal nights, this one sponsored by AppNeta (http://appneta.com). + +Geoff Gerrietts — Performance by the Numbers: analyzing the performance of web applications (https://us.pycon.org/2015/schedule/presentation/349/) +Everyone knows poor performance when they see it, and performance concerns affect every application -- web applications more than most. But finding performance problems can be extraordinarily difficult, and requires an analytical approach coupled with good instrumentation. This talk explores approaches to instrumentation and what that instrumentation can tell you. + +Mali Akmanalp — Other people's messy data (and how not to hate it!) (https://us.pycon.org/2015/schedule/presentation/469/) +Have you ever viscerally hated a dataset? Do you want to just get data cleaning out of the way? Are you always left wondering how it consumes most of your time? Whether you work in the sciences, work with government data or scrape websites, data cleaning is a necessary evil. We'll share our woes and check out state of the art in day to day data cleaning tools and strategies. + +Adam Palay — "Words, words, words": Reading Shakespeare with Python (https://us.pycon.org/2015/schedule/presentation/339/) +This talk will give an introduction to text analysis with Python by asking some questions about Shakespeare and discussing the quantitative methods that will go in to answering them. While we’ll use Shakespeare to illustrate our methodologies, we’ll also discuss how they can be ported over into more 21st century texts, like tweets or New York Times articles. + +Note that we are starting at 6:30 rather than 7, to have enough time for three presentations! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651340/](https://www.meetup.com/bostonpython/events/218651340/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150323-pycon-rehearsals-2.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150323-pycon-rehearsals-2.md new file mode 100644 index 0000000..a239f72 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150323-pycon-rehearsals-2.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 2 +sidebar_link: false +--- + +March 23, 2015 + + +    + +The second of four PyCon rehearsal nights, this one sponsored by Facebook (https://www.facebook.com/careers/). + +Shauna Gordon-McKeon — Open Source for Newcomers and the People Who Want to Welcome Them (https://us.pycon.org/2015/schedule/presentation/346/) + +Open source can be fun and rewarding, but it can also be intimidating. This talk addresses some of the biggest technical and psychological barriers to contributing, from the perspective of both the newcomers who want to overcome them and the maintainers who want to remove them. + +Itamar Turner-Trauring — A Beginner's Guide to Test-driven Development (https://us.pycon.org/2015/schedule/presentation/364/) + +Software is maintained by humans with limited memory and an unfortunate tendency to make mistakes. Test-driven development (TDD) can help you work around these design flaws by providing a permanent, automated specification for your code. Learn how to implement TDD when bug fixing and implementing new features and how this process will ensure your code is correct both now and in the future. + +We'll start at 6:30 to have time for both talks and a good discussion. Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651386/](https://www.meetup.com/bostonpython/events/218651386/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md new file mode 100644 index 0000000..2949121 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md @@ -0,0 +1,48 @@ +--- +title: PyCon tutorial rehearsal - Practical Graph/Network Analysis Made Simple +sidebar_link: false +--- + +March 28, 2015 + + +    + +This is a rehearsal for a three-hour PyCon tutorial. Space is limited. Please consider whether you have the needed background. No food will be provided. + +Presenter: Eric Ma + +Audience level: Intermediate + +Category: Science + +Description: Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? Or how epidemiologists track down patient zero in an outbreak? If so, then this tutorial is for you. Here, we will explore a bike sharing data set as a way to understand the kinds of problems that can be solved using graph analytics. + +Abstract + +In this tutorial, I will show you how you can use data to construct networks for data analysis. The goal is to demystify graph analytics and mining, and make it accessible to the general programmer. Starting with understanding a toy data set as an anchor, we will go through: + +• graph basics (nodes + edges, list and matrix representations), + +• modelling problems as graphs, + +• preprocessing data using Pandas, + +• importing data using NetworkX, + +• how to compute basic statistics of the network, + +• generating visualizations using matplotlib, + +• finding hubs, paths and clusters in the data, + +• (if time permits) random graphs for statistical inference, + +IPython notebooks and data files will be distributed beforehand on Github to facilitate code distribution. + +As good pedagogical practice, we will have lots of guided hands-on time, and about 30 min to 1 hour of unstructured “free hacking time” to explore a bike sharing data set (with suggested questions) in small groups of your choice of size. You will also share your IPython notebooks via Github. After the hacking time, we will showcase a select number of analyses. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221201510/](https://www.meetup.com/bostonpython/events/221201510/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md new file mode 100644 index 0000000..4fba1af --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md @@ -0,0 +1,36 @@ +--- +title: PyCon tutorial rehearsal - Statistical inference with computational methods +sidebar_link: false +--- + +March 28, 2015 + + +    + +This is a rehearsal for a three-hour PyCon tutorial. Space is limited. Please consider whether you have the needed background. No food will be provided. + +Presenter: Allen Downey + +Audience level: Intermediate + +Category: Science + +Description + +Statistical inference is a fundamental tool in science and engineering, but it is often poorly understood. This tutorial uses computational methods, including Monte Carlo simulation and resampling, to explore estimation, hypothesis testing and statistical modeling. Attendees will develop understanding of statistical concepts and learn to use real data to answer relevant questions. + +Abstract + +Do you know the difference between standard deviation and standard error? Do you know what statistical test to use for any occasion? Do you really know what a p-value is? How about a confidence interval? + +Most students don’t really understand these concepts, even after taking several statistics classes. The problem is that these classes focus on mathematical methods that bury the concepts under a mountain of details. + +This tutorial uses Python to implement simple statistical experiments that develop deep understanding. Attendees will learn about resampling and related tools that use random simulation to perform statistical inference, including estimation and hypothesis testing. We will use pandas, which provides structures for data analysis, along with NumPy and SciPy. + +I will present examples using real-world data to answer relevant questions. The tutorial material is based on my book, Think Stats, a class I teach at Olin College, and my blog, “Probably Overthinking It.” + + +Meetup link: [https://www.meetup.com/bostonpython/events/221201606/](https://www.meetup.com/bostonpython/events/221201606/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150330-pycon-rehearsals-3.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150330-pycon-rehearsals-3.md new file mode 100644 index 0000000..3161287 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150330-pycon-rehearsals-3.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 +sidebar_link: false +--- + +March 30, 2015 + + +    + +Our third night of PyCon rehearsals, sponsored by MassMutual. + +Michelle Fullwood — Grids, Streets and Pipelines: Building a linguistic street map with scikit-learn (https://us.pycon.org/2015/schedule/presentation/366/) + +Have you built a classifier in scikit-learn with out-of-the-box features, been disappointed with the results, and wanted to know where to go next? This talk shows how to add your own feature Pipelines and how to tune hyperparameters using GridSearchCV. We'll apply this to the problem of classifying streetnames in Singapore by linguistic origin, and turn the results into a colour-coded street map. + +Sarina Canelake — I18N: World Domination the Easy Way (https://us.pycon.org/2015/schedule/presentation/403/) + +Have you heard about internationalization (i18n) and wondered what it meant? Perhaps your project already has i18n of its strings but you have a nagging feeling you could be doing it better. This talk will walk through the basics of i18n’ing a Django project (but the principles apply to any project!), and how to make the process of localization (l10n) go more smoothly. + +Ned Batchelder — Facts and Myths about Python names and values (https://us.pycon.org/2015/schedule/presentation/362/) + +The behavior of names and values in Python can be confusing. Like many parts of Python, it has an underlying simplicity that can be hard to discern, especially if you are used to other programming languages. Here I'll explain how it all works, and present some facts and myths along the way. Call-by-reference? Call-by-value? The answer will be clear! + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651404/](https://www.meetup.com/bostonpython/events/218651404/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150402-pycon-rehearsals-4.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150402-pycon-rehearsals-4.md new file mode 100644 index 0000000..4258ed7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150402-pycon-rehearsals-4.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 4 +sidebar_link: false +--- + +April 02, 2015 + + +    + +The fourth PyCon rehearsal night, sponsored by Hired.com (http://hired.com). + +en zyme, Jon Henner, and Hakim Bouatou — Pythons are Deaf, So are Some Pythonistas (https://us.pycon.org/2015/schedule/presentation/413/) + +ASL, like Python, is a language which is both fun and powerful. We have used Python to build a tool, ASL STEM for the DHH community which will teach STEM terminology using ASL exclusively. We are also building a summer program to teach Python in English/ASL to DHH students. + +Laura Rupprecht — Describing Descriptors (https://us.pycon.org/2015/schedule/presentation/393/) + +The Python library uses descriptors frequently, but most developers overlook this feature. This talk will cover what a descriptor is, the current uses in the standard library, and how custom descriptors can be used in a developer’s toolset to eliminate repeated code. + +David Baumgold — Advanced Git (https://us.pycon.org/2015/schedule/presentation/343/) + +You know clone, commit, push, and pull. Now you're ready for the fun stuff. This talk will give you the advanced knowledge you need to take control of your git repository: rebase, cherry-pick, bisect, blame, squashing, and the reflog. You'll also get a better conceptual understanding of how git works, allowing you to chain these tools together to accomplish whatever task you need. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651419/](https://www.meetup.com/bostonpython/events/218651419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150512-boston-python-may-project-night-at-akamai.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150512-boston-python-may-project-night-at-akamai.md new file mode 100644 index 0000000..373f444 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150512-boston-python-may-project-night-at-akamai.md @@ -0,0 +1,46 @@ +--- +title: Boston Python May Project Night AT AKAMAI +sidebar_link: false +--- + +May 12, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Akamai (http://akamai.com). + +NOTE: We are meeting at Akamai, not at the NERD center! + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084961/](https://www.meetup.com/bostonpython/events/221084961/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150520-boston-python-open-data-science-con-presentations.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150520-boston-python-open-data-science-con-presentations.md new file mode 100644 index 0000000..fc8b44b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150520-boston-python-open-data-science-con-presentations.md @@ -0,0 +1,28 @@ +--- +title: Boston Python - Open Data Science Con presentations +sidebar_link: false +--- + +May 20, 2015 + + +    + +The Open Data Science Conference (http://opendatascicon.com) is happening in Boston May 30-31. We have two speakers previewing their talks for us. The evening is sponsored by Cens.io (http://cens.io). Afterward we'll head over to Meadhall for drinks sponsored by Smarterer (http://smarterer.com). + +Karen Rubin, How Women are Conquering the S&P 500 + +According to Credit Suisse’s Gender 3000 report, at the end of 2013, women accounted for 12.9% of top management in 3000 companies across 40 countries. However, since 2009, companies with women as 25-50% of their management team returned 22-29%. If companies with women in management outperform so dramatically, what would happen if you invested in women-led companies? Karen Rubin will explore this question and share her findings after running a 12-year investment simulation. + +Keith Bourgoin, Using Python with Apache Storm and Kafka + +As Python gains more and more traction in data science, the ability to interact with large scale data processing systems has greatly improved. Instead of being limited to what can fit on one's laptop or having to wait for a Hadoop job to complete, we can now tap into streaming datasets using systems like Apache's Storm and Kafka projects. + +In this talk, we'll examine log-centric architectures using Kafka's message passing and Storms's stream processing capabilities. Then we'll go over two projects pykafka (https://github.com/Parsely/pykafka) and streamparse (https://github.com/Parsely/streamparse) which allow data scientists to take advantage of these systems from Python without having to deal with the headache of JVM interop. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084867/](https://www.meetup.com/bostonpython/events/221084867/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150601-boston-python-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150601-boston-python-june-project-night.md new file mode 100644 index 0000000..249aa3c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150601-boston-python-june-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 01, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221101197/](https://www.meetup.com/bostonpython/events/221101197/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150622-9-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150622-9-lightning-talks.md new file mode 100644 index 0000000..6d038f0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150622-9-lightning-talks.md @@ -0,0 +1,30 @@ +--- +title: 9 Lightning Talks +sidebar_link: false +--- + +June 22, 2015 + + +    + +A night of all lightning talks, sponsored by DataRobot (http://datarobot.com). + +Lightning talks are 5- to 10-minute talks. We have nine of them tonight, giving us a wide variety of topics and levels: + +John Hess: Using serendipity (and Python!) to make meaningful connections in large groups +Luis Soares: Using Python to visualize yeast chip-seq data +Duke Adamonis: A noob writes a log parser +Robert Chase: Cumulus: a Django-based cloud manager +Carol Novitsky: Queuing theory +Eric Ma: Testing your data +James Santucci: Comparing Medicaid payment models +Rick Landau: .format() gently +Matt Bachmann: Hypothesis: Test your code by describing it + +Pizza will be provided, thanks to DataRobot. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084901/](https://www.meetup.com/bostonpython/events/221084901/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150707-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150707-july-project-night.md new file mode 100644 index 0000000..4002de1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150707-july-project-night.md @@ -0,0 +1,44 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 07, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406411/](https://www.meetup.com/bostonpython/events/221406411/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150721-intro-to-classes-and-special-methods.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150721-intro-to-classes-and-special-methods.md new file mode 100644 index 0000000..18b105e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150721-intro-to-classes-and-special-methods.md @@ -0,0 +1,28 @@ +--- +title: Intro to Classes and Special Methods +sidebar_link: false +--- + +July 21, 2015 + + +    + +Join us for two introductory talks, sponsored by Jana (http://jana.com). + +If you've never used classes, or just would like to brush up on some of the details, tonight's talks are for you: + +Joe Jevnik, Introduction to Classes + +What are classes? When should you use them? How do they work? Python is an object oriented language: much of its power comes from implementing your own classes to represent the nouns in your programs. Starting from first principles, this talk will show how to use classes to build your own objects. + +Cliff Dyer, Special Methods + +Much of Python's syntax can be customized for your own objects. How can you make your object act like a dict, or a list? Special methods (that look like __this__) underlie all of Python's functionality. You can implement them yourself to give your objects special powers. This talk will demonstrate how to create classes that operate seamlessly with Python's built-in behavior. + +Pizza will be provided by Jana. Food and mingling at 6:30, talks start at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406321/](https://www.meetup.com/bostonpython/events/221406321/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150810-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150810-august-project-night.md new file mode 100644 index 0000000..76be56d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150810-august-project-night.md @@ -0,0 +1,44 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 10, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221391753/](https://www.meetup.com/bostonpython/events/221391753/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150827-twisted-async-networking-framework.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150827-twisted-async-networking-framework.md new file mode 100644 index 0000000..9ec31d9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150827-twisted-async-networking-framework.md @@ -0,0 +1,24 @@ +--- +title: Twisted async networking framework +sidebar_link: false +--- + +August 27, 2015 + + +    + +Tonight's presentation is sponsored by RIFT.io (http://rift.io). + +Twisted is a comprehensive networking framework built on asynchronous principles. Node.js and other tools have made async I/O all the rage, but Twisted was there first. Come learn about this extensive networking toolkit. + +Patrick Cloke and Stephen DiCato will present. Starting from the very basics of asynchronous I/O, they'll explain how Twisted works, how to build simple services, and how to integrate Twisted with other services. + +Pizza is provided by RIFT.io. (http://rift.io) + +Drinks afterward at Meadhall, sponsored by Jana (http://jana.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406450/](https://www.meetup.com/bostonpython/events/221406450/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150903-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150903-september-project-night.md new file mode 100644 index 0000000..2ab222a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150903-september-project-night.md @@ -0,0 +1,44 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 03, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Pixability (http://pixability.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/224609645/](https://www.meetup.com/bostonpython/events/224609645/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150924-september-presentation-night-favorite-libraries.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150924-september-presentation-night-favorite-libraries.md new file mode 100644 index 0000000..9587da1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20150924-september-presentation-night-favorite-libraries.md @@ -0,0 +1,30 @@ +--- +title: September Presentation Night - Favorite Libraries +sidebar_link: false +--- + +September 24, 2015 + + +    + +I asked people about their favorite libraries, and we have 6 presenters giving a quick look at the tools they think you should know about! + +Neil Tenenholz: mrjob + +Lindsay Raymond: Funcy + +Gene Dolgin: NamedList + +Scott Sanderson: click + +Amandalynne Pallada: NLTK + +Ned Jackson Lovely: itsdangerous + +Pizza will be provided by Akamai + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626917/](https://www.meetup.com/bostonpython/events/223626917/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151001-boston-python-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151001-boston-python-october-project-night.md new file mode 100644 index 0000000..e3bca7a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151001-boston-python-october-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 01, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Entrepreneurial Finance Lab (http://eflglobal.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626841/](https://www.meetup.com/bostonpython/events/223626841/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151021-october-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151021-october-presentation-night.md new file mode 100644 index 0000000..df252b8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151021-october-presentation-night.md @@ -0,0 +1,32 @@ +--- +title: October Presentation Night +sidebar_link: false +--- + +October 21, 2015 + + +    + +Tonight, three talks sponsored by edX (http://edx.org) and Quantopian (http://quantopian.com). + +Jonathan Kamens: Coal Mine + +Coal Mine is Quantopian's open-source tool for monitoring scheduled tasks. Tasks trigger "canaries" when they execute, and Coal Mine sends alerts via email for late canaries. Jonathan will explain how it works, and also some of its novel implementation techniques that can apply to any project. + +Rafael Schloming: parsimonious + +Many text-processing tasks are easier with a powerful parser at hand. Parsimonious is a PEG parser. Rafael will show of some of the powerful things it can do. What is a PEG parser? I don't know either! Come find out. :) + +Brad Smith: lxml + +LXML is the go-to Python library for processing XML and HTML. If you deal with XML in Python, you need it in your toolkit. Brad will give us an overview of using it and XPath expressions to do document mining and mangling. + +Food will be provided, sponsored by edX. Doors open at 6:30, talks at 7:00. + +Drinks afterwards sponsored by Quantopian. + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626789/](https://www.meetup.com/bostonpython/events/223626789/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151105-boston-python-november-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151105-boston-python-november-project-night.md new file mode 100644 index 0000000..e6e50f0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151105-boston-python-november-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python November Project Night +sidebar_link: false +--- + +November 05, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Mitra Capital. + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626763/](https://www.meetup.com/bostonpython/events/223626763/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151117-boston-python-november-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151117-boston-python-november-presentation-night.md new file mode 100644 index 0000000..7c306cc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151117-boston-python-november-presentation-night.md @@ -0,0 +1,26 @@ +--- +title: Boston Python November Presentation Night +sidebar_link: false +--- + +November 17, 2015 + + +    + +Two talks tonight, with plenty of time for mingling, meeting, and greeting. If you would like to sponsor, get in touch! + +Chelsea Voss and Anders Kaseorg: One-lining Python + +A common past-time among programmers is finding how much they can accomplish in one line of code. Chelsea has made all that work unnecessary with oneliner: it automatically converts any Python program into a single line of code. What!? Why!? How!? Chelsea and Anders will explain all. + +David Baumgold: Flask-Dance + +Flask is a popular lightweight Python web framework. OAuth is a popular authentication mechanism that allows you to use web sites without sharing your password. Implementing OAuth can get complicated. David will show us his Flask-Dance library that lets you implement OAuth on your Flask site easily, letting your users log in with Facebook/Google/GitHub/etc. + +Drinks afterwards at Meadhall, sponsored by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626747/](https://www.meetup.com/bostonpython/events/223626747/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151203-boston-python-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151203-boston-python-december-project-night.md new file mode 100644 index 0000000..9f9d3e5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20151203-boston-python-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python December Project Night +sidebar_link: false +--- + +December 03, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626721/](https://www.meetup.com/bostonpython/events/223626721/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160106-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160106-january-project-night.md new file mode 100644 index 0000000..c9ed2fd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160106-january-project-night.md @@ -0,0 +1,44 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 06, 2016 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Cens.io (http://cens.io). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/227012718/](https://www.meetup.com/bostonpython/events/227012718/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160120-project-basics-structure-and-tests.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160120-project-basics-structure-and-tests.md new file mode 100644 index 0000000..bb3ae77 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160120-project-basics-structure-and-tests.md @@ -0,0 +1,28 @@ +--- +title: Project Basics - Structure and Tests +sidebar_link: false +--- + +January 20, 2016 + + +    + +Two talks for getting your projects right from the start, sponsored by Intel (http://intel.com) and AppNeta (http://appneta.com). + +Matt Bachmann, Structuring Your Python Project + +There's more to a Python project than a pile of .py files. How should a project be organized? What files go where? How can you make the code installable with pip? What goes in setup.py? Matt will walk through the basics of project organization and explain some of the mysteries. + +Ned Batchelder, Getting Started Testing + +Testing can be overwhelming. It involves different ways of writing code, and learning new tools. Writing tests can be a lot of work, but it definitely pays off. This talk will explain the basics and give you direction for getting started writing tests for your own projects. + +Pizza provided by Intel, and drinks afterward at Meadhall sponsored by AppNeta. + +Doors open at 6:30, talks begin at 7:00 + + +Meetup link: [https://www.meetup.com/bostonpython/events/226174635/](https://www.meetup.com/bostonpython/events/226174635/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160202-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160202-february-project-night.md new file mode 100644 index 0000000..1bc158a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160202-february-project-night.md @@ -0,0 +1,22 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 02, 2016 + + +    + +An evening of collegial cooperation, sponsored by MIT Office of Digital Learning (http://engineering.odl.mit.edu/join-our-team.html). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/226174544/](https://www.meetup.com/bostonpython/events/226174544/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160223-february-presentation-testing-web-applications.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160223-february-presentation-testing-web-applications.md new file mode 100644 index 0000000..6324ab6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160223-february-presentation-testing-web-applications.md @@ -0,0 +1,26 @@ +--- +title: February Presentation - Testing Web Applications +sidebar_link: false +--- + +February 23, 2016 + + +    + +Two talks about specialized tools for testing web applications, sponsored by Klaviyo (https://www.klaviyo.com/) and Twilio (http://twilio.com). + +Michael Mintz, SeleniumBase: Reliable browser testing + +Web applications have to be tested in real browsers to know they are working properly. The most common tool for this is Selenium, but anyone who has used it knows that it can be cumbersome and unpredictable. Michael will explain some of Selenium's pitfalls, and show us the layer he's written on top, SeleniumBase, which solves many of its problems. + +Jay Luker, Pytest plugins and Ghost Inspector + +Pulling all the pieces of a web test together can be difficult, using disparate tools and services to cover all your bases. Jay has written a pytest plugin to connect pytest to a browser testing service, Ghost Inspector. He'll walk through the whats, hows & whys of pytest plugins, and how his plugin lets you hook Ghost Inspector's test execution into the pytest framework. + +Pizza will be provided, by Klaviyo. Drinks afterwards at Meadhall, sponsored by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/226992443/](https://www.meetup.com/bostonpython/events/226992443/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160308-boston-python-march-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160308-boston-python-march-project-night.md new file mode 100644 index 0000000..1585aeb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160308-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 08, 2016 + + +    + +An evening of symbiotic synergy, sponsored by Klaviyo (http://klaviyo.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227014403/](https://www.meetup.com/bostonpython/events/227014403/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160321-scipy-ecosystem.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160321-scipy-ecosystem.md new file mode 100644 index 0000000..146dc00 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160321-scipy-ecosystem.md @@ -0,0 +1,24 @@ +--- +title: SciPy ecosystem +sidebar_link: false +--- + +March 21, 2016 + + +    + +A scientific Python presentation tonight, sponsored by Klaviyo (http://klaviyo.com). + +Introduction to SciPy Ecosystem, Ben Root + +Python has a large and active scientific programming community. There are many tools, and more being developed all the time. Orienting yourself within this new world can be confusing. Ben will explain what is available, and when one would use what. We'll have an extensive Q+A session, so bring your questions! + +Pizza will be provided. + +After the talk, we'll be headed to Meadhall for drinks, sponsored by Here (http://here.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/227138003/](https://www.meetup.com/bostonpython/events/227138003/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160326-tutorial-talking-to-other-computers-with-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160326-tutorial-talking-to-other-computers-with-python.md new file mode 100644 index 0000000..e532409 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160326-tutorial-talking-to-other-computers-with-python.md @@ -0,0 +1,24 @@ +--- +title: Tutorial - Talking to other computers with Python +sidebar_link: false +--- + +March 26, 2016 + + +    + +A three-hour tutorial on how to make your computer talk to other computers with Python. We'll learn a bit about the internet and the web and will write or modify a TCP chat client, a web server for static content, an HTTP client, and a WSGI-compliant server and web application. We will learn what all those things are and how they fit together, bringing the architecture of modern web apps into better focus. + +Because space is limited, in order to attend please join the wait list and then answer a few questions at https://docs.google.com/forms/d/14Kdikbpuy8ELBxIsT6qlFZRra6n0Mf0Y-acL-bYCBFI/viewform. If there's room, your RSVP status will be changed after your response to that form is received. + +Although no web development experience is necessary to attend, this tutorial may be particularly of interest to those with some web development experience that want to better understand their tools. + +If you'd like to volunteer to help participants at this tutorial, send an email to thomasballinger@gmail.com + +No food will be provided. Bring a wifi-capable laptop and a power cord. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229680333/](https://www.meetup.com/bostonpython/events/229680333/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160407-project-night-at-akamai.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160407-project-night-at-akamai.md new file mode 100644 index 0000000..674abba --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160407-project-night-at-akamai.md @@ -0,0 +1,24 @@ +--- +title: Project Night at AKAMAI +sidebar_link: false +--- + +April 07, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai (http://akamai.com). + +NOTE! We are at AKAMAI tonight, not in our usual location. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229446494/](https://www.meetup.com/bostonpython/events/229446494/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160419-pycon-rehearsal-1.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160419-pycon-rehearsal-1.md new file mode 100644 index 0000000..ed5ab57 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160419-pycon-rehearsal-1.md @@ -0,0 +1,12 @@ +--- +title: Pycon Rehearsal 1 +sidebar_link: false +--- + +April 19, 2016 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/227220955/](https://www.meetup.com/bostonpython/events/227220955/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md new file mode 100644 index 0000000..5fdd785 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 1 - Flask APIs, and Bytecode +sidebar_link: false +--- + +April 26, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks, sponsored by MassMutual (https://www.massmutual.com/about-us/careers). David Baumgold: Prototyping new APIs with Flask (https://us.pycon.org/2016/schedule/presentation/1694/) + +You need to build a new API, but which tools do you use? Flask is a microframework that makes web development a snap, and an ecosystem of extensions and other tools has grown around it to make it perfect for prototyping APIs. In this talk, we'll see how to get started with Flask, and learn the best parts of its ecosystem for API development. More info... (https://us.pycon.org/2016/schedule/presentation/1694/) + +Scott Sanderson & Joe Jevnik: Playing with Python Bytecode (https://us.pycon.org/2016/schedule/presentation/1829/) + +Ever wondered what Python is actually doing when it executes your code? Want to learn to hand-craft artisanal Python bytecode? In this talk, we explain CPython's internal code representation, and we demonstrate techniques for modifying code objects for fun and profit. More info... (https://us.pycon.org/2016/schedule/presentation/1829/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227220925/](https://www.meetup.com/bostonpython/events/227220925/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md new file mode 100644 index 0000000..05e735e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 2 - Performance Post-Mortem, and Machete Debugging +sidebar_link: false +--- + +May 05, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks, sponsored by Better Outcomes (http://www.betteroutcomes.com). + +Geoff Gerrietts: Diving into the Wreck: a Postmortem Look at Real-World Performance (https://us.pycon.org/2016/schedule/presentation/2032/) + +As a young engineer interested in performance, much of the advice I saw on performance management focused on algorithms and rules of thumb. It’s good advice, but it doesn’t address the most common problems. This talk will cover a handful of the most common performance problems I’ve encountered in my career. We will talk about how to recognize them, what causes them, and how to resolve them. More info... (https://us.pycon.org/2016/schedule/presentation/2032/) + +Ned Batchelder: Machete-mode Debugging: Hacking Your Way Out of a Tight Spot (https://us.pycon.org/2016/schedule/presentation/1658/) + +When chasing mysterious bugs, it's helpful to use all the tools at your disposal. We'll explore ways to use Python's dynamic tools to help track down the cause of head-scratching problems in large systems. Tools include the inspect module, monkey-patching, trace functions, and the Python mechanisms at work behind them all. More info... (https://us.pycon.org/2016/schedule/presentation/1658/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227342141/](https://www.meetup.com/bostonpython/events/227342141/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md new file mode 100644 index 0000000..85680d6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 - Graceful Degradation, and Property Testing +sidebar_link: false +--- + +May 09, 2016 + + +    + +Three PyCon-bound speakers will rehearse their talks, sponsored by American Well (http://americanwell.com). + +Dan Riti: Remote Calls != Local Calls: Graceful Degradation when Services Fail (https://us.pycon.org/2016/schedule/presentation/2027/) + +In a world where we are becoming more dependent on the network to be reliable due to trends to decouple systems into distributed services, we must do our best to expect failure to occur everywhere and anywhere. This talks aims to explore different techniques for gracefully degrading when the networks fail and the services we depend on are no longer available. More info... (https://us.pycon.org/2016/schedule/presentation/2027/) + +Matt Bachmann: Better Testing With Less Code: Property Based Testing With Python (https://us.pycon.org/2016/schedule/presentation/1927/) + +Standard unit tests have developers test specific inputs and outputs. This works, but often what breaks code are the cases we did not think about. Property based testing has developers define properties of output and has the computer explore the possible inputs to verify these properties. This talk will introduce property based testing and provide real world examples and patterns. More info... (https://us.pycon.org/2016/schedule/presentation/1927/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227306467/](https://www.meetup.com/bostonpython/events/227306467/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md new file mode 100644 index 0000000..eb527fe --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 4 - Laser Cutters, and Closures +sidebar_link: false +--- + +May 25, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks. + +Giles Hall: Laser Cutters, 3D Printers, and Python (https://us.pycon.org/2016/schedule/presentation/2171/) + +How to leverage python to generate physical, tangible things. We will discuss the basics of laser cutters, 3D printers, and how you can use python to design physical objects. After a brief introduction to these technologies, we will explore a few different examples of how we can use python to generate designs suitable for 3D printing and laser cutting. More info... (https://us.pycon.org/2016/schedule/presentation/2171/) + +Thomas Ballinger: Finding closure with closures (https://us.pycon.org/2016/schedule/presentation/2231/) + +What are closures all about anyway, and why is there a new keyword in Python 3? We'll look at what a closure is, their history in the Python language, what the Python 3 nonlocal keyword is about, and examine how closures are idiomatically used (and avoided) in Python. More info... (https://us.pycon.org/2016/schedule/presentation/2231/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229446575/](https://www.meetup.com/bostonpython/events/229446575/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160606-june-project-night-at-akamai.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160606-june-project-night-at-akamai.md new file mode 100644 index 0000000..41eb4ef --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160606-june-project-night-at-akamai.md @@ -0,0 +1,22 @@ +--- +title: June project night at Akamai +sidebar_link: false +--- + +June 06, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai. + +NOTE! We are at AKAMAI tonight, not in our usual location. Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/231489013/](https://www.meetup.com/bostonpython/events/231489013/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160706-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160706-july-project-night.md new file mode 100644 index 0000000..8ba7873 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160706-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 06, 2016 + + +    + +An evening of face-to-face fun, sponsored by Twilio (http://twilio.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702645/](https://www.meetup.com/bostonpython/events/230702645/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160714-cris-ewing-plone-s-evolution.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160714-cris-ewing-plone-s-evolution.md new file mode 100644 index 0000000..a681771 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160714-cris-ewing-plone-s-evolution.md @@ -0,0 +1,20 @@ +--- +title: Cris Ewing - Plone's Evolution +sidebar_link: false +--- + +July 14, 2016 + + +    + +Cris Ewing is a guest speaker from Seattle, reprising his PyCon 2016 keynote. + +Plone is a popular, widely used open source content management system built in Python with nearly 15 years of history. As with many complex software systems, Plone has faced challenges over the years, particularly in terms of how easy it is to customize and extend. In this talk, I will explore a number of these challenges and look at how a combination of common software design patterns and innovative libraries have helped Plone to overcome them. In the end, we’ll see how these same approaches can be used in the broader Python ecosphere to address some of the common pitfalls of object oriented design. + +Cris has been involved with Plone (https://plone.com/) since 2006 and has served on the board of directors of the Plone Foundation. He teaches web development in Python for the University of Washington Professional and Continuing Education program (http://www.pce.uw.edu/) and has established the Python program at Code Fellows (https://www.codefellows.org/) in Seattle, WA. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230993578/](https://www.meetup.com/bostonpython/events/230993578/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160716-workshop-plone-theming-with-diazo.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160716-workshop-plone-theming-with-diazo.md new file mode 100644 index 0000000..d631b45 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160716-workshop-plone-theming-with-diazo.md @@ -0,0 +1,26 @@ +--- +title: Workshop - Plone theming with Diazo +sidebar_link: false +--- + +July 16, 2016 + + +    + +Cris Ewing, Plone theming with Diazo + +Plone 5 comes with a brand new theme engine called Diazo (http://diazo.org). Diazo is written in Python and allows you to map content from a dynamic website into a static HTML/CSS theme using a set of rules. Diazo compiles the theme and the rules into an XSLT file which is then used to transform the dynamic content into themed content. Thus: Diazo writes XSLT so you don't have to! Diazo can be used standalone with any dynamic website but it is built into Plone 5, which includes a through-the-web theming tool that makes it easy to get started. + +In this training, you’ll learn how to build a great-looking theme for any Plone site based on an off-the-shelf, fully responsive HTML5 layout. Along the way, you’ll learn a bit about how Plone works, and how we can create and manage websites with this fantastic tool. In the end you’ll have a nice, clean Plone site theme you can use on your next Plone project! + +All you’ll need to bring is a laptop with wireless and a web browser, we’ll supply the rest. + +Cris Ewing has been involved with Plone since 2006 and has served on the board of directors of the Plone Foundation. He teaches web development in Python for the University of Washington Professional and Continuing Education program and has established the Python program at Code Fellows in Seattle, WA. + +No food is being provided at this event. Come ready to learn and work! :) + + +Meetup link: [https://www.meetup.com/bostonpython/events/232221305/](https://www.meetup.com/bostonpython/events/232221305/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160719-beekeeper-and-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160719-beekeeper-and-lightning-talks.md new file mode 100644 index 0000000..24543bf --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160719-beekeeper-and-lightning-talks.md @@ -0,0 +1,28 @@ +--- +title: BeeKeeper, and lightning talks +sidebar_link: false +--- + +July 19, 2016 + + +    + +A mixed assortment of presentations, sponsored by FormLabs (http://formlabs.com). + +Jesse Shapiro, Better REST Clients with Beekeeper + +REST APIs are everywhere these days. As simple as their model is, there is still a frustrating amount of variation among them. Beekeeper is a new library for consuming REST APIs that simplifies the boring parts so you can focus on what your application is supposed to be doing. + +Lightning talks: + +Stephanie Davis, virtualenv +Sarah Dawson, requests +Elena Glassman, pythontutor +Samantha Scharr, argparse +Joanna Lowry-Duda, NaN breaks sorting + + +Meetup link: [https://www.meetup.com/bostonpython/events/230701789/](https://www.meetup.com/bostonpython/events/230701789/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160815-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160815-august-project-night.md new file mode 100644 index 0000000..ebd8bea --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160815-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 15, 2016 + + +    + +An evening of collegial cooperation. WE ARE LOOKING FOR A SPONSOR! + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +If you would like to showcase your company, consider sponsoring! Get in touch with leaders@bostonpython.com to find out more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230701855/](https://www.meetup.com/bostonpython/events/230701855/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160824-microservices.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160824-microservices.md new file mode 100644 index 0000000..d75de97 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160824-microservices.md @@ -0,0 +1,24 @@ +--- +title: Microservices +sidebar_link: false +--- + +August 24, 2016 + + +    + +A talk about a hot topic, microservices, sponsored by Datawire (http://datawire.io). + +Rafael Schloming: An illustrated guide to Microservices migration with Python. + +This talk will explain key principles, costs, and benefits of microservices and show via a series of live demos and working examples how to extend a Python application to quickly and easily benefit from migrating to a microservices architecture. + +Rafael is CTO and Chief Architect of Datawire. He is a globally recognized expert on messaging. He is a co-author of the AMQP 1.0 specification. Previously, Rafael was a principal software engineer at Red Hat, where he led Red Hat’s technical engagements with the AMQP community. Rafael has a B.S. in computer science from MIT. + +Pizza will be provided! + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702111/](https://www.meetup.com/bostonpython/events/230702111/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160906-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160906-september-project-night.md new file mode 100644 index 0000000..2120dc9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160906-september-project-night.md @@ -0,0 +1,22 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 06, 2016 + + +    + +An evening of friendly face-time, sponsored by Better Outcomes (http://www.betteroutcomes.com/). Better Outcomes is building a Google-scale database of medical records, healthcare insurance records, and patient reported outcomes. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232891113/](https://www.meetup.com/bostonpython/events/232891113/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160920-september-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160920-september-presentation-night.md new file mode 100644 index 0000000..47eddf0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20160920-september-presentation-night.md @@ -0,0 +1,30 @@ +--- +title: September Presentation Night +sidebar_link: false +--- + +September 20, 2016 + + +    + +Sponsored by the Plone Conference (https://2016.ploneconf.org): The international gathering for Plone and the Python Web world - training, talks, sprints, and party included. Be there! + +Presentations tonight: + +Aleksandr Koshkin, Hacking CPython internals + +The internals of the Python interpreter can be fascinating, and if you are brave enough, can be used to make Python do things it "can't do." We'll see a bit of the internals, and a few "bad ideas." :) + +Lightning talks by Tony Nelson (sending emails), Alex Orlovsky (descriptor wizardry), and maybe more. + +Pizza will be provided. + +Dun and Bradstreet is sponsoring drinks at Meadhall after the presentation. + +"Life here at Dun & Bradstreet is changing – for the better. Our purpose is to grow the most valuable relationships in business by uncovering truth and meaning in data. So if you thrive in a fluid, agile culture but want the solidity of a storied and commanding brand, check out our transformation. http://www.dnb.com/careers " + + +Meetup link: [https://www.meetup.com/bostonpython/events/231638367/](https://www.meetup.com/bostonpython/events/231638367/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161004-boston-python-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161004-boston-python-october-project-night.md new file mode 100644 index 0000000..293c82c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161004-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 04, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai. + +NOTE! We are at AKAMAI tonight, not in our usual location. Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided courtesy of Akamai. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232951815/](https://www.meetup.com/bostonpython/events/232951815/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161020-brandon-rhodes-the-subprocess-module.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161020-brandon-rhodes-the-subprocess-module.md new file mode 100644 index 0000000..dfa7a8f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161020-brandon-rhodes-the-subprocess-module.md @@ -0,0 +1,26 @@ +--- +title: Brandon Rhodes - The subprocess module! +sidebar_link: false +--- + +October 20, 2016 + + +    + +EverQuote (http://everquote.com) is our pizza sponsor tonight, and InsightSquared (http://insightsquared.com) is bringing beer! + +Brandon Rhodes, The subprocess module + +The programmer who wants to make sophisticated use of the "subprocess" module embarks upon the great game. Can arbitrary filenames, whitespace-laden strings, and even binary data make it through intact to the process you are invoking — or will process invocation always be susceptible to awkward edge cases? Learn the full story behind how argument strings are quoted, delimited, and interpreted as they pass from Python into the operating system and then are delivered to either a local process or a remote shell! + +Brandon is a renowned Python speaker, keynoting PyCon events around the US and the world. He is the current chair of PyCon US. + +Pizza will be provided, sponsored by EverQuote. + +Launched in January 2011, EverQuote has built the largest online auto insurance marketplace in the U.S. Through our flagship website, EverQuote.com (http://everquote.com/), we leverage our proprietary internet traffic acquisition platform and data driven models to enable consumers to efficiently connect with the carriers & agents best suited to meet their needs. Based in Cambridge, MA, the company is one of the fastest growing technology firms in Cambridge & Boston. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232919188/](https://www.meetup.com/bostonpython/events/232919188/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161107-november-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161107-november-project-night.md new file mode 100644 index 0000000..3d685bb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161107-november-project-night.md @@ -0,0 +1,22 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 07, 2016 + + +    + +An evening of friendly face-time, sponsored by PluralSight (http://pluralsight.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided, of course. You can't do your best work on an empty stomach! + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702610/](https://www.meetup.com/bostonpython/events/230702610/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md new file mode 100644 index 0000000..47561b7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md @@ -0,0 +1,30 @@ +--- +title: Scraping together a dataset to predict Oscar winners +sidebar_link: false +--- + +November 21, 2016 + + +    + +Pizza sponsored by DataXu (http://dataxu.com), drinks afterward by MassChallenge (http://masschallenge.org/). + +Deborah Hanus, How to scrape together a dataset using things you found on the internet. + +Using Jupyter notebooks and scikit-learn, I’ll predict whether a movie is likely to win an Oscar or be a box office hit. I’ll walk through the most important steps of creating an effective dataset using information that you find on the Internet: asking a question your data can answer, writing a web scraper, and answering those questions using nothing but Python libraries and data from the Internet. To illustrate how these steps fit together, I walk through building a dataset from IMDB data and use it to predict what makes a winning Oscar movie. + +Plus a few lightning talks + +Pizza will be provided by DataXu. + +Mass Challenge is hosting drinks after the Meetup, so plan to stick around and say hello: + +"MassChallenge is the most startup-friendly accelerator on the planet. No equity and not-for-profit, we are obsessed with helping entrepreneurs across any industry. We also reward the highest-impact startups through a competition to win a portion of several million dollars in equity-free cash awards. Through our global network of accelerators in Boston, London, Jerusalem, Lausanne and Mexico City and unrivaled access to our corporate partners, we can have a massive impact - driving growth and creating value the world over. + +"We are expanding the use of our Accelerate Platform within our international programs and plan to make it available to a broader community of organizations with similar needs. Currently the platform is a single Python Django web application that focuses on individual accelerator competitions. To achieve MassChallenge's ambitious goals we need to re-architect the existing system and create entirely new web-services that will provide needed functionality at the increasing scale of the organization. We are looking for an experienced Principal Software Engineer to join our team and help us catalyze a global startup renaissance that embraces diversity, creates real value, and takes on the world's biggest problems." + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702569/](https://www.meetup.com/bostonpython/events/230702569/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161205-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161205-december-project-night.md new file mode 100644 index 0000000..0632f71 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161205-december-project-night.md @@ -0,0 +1,22 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 05, 2016 + + +    + +An evening of friendly face-time, sponsored by CarbonBlack (http://carbonblack.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided, of course. You can't do your best work on an empty stomach! + + +Meetup link: [https://www.meetup.com/bostonpython/events/234803292/](https://www.meetup.com/bostonpython/events/234803292/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161220-december-presentation-night-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161220-december-presentation-night-lightning-talks.md new file mode 100644 index 0000000..e18c0ef --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20161220-december-presentation-night-lightning-talks.md @@ -0,0 +1,26 @@ +--- +title: December Presentation Night - Lightning Talks +sidebar_link: false +--- + +December 20, 2016 + + +    + +An evening of lightning talks, sponsored by Merrimack College's Data Science & Analytics graduate programs (http://onlinedsa.merrimack.edu/). + +A lightning talk is quick: 5 to 10 minutes. We have a bunch tonight: + +Joe Boerjes: List Comprehensions +Lee Scheffler: "Brain LEGOs" cognitive system technology toolkit +Mike Speciner: Secret Sharing +Michele Pratusevich: How to make Instagram filters in ~15 lines of Python +Maciej Murakowski: Function default arguments +Dan Finkel: Voronoi diagrams +Slater Victoroff: Using and abusing Python's magic methods to reduce goo code + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430655/](https://www.meetup.com/bostonpython/events/234430655/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170110-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170110-january-project-night.md new file mode 100644 index 0000000..db82056 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170110-january-project-night.md @@ -0,0 +1,22 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 10, 2017 + + +    + +An evening of collegial cooperation, sponsored by Man Numeric Investors (http://numeric.com), (job listing (https://mancareers.resourcesolutions.com/gold/iapply/index.cfm?event=jobs.detail&jobid=899016)). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430835/](https://www.meetup.com/bostonpython/events/234430835/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md new file mode 100644 index 0000000..4458478 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md @@ -0,0 +1,29 @@ +--- +title: Rapydscript, Modeling pattern formation, and PyPy +sidebar_link: false +--- + +January 23, 2017 + + +    + +Three talks, sponsored by OM1. (http://www.om1.com/) + +Alex Tespkov: Rapydscript + +Rapydscript (http://www.rapydscript.com/) is a marriage of Python and JavaScript, a decluttered JavaScript inspired by Python. RapydScript allows to write your JavaScript app in a language much closer to Python without the overhead that other similar frameworks introduce. + +Alex Lancaster & Gordon Webster: Modeling pattern formation: a gateway to Python for biologists +Many life scientists want to add computation to their research, but traditional introductions often aren't written with the biologist's intuition in mind. Modeling cool pattern formations can be a great gateway to Python. + +Chris Lieb: PyPy + +Is your Python program going too slow? PyPy might solve your problem, as it did at BitSight. Chris will tell us about PyPy: what it is, why one might use it, their recent usage of it, the improvements they saw, and how to get started. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430790/](https://www.meetup.com/bostonpython/events/234430790/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170209-cancelled-february-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170209-cancelled-february-project-night.md new file mode 100644 index 0000000..700cbc5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170209-cancelled-february-project-night.md @@ -0,0 +1,24 @@ +--- +title: CANCELLED - February Project Night +sidebar_link: false +--- + +February 09, 2017 + + +    + +Expecting 10 inches of snow, we'll find another time to do this! :) + +An evening of friendly face-time, sponsored by Pluralsight. (http://pluralsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430865/](https://www.meetup.com/bostonpython/events/234430865/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md new file mode 100644 index 0000000..a5c5594 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md @@ -0,0 +1,20 @@ +--- +title: February Presentation Night - Porting Python to New Hardware +sidebar_link: false +--- + +February 22, 2017 + + +    + +Russell Keith-Magee:Stranger in a Strange Land: Porting Python to new hardware + +The popular hardware platforms that have emerged over the last 10 years have one thing in common: they all promote programming language monocultures. The platform manufacturers provide a single language, and strongly encourage all developers to use that one language for all projects - Javascript for browsers; Objective C (or Swift) for iOS; and Java for Android. Is it possible to break the language monoculture, and use Python on these new hardware platforms? Thankfully, the answer is yes. In this presentation, Founding Apiarist Russell Keith-Magee will show you how the BeeWare project has ported Python to a range of new hardware platforms. + +Pluralsight (http://pluralsight.com) is our generous pizza sponsor this month. + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430898/](https://www.meetup.com/bostonpython/events/234430898/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170307-boston-python-march-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170307-boston-python-march-project-night.md new file mode 100644 index 0000000..a2e3def --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170307-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 07, 2017 + + +    + +An evening of friendly face-time, sponsored by Akamai (http://akamai.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Akamai! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/237269009/](https://www.meetup.com/bostonpython/events/237269009/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170321-jupyter-wearables-and-iteration.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170321-jupyter-wearables-and-iteration.md new file mode 100644 index 0000000..a3eabef --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170321-jupyter-wearables-and-iteration.md @@ -0,0 +1,26 @@ +--- +title: Jupyter Wearables, and Iteration +sidebar_link: false +--- + +March 21, 2017 + + +    + +We need a pizza sponsor; could it be you? Here's how to sponsor (http://bit.ly/BostonPythonSponsors). + +Demba Ba, "Labs in the Wild": Teaching Signal Processing Using Wearables and Jupyter Notebooks in the Cloud + +Jupyter notebooks and the Python ecosystem provide a unique opportunity for interactive, web-based, teaching of content that has not traditionally leveraged scientific computing resources. We discuss the design and implementation of a new biological signal processing course at Harvard, ES155, which fuses Wearable technology and cloud-based analysis of data. We describe our system in this talk, and perform a live demo of how students in our class interact with the system, and give examples of ingenious final projects put together by students. + +David Baumgold, Looping Like a Pro in Python + +The humble loop: it's hard to write a program without it. Whether it's processing numbers in a sequence, lines in a text file, users in a database, or any other list of things, you use loops all the time. But did you know that Python has a lot of different ways to write loops? Reaching for the right looping tool can make your code cleaner, more readable, easier to test, and it can even make it run faster! By the end of this talk, you'll be looping like a pro, and your code will be better for it. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/236881830/](https://www.meetup.com/bostonpython/events/236881830/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170405-boston-python-april-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170405-boston-python-april-project-night.md new file mode 100644 index 0000000..f643a0d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170405-boston-python-april-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python April Project Night +sidebar_link: false +--- + +April 05, 2017 + + +    + +An evening of friendly face-time, sponsored by Pluralsight (http://pluralsight.com). + +Different location: note that project night will meet at edX's office. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Pluralsight! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/237146736/](https://www.meetup.com/bostonpython/events/237146736/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md new file mode 100644 index 0000000..6b0d385 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md @@ -0,0 +1,32 @@ +--- +title: PyCon Rehearsal 1 - Comparing Unicode and Predicting Oscars +sidebar_link: false +--- + +April 27, 2017 + + +    + +Two rehearsals of upcoming PyCon talks, sponsored and hosted by Wayfair (https://www.wayfaircareers.com/). + +Text is More Complicated Than You Think: Comparing and Sorting Unicode + +Morgan Wahl + +Few people realize just how complicated text can be. Did you know sorting and even case-folding can depend on a user's locale? That different strings of characters can be semantically completely equivalent? That there are over a thousand Latin letters? + +Legacy text encodings like ASCII made a lot of simplifying assumptions about how written languages work, and we all put up with them because it was cool to even have computers in the first place. Unicode removes many of those assumptions and provides the tools we need to write software that can just do the right thing regardless of what text users throw at it. Even if you don't translate your UI, getting the details of string comparison, sorting, and searching right can eliminate annoying surprises for you and your users. + +Lights, camera, action! Scraping a great dataset to predict Oscar winners + +Deborah Hanus + +Using Jupyter notebooks and scikit-learn, you’ll predict whether a movie is likely to win an Oscar (http://oscarpredictor.github.io/) or be a box office hit. Together, we’ll step through the creation of an effective dataset: asking a question your data can answer, writing a web scraper, and answering those questions using nothing but Python libraries and data from the Internet. + +Pizza (and I think beer!) will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238238860/](https://www.meetup.com/bostonpython/events/238238860/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md new file mode 100644 index 0000000..58d988d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md @@ -0,0 +1,34 @@ +--- +title: Tutorial - How to Write and Debug C Extension Modules +sidebar_link: false +--- + +April 29, 2017 + + +    + +Description + +The CPython interpreter allows us implement modules in C for performance critical code or to interface with external libraries while presenting users with a high level Python API. This tutorial will teach you how to leverage to power of C in your Python projects. + +We will start by explaining the C representation of Python objects and how to manipulate them from within C. We will then move on to implementing functions in C for use in Python. We will discuss reference counting and correct exception handling. We will also talk about how to package and build your new extension module so that it may be shared on PyPI. (We will only be covering building extension modules on GNU/Linux and OSX, not Windows). + +After the break, we will show how to implement a new type in C. This will cover how to hook into various protocols and properly support cyclic garbage collection. We will also discuss techniques for debugging C extension modules with gdb using the CPython gdb extension. + +Instructor Bio Joe Jevnik works at Quantopian where he works on integrating data from various sources into the platform. Joe works on Zipline, Quantopian's open source backtester. He also works on the Blaze ecosystem, mainly on blaze core, odo, and datashape. Pre-Tutorial Instructions You should be comfortable with the Python language and builtin data structures like dict, list, and tuple. + +You should understand C control flow like 'if' statements and 'for' loops as well as the standard C types like 'int' and 'float'. You should also be familiar with pointers and how to use them. + +Follow the install steps at https://github.com/llllllllll/c-extension-tutorial + +Contact: + +joejev@gmail.com + +Other Notes Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341234/](https://www.meetup.com/bostonpython/events/238341234/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md new file mode 100644 index 0000000..e33c0c1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md @@ -0,0 +1,30 @@ +--- +title: Tutorial - Intro to DSP (Digital Signal Processing) +sidebar_link: false +--- + +April 29, 2017 + + +    + +Tutorial Details + +Spectral analysis is an important and useful technique in many areas of science and engineering, and the Fast Fourier Transform is one of the most important algorithms, but the fundamental ideas of signal processing are not as widely known as they should be. + +Fortunately, Python provides an accessible and enjoyable way to get started. In this tutorial, I present material from my book, Think DSP, and from a class I teach at Olin College. We will work with audio signals, including music and other recorded sounds, and visualize their spectrums and spectrograms. We will synthesize simple sounds and learn about harmonic structure, chirps, filtering, and convolution. + +Instructor Bio + +Allen Downey is a professor of computer science at Olin College, a new engineering college near Boston with the mission to fix engineering education. He is the author of Think Python, Think Stats, Think Bayes, Think Complexity, and several other books all available under free licenses. Pre-Tutorial Instructions You should be comfortable using Python in a Jupyter notebook. + +Please follow the instructions at http://allendowney.github.io/ThinkDSP/tutorial + +If there are any issues, please contact Allen Downey at downey@allendowney.com + +Other Notes Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341199/](https://www.meetup.com/bostonpython/events/238341199/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md new file mode 100644 index 0000000..cf858dd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md @@ -0,0 +1,42 @@ +--- +title: PyCon Rehearsal 2 - Laziness, Mongo, and Immutability +sidebar_link: false +--- + +May 02, 2017 + + +    + +Rehearsals for PyCon (and other) presenters, sponsored by GenePeeks + +Title Available On Request: An Introduction to Lazy Evaluation + +Joe Jevnik + +Lazy evaluation, also known as "call by need", is an evaluation strategy where values are produced only when needed. Lazy evaluation is the opposite of eager evaluation, Python's normal evaluation model, where functions are executed as seen and values are produced immediately. + +In this talk we will define lazy evaluation and contrast it with eager evaluation. We will discuss tools that exist in Python for using lazy evaluation and show how we can build on the primitives to better represent computations. We will introduce common vocabulary for discussing evaluation models, and compare different systems for implementing lazy evaluation. Finally, we will discuss optimizations that can be made to optimize lazily evaluated expressions. + +Analyzing Math Literacy Data with PyMongo + +Robyn Allen + +In an effort to study how high school students develop persistence in technical domains, we wrote a Python/Flask/MongoDB app which serves math problems. This talk will explain what data the app logs, how that data is stored, and how to use PyMongo (a Python driver for MongoDB) to analyze that data. + +Immutable Programming - Writing Functional Python + +Calen Pennington + +The world of Haskell and functional programming may seem like a distant place to many working Python developers, but some of the techniques used there are remarkably useful when developing in Python. + +In this talk, I will cover some of the pitfalls of mutability that you may run into while writing Python programs, and some tools and techniques that Python has built in that will let you avoid them. You'll see namedtuples, enums and properties, and also some patterns for structuring immutable programs that will make them easier to build, extend, and test. + +(https://us.pycon.org/2017/schedule/presentation/769/) + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238648235/](https://www.meetup.com/bostonpython/events/238648235/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-complexity-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-complexity-science.md new file mode 100644 index 0000000..27c8d12 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-complexity-science.md @@ -0,0 +1,38 @@ +--- +title: Tutorial - Complexity Science +sidebar_link: false +--- + +May 06, 2017 + + +    + +Description + +Complexity Science is an approach to modeling systems using tools from discrete mathematics and computer science, including networks, cellular automata, and agent-based models. It has applications in many areas of natural and social science. + +Python is a particularly good language for exploring and implementing models of complex systems. In this tutorial, we present material from the draft second edition of Think Complexity, and from a class we teach at Olin College. We will work with random networks using NetworkX, with cellular automata using NumPy, and we will implement simple agent-based models. + +Instructor Bio + +Allen Downey is a professor of computer science at Olin College, a new engineering college near Boston with the mission to fix engineering education. He is the author of Think Python, Think Stats, Think Bayes, Think Complexity, and several other books all available under free licenses. + +Jason Woodard is an associate professor of engineering and entrepreneurship at Olin College. He studied complex systems and computational modeling at the Santa Fe Institute, and uses complexity science to model the evolution of technology and markets. + +Pre-Tutorial Instructions + +Prerequisite knowledge: You should be comfortable using Python in a Jupyter notebook. + +Pre-tutorial instructions: Please follow the instructions at http://allendowney.github.io/ThinkComplexity2/tutorial + +Contact: If there are any issues, please contact Allen Downey at downey@allendowney.com + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341304/](https://www.meetup.com/bostonpython/events/238341304/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-network-analysis-made-simple.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-network-analysis-made-simple.md new file mode 100644 index 0000000..f7aab78 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170506-tutorial-network-analysis-made-simple.md @@ -0,0 +1,32 @@ +--- +title: Tutorial - Network Analysis Made Simple +sidebar_link: false +--- + +May 06, 2017 + + +    + +Description + +Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? Or how epidemiologists track down patient zero in an outbreak? If so, then this tutorial is for you. In this tutorial, we will use a variety of datasets to help you understand the fundamentals of network thinking, with a particular focus on constructing, summarizing, and visualizing complex networks. + +Instructor Bio + +I am a 6th year PhD Candidate in the Runstadler Lab in the Biological Engineering department at MIT. I study the influenza virus, which is like a self-replicating deck of 8 poker cards. I am using Python to solve infectious disease data science problems. + +Pre-Tutorial Instructions + +You should be familiar with basic Python programming syntax, particularly list comprehensions. + +Download/clone repository: http://github.com/ericmjl/Network-Analysis-Made-Simple Follow instructions in README to create compute environment. + +If there are any issues, please contact Eric J. Ma at http://www.shortwhale.com/ericmjl . Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341272/](https://www.meetup.com/bostonpython/events/238341272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md new file mode 100644 index 0000000..726b786 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md @@ -0,0 +1,27 @@ +--- +title: PyCon Rehearsal 3 - Deep Learning, and Bayesian Analysis +sidebar_link: false +--- + +May 09, 2017 + + +    + +Rehearsals for two PyCon speakers, sponsored and hosted by Amazon. + +A gentle introduction to deep learning with TensorFlow +Michelle Fullwood + +Deep learning's explosion of spectacular results over the past few years may make it appear esoteric and daunting, but in reality, if you are familiar with traditional machine learning, you're more than ready to start exploring deep learning. This talk aims to gently bridge the divide by demonstrating how deep learning operates on core machine learning concepts and getting attendees started coding deep neural networks using Google's TensorFlow library. + +Bayesian Statistical Analysis with Python + +Eric J. Ma + +You've got some data, and now you want to analyze it with Python. You're on your way to greatness! Now the problem comes: do I do the t-test? Chi-squared test? How do I decide? In this talk, I will show you how you can take common statistical decision problems, formulate them as a Bayesian analysis problem, and use PyMC3 as your workhorse tool for gaining insights. This talk will be math-light and code-heavy, and if you download the slides, you'll have a simple template for more complex Bayesian analysis down the road! + + +Meetup link: [https://www.meetup.com/bostonpython/events/238250191/](https://www.meetup.com/bostonpython/events/238250191/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md new file mode 100644 index 0000000..daa5bcb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md @@ -0,0 +1,44 @@ +--- +title: PyCon Rehearsal 4 - Testing, Instagram and Library UX +sidebar_link: false +--- + +May 11, 2017 + + +    + +PyCon rehearsals, sponsored by Kyruus (http://kyruus.com) + +Big picture software testing: unit testing, Lean Startup, and everything in-between + +Itamar Turner-Trauring + +There are many ways you can test your software: unit testing, manual testing, end-to-end testing, and so forth. Take a step back and you'll discover even more form of testing, many of them very different in their goals: A/B testing, say, where you see which of two versions of your website results in more signups or ad clicks. + +How do these forms of testing differ, how do they relate to each other? How do you choose which kind of testing to pursue, given limited time and resources? How do you deal with strongly held yet opposite views arguing either that a particular kind of testing is essential or that it's a waste time? + +This talk will provide you with a model, a way to organize all forms of testing and understand what exactly they provide, and why. Once you understand the model you will be able to choose the right form of testing for your situation and goals. + +Instagram Filters in 15 Lines of Python + +Michele Pratusevich + +Images tell stories, and we love Instagram filters because they give emotion to our images. Do you want to explore what makes up Instagram filters? In this talk, we will talk about the basic elements of Instagram filters and implement them in Python. The staple libraries we will use are scikit-image and numpy - matplotlib and jupyter notebooks for plotting and interactivity. In the end, we will implement the (now-defunct) Gotham Instagram filter in 15 lines of Python (not including imports). Throughout the process, there will be many pretty pictures. + +Library UX: Using abstraction towards friendlier APIs + +Mali Akmanalp + +Complicated libraries can be a pain in the butt to use. It's not surprising that there are a lot of "X for humans" libraries out there, some of which are mostly wrappers around more frustrating interfaces. + +This is not a theoretical talk. I'll touch upon theory to give you context, but will then talk about what that means for you in practice so that you can write better libraries. I'll talk about why library UX matters, about abstraction as a general concept, about out what happens when you over/under abstract, and about some useful tips to help build friendly APIs. Meanwhile, I'll show some positive examples from libraries we know and love (flask, SQLAlchemy, Requests, etc). Once you recognize these effects in play, you'll be able to apply them to your own code and make life better for everyone! + +Tonight we're hosted by iZotope (https://www.izotope.com), at 60 Hampshire Street. + +Our pizza sponsor is Kyruus (http://kyruus.com). Kyruus takes a "Moneyball" approach to matching patients to the right healthcare providers through its search, scheduling, and data management platform. We work with over 85,000 providers across 400+ hospitals nationwide to reduce appointment wait times for patients, improve referral quality for providers, and optimize capacity utilization for hospital systems. + + +Meetup link: [https://www.meetup.com/bostonpython/events/239381088/](https://www.meetup.com/bostonpython/events/239381088/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md new file mode 100644 index 0000000..a5c497b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md @@ -0,0 +1,34 @@ +--- +title: Tutorial - Applied Modern Cryptography in Python +sidebar_link: false +--- + +May 13, 2017 + + +    + +Description + +Today we use cryptography in almost everywhere. From surfing the web over https, to working remotely over ssh. Although most developers don't need to implement cryptography primitives, the knowledge and understanding of these building block allows them to better deploy them in their application. In modern crypto we have all the building block to develop secure application. However, we see instances of insecure code everywhere. Most of these vulnerabilities are not because of theoretic shortcomings, but due to bad implementation or a flawed protocol design. Cryptography is a delicate art where nuances matter, and failure to comprehend the subtleties of these building blocks leads to critical vulnerabilities. To add insult to injury most of the resources available are either outdated or wrong, and inarguably, using bad crypto more dangerous than not using it. + +In this tutorial we look at the basic building blocks of modern cryptography. We will cover the encryption techniques, hashing mechanisms, and key devastation algorithms. Furthermore we review two of the most widely used protocol suites, SSL and PGP. We conclude by implementing a simplified version of Pretty Good Privacy (PGP), that is used for encryption of texts, e-mails, files, directories, and whole disk partitions. + +Instructor Bio + +Amirali is a Computer Science PhD student at Northeastern University, and holds a Bachelors in Computer Science from St Andrews University. His research is mostly on cyber security and privacy, and its coverage has appeared on venues such as MIT Technology Review and ACM Tech News, Ars Technica, Threatpost, Vice Motherboard, etc. He has thought and assisted with the Network Security course at Northeastern for more than 4 years. + +Pre-Tutorial Instructions + +Please follow instructions on the GitHub repository (https://github.com/amiralis/pycon2017_crypto_tutorial). + +Pre-requisite knowledge includes: basic knowledge of Python programming language, and basic math (xor, power exponentiation, logarithm). Based on audience capabilities, there may be basic math review. + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341376/](https://www.meetup.com/bostonpython/events/238341376/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-best-testing-practices-for-data-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-best-testing-practices-for-data-science.md new file mode 100644 index 0000000..aca442c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170513-tutorial-best-testing-practices-for-data-science.md @@ -0,0 +1,30 @@ +--- +title: Tutorial - Best Testing Practices for Data Science +sidebar_link: false +--- + +May 13, 2017 + + +    + +Description + +So you're a data scientist wrangling with data that's continually avalanching in, and there's always errors cropping up! NaNs, strings where there are supposed to be integers, and more. Moreover, your team is writing code that is getting reused, but that code is failing in mysterious places. How do you solve this? Testing is the answer! In this tutorial, you will gain practical hands-on experience writing tests in a data science setting so that you can continually ensure the integrity of your code and data. You will learn how to use py.test, coverage.py, and hypothesis to write better tests for your code. + +Instructor Bio + +Eric Ma is a 6th year PhD Candidate in the Runstadler Lab in the Biological Engineering department at MIT. I study the influenza virus, which is like a self-replicating deck of 8 poker cards. I am using Python to solve infectious disease data science problems. + +Pre-Tutorial Instructions + +Please follow instructions on the GitHub repository: https://github.com/ericmjl/data-testing-tutorial + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341350/](https://www.meetup.com/bostonpython/events/238341350/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170605-boston-python-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170605-boston-python-june-project-night.md new file mode 100644 index 0000000..7f9dfb6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170605-boston-python-june-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 05, 2017 + + +    + +An evening of friendly face-time, sponsored by IBM Resilient. (http://resilientsystems.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by IBM Resilient! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/238674831/](https://www.meetup.com/bostonpython/events/238674831/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170622-june-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170622-june-presentation-night.md new file mode 100644 index 0000000..b1b370b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170622-june-presentation-night.md @@ -0,0 +1,26 @@ +--- +title: June Presentation Night +sidebar_link: false +--- + +June 22, 2017 + + +    + +Akamai is hosting and providing pizza tonight. + +Tonight, four short talks (more detailed abstracts coming soon!) + +Ethan Ebinger: Using Google Maps API to validate one-way streets in a road network. + +Kathryn Glowinski: Decorators + +Carolyn Ranti: Grift + +Milos Milijkovic: Shazam-like song identification in less than 50 lines of Python code. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238674822/](https://www.meetup.com/bostonpython/events/238674822/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170712-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170712-july-project-night.md new file mode 100644 index 0000000..06a6954 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170712-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 12, 2017 + + +    + +An evening of collegial cooperation, sponsored by O'Reilly (https://www.oreilly.com/) and their JupyterCon (https://conferences.oreilly.com/jupyter/jup-ny) conference. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by O'Reilly! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446952/](https://www.meetup.com/bostonpython/events/240446952/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170718-july-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170718-july-presentation-night.md new file mode 100644 index 0000000..ce174bc --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170718-july-presentation-night.md @@ -0,0 +1,30 @@ +--- +title: July Presentation Night +sidebar_link: false +--- + +July 18, 2017 + + +    + +Some scientific talks, sponsored by Kyruus (http://kyruus.com). + +Narendra Mukherjee: Open Source Electrophysiology + +I am a neuroscience PhD student at Brandeis, studying taste processing in rats. I implant electrodes in the 'taste area' of the brain, and record from them while the animal is tasting stuff. We believe in the idea of open-source electrophysiology and have developed a Python- and Linux-based hardware and software suite at a fraction of the cost of most commercial solutions. + +Joseph Wachutka: Raspberry Pi support for Neuroscience + +An overview of our experiences at Brandeis with several hacker boards (esp Arduino, Micro python, and the Pi) and how the Pi suits our purposes the best. + +Joseph Farah: CORAL - A real-time sentry for the world's oceans + +CORAL keeps track of worldwide percentages of coral bleaching in real time using data from the NOAA and compares it to fluctuations in temperature, pH, etc. It is very dynamic and supports input from any of the NOAA's realtime public data. It also has a front-facing GUI for users to generate graphs and the like to use in scientific publications. + +Our pizza sponsor is Kyruus (http://kyruus.com/). Kyruus takes a "Moneyball" approach to matching patients to the right healthcare providers through its search, scheduling, and data management platform. We work with over 85,000 providers across 400+ hospitals nationwide to reduce appointment wait times for patients, improve referral quality for providers, and optimize capacity utilization for hospital systems. + + +Meetup link: [https://www.meetup.com/bostonpython/events/240494084/](https://www.meetup.com/bostonpython/events/240494084/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170808-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170808-august-project-night.md new file mode 100644 index 0000000..049e3f0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170808-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 08, 2017 + + +    + +Pizza is provided courtesy of DataRobot. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. There is no fixed or provided projects: you work on what you want to work on. Anything goes! + +DataRobot offers an enterprise machine learning platform that empowers users to make better predictions faster. Incorporating a library of hundreds of open source machine learning algorithms, the DataRobot platform automates, trains and evaluates predictive models in parallel, delivering more accurate predictions at scale. For more, visit www.datarobot.com (http://www.datarobot.com/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446976/](https://www.meetup.com/bostonpython/events/240446976/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170824-virtualenv-items-and-attributes.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170824-virtualenv-items-and-attributes.md new file mode 100644 index 0000000..a14ba91 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170824-virtualenv-items-and-attributes.md @@ -0,0 +1,24 @@ +--- +title: Virtualenv, Items, and Attributes +sidebar_link: false +--- + +August 24, 2017 + + +    + +Two foundational talks, sponsored by Twilio. + +Brian Rutledge, Virtualenv + +Virtualenv is a must-use tool for creating isolated Python environments. Find out what they are, why they are good, and how to use them. + +Benjamin Zagorsky, Items vs Attributes + +We'll dig in to the underpinnings of dot references vs square bracket references (thing.attr vs thing["item"]). What are they, and what are the philosophical differences? How do you use each? How do special methods __getattr__ and __getitem__ work? This will give you all the background you need. + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446981/](https://www.meetup.com/bostonpython/events/240446981/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170907-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170907-september-project-night.md new file mode 100644 index 0000000..014f1ce --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170907-september-project-night.md @@ -0,0 +1,20 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 07, 2017 + + +    + +Pizza will be provided by Pluralsight! You can't be friendly, helpful, and productive if you're hungry... + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/240992886/](https://www.meetup.com/bostonpython/events/240992886/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170919-what-i-did-on-my-summer-vacation.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170919-what-i-did-on-my-summer-vacation.md new file mode 100644 index 0000000..1d2bde7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20170919-what-i-did-on-my-summer-vacation.md @@ -0,0 +1,22 @@ +--- +title: What I Did on my Summer Vacation +sidebar_link: false +--- + +September 19, 2017 + + +    + +Sponsored by FineTune (https://www.finetunelearning.com/). + +Ned Batchelder, What I Did on my Summer Vacation + +This summer I started a new side project. I encountered some of the same issues as in any project. This talk is a rambling exploration of some of them. I'll explain Python facilities as I go, and get into thornier engineering questions: what is big-O notation, and how does it affect code speed? What's up with Python's special methods? How to choose data representations? How to deal with other people's code? How to manage uncertainty? And most importantly: how to overcome your own fears and doubts. + +This talk covers a lot of ground, but should be good for beginners and up. + + +Meetup link: [https://www.meetup.com/bostonpython/events/241561681/](https://www.meetup.com/bostonpython/events/241561681/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171010-boston-python-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171010-boston-python-october-project-night.md new file mode 100644 index 0000000..72935bd --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171010-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 10, 2017 + + +    + +Pizza sponsored by Winter Wyman. EdX is hosting us at their office. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Winter Wyman Search is one of the largest and most recognized search firms in New England. Our Software Technology Group is focused on recruiting local Software Engineering professionals in the pursuit of full-time positions. Our client base is comprised of innovative and fast-growing startups, established software companies, and large, publicly-traded software firms. Our deep connections (over 40 consecutive years) help us to make career matches that endure. + + +Meetup link: [https://www.meetup.com/bostonpython/events/242907820/](https://www.meetup.com/bostonpython/events/242907820/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md new file mode 100644 index 0000000..12c7153 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md @@ -0,0 +1,32 @@ +--- +title: Pycon.ca rehearsals - Functions, Descriptors, and Teaching Teens +sidebar_link: false +--- + +October 26, 2017 + + +    + +Sponsored by Department of Biomedical Informatics at Harvard Medical School (http://dcic.4dnucleome.org/) + +InsightSquared will sponsor drinks afterward. + +Pycon.ca (https://2017.pycon.ca/) is the Canadian regional PyCon. It's in Montréal, Nov 18-21. We have three Boston people speaking there. They will rehearse their talks with us. + +Jack Diederich, HOWTO write a function + +Writing a function that the compiler will accept is much easier than writing a function that will get through code review on the first pass. I've written and reviewed lots of functions and the same advice comes up again and again. 1) Your function should have three parts: input, transform, and output. You should do them in order and not intermingle the three. 2) Keep the function readable by giving your reader context and keeping the amount of implied context low. 3) You can mostly ignore cargo cult practices like one-entry-one-exit and strict function length limits. We'll talk about why those cults exist and how to defend against them in a code review. + +Jesse Shapiro, Descriptors, magic methods, and inheritance: oh my! + +It's very simple to write straightforward imperative code with Python. You can easily define classes and functions, and write behavior inside them. However, pure imperative design means that you'll likely end up writing the same patterns of code over and over - whether it's requests.get() or LOGGER = getLogger(__name__). By taking advantage of some of the more advanced features of the Python language, like descriptors, overridden magic methods, and creative uses of inheritance, we can make our code smaller and more expressive. Proper abstractions will also make it easier to test your code thoroughly and effectively - because you're not reimplementing behavior unnecessarily, you can properly test the one place you do implement it, and rely on it from then on. And, it becomes much easier to add features later on that rely on existing behavior - you just need to describe them in terms of the things you've already implemented. + +Robyn Allen, Teaching Python to teens + +How does one design a workshop accessible to beginners yet also challenging to seasoned Python programmers? This talk will summarize two pieces of curriculum which have proven successful in engaging teenagers in an extracurricular setting. Unlike traditional computer science lecture material, these problems ask the learner to spend the majority of their time designing an original solution (in pseudocode or outline form). The goal of this talk is to empower attendees to offer similar workshops (for teens) regardless of prior programming experience. As the world faces not only a shortage of software engineers but also a shortage of available engineer-teachers, new curriculum which enables non-programmers to teach programming is urgently needed. Whether or not you have teaching experience (or Python experience), come to this talk and help further the conversation about Python literacy! + + +Meetup link: [https://www.meetup.com/bostonpython/events/242251013/](https://www.meetup.com/bostonpython/events/242251013/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171120-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171120-boston-python-project-night.md new file mode 100644 index 0000000..97c339a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171120-boston-python-project-night.md @@ -0,0 +1,20 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +November 20, 2017 + + +    + +Sponsored by Pluralsight. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/243359419/](https://www.meetup.com/bostonpython/events/243359419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171218-boston-python-december-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171218-boston-python-december-presentation-night.md new file mode 100644 index 0000000..004bb1e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20171218-boston-python-december-presentation-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python December Presentation Night +sidebar_link: false +--- + +December 18, 2017 + + +    + +Two short talks and plenty of mingling for our December event. Sponsored by Twitter (https://careers.twitter.com/en/locations/boston.html). + +Douglas Landgraf: Controlling a Surveillance Camera with Python + +An overview of our project to control an Amcrest camera from Linux. Starting with the vendor SDK, we had some challenges like options not correctly documented, how to write a code for reuse, integration, reverse engineering, and so on. In the end, we extended the library to a shell CLI, a text user interface, and interfacing to Home Assistant, an open-source Python 3 home automation platform. + +Gretchen Green: DragonPaint – Bootstrapping Small Data to Color Cartoons + +The creation of sufficient quantities of labeled training data is one of the biggest challenges for machine learning applications, especially when the data itself must be created, not just labeled. DragonPaint presents a generalizable strategy for minimizing the manual creation of data using rule based algorithms to automate the creation of a restricted subset of data and then bootstrapping to the automated creation of unrestricted (rule breaking) training and test data. A gentle introduction to computer vision, graphics and machine learning, we use Python and geometry to build an image data set so we can use TensorFlow to train a model. + + +Meetup link: [https://www.meetup.com/bostonpython/events/244941784/](https://www.meetup.com/bostonpython/events/244941784/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180108-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180108-boston-python-project-night.md new file mode 100644 index 0000000..ab8ed0e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180108-boston-python-project-night.md @@ -0,0 +1,20 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +January 08, 2018 + + +    + +Would you like to sponsor this night? Get in touch! + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/246254219/](https://www.meetup.com/bostonpython/events/246254219/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180124-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180124-lightning-talks.md new file mode 100644 index 0000000..0d3a0aa --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180124-lightning-talks.md @@ -0,0 +1,24 @@ +--- +title: Lightning Talks! +sidebar_link: false +--- + +January 24, 2018 + + +    + +A bunch of quick lightning talks, sponsored by and hosted at Amazon. + +Greg Merritt: Imports: modules, packages, common issues and how to solve them. +Pam McA'Nulty: Using Travis CI and tox to get broad environment coverage for your package. +Emmett Moore: Pitfalls when using constants. +Pooja Sharma: Using Plotly to create analytic visualizations. +Mark Sobkowicz: “Square based games” using Python and Pygame to teach kids about algorithms. +Jonathan Eunice: The unbridled joy of f-strings. +John Hess: How pickles can bite. + + +Meetup link: [https://www.meetup.com/bostonpython/events/243947827/](https://www.meetup.com/bostonpython/events/243947827/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180207-february-project-night-at-cargurus.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180207-february-project-night-at-cargurus.md new file mode 100644 index 0000000..34d292c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180207-february-project-night-at-cargurus.md @@ -0,0 +1,20 @@ +--- +title: February Project Night at CarGurus +sidebar_link: false +--- + +February 07, 2018 + + +    + +Sponsored by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/247062870/](https://www.meetup.com/bostonpython/events/247062870/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180221-boston-python-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180221-boston-python-presentation-night.md new file mode 100644 index 0000000..e5b947b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180221-boston-python-presentation-night.md @@ -0,0 +1,28 @@ +--- +title: Boston Python Presentation Night +sidebar_link: false +--- + +February 21, 2018 + + +    + +DataDog will provide pizza. The Cambridge Innovation Center is providing space tonight. + +We have three talks of varying lengths: + +Stephanie Marker, Predicting the price of Ether with an LSTM RNN + +Using long short-term memory recurrent neural networks models (from Keras) I attempt to predict the price of the Ether cryptocurrency. The talk will be a high level overview of how to work with time series data, including data preprocessing, formatting the data as a time series, normalization, feature selection, model parameter selection, fitting a model, evaluating a model's performance, and forecasting. + +Michael McMahon, Using Python and Sphinx to Develop a Role Playing Game + +Michael Dezube, Options for parallel processing in Python + +Have a lot of computing to do? Maybe you can use all those CPU cores in your laptop! Or maybe not. We'll demonstrate a number of options for how to do more work on one computer from Python. Covered will be threads, multiprocessing, Cython, Numpy, and Numba. + + +Meetup link: [https://www.meetup.com/bostonpython/events/245476652/](https://www.meetup.com/bostonpython/events/245476652/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180305-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180305-boston-python-project-night.md new file mode 100644 index 0000000..dc4b34d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180305-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +March 05, 2018 + + +    + +Sponsored by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/247958109/](https://www.meetup.com/bostonpython/events/247958109/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180320-tox-travis-setup-py-and-lightning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180320-tox-travis-setup-py-and-lightning.md new file mode 100644 index 0000000..cb32662 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180320-tox-travis-setup-py-and-lightning.md @@ -0,0 +1,27 @@ +--- +title: Tox+Travis+setup.py; and Lightning +sidebar_link: false +--- + +March 20, 2018 + + +    + +Sponsored by FormLabs. + +One long talk, and some lightning. + +Jason Held: Tox, Travis, setup.py, etc + +You've written your awesome Python code. How to package it up, make it available to people, and know that it's working well? Beyond just writing the code, there are support services like continuous integration (Travis), test environments (Tox), installation (setup.py), and so on. Jason will walk us through the details of these important but often put-off details. + +Two lightning talks: + +Becca Perry: Seam Carving +Jonathan Biddle: What Gets Measured Gets Done + + +Meetup link: [https://www.meetup.com/bostonpython/events/247060237/](https://www.meetup.com/bostonpython/events/247060237/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180410-april-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180410-april-project-night.md new file mode 100644 index 0000000..ac94277 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180410-april-project-night.md @@ -0,0 +1,22 @@ +--- +title: April Project Night +sidebar_link: false +--- + +April 10, 2018 + + +    + +Hosted by iZotope (https://www.izotope.com), with pizza sponsored by EnergySage (https://www.energysage.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/249156341/](https://www.meetup.com/bostonpython/events/249156341/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md new file mode 100644 index 0000000..9f6d61f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md @@ -0,0 +1,30 @@ +--- +title: PyCon Rehearsals - Gerrymandering, and Big-O +sidebar_link: false +--- + +April 25, 2018 + + +    + +Hosting and pizza provided by VMware (https://www.vmware.com/). + +Two rehearsals tonight for talks going to PyCon US. + +** Fighting Gerrymandering with PyMC3: Colin Carroll & Karin C. Knudson + +At the end of 2017, there were seven states with ongoing redistricting litigation. We will discuss a statistical model that the United States Supreme Court declared to be appropriate in cases of racial gerrymandering, and show how it can be implemented and used with the library PyMC3. We will also discuss what the model tells us about racial gerrymandering in North Carolina. + +** Big-O: How Code Slows as Data Grows: Ned Batchelder + +Big-O is a computer science technique for analyzing how code performs as data gets larger. It's a very handy tool for the working programmer, but it's often shrouded in off-putting mathematics. + +In this talk, I'll teach you what you need to know about Big-O, and how to use it to keep your programs running well. Big-O helps you choose the data structures and algorithms that will let your code work efficiently even on large data sets. + +You can understand Big-O even if you aren't a theoretical computer science math nerd. Big-O isn't as mystical as it appears. It's wrapped in mathematical trappings, but doesn't have to be more than a common-sense assessment of how your code will behave. + + +Meetup link: [https://www.meetup.com/bostonpython/events/247552529/](https://www.meetup.com/bostonpython/events/247552529/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180503-pycon-rehearsals-functions-and-dragons.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180503-pycon-rehearsals-functions-and-dragons.md new file mode 100644 index 0000000..933dea8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180503-pycon-rehearsals-functions-and-dragons.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals - Functions and Dragons +sidebar_link: false +--- + +May 03, 2018 + + +    + +Two PyCon talk rehearsals! Hosting and pizza provided by Amazon (http://www.amazon.jobs/). + +HOWTO Write a Function, Jack Diederich + +A function is a small chunk of code that does useful work. Your job when writing a function is to do it in a way that it easy to read. Based on over 15 years of code reviews here are some tips and guidelines I give again and again. + +DragonPaint – Bootstrapping Small Data to Color Cartoons, Gretchen Greene + +The creation of sufficient quantities of labeled training data is one of the biggest challenges for machine learning applications, especially when the data itself must be created, not just labeled. DragonPaint presents a generalizable strategy for minimizing the manual creation of data using rule based algorithms to automate the creation of a restricted subset of data and then bootstrapping to the automated creation of unrestricted (rule breaking) training and test data. A gentle introduction to computer vision, graphics and machine learning, we use Python and geometry to build an image data set for a TensorFlow model. + + +Meetup link: [https://www.meetup.com/bostonpython/events/248670445/](https://www.meetup.com/bostonpython/events/248670445/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md new file mode 100644 index 0000000..b9e521b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md @@ -0,0 +1,46 @@ +--- +title: Workshop - Foundations of Numerical Computing in Python +sidebar_link: false +--- + +May 06, 2018 + + +    + +This is a rehearsal for a PyCon tutorial. Please read the description carefully to decide whether it is right for you. Space is limited, so please only RSVP if you expect to attend. No food will be provided. + +Audience: + +This tutorial is intended for programmers with intermediate Python skills who want to improve their ability to use Python for numerical computing. + +Example participants might include: + +- Software engineers who work with Python but have had limited exposure to Python's numerical computing stack. +- Data scientists who have used numpy and pandas and want to develop a deeper understanding of how those libraries work. + +By the end of this tutorial, students will learn the following skills: + +- Students will learn to apply techniques like vectorization, broadcasting, and fancy indexing to write fast, clear, and idiomatic numpy code. +- Students will develop a mental model of how numpy arrays represent data. +- Students will be able to recognize common pathological uses of numpy (e.g., looping over the elements of an array to calculate a sum) and will be able to replace these pathological uses with efficient alternatives. + +Requirements: + +Participants are strongly encouraged, but not required, to bring a laptop with wifi and a modern browser. The structure of the tutorial will be alternating 20-30 minute sessions of lectures and exercises, with the exercises hosted on a Jupyter Notebook server so no other software should be necessary for participants. + +Description: + +Foundations of Numerical Computing in Python +Scott Sanderson + +Python is one of the world's most popular programming languages for numerical computing. In areas of application like physical simulation, signal processing, predictive analytics, and more, engineers and data scientists increasingly use Python as their primary tool for working with large-scale numerical data. + +Despite this diversity of application domains, almost all numerical programming in Python builds upon a small foundation of libraries. In particular, the numpy.ndarray is the core data structure for the entire PyData ecosystem, and the numpy library provides many of the foundational algorithms used to power more domain-specific libraries. + +The goal of this tutorial is to provide an introduction to numpy -- how it works, how it's used, and what problems it aims to solve. In particular, we will focus on building up students' mental model of how numpy works and how idiomatic usage of numpy allows us to implement algorithms much more efficiently than is possible in pure Python. + + +Meetup link: [https://www.meetup.com/bostonpython/events/250354908/](https://www.meetup.com/bostonpython/events/250354908/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180611-boston-python-june-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180611-boston-python-june-project-night.md new file mode 100644 index 0000000..9929dc6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180611-boston-python-june-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 11, 2018 + + +    + +Hosting and pizza provided by DataDog (https://www.datadoghq.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/249163210/](https://www.meetup.com/bostonpython/events/249163210/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180619-physical-computing.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180619-physical-computing.md new file mode 100644 index 0000000..87d31f3 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180619-physical-computing.md @@ -0,0 +1,22 @@ +--- +title: Physical Computing +sidebar_link: false +--- + +June 19, 2018 + + +    + +Pizza sponsored by Pluralsight (https://www.pluralsight.com), drinks after sponsored by Soroco (http://soroco.com). + +Two speakers on physical computing: tiny hardware running Python, controlling things like lights and motors, and reading data from things like buttons, temperature sensors, and accelerometers. + +Dan Halbert and Travis Bumgarner will discuss microprocessor and microcontroller boards like the Raspberry Pi and Adafruit Gemma. What can they do, how can you use them, how do they run Python? You can get involved, you can build things, and you can contribute! + +We'll be headed to Meadhall after the event for drinks sponsored by Soroco. + + +Meetup link: [https://www.meetup.com/bostonpython/events/249585234/](https://www.meetup.com/bostonpython/events/249585234/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180710-july-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180710-july-project-night.md new file mode 100644 index 0000000..3a3e3e0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180710-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 10, 2018 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/250689889/](https://www.meetup.com/bostonpython/events/250689889/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180730-itertools-and-encrypted-bytecode.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180730-itertools-and-encrypted-bytecode.md new file mode 100644 index 0000000..f148e2e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180730-itertools-and-encrypted-bytecode.md @@ -0,0 +1,26 @@ +--- +title: Itertools and Encrypted bytecode +sidebar_link: false +--- + +July 30, 2018 + + +    + +Pizza sponsored by DataRobot (https://www.datarobot.com). + +Two talks tonight! + +Eugene Kovalev, Itertools + +Itertools is one of the treasure boxes of the Python standard library. It has tools for working with iteration of all kinds. We'll look at some of them, and at some interesting uses of them. + +Wolfgang Richter, Encrypted Bytecode + +This talk will explain how we modified the `import` statement of the Python language to import encrypted Python bytecode. We will explain the behind-the-scenes import machinery of Python, how we hooked into it, and how we typically distribute keys. You'll be able to experiment with our technique during the talk, and at home by using our recently open sourced library. + + +Meetup link: [https://www.meetup.com/bostonpython/events/251093715/](https://www.meetup.com/bostonpython/events/251093715/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180801-august-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180801-august-project-night.md new file mode 100644 index 0000000..a533076 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180801-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 01, 2018 + + +    + +Pizza sponsored by Pluralsight (https://www.pluralsight.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251093643/](https://www.meetup.com/bostonpython/events/251093643/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180821-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180821-lightning-talks.md new file mode 100644 index 0000000..71e7260 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180821-lightning-talks.md @@ -0,0 +1,32 @@ +--- +title: Lightning Talks! +sidebar_link: false +--- + +August 21, 2018 + + +    + +Pizza sponsored by PathAI (https://www.pathai.com). + +Tonight, a buffet of all Lightning Talks! 5-10 minutes each, on a mixture of topics: + +Sean Harrington: Getting into a Pickle with Multiprocessing + +Itamar Turner-Trauring: Eliot, the causal logging library + +Eric A Moore: A quick look at a pandas DataFrame + +Ethan Strominger: Refactoring and Static Code Analysis with PyCharm + +Andromeda Yelton: What if you did very bad things with integers? + +Patrick Crouse: Estimating Pi + +(plus maybe one or two more...) + + +Meetup link: [https://www.meetup.com/bostonpython/events/251044290/](https://www.meetup.com/bostonpython/events/251044290/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180911-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180911-september-project-night.md new file mode 100644 index 0000000..1dc6f49 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180911-september-project-night.md @@ -0,0 +1,22 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 11, 2018 + + +    + +Pizza sponsored by Twilio (https://www.twilio.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251882400/](https://www.meetup.com/bostonpython/events/251882400/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180926-cffi-and-neural-networks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180926-cffi-and-neural-networks.md new file mode 100644 index 0000000..e7c9370 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20180926-cffi-and-neural-networks.md @@ -0,0 +1,26 @@ +--- +title: CFFI and Neural Networks +sidebar_link: false +--- + +September 26, 2018 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com), drinks after sponsored by Luminoso (https://luminoso.com). + +Two talks tonight: + +Kostya Nazarenko, The magic of CFFI +A gentle applied introduction to the latest, and some would argue hottest, addition to the family of foreign function invocation libraries. If you need to call an existing C library from your Python application and not sure where to start - this talk might help you to make a decision! + +Jared Stufft: Intro to Neural Networks with Keras +In this talk we'll introduce the idea of the Neural Network: what they are, why they're used, and how they work. We'll wrap up with a demonstration and code example using Keras, a neural network API designed for humans. + +We'll head to Meadhall afterwards for drinks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251882456/](https://www.meetup.com/bostonpython/events/251882456/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181011-boston-python-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181011-boston-python-october-project-night.md new file mode 100644 index 0000000..070c0ce --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181011-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 11, 2018 + + +    + +Hosting and pizza provided by DataDog (https://www.datadoghq.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/253590690/](https://www.meetup.com/bostonpython/events/253590690/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181023-molecules-and-reproducible-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181023-molecules-and-reproducible-science.md new file mode 100644 index 0000000..1067b92 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181023-molecules-and-reproducible-science.md @@ -0,0 +1,24 @@ +--- +title: Molecules, and Reproducible Science +sidebar_link: false +--- + +October 23, 2018 + + +    + +Two science-themed talks, sponsored by Wayfair: https://www.wayfaircareers.com + +Carlos Faerman, Python Meets Chemistry + +In this talk, I will explain the use of Molecular Fingerprints to describe the properties of small molecules. I'll share a Python script to compare molecules; search for similar molecules in large databases; and describe how this approach applies to drug discovery. + +Graham Voysey, Writing Python for Reproducable Research + +Python is the lingua franca of scientific computing, machine learning, and data science. Regardless of language, research code and scientific computing have special demands placed on the developer that are probably not well understood by other developers at large. At our peril, we write code, generate results, change our code, and then struggle to re-associate which version of our code generated what result. This leads to great annoyance, wasted time, and potentially serious consequences like retractions or production failures. In this talk, I will briefly discuss some reasons why these problems arise. Then, I will offer some practical steps that I use to minimize these problems that form the basis of some best practices for development in these areas. These steps help me consistently generate code that is easy to reason about and produces output that provides permanent provenance, while also making your code easy to share and disseminate. I will provide real examples taken from production code from both academic and industry settings. Finally, I will demo One More Thing: my personal turnkey solution to resolve most of the issues I raise, and seek community input on it. + + +Meetup link: [https://www.meetup.com/bostonpython/events/253168754/](https://www.meetup.com/bostonpython/events/253168754/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181107-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181107-boston-python-project-night.md new file mode 100644 index 0000000..a34f0cb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181107-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +November 07, 2018 + + +    + +Sponsored by Pluralsight: https://pluralsight.com + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/254163813/](https://www.meetup.com/bostonpython/events/254163813/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181127-november-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181127-november-presentation-night.md new file mode 100644 index 0000000..dc8333f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181127-november-presentation-night.md @@ -0,0 +1,28 @@ +--- +title: November Presentation Night +sidebar_link: false +--- + +November 27, 2018 + + +    + +Hosted at Formlabs (https://formlabs.com), who are also sponsoring pizza. + +Sarah Bennedsen, Sensors + +Prototyping sensing system behaviors and algorithms, and interfacing with sensing and measurement devices using Python. + +Emin Martinian, Statistical Profiling + +Profiling is measuring how often and how long various parts of your program are executed. Profiling is useful to understand what makes your program slow and how you can improve it. After a quick review of deterministic profiling tools and techniques, I will describe how you can do statistical profiling with existing packages or write your own from scratch. + +Statistical profilers occasionally sample what your program is doing instead of watching each line or function. By using a moderate sampling frequency, you can profile your production code with almost no overhead. This lets you find the actual bottlenecks in real use cases. + +The core technical focus of the talk is Python's sys module and how it lets you easily examine a running program. I also describe some tricks to be aware of related to threading, context switches, locks, and so on. At the conclusion of the talk, you will hopefully understand how to use an existing statistical profiler or write a customized version yourself. + + +Meetup link: [https://www.meetup.com/bostonpython/events/255411882/](https://www.meetup.com/bostonpython/events/255411882/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181204-december-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181204-december-project-night.md new file mode 100644 index 0000000..e199b9b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181204-december-project-night.md @@ -0,0 +1,22 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 04, 2018 + + +    + +Pizza sponsored by Catalant (https://gocatalant.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/254835693/](https://www.meetup.com/bostonpython/events/254835693/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181218-december-presentation-night-advent-of-code.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181218-december-presentation-night-advent-of-code.md new file mode 100644 index 0000000..cea2272 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20181218-december-presentation-night-advent-of-code.md @@ -0,0 +1,20 @@ +--- +title: December Presentation Night - Advent of Code +sidebar_link: false +--- + +December 18, 2018 + + +    + +Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like: http://adventofcode.com. This is its fourth year. Give it a try, the puzzles have a fun Santa theme, and are clever challenges. + +Ned Batchelder will walk through a particular day's puzzle (12/14/2016) with an eye toward explaining the Python features that you can use for your own projects. If you have a puzzle that you especially liked, get in touch! + +We'll also have some giveaways. Join us for a relaxed end-of-year gathering! + + +Meetup link: [https://www.meetup.com/bostonpython/events/255799020/](https://www.meetup.com/bostonpython/events/255799020/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190109-january-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190109-january-project-night.md new file mode 100644 index 0000000..3c40b4a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190109-january-project-night.md @@ -0,0 +1,22 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 09, 2019 + + +    + +Food and space provided by Catalant (https://gocatalant.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/256488930/](https://www.meetup.com/bostonpython/events/256488930/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190123-boston-python-january-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190123-boston-python-january-presentation-night.md new file mode 100644 index 0000000..89c7e8d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190123-boston-python-january-presentation-night.md @@ -0,0 +1,25 @@ +--- +title: Boston Python January Presentation Night +sidebar_link: false +--- + +January 23, 2019 + + +    + +A handful of talks, sponsored by DataRobot (https://www.datarobot.com/)! + +Yuan Cao, Accumulator Generator in Python +I explore functional programming solutions in Python to Paul Graham's challenge: "Write a function foo that takes a number n and returns a function that takes a number i, and returns n incremented by i." + +Paul Ganssle, Recurrence rules in dateutil +Expressing recurring events is complicated - "the third Monday in January", "15 past the hour between 9 and 5", "the end of the month", but RFC 5545 is here to provide you with a standard way to do so! This talk will cover a few of the ways you can express recurring events using RFC 5545 and specifically dateutil's rrule module. + +Zags Zagorsky, Passing by Reference in Python: Avoiding Bizarre Bugs +About once a year, I stare at a piece of Python code doing something that makes absolutely no sense; the code runs fine, but the output is totally wrong. Every time, this is a passing by reference bug. In this talk, we'll go through what passing by reference is (all the way down to it's underpinnings in C), how to use it well, and common pitfalls to avoid in Python. + + +Meetup link: [https://www.meetup.com/bostonpython/events/257321071/](https://www.meetup.com/bostonpython/events/257321071/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190204-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190204-boston-python-project-night.md new file mode 100644 index 0000000..79f469a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190204-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +February 04, 2019 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/257882588/](https://www.meetup.com/bostonpython/events/257882588/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190221-february-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190221-february-presentation-night.md new file mode 100644 index 0000000..fb573c9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190221-february-presentation-night.md @@ -0,0 +1,24 @@ +--- +title: February Presentation Night +sidebar_link: false +--- + +February 21, 2019 + + +    + +Presentation Night hosted and sponsored by Rue Gilt Groupe + +John Nelson, WiFi Passive Radar +WiFi passive radar uses passive sensing of WiFi signals reflected from objects or persons in the immediate vicinity to learn about the immediate environment. We will describe how we built such a radar using Python-based technology. Python provides many packages to allow sensor based calculations to be put together quickly and efficiently. We used numpy, scipy, and scikit-learn to develop algorithms using supervised learning. The talk will provide a flavor of what can be done using Python in this exciting area of IoT development. + +Matt Fowler, Using C/C++ Extensions in Python +Runtime performance of machine learning algorithms in Python can pose certain challenges. In this talk we'll examine a numerical algorithm that has performance issues and see how we can utilize C++ extensions in Python to improve our algorithm's performance. + +Rue Gilt Groupe is the premier off-price e-commerce portfolio company, connecting more than 30 million members with coveted designers at an exceptional value. Two complementary brands, Rue La La and Gilt, utilize world-class merchandising, technology and marketing to strategically support our brand partners and inspire members daily. Our approach to retail brings excitement to online shopping and the best-in-class experience that today's customers demand. + + +Meetup link: [https://www.meetup.com/bostonpython/events/257225246/](https://www.meetup.com/bostonpython/events/257225246/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190305-boston-python-march-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190305-boston-python-march-project-night.md new file mode 100644 index 0000000..d20cd61 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190305-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 05, 2019 + + +    + +Pizza sponsored by BitSight (https://www.bitsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258130518/](https://www.meetup.com/bostonpython/events/258130518/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190319-beginner-python-class-build-a-guessing-game.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190319-beginner-python-class-build-a-guessing-game.md new file mode 100644 index 0000000..4daf161 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190319-beginner-python-class-build-a-guessing-game.md @@ -0,0 +1,30 @@ +--- +title: Beginner Python Class - Build a Guessing Game +sidebar_link: false +--- + +March 19, 2019 + + +    + +Coding Temple is giving an Introduction to Python class tonight. This class is aimed at absolute beginners. Regular attendees: please don't take a space if you don't need to learn these skills, thanks! + +In this workshop, you will learn about the basics of Python programming. Connor Milliken teaches Python and Data Science at Coding Temple in Boston. He designed this class for beginners who have little to no experience in programming but are interested in getting started with Python in a short span of one free evening class. + +In order to accommodate complete beginners, we will start at Hello World, then learn what data types, variables, inputs, lists, and loops are and how to create them. Then you will take everything you learned in this class and build a simple guessing game at the end. + +Seating will be theatre-style, so make sure you bring a laptop that you are comfortable with using on your lap. + +You must have the following installed in order to begin coding at this event. Please install before the evening begins: + +• Python 3.5.x (or higher) https://www.python.org/downloads/ (Python 2.7.x will not be sufficient) + +• PyCharm (https://www.jetbrains.com/pycharm/download/) + +We'll gather at 6:30 for pizza and mingling, and then get started in earnest at 7:00. We look forward to seeing you there! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258503975/](https://www.meetup.com/bostonpython/events/258503975/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190403-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190403-boston-python-project-night.md new file mode 100644 index 0000000..3b04362 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190403-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +April 03, 2019 + + +    + +Pizza sponsored by DataDog (http://datadoghq.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258566035/](https://www.meetup.com/bostonpython/events/258566035/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md new file mode 100644 index 0000000..3b40ed7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsal Night 1 - Generalized Bayesian Testing +sidebar_link: false +--- + +April 23, 2019 + + +    + +PyCon Rehersal Night 1, hosted and sponsored by Amazon + +Tonight we have one rehearsal for a PyCon-bound speaker: + +Eric Ma: Beyond Two Groups: Generalized Bayesian A/B[/C/D/E...] Testing + +Bayesian A/B testing has gained much popularity over the years. It seems, however, that the examples stop at two groups. This begs the questions: should we not be able to do more than simple two-group, case/control comparisons? Is there a special procedure that's necessary, or is there a natural extension of commonly-used Bayesian methods? + +In this talk, I will use life-like, simulated examples, inspired from work and from meeting others at conferences, to show how to generalize A/B testing beyond the rigid assumptions commonly highlighted. Specifically, I will show two examples, one involving Bayesian estimation on click data on a website, and another on 4-parameter dose-response curves. + +There will be plenty of code from the modern PyData stack, involving the use of PyMC3, pandas, holoviews, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/259868134/](https://www.meetup.com/bostonpython/events/259868134/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md new file mode 100644 index 0000000..464a45d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md @@ -0,0 +1,30 @@ +--- +title: PyCon Rehearsals 2 - Multiprocessing and Profiling +sidebar_link: false +--- + +April 24, 2019 + + +    + +Pizza and drinks sponsored by True Tickets (https://true-tickets.com/), hosted by iZotope + +Tonight we have two PyCon talk rehearsals! + +Pamela McANulty: Things I Wish They Told Me About The Multiprocessing Module in Python 3 + +If you haven't tried multiprocessing or you are trying to move beyond multiprocessing.map(), you will likely find that using Python's multiprocessing module can get quite intricate and convoluted. This talk focuses on a few techniques (starting, shutting down, data flow, blocking, etc) that will maximize multiprocessing’s efficiency, while also helping you through the complex issues related to coordinating startup and especially shutdown of your multiprocess app. + +Emin Martinian: Statistical Profiling (and other fun with the sys module) + +Profiling involves computing a set of data about how often and how long various parts of your program are executed. Profiling is useful to understand what makes your program slow and how you can improve it. After a quick review of deterministic profiling tools and techniques, I will describe how you can do statistical profiling with existing packages or write your own from scratch. + +Statistical profiling involves occasionally sampling what your program is doing instead of watching each line or function. A key feature of statistical profiling is that by using a moderate sampling frequency, you can profile your production code with almost no overhead. This lets you find the actual bottlenecks in real use cases. + +The core technical focus of the talk is python's sys module and how it lets you easily examine a running program. I also describe some tricks to be aware of related to threading, context switches, locks, and so on. At the conclusion of the talk, you will hopefully understand how to use an existing statistical profiler or write a customized version yourself. + + +Meetup link: [https://www.meetup.com/bostonpython/events/258331662/](https://www.meetup.com/bostonpython/events/258331662/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190520-boston-python-may-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190520-boston-python-may-project-night.md new file mode 100644 index 0000000..e06407c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190520-boston-python-may-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python May Project Night +sidebar_link: false +--- + +May 20, 2019 + + +    + +Sponsored and hosted by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/259193188/](https://www.meetup.com/bostonpython/events/259193188/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190626-making-things-with-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190626-making-things-with-python.md new file mode 100644 index 0000000..6b67484 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190626-making-things-with-python.md @@ -0,0 +1,26 @@ +--- +title: Making things with Python +sidebar_link: false +--- + +June 26, 2019 + + +    + +Hosted by PTC (https://ptc.com/), pizza sponsored by Formlabs (https://formlabs.com/) + +Two speakers, in PTC's amazing showcase of CAD and 3D printing technologies. + +Kostya Nazarenko: Teaching old CAD new tricks with Python + +The experience of integrating Python interpreter into Creo, a thirty-years-old CAD application: why, what, how. + +Bathsheba Grossman: A Rhino, a Python and a Grasshopper Walk Into a Bar (3D Design with Python in Rhinoceros) + +This talk is about what happened when a sculptor decided to stop modeling and start generating. Rhinoceros® is a 3D CAD program with lots of scripting options, including Python and a node programming language called Grasshopper. Bathsheba will talk about some ways to build and manipulate 3D objects with these, and show some art she's been working on. See Bathsheba's work at http://bathsheba.com + + +Meetup link: [https://www.meetup.com/bostonpython/events/261438920/](https://www.meetup.com/bostonpython/events/261438920/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190709-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190709-boston-python-project-night.md new file mode 100644 index 0000000..095e1d0 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190709-boston-python-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +July 09, 2019 + + +    + +Sponsored by edX (https://edx.org/careers) and hosted by iZotope (https://izotope.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/261050158/](https://www.meetup.com/bostonpython/events/261050158/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190723-presentation-night-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190723-presentation-night-science.md new file mode 100644 index 0000000..eec6c7f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190723-presentation-night-science.md @@ -0,0 +1,29 @@ +--- +title: Presentation Night - Science! +sidebar_link: false +--- + +July 23, 2019 + + +    + +Two science talks, sponsored by Indico. + +Jessica Smith: "Designing gene libraries using Python and integer programming" + +DNA synthesis is the "write" of molecular biology, complementing +advances in high-throughput DNA sequencing over the last decade. In +this talk, I describe how to generate diverse libraries of DNA +synthesis products against biologically-relevant constraints using +python and integer programming. + +Nezar Abdennur: "Exploring data at scale: Using HiGlass to browse, compare and share large quantitative datasets" + +Features and patterns in large quantitative datasets are difficult to explore, compare, and communicate. We present the HiGlass web viewer and Python library for interactive and collaborative visual exploration and comparison of multiple multiscale datasets. Using a tile-based API, we demonstrate how data can be dynamically rendered on the client irrespective of its size on the server. For comparison between datasets we demonstrate multiple selectable modes for synchronized panning, zooming and value scaling. Finally, to share interactive views into the data, we store and disseminate the resumable viewer state as a "configuration" of data location, aesthetics and synchronizations. We will demonstrate the use of HiGlass on real data, including massive genomic datasets. +More information can be found on the HiGlass demo page (http://higlass.io), in the documentation (http://docs.higlass.io), or in the list of examples (http://higlass.io/examples). More information of the cooler file format for multiscale genomic sparse matrix data can be found at (https://mirnylab.github.io/cooler/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/259899650/](https://www.meetup.com/bostonpython/events/259899650/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190805-boston-python-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190805-boston-python-project-night.md new file mode 100644 index 0000000..0283ef9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190805-boston-python-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +August 05, 2019 + + +    + +Project night, hosted and sponsored by DataDog. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/260823740/](https://www.meetup.com/bostonpython/events/260823740/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190822-presentation-night-web-scraping.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190822-presentation-night-web-scraping.md new file mode 100644 index 0000000..66c5139 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190822-presentation-night-web-scraping.md @@ -0,0 +1,20 @@ +--- +title: Presentation Night - Web Scraping +sidebar_link: false +--- + +August 22, 2019 + + +    + +Hosted by Wayfair, with pizza sponsored by Indigo (https://www.indigoag.com/) + +Tonight, a deep dive into Web Scraping. Edward Stronge and Isaac Vidas will present a two-part talk about getting data from a web site by reading and parsing the HTML. This is a very popular technique, but there are pitfalls along the way. Starting from the basics, they will get you up to speed on the power of web scraping. + +Directions to Wayfair: https://www.dropbox.com/s/wcxq4nz115xh182/DirectionstoCopley.pdf + + +Meetup link: [https://www.meetup.com/bostonpython/events/260460458/](https://www.meetup.com/bostonpython/events/260460458/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190910-september-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190910-september-project-night.md new file mode 100644 index 0000000..e862eff --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190910-september-project-night.md @@ -0,0 +1,24 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 10, 2019 + + +    + +Project night, hosted by iZotope (https://www.izotope.com/), pizza sponsored by Pluralsight (https://www.pluralsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/262475747/](https://www.meetup.com/bostonpython/events/262475747/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190924-presentation-night-graphql.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190924-presentation-night-graphql.md new file mode 100644 index 0000000..027377d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20190924-presentation-night-graphql.md @@ -0,0 +1,26 @@ +--- +title: Presentation night - GraphQL +sidebar_link: false +--- + +September 24, 2019 + + +    + +GraphQL.py { query(in: 3){ parts } } + +Hosted, sponsored, and presented by Chewy. + +GraphQL is a new style of API for the web. + +Milos Veljkovic (Senior Engineer, Chewy) will begin our query from the outside in by covering the client consumption of graphQL. A bit of history, a bit of romance, a bit of rivalry and an overview of what's the big deal and why there is no REST for the wicked. The focus will be on the empowerment of the client only needing to ask for what they want - and only getting what they ask for. + +Now, what do you do with it? Jason Walsh (Senior Engineer, Chewy) continues our fable with the ongoing cycle of software from the server's perspective. State, async, fetching, oh my! As well as some basic implementations, he'll also cover things like tracing, logging, validation and the ongoing maintenance cycle of api. + +Jessamyn Hodge (Engineer, Chewy / Maintainer GraphQL-python) wraps things up with a cavort through the innards of GraphQL.py as well as a look ahead to the roadmap for the next major release. She'll cover the nitty-gritty bits like interfaces, unions using another strongly typed specification - geoJSON. + + +Meetup link: [https://www.meetup.com/bostonpython/events/262475756/](https://www.meetup.com/bostonpython/events/262475756/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191003-october-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191003-october-project-night.md new file mode 100644 index 0000000..266c809 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191003-october-project-night.md @@ -0,0 +1,26 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 03, 2019 + + +    + +Project night, hosted and sponsored by DataRobot. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Here are some Python resources to get you started: https://about.bostonpython.com/python_resources + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/264958802/](https://www.meetup.com/bostonpython/events/264958802/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191023-october-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191023-october-lightning-talks.md new file mode 100644 index 0000000..7bb03ae --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191023-october-lightning-talks.md @@ -0,0 +1,17 @@ +--- +title: October - Lightning Talks +sidebar_link: false +--- + +October 23, 2019 + + + +



+ +

Pizza sponsored by Rocket Insights (https://rocketinsights.com/)

Tonight are a handful of lightning talks: quick 10-minute presentations on a variety of subjects:

* Joanna Lowry-Duda: How long will it take? (Progress Bars)
* Mark Brown: Face Detection using Open CV
* Nadia Dixon: Self-Study Python Classes for Archivists
* Jacob Miller: Using FitBit Data to Track Health
* Allison King: Writing a Git Hook in Python
* Joe Jevnik: When is Lunar New Year?

Doors open at 6:00 so you can explore PTC's exhibition space.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/263971510/](https://www.meetup.com/bostonpython/events/263971510/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191105-november-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191105-november-project-night.md new file mode 100644 index 0000000..ce6fd0b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191105-november-project-night.md @@ -0,0 +1,17 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 05, 2019 + + + +



+ +

Project night, hosted and sponsored by Pluralsight.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265509862/](https://www.meetup.com/bostonpython/events/265509862/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191119-four-data-themed-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191119-four-data-themed-talks.md new file mode 100644 index 0000000..bd6d315 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191119-four-data-themed-talks.md @@ -0,0 +1,17 @@ +--- +title: Four data-themed talks +sidebar_link: false +--- + +November 19, 2019 + + + +



+ +

Four short data-themed talks, sponsored by Ginkgo Bioworks (https://www.ginkgobioworks.com/), and hosted at DataRobot.

** Andrew Schonfeld, "D-Tale"
A new open source GUI tool for viewing pandas data structures, built with Python and React. https://github.com/man-group/dtale

** Zack Halloran, "Serving a PyTorch deep learning model on the web without a server"
How to set up a web accessible inference service using AWS Lambda and AWS API Gateway.

** Michael Punzalan, "Processing data outside DataFrames with custom types"
It's common to write data pipelines in SQL or objects with a pandas DataFrame-like interface. When it works it's great. But when table- or column-driven processing is an uncomfortable fit for the problem (i.e. iterating through records is a better fit), defining a type and endowing it with the methods you need (dunders and otherwise) can actually lead you to an implementation, make it easier to write correct and reusable code, and -- if you are inclined to write tests -- generate test cases useful for refactoring or reimplementation (in case you really want to have a SQL implementation, write a UDF, etc.).

** Abraham Polk, "Twitter sentiment analysis"
Using NLP and sentiment analysis to predict the sentiment of Twitter tweets based on the words in the tweets, using emojis to train the model. Demonstrates how even relatively simple models can have strong predictive power when combined with good machine learning libraries.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265373222/](https://www.meetup.com/bostonpython/events/265373222/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191203-project-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191203-project-collaboration-night.md new file mode 100644 index 0000000..f82f14e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191203-project-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project & Collaboration Night +sidebar_link: false +--- + +December 03, 2019 + + + +



+ +

Pizza sponsored by Lola.com.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265925587/](https://www.meetup.com/bostonpython/events/265925587/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191217-presentation-night-making-python-faster.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191217-presentation-night-making-python-faster.md new file mode 100644 index 0000000..dd972f6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20191217-presentation-night-making-python-faster.md @@ -0,0 +1,17 @@ +--- +title: Presentation Night - Making Python faster +sidebar_link: false +--- + +December 17, 2019 + + + +



+ +

Tonight, two talks about extending Python with other languages, for speed. Pizza sponsored by Quantopian (https://www.quantopian.com/).

Daniel Williams, Python Optimization Options

A higher level survey of optimization options available for Python. This talk will particularly focuses on C-Family interfaces to Python. Each option is compared by complexity, speed up, and general ease of implementation.

Austin Hacker, Extending Python with Rust

This talk will demonstrate how to build Python extensions using the PyO3 rust library. PyO3 makes building Python extensions easy, allowing developers to combine everything great about Python with the speed and efficiency of Rust. Rust code will be shown during this talk but no Rust experience is required. By the end of the talk, you too will be able to write your own Python extensions in Rust!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265925678/](https://www.meetup.com/bostonpython/events/265925678/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200107-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200107-project-and-collaboration-night.md new file mode 100644 index 0000000..3eea21d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200107-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project and Collaboration Night +sidebar_link: false +--- + +January 07, 2020 + + + +



+ +

Pizza sponsored by DataDog.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265373328/](https://www.meetup.com/bostonpython/events/265373328/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200128-devops-for-pythonistas.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200128-devops-for-pythonistas.md new file mode 100644 index 0000000..66f712a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200128-devops-for-pythonistas.md @@ -0,0 +1,17 @@ +--- +title: DevOps for Pythonistas +sidebar_link: false +--- + +January 28, 2020 + + + +



+ +

Sponsored by Red Hat.

Brian Rossa: DevOps and the opinionated programmer.
I'll cover classic arguments about Python tooling -- packaging, test runners, etc -- and how they impact dev time. Then I'll cover how automation (DevOps) is obviating those old arguments.

Zac Delagrange: DevOps Discipline for Python
Developers will learn about common tools and processes that they may encounter when working on a software project, with a focus on Python. An appreciation will be gained for the devops discipline and what it takes to deliver high quality code to your customers after the code has been written.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/266891391/](https://www.meetup.com/bostonpython/events/266891391/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200204-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200204-project-and-collaboration-night.md new file mode 100644 index 0000000..5458171 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200204-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project and Collaboration Night +sidebar_link: false +--- + +February 04, 2020 + + + +



+ +

Sponsored by LiveRamp (https://liveramp.com/)

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

Doors open at 6, and we'll get started at 6:30

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/267302425/](https://www.meetup.com/bostonpython/events/267302425/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200226-presentation-getting-started-testing-with-pytest.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200226-presentation-getting-started-testing-with-pytest.md new file mode 100644 index 0000000..e6a194d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200226-presentation-getting-started-testing-with-pytest.md @@ -0,0 +1,17 @@ +--- +title: Presentation - Getting Started Testing with pytest +sidebar_link: false +--- + +February 26, 2020 + + + +



+ +

Presentation night sponsored by Kyruus, hosted by PTC.

Ned Batchelder, Getting Started Testing

Do you want to learn how to write automated tests in Python with pytest? We'll start from the very beginning! See how pytest works, and how to write tests. Once the basics are covered, we'll get into fixtures, parameterization, and coverage measurement. Then we'll do a few more advanced topics: including test doubles (mocks and fakes).

It's a lot to cover, but we'll take our time and work through it. You'll get everything you need to start writing your own tests.

The talk is available now if you want a preview: https://bit.ly/pytest3

Doors open at 5:30 for mingling, networking, and exploring the PTC tech space. The presentation starts at 6:30.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/266720542/](https://www.meetup.com/bostonpython/events/266720542/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200312-online-only-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200312-online-only-project-and-collaboration-night.md new file mode 100644 index 0000000..cb6ddab --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200312-online-only-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online-only Project and Collaboration Night +sidebar_link: false +--- + +March 12, 2020 + + + +



+ +

NOTE: this event is now ONLINE-ONLY. We are taking the current health concerns seriously and making this an online-only event.

Instead of our usual tables, we will be meeting in Slack channels: https://about.bostonpython.com/slack. Join us in Slack, and be online Thursday night with us. We will have people to help you find the right channel and collaborators.

If you have ideas about how to make an online project night better, come talk to us in the #organizing channel in Slack.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/267302459/](https://www.meetup.com/bostonpython/events/267302459/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200331-online-presentation-loop-like-a-native.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200331-online-presentation-loop-like-a-native.md new file mode 100644 index 0000000..160d05b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200331-online-presentation-loop-like-a-native.md @@ -0,0 +1,17 @@ +--- +title: Online presentation - Loop Like a Native +sidebar_link: false +--- + +March 31, 2020 + + + +



+ +

Hey all, I hope you are all doing well with social distancing. To try out online presentation nights, I'll do a repeat of a previous PyCon talk of mine: Loop Like a Native (https://nedbatchelder.com/text/iter.html)

We'll be able to have questions and discussion during the talk. This talk is aimed at beginners, but gets into some more advanced topics as it goes along.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/269736551/](https://www.meetup.com/bostonpython/events/269736551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200409-pycon-2020-rehearsal-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200409-pycon-2020-rehearsal-night.md new file mode 100644 index 0000000..0eaa5fb --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200409-pycon-2020-rehearsal-night.md @@ -0,0 +1,13 @@ +--- +title: Pycon 2020 Rehearsal Night +sidebar_link: false +--- + +April 09, 2020 + + + + +Meetup link: [https://www.meetup.com/bostonpython/events/269018913/](https://www.meetup.com/bostonpython/events/269018913/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200425-online-lightning-talks.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200425-online-lightning-talks.md new file mode 100644 index 0000000..e251462 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200425-online-lightning-talks.md @@ -0,0 +1,17 @@ +--- +title: Online Lightning Talks +sidebar_link: false +--- + +April 25, 2020 + + + +



+ +

Let's do some online lightning talks! Do you have a 5-10 minute topic you'd like to share? Sign up: https://docs.google.com/spreadsheets/d/1NAWtyb6by2PnoNGGxneI1OZSWLyg6q-I1wsMF_lijQ8/edit

If we don't have enough talks, that's OK, we'll do open-ended Q&A. You can add questions to the spreadsheet also: https://docs.google.com/spreadsheets/d/1NAWtyb6by2PnoNGGxneI1OZSWLyg6q-I1wsMF_lijQ8/edit

Maybe one of the questions will become someone's lightning talk...

Thanks to edX for sponsoring.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/270159169/](https://www.meetup.com/bostonpython/events/270159169/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md new file mode 100644 index 0000000..52fcf2e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md @@ -0,0 +1,17 @@ +--- +title: Presentation - Adventures in Python 3 Type Annotations for Data Science +sidebar_link: false +--- + +May 16, 2020 + + + +



+ +

Online presentations!

Brianna McHorse, Adventures in Python 3 Type Annotations for Data Science

Python's type flexibility is awesome, until it's not. With a large and complicated code base, it can be difficult to figure out what's going on (or when you've introduced a bug), especially in the context of data science, where the pandas dataframes sometimes go flying about every which way. This is a talk about the process of gently herding a data science team towards better practices, focusing on how type annotations and static type checking can improve your code, make it much easier to understand the code (especially for new contributors), and safeguard against expensive mistakes. We'll also cover the surprisingly painless process of getting a first round of type annotations up and enforcing type checks, even with no prior experience.

Lightning Talks

Brian Doucet: Great Expectations, a leading tool for validating, documenting, and profiling, your data.

Lee Bernick: special_k is a model serialization library designed to be extensible to arbitrary Python machine learning models. I will explain why model serialization and deserialization can be vulnerable to remote code execution and statistical safety/reproducibility issues, and how the library is designed to mitigate those concerns.

We'll record this and put it on our YouTube channel: https://www.youtube.com/user/bostonpython

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/270513576/](https://www.meetup.com/bostonpython/events/270513576/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md new file mode 100644 index 0000000..82e2dde --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md @@ -0,0 +1,17 @@ +--- +title: Simon Willison - Personal analytics with SQLite and Datasette +sidebar_link: false +--- + +July 22, 2020 + + + +



+ +

A special guest speaker online for July! Simon Willison is a long-time Python creator. His latest big project is Datasette (https://github.com/simonw/datasette/), a tool for exploring and publishing data.

Lightning talks: have you used Datasette, or done other data hacks? Want to do a lightning talk? Send me an email: ned@nedbatchelder.com

Dogsheep: Personal analytics with SQLite and Datasette

Big internet companies collect a bewildering array of data about us - and thanks to the European GDPR law they all have to provide an export button to let us get it back out again.

Converting these exports into SQLite databases lets us start exploring them with Datasette. I've been building a suite of open source tools, called Dogsheep, to gather my personal data from a variety of different sources and analyze them in one place.

I'll demonstrate my personal Dogsheep and show how it combines data from Twitter, GitHub, Facebook, Google, LinkedIn, Foursquare, Apple Health and more to provide a searchable archive of my digital lifestyle.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/271887195/](https://www.meetup.com/bostonpython/events/271887195/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200923-online-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200923-online-project-and-collaboration-night.md new file mode 100644 index 0000000..6be1342 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20200923-online-project-and-collaboration-night.md @@ -0,0 +1,19 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +September 23, 2020 + + + +

Needs a location

+ +



+ +

Online project night on https://congregate.live. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited! Note: the link will be provided soon. The event will say "invite-only" until 6 on Wednesday.

Link is https://social.congregate.live/bospyproj0920

Congregate.live lets us work together at themed tables. Come with a topic, and we will find people for you to collaborate with. There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on-hand help you find the right table and collaborators.

Here's a page about Congregate for attendees: https://www.notion.so/Attendees-049ea882a7a746f7842438adcb632323

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273367788/](https://www.meetup.com/bostonpython/events/273367788/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md new file mode 100644 index 0000000..8d15fff --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md @@ -0,0 +1,17 @@ +--- +title: Are you ready? - When and How to Land Your First Engineering Job +sidebar_link: false +--- + +October 07, 2020 + + + +



+ +

An online panel discussion in Zoom! Mingling starts at 6:30, panel discussion at 7:00.

These days, becoming an engineer doesn't require degrees and formal education. But there are lots of questions: what is it really like to work as an engineer? If you are self-taught, how do you know when you are ready for your first job? How do you get that first job? This panel discussion aims to answer those questions and more. We'll talk about what you're expected to know, what the interview process is like, what it's like to work on a Python team, and anything else you want to know about stepping into a job as a programmer.

If you're an aspiring junior engineer, or if you've been one, or if you've hired one, this discussion is for you. Bring your perspective, and join the conversation.

Panelist bios:

* M. Jackson Wilkinson is CTO of Project Beacon, facilitating COVID-19 testing across Massachusetts. In the Before Times, Jackson held senior roles at PathAI, Care.com, Kinsights, Posterous, and LinkedIn.

* Kaniah Dunn is a Software Engineer at Wayfair where she helps build integration applications to help onboard new suppliers. In her free time, you can find her coloring, crafting, and putting puzzles together with her joyful 3-year-old.

* Steve Favazza is a Senior Technical Talent Partner at edX. Prior to joining edX, Steve worked for WinterWyman, where he helped IT and software professionals find career opportunities across the Greater Boston and New York City areas.

* Jon Kiparsky (moderator) is an engineer at MassChallenge, where he helps make little companies into big ones, and a mentor at Resilient Coders, where he helps aspiring engineers become senior engineers.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273595000/](https://www.meetup.com/bostonpython/events/273595000/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201021-online-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201021-online-project-and-collaboration-night.md new file mode 100644 index 0000000..5bf9fef --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201021-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +October 21, 2020 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273923649/](https://www.meetup.com/bostonpython/events/273923649/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201118-intro-tech-talks-with-women-who-code.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201118-intro-tech-talks-with-women-who-code.md new file mode 100644 index 0000000..3e4a3e2 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201118-intro-tech-talks-with-women-who-code.md @@ -0,0 +1,17 @@ +--- +title: Intro Tech Talks, with Women Who Code +sidebar_link: false +--- + +November 18, 2020 + + + +



+ +

This month, we are teaming up with Women Who Code to present three foundational tech talks. All are welcome.

The Zoom link will be added the day of the event, come back to join the event. (Here's the same event on the Women Who Code page: https://www.meetup.com/Women-Who-Code-Boston/events/274418229/)

----------------------------------------------------------

Javascript to Python
Lael Birch, software engineer at edX

This talk will show you how to think like a Python developer when you're coming from Javascript. You will learn about common errors people make when switching, as well as the basics of thinking in classes, using list and dict comprehensions, and basic Python debugging.

I Have a CSV file, What Can I Do With It?
Priyanka G
(abstract to come...)

Introduction to Data Visualizations with Python
Kathleen Nahabedian

Learn to harness Python's ability to create clear and eye-catching data visualizations for your next presentation or paper. We'll talk about some different options for creating plots in Python, as well as some common blunders to avoid. Code examples will be provided so that you can put these tools into practice in your own work.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/274561550/](https://www.meetup.com/bostonpython/events/274561550/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201202-online-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201202-online-project-and-collaboration-night.md new file mode 100644 index 0000000..0d3de04 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201202-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +December 02, 2020 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/274794652/](https://www.meetup.com/bostonpython/events/274794652/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201216-december-presentation-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201216-december-presentation-night.md new file mode 100644 index 0000000..92a6c9b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20201216-december-presentation-night.md @@ -0,0 +1,17 @@ +--- +title: December presentation night +sidebar_link: false +--- + +December 16, 2020 + + + +



+ +

Three presentations tonight:

------------------------------

Peter Mangione: Building a Virtual Rain Gauge

Abstract: How much rainfall has my yard received this week? This seems like a simple question, but often it is not. You might need this information because you are a gardener or want to know if you have to turn the sprinkler on tomorrow. Maybe you are just a curious weather nerd (like me).

Unless you have your own rain gauge, figuring out rainfall can take some work. Airports like Boston Logan and TF Green in Providence consistently record daily rainfall, but you might not live very close to the airport. That's why I wrote a short Python script which collects rainfall data from nearby rain gauges. You provide the address and the dates of interest, and the script does the rest of the work!

Python concepts that will be covered are lists, loops, and dictionaries. This will be a beginner level presentation, although some base knowledge of lists and dictionaries is helpful.

------------------------------

Ruth Caswell Smith: Intro to Pandas Dataframes using the Advent of Code

See how intuitive Pandas dataframes are to use. In this lightning talk we'll explore implementing the solution to a day from the Advent of Code using Pandas dataframes and their methods.

------------------------------

Heather Kusmierz: On Python and Positioning: An Introduction to Working with Geospatial Data in Python with GeoPandas

This presentation will introduce the basics of working with geospatial data including data models, common file formats, and just enough underlying theory to be dang.. er...know what to look out for. Then we'll run through a few code examples demonstrating some of the geospatial functionality using the Python package GeoPandas.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275089088/](https://www.meetup.com/bostonpython/events/275089088/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210105-online-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210105-online-project-and-collaboration-night.md new file mode 100644 index 0000000..9ab6c9b --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210105-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +January 05, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275434764/](https://www.meetup.com/bostonpython/events/275434764/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210119-drawing-with-python-drawbot.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210119-drawing-with-python-drawbot.md new file mode 100644 index 0000000..206dec5 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210119-drawing-with-python-drawbot.md @@ -0,0 +1,17 @@ +--- +title: Drawing with Python - DrawBot +sidebar_link: false +--- + +January 19, 2021 + + + +



+ +

Our speaker tonight is David Jonathan Ross, about DrawBot:

DrawBot is a free MacOS application and Python library that helps users create 2D vector graphics with code. As a teaching tool, it offers students an easy way to dive into the Python language and immediately see the results of their work (not to mention the ability to save those results in common formats such as PDF, SVG, PNG, and MP4). DrawBot also gives graphic designers and typographers like me the opportunity to set aside traditional design tools like Adobe InDesign and Illustrator and reconsider what design tools can be outside of the world of point-and-click. In this talk, I will share how I use the application to work out my design systems in code, automating repetitive tasks and generating hundreds of variations on a theme. I will compare DrawBot to other “creative coding” apps such as Processing, and will conclude with a demo of some of the basic features of the app, focusing on drawing and manipulating shapes, text, and images.

David Jonathan Ross draws letters of all shapes and sizes for custom and retail typeface designs. A native of Los Angeles, he currently lives in the woods of Western Massachusetts. He began drawing typefaces at Hampshire College and joined The Font Bureau in 2007 where he honed his bézier-wrangling skills. Now he publishes his typeface designs at his own type foundry, DJR (http://djr.com/), as well as working on projects with Type Network (http://typenetwork.com/), teaching typeface design at MassArt (http://massart.edu/), and developing unusual display faces for his Font of the Month Club (http://fontofthemonth.club/).

We'll open the Zoom at 6:30 for socializing, with David starting his presentation at 7 or so.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275680312/](https://www.meetup.com/bostonpython/events/275680312/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210202-online-project-and-collaboration-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210202-online-project-and-collaboration-night.md new file mode 100644 index 0000000..262b77c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210202-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +February 02, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1toZZBzyGGOtoXSd9J2-EiYNWm6EAefCf1a6xdJeMDlw/edit

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1toZZBzyGGOtoXSd9J2-EiYNWm6EAefCf1a6xdJeMDlw/edit

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275993669/](https://www.meetup.com/bostonpython/events/275993669/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210217-approaches-to-debugging.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210217-approaches-to-debugging.md new file mode 100644 index 0000000..10f4603 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210217-approaches-to-debugging.md @@ -0,0 +1,17 @@ +--- +title: Approaches to Debugging +sidebar_link: false +--- + +February 17, 2021 + + + +



+ +

Tonight, an online presentation night about two approaches to debugging.

Emily Charles, Debugging without print()

This beginner-friendly talk is an introduction to pdb, the command line debugger built into Python. We'll cover the basics of interactive debugging, demonstrate some of the most common commands, and outline just a few advanced options for those who want to explore further. If you've never used a debugger before, or if you come from the world of graphical debuggers and want to explore command line options, then this is a talk for you!

Rick Landau, Debugging by Printing

Most programs need debugging, but some types of programs do not easily permit interactive debugging with the capabilities supplied by IDEs, Python pdb, and such. For complex or detached programs, the flow of process and data through a program can be followed using highly structured and flexible printing from the program. Such printing can be controlled from the outside without changes to the source code and, if the facility is reasonably efficient, can be a diagnostic tool even in production code. I'll present an overview of my library for non-interactive debug printing.

We'll open the Zoom at 6:15, and we'll get started at 6:30.

The event will be recorded.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276286083/](https://www.meetup.com/bostonpython/events/276286083/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210301-online-collaboration-and-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210301-online-collaboration-and-project-night.md new file mode 100644 index 0000000..a8c22b8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210301-online-collaboration-and-project-night.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night +sidebar_link: false +--- + +March 01, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1h-xFY1Dxe6s7mcjrQRBU3Q5qSyjLSIXvoy94a5XyTJE/edit

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1h-xFY1Dxe6s7mcjrQRBU3Q5qSyjLSIXvoy94a5XyTJE/edit

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276549798/](https://www.meetup.com/bostonpython/events/276549798/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210310-python-study-group-iterators-101.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210310-python-study-group-iterators-101.md new file mode 100644 index 0000000..17813d6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210310-python-study-group-iterators-101.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Iterators 101 +sidebar_link: false +--- + +March 10, 2021 + + + +



+ +

Boston Python is trying out a new type of meetup! This beginner-to-intermediate level study group is structured around the idea that teaching something is sometimes the best way to learn it.

Every session, we'll hear a presentation from a member of the group on a topic they've chosen to learn about. This is a low-key, casual presentation in whatever format makes sense for the topic. Afterwards we'll hold a mini Q&A/discussion period so everyone can get involved. We'll rotate presenters and topics to keep things fresh. If you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

For our very first session, we'll take a look at iterables and iterators, with a focus on the helpful built-in functions that Python provides to work with them. We'll also take a tiny peek at how they work under the hood. No prior knowledge is necessary - we'll build up any supporting concepts during the session.

Hope to see you there!

(Is there a topic you'd like to learn about? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276736224/](https://www.meetup.com/bostonpython/events/276736224/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210322-pytest-from-the-ground-up.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210322-pytest-from-the-ground-up.md new file mode 100644 index 0000000..4ba0c58 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210322-pytest-from-the-ground-up.md @@ -0,0 +1,17 @@ +--- +title: Pytest from the ground up +sidebar_link: false +--- + +March 22, 2021 + + + +



+ +

Tonight, an introduction to testing your code with pytest.

Ned Batchelder, Why write tests?

A short motivation for why writing tests is a good idea.

David Sturgis, Intro to Pytest

An introduction to PyTest with lots of simple, hackable examples. We'll start from nothing, add assertions, write some fixtures, do some parametrization, and mark tests. You'll see simple examples of the power that pytest can bring to your testing.

We'll be online starting at 6:15, and we'll get started at 6:30.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276935212/](https://www.meetup.com/bostonpython/events/276935212/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210324-python-study-group-iterators-101.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210324-python-study-group-iterators-101.md new file mode 100644 index 0000000..9581b40 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210324-python-study-group-iterators-101.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Iterators 101 +sidebar_link: false +--- + +March 24, 2021 + + + +



+ +

**Note** this session will be a rerun of the Iterators session from 3/11. If you attended that one, no need to come to this one!

This beginner-to-intermediate level study group is structured around the idea that teaching something is sometimes the best way to learn it. If you are new-ish to Python (~1 year or less of experience), this is a group for you.

For this rerun session, we'll take a look at iterables and iterators, with a focus on the helpful built-in functions that Python provides to work with them. We'll also take a tiny peek at how they work under the hood. No prior knowledge is necessary - we'll build up any supporting concepts during the session.

Every session, we'll hear a presentation from a member of the group on a topic they've chosen to learn about. This is a low-key, casual presentation in whatever format makes sense for the topic. Afterwards we'll hold a mini Q&A/discussion period so everyone can get involved. We'll rotate presenters and topics to keep things fresh. If you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

(Also....since the size of this meetup is limited, please only RSVP 'Yes' if you're pretty sure you can make it. Thanks!)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276948551/](https://www.meetup.com/bostonpython/events/276948551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210331-python-study-group-list-comprehensions.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210331-python-study-group-list-comprehensions.md new file mode 100644 index 0000000..bbeface --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210331-python-study-group-list-comprehensions.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - List Comprehensions +sidebar_link: false +--- + +March 31, 2021 + + + +



+ +

At this study group session, Melissa Cruz will tell us about list comprehensions! After her presentation, we'll open things up for a Q&A/discussion period so everyone can get involved. This session is beginner-focused and no experience is required.

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277012010/](https://www.meetup.com/bostonpython/events/277012010/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210407-online-collaboration-and-project-night.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210407-online-collaboration-and-project-night.md new file mode 100644 index 0000000..b4bbb59 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210407-online-collaboration-and-project-night.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night +sidebar_link: false +--- + +April 07, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

This time we'll have an introduction to pytest workshop by David Sturgis, and maybe also a mob programming activity.

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277289875/](https://www.meetup.com/bostonpython/events/277289875/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210414-python-study-group-dates-and-times-in-pandas.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210414-python-study-group-dates-and-times-in-pandas.md new file mode 100644 index 0000000..0484d1f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210414-python-study-group-dates-and-times-in-pandas.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Dates and Times in pandas +sidebar_link: false +--- + +April 14, 2021 + + + +



+ +

At this study group session, Mathilde B. will show us a project she's been working on that demonstrates how to use dates and times in pandas. After her presentation, we'll open things up for a Q&A/discussion period so everyone can get involved. This session is beginner-focused. While exposure to pandas will be helpful, it is not required!

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277323404/](https://www.meetup.com/bostonpython/events/277323404/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210427-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210427-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..d1304b8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210427-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +April 27, 2021 + + + +



+ +

Online project night using Gather this time! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/i/8E7xsMMl

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277716298/](https://www.meetup.com/bostonpython/events/277716298/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210428-python-study-group-yaml-and-json-in-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210428-python-study-group-yaml-and-json-in-python.md new file mode 100644 index 0000000..3fc4f2c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210428-python-study-group-yaml-and-json-in-python.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - YAML and JSON in Python +sidebar_link: false +--- + +April 28, 2021 + + + +



+ +

This week we'll talk about two common data formats, YAML and JSON, and how to work with them in Python. Mike C. will take us through what he's been learning about these, then we'll have a discussion section afterwards. If you're starting to work with data in Python, come join us!

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277620946/](https://www.meetup.com/bostonpython/events/277620946/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210512-python-study-group-the-python-package-index-pypi.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210512-python-study-group-the-python-package-index-pypi.md new file mode 100644 index 0000000..c90171c --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210512-python-study-group-the-python-package-index-pypi.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - The Python Package Index (PyPI) +sidebar_link: false +--- + +May 12, 2021 + + + +



+ +

This week we're going to hear about the Python Package Index from Anush K. PyPI is an integral part of the Python ecosystem, so if it's still mysterious to you, come join us! No experience is required - we'll build up the topic from the ground up.

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277899182/](https://www.meetup.com/bostonpython/events/277899182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210525-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210525-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..ff41df6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210525-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +May 25, 2021 + + + +



+ +

Online project night using Gather this time! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/i/t7P6XCi2

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/278297121/](https://www.meetup.com/bostonpython/events/278297121/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210602-python-study-group-lightning-round.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210602-python-study-group-lightning-round.md new file mode 100644 index 0000000..f7b234e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210602-python-study-group-lightning-round.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Lightning Round +sidebar_link: false +--- + +June 02, 2021 + + + +



+ +

We're trying something a little different this week. This time we're going to hear from a number of different presenters in a series of "lightning" talks. Rather than dive deep into one particular topic, we'll get a quick example of a bunch of topics - hopefully you'll walk away with one or two that will help you out! Topics have yet to be decided, but will be posted here as presenter slots are filled (see below!)

*** NOTE *** As of now, I am still looking for people to fill the presenter slots. The choice of topic is pretty wide open: pick a Python feature/library/concept/environment that makes your life easier, and come tell us about it. If this sounds interesting, please contact me via Meetup and let me know!
***

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/278270893/](https://www.meetup.com/bostonpython/events/278270893/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210720-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210720-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..ce52b69 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210720-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +July 20, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/invite?token=dJIHUVIQ

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/279455357/](https://www.meetup.com/bostonpython/events/279455357/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210728-python-study-group-linting-with-pylint.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210728-python-study-group-linting-with-pylint.md new file mode 100644 index 0000000..22e3ec6 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210728-python-study-group-linting-with-pylint.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Linting with pylint +sidebar_link: false +--- + +July 28, 2021 + + + +



+ +

This week we'll talk about linting (enforcing code style rules) with a specific focus on the pylint package. This is a beginner-friendly presentation, so even if you don't know what linting is, you are welcome to come! We'll take it from the ground up. Hope to see you there!

*** NOTE *** As of now, I am still looking for people to fill the presenter slots. The choice of topic is pretty wide open: pick a Python feature/library/concept/environment that makes your life easier, and come tell us about it. If this sounds interesting, please contact me via Meetup and let me know!
***

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/279431363/](https://www.meetup.com/bostonpython/events/279431363/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210921-python-study-group-intro-to-flask.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210921-python-study-group-intro-to-flask.md new file mode 100644 index 0000000..6c52178 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20210921-python-study-group-intro-to-flask.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Intro to Flask +sidebar_link: false +--- + +September 21, 2021 + + + +



+ +

This week we'll talk about getting up and running with flask, courtesy of Mike Combs. This is a beginner-level intro to flask - no prior knowledge is required. Hope to see you there!

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/280451164/](https://www.meetup.com/bostonpython/events/280451164/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211012-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211012-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..13451ec --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211012-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +October 12, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/invite?token=-vcoO62fMw4uPmlju-QPppOWWty_o-pX

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281038124/](https://www.meetup.com/bostonpython/events/281038124/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211027-session-0-boston-python-study-group-planning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211027-session-0-boston-python-study-group-planning.md new file mode 100644 index 0000000..7b47865 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211027-session-0-boston-python-study-group-planning.md @@ -0,0 +1,17 @@ +--- +title: Session 0 - Boston Python study group planning +sidebar_link: false +--- + +October 27, 2021 + + + +



+ +

This is a preparatory meeting to sketch out what the upcoming study group semester looks like. We are going to pursue data science as the high-level topic, but it's possible that we run two or more groups in parallel if there's enough interest and participation.

You should attend this if:
- you are interested in being a core member of the study group
- you want to have a voice in what topics are on the syllabus
- you want to know if this study group is right for you
- you are interested in branching off and running a parallel study group

Hopefully we'll come out of this with a core group identified, a list of topics for each of the sessions, and a schedule for the "semester".

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281569648/](https://www.meetup.com/bostonpython/events/281569648/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211111-solve-programming-puzzles-together.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211111-solve-programming-puzzles-together.md new file mode 100644 index 0000000..daccca8 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211111-solve-programming-puzzles-together.md @@ -0,0 +1,17 @@ +--- +title: Solve Programming Puzzles Together +sidebar_link: false +--- + +November 11, 2021 + + + +



+ +

December is coming, which means it's time to gear up for another month of programming puzzles from adventofcode.com! Get together with your friends from the Boston Python community to collaborate on solutions to problems chosen from the last six years of this annual coding challenge.

Programming puzzles are a great way to stretch your programming skills, to learn about the resources of a programming language, and to keep your programming chops limber. Some people enjoy the competitive aspects - getting on a leaderboard, earning bragging rights - and some people just enjoy the satisfaction of the "aha!" moment when a solution comes into focus. Whichever sort you are, you're welcome to join us for an evening of collaboration and conversation.

This event is open to python users of all levels. Attendees should register with adventofcode.com prior to the event, and ideally try to solve some of the problems.

Please note: This will not be a competitive coding event. We probably won't write complete solutions for any of the problems we talk about! Instead, we'll be talking about how we develop solutions for non-obvious problems, and about implementation challenges that might apply to these solutions (such as processing input, useful libraries, and engineering tips).

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281857824/](https://www.meetup.com/bostonpython/events/281857824/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211117-session-1-setting-up-your-python-environment.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211117-session-1-setting-up-your-python-environment.md new file mode 100644 index 0000000..efa3b6d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211117-session-1-setting-up-your-python-environment.md @@ -0,0 +1,17 @@ +--- +title: Session 1 - Setting up your Python environment +sidebar_link: false +--- + +November 17, 2021 + + + +



+ +

This is the first official meeting of our data science study group term! This session will be led by Matt C., who is going to give us his tips and tricks on setting up a dev environment for working with Python on data science.

As this session will have limited space, priority will be given to "core" group members who have committed to leading one of our sessions. We welcome others, space allowing!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281965186/](https://www.meetup.com/bostonpython/events/281965186/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211118-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211118-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..3e8365f --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211118-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +November 18, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

The invite link will be visible here once you RSVP.

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282043032/](https://www.meetup.com/bostonpython/events/282043032/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211201-session-2-cleaning-up-data-sets.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211201-session-2-cleaning-up-data-sets.md new file mode 100644 index 0000000..1b244ce --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211201-session-2-cleaning-up-data-sets.md @@ -0,0 +1,17 @@ +--- +title: Session 2 - Cleaning Up Data Sets +sidebar_link: false +--- + +December 01, 2021 + + + +



+ +

This is the second official meeting of our data science study group! This session will be led by Mike C., who will share some strategies for cleaning up messy or incomplete data sets. We'll start with his presentation and then break out into smaller groups for discussion.

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282279119/](https://www.meetup.com/bostonpython/events/282279119/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211215-session-3-numpy-and-data-analysis.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211215-session-3-numpy-and-data-analysis.md new file mode 100644 index 0000000..92ebaba --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20211215-session-3-numpy-and-data-analysis.md @@ -0,0 +1,17 @@ +--- +title: Session 3 - Numpy and Data Analysis +sidebar_link: false +--- + +December 15, 2021 + + + +



+ +

This is the third official meeting of our data science study group! This session will be led by Glenn, who talk about numpy and some mathematical tools to extract information from your data sets.

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282562939/](https://www.meetup.com/bostonpython/events/282562939/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220105-session-3-overview-of-python-graphing-libraries.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220105-session-3-overview-of-python-graphing-libraries.md new file mode 100644 index 0000000..5766b99 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220105-session-3-overview-of-python-graphing-libraries.md @@ -0,0 +1,17 @@ +--- +title: Session 3 - Overview of Python Graphing Libraries +sidebar_link: false +--- + +January 05, 2022 + + + +



+ +

UPDATED 2022-01-02:
In a bit of a last-minute turn of events, we're not going to do a whole session on Seaborn this time. There will be a shorter-than-usual presentation comparing and contrasting some of the most popular Python graphing libraries, then we'll have a bit of a round table discussion so anyone who wants to can discuss their current interests or projects.

The Seaborn session will be rescheduled, and if you've already RSVP'd, you will receive an email about that shortly. Thanks for your understanding!

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282918036/](https://www.meetup.com/bostonpython/events/282918036/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220113-aesthetic-python-neurons.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220113-aesthetic-python-neurons.md new file mode 100644 index 0000000..780e742 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220113-aesthetic-python-neurons.md @@ -0,0 +1,17 @@ +--- +title: Aesthetic Python - Neurons +sidebar_link: false +--- + +January 13, 2022 + + + +



+ +

Presenter: Alfred Essa

In this presentation we will study some Python code from both a computational and aesthetic lens. We will write code together for an artificial neuron, using simple functions and then building to a Neuron class. Our canvas will be the Numpy library. Neurons are computationally simple. A single neuron is a simple mathematical function. But it can yield complex models, such as multiple regression and logistic regression in machine learning. Artificial neurons are also the atoms of deep learning. The aim of the presentation is to demonstrate how simple computational patterns can yield complex representations.

Prerequisites: Basic Python

The presentation will be in the form of Jupyter Notebooks. I will prepare MyBinder so you can interact with the code during the presentation. The notebooks will also be on GitHub if you want to download them.

Link to materials: https://alfredessa.github.io/aes/intro.html

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283085024/](https://www.meetup.com/bostonpython/events/283085024/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220119-session-4-intro-to-seaborn.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220119-session-4-intro-to-seaborn.md new file mode 100644 index 0000000..b4f3cd4 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220119-session-4-intro-to-seaborn.md @@ -0,0 +1,17 @@ +--- +title: Session 4 - Intro to Seaborn +sidebar_link: false +--- + +January 19, 2022 + + + +



+ +

At this session, we'll have Jack D. back to tell us about Seaborn! Thanks to everyone for your patience as we rescheduled this event. A typical study group night has a 30-60 minute presentation, a question and answer session, and then some time for unstructured small-group discussion. Hope to see you there!

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283211419/](https://www.meetup.com/bostonpython/events/283211419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220127-online-collaboration-and-project-night-in-gather.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220127-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..97102c9 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220127-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +January 27, 2022 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

The invite link will be visible here prior to the event start time.

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283199193/](https://www.meetup.com/bostonpython/events/283199193/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220209-session-6-python-case-studies.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220209-session-6-python-case-studies.md new file mode 100644 index 0000000..09851f7 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220209-session-6-python-case-studies.md @@ -0,0 +1,15 @@ +--- +title: Session 6 - Python Case Studies +sidebar_link: false +--- + +February 09, 2022 + +



+ +

If you are having trouble getting in, try refreshing the page and clicking on the new Zoom link. If that doesn't, work, please message us in the #study-group channel in Slack (www.about.bostonpython.com/slack)

For this ad-hoc session, we're discussing fun or unique uses of Python in the wild: Wordle solvers, portmanteau generators, chess engines, and the like.

Sample case studies will be provided, but feel free to bring your own! Sit down with like-minded people and discuss the problem at hand, pick apart the solution, or think about how you would build your own.

No experience is required, but enthusiasm is appreciated :)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283679795/](https://www.meetup.com/bostonpython/events/283679795/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220216-exploring-data-with-python.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220216-exploring-data-with-python.md new file mode 100644 index 0000000..6b90c63 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/20220216-exploring-data-with-python.md @@ -0,0 +1,15 @@ +--- +title: Exploring Data with Python +sidebar_link: false +--- + +February 16, 2022 + +



+ +

Exploring Data with Python - Glenn Lehman

In this presentation, we'll review some mathematical foundations needed to perform detailed data analysis, applied in Python. If you know basic Python, you can join us as we explore data, learn how to use statistical analysis to make predictions, and understand the initial steps of exploring a data set to see what might be lurking there. What makes a data set a valid sample instead of meaningless noise? How can we interpret visualizations to determine the quality of data samples?

Mathematical Topics Covered:

- Population
- Sample
- Categorical and Quatitative Data (Probability Distribution)
- Basic visualizations (Bar Plot, Histograms, Stem and Leaf displays)
- Cross Tabulation - Mean, Median, Mode
- Group Frequency
- Standard Deviation
- Percentiles, Quartiles, Quintiles, Deciles
- Plotting (elementary box plot)
- IQR (interquartile range) - Box Plots (traditional/modified)

Python libraries introduced:

- numpy
- pandas
- matplotlib

Working code will be provided in a Jupyter notebook. This presentation will be recorded.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283752347/](https://www.meetup.com/bostonpython/events/283752347/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/index.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/index.md new file mode 100644 index 0000000..2fc36b1 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/past-events/index.md @@ -0,0 +1,354 @@ +--- +title: Past Events +sidebar_link: false +--- + +List of past events: + +- 2022 + - [Exploring Data with Python](20220216-exploring-data-with-python.md) (02/16/2022) + - [Session 6 - Python Case Studies](20220209-session-6-python-case-studies.md) (02/09/2022) + - [Online Collaboration and Project Night in Gather](20220127-online-collaboration-and-project-night-in-gather.md) (01/27/2022) + - [Session 4 - Intro to Seaborn](20220119-session-4-intro-to-seaborn.md) (01/19/2022) + - [Aesthetic Python - Neurons](20220113-aesthetic-python-neurons.md) (01/13/2022) + - [Session 3 - Overview of Python Graphing Libraries](20220105-session-3-overview-of-python-graphing-libraries.md) (01/05/2022) +- 2021 + - [Session 3 - Numpy and Data Analysis](20211215-session-3-numpy-and-data-analysis.md) (12/15/2021) + - [Session 2 - Cleaning Up Data Sets](20211201-session-2-cleaning-up-data-sets.md) (12/01/2021) + - [Online Collaboration and Project Night in Gather](20211118-online-collaboration-and-project-night-in-gather.md) (11/18/2021) + - [Session 1 - Setting up your Python environment](20211117-session-1-setting-up-your-python-environment.md) (11/17/2021) + - [Solve Programming Puzzles Together](20211111-solve-programming-puzzles-together.md) (11/11/2021) + - [Session 0 - Boston Python study group planning](20211027-session-0-boston-python-study-group-planning.md) (10/27/2021) + - [Online Collaboration and Project Night in Gather](20211012-online-collaboration-and-project-night-in-gather.md) (10/12/2021) + - [Python Study Group - Intro to Flask](20210921-python-study-group-intro-to-flask.md) (09/21/2021) + - [Python Study Group - Linting with pylint](20210728-python-study-group-linting-with-pylint.md) (07/28/2021) + - [Online Collaboration and Project Night in Gather](20210720-online-collaboration-and-project-night-in-gather.md) (07/20/2021) + - [Python Study Group - Lightning Round](20210602-python-study-group-lightning-round.md) (06/02/2021) + - [Online Collaboration and Project Night in Gather](20210525-online-collaboration-and-project-night-in-gather.md) (05/25/2021) + - [Python Study Group - The Python Package Index (PyPI)](20210512-python-study-group-the-python-package-index-pypi.md) (05/12/2021) + - [Python Study Group - YAML and JSON in Python](20210428-python-study-group-yaml-and-json-in-python.md) (04/28/2021) + - [Online Collaboration and Project Night in Gather](20210427-online-collaboration-and-project-night-in-gather.md) (04/27/2021) + - [Python Study Group - Dates and Times in pandas](20210414-python-study-group-dates-and-times-in-pandas.md) (04/14/2021) + - [Online Collaboration and Project Night](20210407-online-collaboration-and-project-night.md) (04/07/2021) + - [Python Study Group - List Comprehensions](20210331-python-study-group-list-comprehensions.md) (03/31/2021) + - [Python Study Group - Iterators 101](20210324-python-study-group-iterators-101.md) (03/24/2021) + - [Pytest from the ground up](20210322-pytest-from-the-ground-up.md) (03/22/2021) + - [Python Study Group - Iterators 101](20210310-python-study-group-iterators-101.md) (03/10/2021) + - [Online Collaboration and Project Night](20210301-online-collaboration-and-project-night.md) (03/01/2021) + - [Approaches to Debugging](20210217-approaches-to-debugging.md) (02/17/2021) + - [Online Project and Collaboration Night](20210202-online-project-and-collaboration-night.md) (02/02/2021) + - [Drawing with Python - DrawBot](20210119-drawing-with-python-drawbot.md) (01/19/2021) + - [Online Project and Collaboration Night](20210105-online-project-and-collaboration-night.md) (01/05/2021) +- 2020 + - [December presentation night](20201216-december-presentation-night.md) (12/16/2020) + - [Online Project and Collaboration Night](20201202-online-project-and-collaboration-night.md) (12/02/2020) + - [Intro Tech Talks, with Women Who Code](20201118-intro-tech-talks-with-women-who-code.md) (11/18/2020) + - [Online Project and Collaboration Night](20201021-online-project-and-collaboration-night.md) (10/21/2020) + - [Are you ready? - When and How to Land Your First Engineering Job](20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md) (10/07/2020) + - [Online Project and Collaboration Night](20200923-online-project-and-collaboration-night.md) (09/23/2020) + - [Simon Willison - Personal analytics with SQLite and Datasette](20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md) (07/22/2020) + - [Presentation - Adventures in Python 3 Type Annotations for Data Science](20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md) (05/16/2020) + - [Online Lightning Talks](20200425-online-lightning-talks.md) (04/25/2020) + - [Pycon 2020 Rehearsal Night](20200409-pycon-2020-rehearsal-night.md) (04/09/2020) + - [Online presentation - Loop Like a Native](20200331-online-presentation-loop-like-a-native.md) (03/31/2020) + - [Online-only Project and Collaboration Night](20200312-online-only-project-and-collaboration-night.md) (03/12/2020) + - [Presentation - Getting Started Testing with pytest](20200226-presentation-getting-started-testing-with-pytest.md) (02/26/2020) + - [Project and Collaboration Night](20200204-project-and-collaboration-night.md) (02/04/2020) + - [DevOps for Pythonistas](20200128-devops-for-pythonistas.md) (01/28/2020) + - [Project and Collaboration Night](20200107-project-and-collaboration-night.md) (01/07/2020) +- 2019 + - [Presentation Night - Making Python faster](20191217-presentation-night-making-python-faster.md) (12/17/2019) + - [Project & Collaboration Night](20191203-project-collaboration-night.md) (12/03/2019) + - [Four data-themed talks](20191119-four-data-themed-talks.md) (11/19/2019) + - [November Project Night](20191105-november-project-night.md) (11/05/2019) + - [October - Lightning Talks](20191023-october-lightning-talks.md) (10/23/2019) + - [October Project Night](20191003-october-project-night.md) (10/03/2019) + - [Presentation night - GraphQL](20190924-presentation-night-graphql.md) (09/24/2019) + - [September Project Night](20190910-september-project-night.md) (09/10/2019) + - [Presentation Night - Web Scraping](20190822-presentation-night-web-scraping.md) (08/22/2019) + - [Boston Python Project Night](20190805-boston-python-project-night.md) (08/05/2019) + - [Presentation Night - Science!](20190723-presentation-night-science.md) (07/23/2019) + - [Boston Python Project Night](20190709-boston-python-project-night.md) (07/09/2019) + - [Making things with Python](20190626-making-things-with-python.md) (06/26/2019) + - [Boston Python May Project Night](20190520-boston-python-may-project-night.md) (05/20/2019) + - [PyCon Rehearsals 2 - Multiprocessing and Profiling](20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md) (04/24/2019) + - [PyCon Rehearsal Night 1 - Generalized Bayesian Testing](20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md) (04/23/2019) + - [Boston Python Project Night](20190403-boston-python-project-night.md) (04/03/2019) + - [Beginner Python Class - Build a Guessing Game](20190319-beginner-python-class-build-a-guessing-game.md) (03/19/2019) + - [Boston Python March Project Night](20190305-boston-python-march-project-night.md) (03/05/2019) + - [February Presentation Night](20190221-february-presentation-night.md) (02/21/2019) + - [Boston Python Project Night](20190204-boston-python-project-night.md) (02/04/2019) + - [Boston Python January Presentation Night](20190123-boston-python-january-presentation-night.md) (01/23/2019) + - [January Project Night](20190109-january-project-night.md) (01/09/2019) +- 2018 + - [December Presentation Night - Advent of Code](20181218-december-presentation-night-advent-of-code.md) (12/18/2018) + - [December Project Night](20181204-december-project-night.md) (12/04/2018) + - [November Presentation Night](20181127-november-presentation-night.md) (11/27/2018) + - [Boston Python Project Night](20181107-boston-python-project-night.md) (11/07/2018) + - [Molecules, and Reproducible Science](20181023-molecules-and-reproducible-science.md) (10/23/2018) + - [Boston Python October Project Night](20181011-boston-python-october-project-night.md) (10/11/2018) + - [CFFI and Neural Networks](20180926-cffi-and-neural-networks.md) (09/26/2018) + - [September Project Night](20180911-september-project-night.md) (09/11/2018) + - [Lightning Talks!](20180821-lightning-talks.md) (08/21/2018) + - [August Project Night](20180801-august-project-night.md) (08/01/2018) + - [Itertools and Encrypted bytecode](20180730-itertools-and-encrypted-bytecode.md) (07/30/2018) + - [July Project Night](20180710-july-project-night.md) (07/10/2018) + - [Physical Computing](20180619-physical-computing.md) (06/19/2018) + - [Boston Python June Project Night](20180611-boston-python-june-project-night.md) (06/11/2018) + - [Workshop - Foundations of Numerical Computing in Python](20180506-workshop-foundations-of-numerical-computing-in-python.md) (05/06/2018) + - [PyCon Rehearsals - Functions and Dragons](20180503-pycon-rehearsals-functions-and-dragons.md) (05/03/2018) + - [PyCon Rehearsals - Gerrymandering, and Big-O](20180425-pycon-rehearsals-gerrymandering-and-big-o.md) (04/25/2018) + - [April Project Night](20180410-april-project-night.md) (04/10/2018) + - [Tox+Travis+setup.py; and Lightning](20180320-tox-travis-setup-py-and-lightning.md) (03/20/2018) + - [Boston Python Project Night](20180305-boston-python-project-night.md) (03/05/2018) + - [Boston Python Presentation Night](20180221-boston-python-presentation-night.md) (02/21/2018) + - [February Project Night at CarGurus](20180207-february-project-night-at-cargurus.md) (02/07/2018) + - [Lightning Talks!](20180124-lightning-talks.md) (01/24/2018) + - [Boston Python Project Night](20180108-boston-python-project-night.md) (01/08/2018) +- 2017 + - [Boston Python December Presentation Night](20171218-boston-python-december-presentation-night.md) (12/18/2017) + - [Boston Python Project Night](20171120-boston-python-project-night.md) (11/20/2017) + - [Pycon.ca rehearsals - Functions, Descriptors, and Teaching Teens](20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md) (10/26/2017) + - [Boston Python October Project Night](20171010-boston-python-october-project-night.md) (10/10/2017) + - [What I Did on my Summer Vacation](20170919-what-i-did-on-my-summer-vacation.md) (09/19/2017) + - [September Project Night](20170907-september-project-night.md) (09/07/2017) + - [Virtualenv, Items, and Attributes](20170824-virtualenv-items-and-attributes.md) (08/24/2017) + - [August Project Night](20170808-august-project-night.md) (08/08/2017) + - [July Presentation Night](20170718-july-presentation-night.md) (07/18/2017) + - [July Project Night](20170712-july-project-night.md) (07/12/2017) + - [June Presentation Night](20170622-june-presentation-night.md) (06/22/2017) + - [Boston Python June Project Night](20170605-boston-python-june-project-night.md) (06/05/2017) + - [Tutorial - Applied Modern Cryptography in Python](20170513-tutorial-applied-modern-cryptography-in-python.md) (05/13/2017) + - [Tutorial - Best Testing Practices for Data Science](20170513-tutorial-best-testing-practices-for-data-science.md) (05/13/2017) + - [PyCon Rehearsal 4 - Testing, Instagram and Library UX](20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md) (05/11/2017) + - [PyCon Rehearsal 3 - Deep Learning, and Bayesian Analysis](20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md) (05/09/2017) + - [Tutorial - Complexity Science](20170506-tutorial-complexity-science.md) (05/06/2017) + - [Tutorial - Network Analysis Made Simple](20170506-tutorial-network-analysis-made-simple.md) (05/06/2017) + - [PyCon Rehearsal 2 - Laziness, Mongo, and Immutability](20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md) (05/02/2017) + - [Tutorial - How to Write and Debug C Extension Modules](20170429-tutorial-how-to-write-and-debug-c-extension-modules.md) (04/29/2017) + - [Tutorial - Intro to DSP (Digital Signal Processing)](20170429-tutorial-intro-to-dsp-digital-signal-processing.md) (04/29/2017) + - [PyCon Rehearsal 1 - Comparing Unicode and Predicting Oscars](20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md) (04/27/2017) + - [Boston Python April Project Night](20170405-boston-python-april-project-night.md) (04/05/2017) + - [Jupyter Wearables, and Iteration](20170321-jupyter-wearables-and-iteration.md) (03/21/2017) + - [Boston Python March Project Night](20170307-boston-python-march-project-night.md) (03/07/2017) + - [February Presentation Night - Porting Python to New Hardware](20170222-february-presentation-night-porting-python-to-new-hardware.md) (02/22/2017) + - [CANCELLED - February Project Night](20170209-cancelled-february-project-night.md) (02/09/2017) + - [Rapydscript, Modeling pattern formation, and PyPy](20170123-rapydscript-modeling-pattern-formation-and-pypy.md) (01/23/2017) + - [January Project Night](20170110-january-project-night.md) (01/10/2017) +- 2016 + - [December Presentation Night - Lightning Talks](20161220-december-presentation-night-lightning-talks.md) (12/20/2016) + - [December Project Night](20161205-december-project-night.md) (12/05/2016) + - [Scraping together a dataset to predict Oscar winners](20161121-scraping-together-a-dataset-to-predict-oscar-winners.md) (11/21/2016) + - [November Project Night](20161107-november-project-night.md) (11/07/2016) + - [Brandon Rhodes - The subprocess module!](20161020-brandon-rhodes-the-subprocess-module.md) (10/20/2016) + - [Boston Python October Project Night](20161004-boston-python-october-project-night.md) (10/04/2016) + - [September Presentation Night](20160920-september-presentation-night.md) (09/20/2016) + - [September Project Night](20160906-september-project-night.md) (09/06/2016) + - [Microservices](20160824-microservices.md) (08/24/2016) + - [August Project Night](20160815-august-project-night.md) (08/15/2016) + - [BeeKeeper, and lightning talks](20160719-beekeeper-and-lightning-talks.md) (07/19/2016) + - [Workshop - Plone theming with Diazo](20160716-workshop-plone-theming-with-diazo.md) (07/16/2016) + - [Cris Ewing - Plone's Evolution](20160714-cris-ewing-plone-s-evolution.md) (07/14/2016) + - [July Project Night](20160706-july-project-night.md) (07/06/2016) + - [June project night at Akamai](20160606-june-project-night-at-akamai.md) (06/06/2016) + - [PyCon Rehearsals 4 - Laser Cutters, and Closures](20160525-pycon-rehearsals-4-laser-cutters-and-closures.md) (05/25/2016) + - [PyCon Rehearsals 3 - Graceful Degradation, and Property Testing](20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md) (05/09/2016) + - [PyCon Rehearsals 2 - Performance Post-Mortem, and Machete Debugging](20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md) (05/05/2016) + - [PyCon Rehearsals 1 - Flask APIs, and Bytecode](20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md) (04/26/2016) + - [Pycon Rehearsal 1](20160419-pycon-rehearsal-1.md) (04/19/2016) + - [Project Night at AKAMAI](20160407-project-night-at-akamai.md) (04/07/2016) + - [Tutorial - Talking to other computers with Python](20160326-tutorial-talking-to-other-computers-with-python.md) (03/26/2016) + - [SciPy ecosystem](20160321-scipy-ecosystem.md) (03/21/2016) + - [Boston Python March Project Night](20160308-boston-python-march-project-night.md) (03/08/2016) + - [February Presentation - Testing Web Applications](20160223-february-presentation-testing-web-applications.md) (02/23/2016) + - [February Project Night](20160202-february-project-night.md) (02/02/2016) + - [Project Basics - Structure and Tests](20160120-project-basics-structure-and-tests.md) (01/20/2016) + - [January Project Night](20160106-january-project-night.md) (01/06/2016) +- 2015 + - [Boston Python December Project Night](20151203-boston-python-december-project-night.md) (12/03/2015) + - [Boston Python November Presentation Night](20151117-boston-python-november-presentation-night.md) (11/17/2015) + - [Boston Python November Project Night](20151105-boston-python-november-project-night.md) (11/05/2015) + - [October Presentation Night](20151021-october-presentation-night.md) (10/21/2015) + - [Boston Python October Project Night](20151001-boston-python-october-project-night.md) (10/01/2015) + - [September Presentation Night - Favorite Libraries](20150924-september-presentation-night-favorite-libraries.md) (09/24/2015) + - [September Project Night](20150903-september-project-night.md) (09/03/2015) + - [Twisted async networking framework](20150827-twisted-async-networking-framework.md) (08/27/2015) + - [August Project Night](20150810-august-project-night.md) (08/10/2015) + - [Intro to Classes and Special Methods](20150721-intro-to-classes-and-special-methods.md) (07/21/2015) + - [July Project Night](20150707-july-project-night.md) (07/07/2015) + - [9 Lightning Talks](20150622-9-lightning-talks.md) (06/22/2015) + - [Boston Python June Project Night](20150601-boston-python-june-project-night.md) (06/01/2015) + - [Boston Python - Open Data Science Con presentations](20150520-boston-python-open-data-science-con-presentations.md) (05/20/2015) + - [Boston Python May Project Night AT AKAMAI](20150512-boston-python-may-project-night-at-akamai.md) (05/12/2015) + - [PyCon Rehearsals 4](20150402-pycon-rehearsals-4.md) (04/02/2015) + - [PyCon Rehearsals 3](20150330-pycon-rehearsals-3.md) (03/30/2015) + - [PyCon tutorial rehearsal - Practical Graph/Network Analysis Made Simple](20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md) (03/28/2015) + - [PyCon tutorial rehearsal - Statistical inference with computational methods](20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md) (03/28/2015) + - [PyCon Rehearsals 2](20150323-pycon-rehearsals-2.md) (03/23/2015) + - [PyCon Rehearsals 1](20150318-pycon-rehearsals-1.md) (03/18/2015) + - [March Project Night](20150304-march-project-night.md) (03/04/2015) + - [NaNoGenMo and Type Hinting](20150217-nanogenmo-and-type-hinting.md) (02/17/2015) + - [February Project Night](20150212-february-project-night.md) (02/12/2015) + - [Engineering, Science, and Art](20150122-engineering-science-and-art.md) (01/22/2015) + - [January Project Night](20150106-january-project-night.md) (01/06/2015) +- 2014 + - [December Presentation Night - Stocking Stuffers](20141211-december-presentation-night-stocking-stuffers.md) (12/11/2014) + - [Boston Python December Project Night](20141204-boston-python-december-project-night.md) (12/04/2014) + - [November Presentation Night](20141125-november-presentation-night.md) (11/25/2014) + - [November Project Night - At AKAMAI](20141110-november-project-night-at-akamai.md) (11/10/2014) + - [Advanced Programming Tools](20141029-advanced-programming-tools.md) (10/29/2014) + - [October Project Night](20141014-october-project-night.md) (10/14/2014) + - [Beer with Harry Percival](20141001-beer-with-harry-percival.md) (10/01/2014) + - [September Presentation Night - Introductory Data Structures](20140922-september-presentation-night-introductory-data-structures.md) (09/22/2014) + - [September Project Night](20140908-september-project-night.md) (09/08/2014) + - [August Presentation Night](20140821-august-presentation-night.md) (08/21/2014) + - [August Project Night](20140807-august-project-night.md) (08/07/2014) + - [July Presentation Night - What I Built at Work](20140722-july-presentation-night-what-i-built-at-work.md) (07/22/2014) + - [July Project Night](20140707-july-project-night.md) (07/07/2014) + - [June Presentation Night - Puzzle Solutions](20140625-june-presentation-night-puzzle-solutions.md) (06/25/2014) + - [June Project Night](20140609-june-project-night.md) (06/09/2014) + - [Raspberry Pi projects!](20140527-raspberry-pi-projects.md) (05/27/2014) + - [May Project Night](20140512-may-project-night.md) (05/12/2014) + - [PyCon Rehearsals 4 - Shelling out and Games for Science](20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md) (04/07/2014) + - [PyCon Rehearsals 3 - Helicopters and Open edX](20140401-pycon-rehearsals-3-helicopters-and-open-edx.md) (04/01/2014) + - [PyCon Rehearsals 2 - Hy and Outreach](20140326-pycon-rehearsals-2-hy-and-outreach.md) (03/26/2014) + - [PyCon Rehearsals 1](20140324-pycon-rehearsals-1.md) (03/24/2014) + - [March Project Night](20140310-march-project-night.md) (03/10/2014) + - [PyCon tutorial - Getting started with open source development](20140302-pycon-tutorial-getting-started-with-open-source-development.md) (03/02/2014) + - [PyCon tutorial - analyzing science problems with Python](20140302-pycon-tutorial-analyzing-science-problems-with-python.md) (03/02/2014) + - [February Project Night](20140226-february-project-night.md) (02/26/2014) + - [February Presentation Night - Football, Cycles, Red Line](20140220-february-presentation-night-football-cycles-red-line.md) (02/20/2014) + - [PyCon rehearsal - A hands-on introduction to Python for beginning programmers](20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md) (02/15/2014) + - [Historic Python, and Lightning Talks](20140128-historic-python-and-lightning-talks.md) (01/28/2014) + - [January Project Night](20140120-january-project-night.md) (01/20/2014) +- 2013 + - [December Project Night](20131205-december-project-night.md) (12/05/2013) + - [Data! Good tools, Bad journals](20131120-data-good-tools-bad-journals.md) (11/20/2013) + - [November Project Night](20131114-november-project-night.md) (11/14/2013) + - [Helper Languages](20131029-helper-languages.md) (10/29/2013) + - [October Project Night](20131014-october-project-night.md) (10/14/2013) + - [Fundamental topics night](20130923-fundamental-topics-night.md) (09/23/2013) + - [September Project Night](20130909-september-project-night.md) (09/09/2013) + - [Four talks about Flask](20130828-four-talks-about-flask.md) (08/28/2013) + - [August Project Night](20130820-august-project-night.md) (08/20/2013) + - [Lightning Talks for July](20130730-lightning-talks-for-july.md) (07/30/2013) + - [A project-driven introduction to Python for women and their friends](20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (07/12/2013) + - [July Project Night](20130701-july-project-night.md) (07/01/2013) + - [Machine Learning](20130625-machine-learning.md) (06/25/2013) + - [June Project Night](20130605-june-project-night.md) (06/05/2013) + - [Intermediate Python Workshop 2](20130525-intermediate-python-workshop-2.md) (05/25/2013) + - [May Presentation Night - Kenneth Reitz, Python for Humans](20130521-may-presentation-night-kenneth-reitz-python-for-humans.md) (05/21/2013) + - [May Project Night - DIFFERENT LOCATION](20130506-may-project-night-different-location.md) (05/06/2013) + - [Parsing with PLY *and* LIGHTNING TALKS](20130424-parsing-with-ply-and-lightning-talks.md) (04/24/2013) + - [CPython development sprint for new contributors](20130413-cpython-development-sprint-for-new-contributors.md) (04/13/2013) + - [April Project Night](20130409-april-project-night.md) (04/09/2013) + - [PyCon on the Charles, part 3](20130307-pycon-on-the-charles-part-3.md) (03/07/2013) + - [PyCon on the Charles, part 2](20130227-pycon-on-the-charles-part-2.md) (02/27/2013) + - [PyCon on the Charles, part 1](20130225-pycon-on-the-charles-part-1.md) (02/25/2013) + - [February Project Night](20130205-february-project-night.md) (02/05/2013) + - [PyCon tutorial - Getting started with open source development](20130202-pycon-tutorial-getting-started-with-open-source-development.md) (02/02/2013) + - [PyCon tutorial - Intermediate Twisted - Test-Driven Networking Software](20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md) (02/02/2013) + - [PyCon tutorial - A hands-on introduction to Python for beginning programmers](20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md) (01/26/2013) + - [January Presentation Night - Zipline and Hython](20130124-january-presentation-night-zipline-and-hython.md) (01/24/2013) + - [January Project Night](20130107-january-project-night.md) (01/07/2013) +- 2012 + - [January Presentation Night](20121215-january-presentation-night.md) (12/15/2012) + - [December Project Night](20121204-december-project-night.md) (12/04/2012) + - [Beyond Django - Four other web frameworks](20121115-beyond-django-four-other-web-frameworks.md) (11/15/2012) + - [A project-driven introduction to Python for women and their friends](20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (11/02/2012) + - [November Project Night](20121101-november-project-night.md) (11/01/2012) + - [Intro to Django - *Special Location*](20121016-intro-to-django-special-location.md) (10/16/2012) + - [October Project Night](20121010-october-project-night.md) (10/10/2012) + - [100% Lightning talks](20120927-100-lightning-talks.md) (09/27/2012) + - [Sept Project Night](20120905-sept-project-night.md) (09/05/2012) + - [Giant Robots, and Lightning](20120822-giant-robots-and-lightning.md) (08/22/2012) + - [August Project Night](20120809-august-project-night.md) (08/09/2012) + - [Intermediate Python Workshop](20120728-intermediate-python-workshop.md) (07/28/2012) + - [Building Real Windows Desktop Applications with Python](20120724-building-real-windows-desktop-applications-with-python.md) (07/24/2012) + - [July Project Night - Julython!](20120712-july-project-night-julython.md) (07/12/2012) + - [(June Presentation) Distributed Computing - Star + Egg](20120620-june-presentation-distributed-computing-star-egg.md) (06/20/2012) + - [June Project Night](20120604-june-project-night.md) (06/04/2012) + - [Science - Genes, Satellites, and Lightning!](20120523-science-genes-satellites-and-lightning.md) (05/23/2012) + - [May Project Night](20120508-may-project-night.md) (05/08/2012) + - [Fundamental Topics - Iteration and Classes](20120424-fundamental-topics-iteration-and-classes.md) (04/24/2012) + - [April Project Night, with Designer advice!](20120412-april-project-night-with-designer-advice.md) (04/12/2012) + - [A project-driven introduction to Python for women and their friends](20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (03/30/2012) + - [Django Tools and Crazy Things (New Location!)](20120322-django-tools-and-crazy-things-new-location.md) (03/22/2012) + - [PyCon on the Charles, part 2](20120229-pycon-on-the-charles-part-2.md) (02/29/2012) + - [PyCon on the Charles, part 1](20120222-pycon-on-the-charles-part-1.md) (02/22/2012) + - [February Project Night](20120208-february-project-night.md) (02/08/2012) + - [An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor](20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md) (01/25/2012) + - [Web Scraping Tutorial, and beers](20120118-web-scraping-tutorial-and-beers.md) (01/18/2012) + - [January Python Project Night](20120110-january-python-project-night.md) (01/10/2012) +- 2011 + - [Web Performance Testing, lightning talks, and beers](20111219-web-performance-testing-lightning-talks-and-beers.md) (12/19/2011) + - [A project-driven introduction to Python for women and their friends](20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (12/16/2011) + - [December Project night](20111207-december-project-night.md) (12/07/2011) + - [November Python Project Night](20111107-november-python-project-night.md) (11/07/2011) + - [Lightning Talk Trick or Treat](20111019-lightning-talk-trick-or-treat.md) (10/19/2011) + - [October Python Project Night](20111004-october-python-project-night.md) (10/04/2011) + - [A project-driven introduction to Python for women and their friends](20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (09/30/2011) + - [NumPy & SciPy, plus extras - *** NEW LOCATION ***](20110921-numpy-scipy-plus-extras-new-location.md) (09/21/2011) + - [September Python Project Night](20110906-september-python-project-night.md) (09/06/2011) + - [Alternate pythons - PyPy, Jython, IronPython, plus lightning talks and beers](20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md) (08/17/2011) + - [Python Project Night](20110811-python-project-night.md) (08/11/2011) + - [Getting Started Testing your Python](20110720-getting-started-testing-your-python.md) (07/20/2011) + - [Python Project Night](20110712-python-project-night.md) (07/12/2011) + - [A project-driven introduction to Python for women and their friends](20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (07/08/2011) + - [Project Night](20110622-project-night.md) (06/22/2011) + - [SQLAlchemy, lightning talks, and beers](20110615-sqlalchemy-lightning-talks-and-beers.md) (06/15/2011) + - [SuperPy](20110601-superpy.md) (06/01/2011) + - [Python Project Night](20110520-python-project-night.md) (05/20/2011) + - [May meetup - Science!](20110518-may-meetup-science.md) (05/18/2011) + - [A project-driven introduction to Python for women and their friends](20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (05/13/2011) + - [Python Hack Night](20110426-python-hack-night.md) (04/26/2011) + - [Education and Community](20110411-education-and-community.md) (04/11/2011) + - [A project-driven introduction to Python for women and their friends](20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (03/05/2011) + - [PyCon on the Charles - practice session 2](20110302-pycon-on-the-charles-practice-session-2.md) (03/02/2011) + - [PyCon on the Charles - practice session 1](20110222-pycon-on-the-charles-practice-session-1.md) (02/22/2011) + - [Updated - Pycon talk 1 - "Contributor Outreach"; and installation chaos](20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md) (01/19/2011) +- 2010 + - [NLTK - Natural Language Toolkit](20101214-nltk-natural-language-toolkit.md) (12/14/2010) + - [Intro to Twisted - presentation and LAB](20101117-intro-to-twisted-presentation-and-lab.md) (11/17/2010) + - [Processing.py, inside and out](20101020-processing-py-inside-and-out.md) (10/20/2010) + - [Beginner's Night](20100915-beginner-s-night.md) (09/15/2010) + - [July Meetup - Echo Nest Remix and lightning talks](20100721-july-meetup-echo-nest-remix-and-lightning-talks.md) (07/21/2010) + - [Google App Engine at Google](20100615-google-app-engine-at-google.md) (06/15/2010) + - [May Python meetup - Testing Topics](20100519-may-python-meetup-testing-topics.md) (05/19/2010) + - [Discrete Event Simulations Made Easy, plus more lightning talks?](20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md) (04/21/2010) + - [March Python Meetup free-for-all](20100317-march-python-meetup-free-for-all.md) (03/17/2010) + - [PyCon on the Charles 2010, part 2](20100203-pycon-on-the-charles-2010-part-2.md) (02/03/2010) + - [PyCon on the Charles 2010, part 1](20100120-pycon-on-the-charles-2010-part-1.md) (01/20/2010) +- 2009 + - [Testing in Python (*NEW LOCATION*)](20091118-testing-in-python-new-location.md) (11/18/2009) + - [October Cambridge Python Meetup - Mobile platform with AppEngine](20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md) (10/14/2009) + - [September open hack night (Cambridge Python meetup)](20090916-september-open-hack-night-cambridge-python-meetup.md) (09/16/2009) + - [The Cambridge Python July Meetup - Remote Objects with Pyro](20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md) (07/15/2009) + - [June Cambridge Python meetup](20090617-june-cambridge-python-meetup.md) (06/17/2009) + - [The Cambridge Python June Meetup](20090617-the-cambridge-python-june-meetup.md) (06/17/2009) + - [The Cambridge Python May Meetup](20090520-the-cambridge-python-may-meetup.md) (05/20/2009) + - [The Cambridge Python April Meetup](20090415-the-cambridge-python-april-meetup.md) (04/15/2009) + - [The Cambridge Python March Meetup - Pycon on the Charles](20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md) (03/18/2009) + - [The Cambridge Python February Meetup](20090218-the-cambridge-python-february-meetup.md) (02/18/2009) + - [Cambridge Python January Meetup](20090121-cambridge-python-january-meetup.md) (01/21/2009) +- 2008 + - [Python November Meetup](20081120-python-november-meetup.md) (11/20/2008) + - [The Cambridge Python November Meetup](20081119-the-cambridge-python-november-meetup.md) (11/19/2008) + - [The Cambridge Python October Meetup](20081015-the-cambridge-python-october-meetup.md) (10/15/2008) + - [The Cambridge Python August Meetup](20080917-the-cambridge-python-august-meetup.md) (09/17/2008) + - [The Cambridge Python July Meetup](20080716-the-cambridge-python-july-meetup.md) (07/16/2008) + - [The Cambridge Python June Meeting](20080618-the-cambridge-python-june-meeting.md) (06/18/2008) + - [The Cambridge Python May Meeting](20080521-the-cambridge-python-may-meeting.md) (05/21/2008) + - [The Cambridge Python April Meeting](20080423-the-cambridge-python-april-meeting.md) (04/23/2008) + - [The Cambridge Python March Meeting](20080319-the-cambridge-python-march-meeting.md) (03/19/2008) + - [The Cambridge Python February Meetup](20080220-the-cambridge-python-february-meetup.md) (02/20/2008) + - [The Cambridge Python January Meetup](20080116-the-cambridge-python-january-meetup.md) (01/16/2008) +- 2007 + - [The Cambridge Python December Meetup](20071219-the-cambridge-python-december-meetup.md) (12/19/2007) + - [The Cambridge Python November Meetup](20071121-the-cambridge-python-november-meetup.md) (11/21/2007) + - [The Cambridge Python October Meetup](20071017-the-cambridge-python-october-meetup.md) (10/17/2007) + - [The Cambridge Python September Meetup](20070919-the-cambridge-python-september-meetup.md) (09/19/2007) + - [The Cambridge Python August Meetup](20070815-the-cambridge-python-august-meetup.md) (08/15/2007) + - [The Cambridge Python July Meetup](20070718-the-cambridge-python-july-meetup.md) (07/18/2007) + - [The Cambridge Python June Meetup](20070620-the-cambridge-python-june-meetup.md) (06/20/2007) + - [The Cambridge Python May Meetup](20070523-the-cambridge-python-may-meetup.md) (05/23/2007) \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/planning.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/planning.md new file mode 100644 index 0000000..3f8976e --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/planning.md @@ -0,0 +1,14 @@ +--- +title: Planning an event +sidebar_link: false +--- + +We are always interested in ideas for new events. It could be a presentation night on a particular topic, or a new kind of event altogether. Many of our current events were first proposed by members. + +To start planning an event: + +1. Join us in the **#organizing** channel in [our Slack workspace](slack.md). Start a conversation along the lines of "I'm thinking about XYZ," and get a discussion going about what shape the event could take. + +1. Find a [leader](contact.md) to pair with in the planning process. They can help think of all the things to consider, find other people to brainstorm with, and then get the event officially listed on meetup.com. Jon, Emily, James, or Ned are good possibilities. + +1. Stay active in the discussions that happen in Slack. We plan collaboratively. Others will have helpful ideas or tips to make the event successful. diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/requirements.txt b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/requirements.txt new file mode 100644 index 0000000..a46457a --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/requirements.txt @@ -0,0 +1,5 @@ +httpx +bs4 +Jinja2 +lxml +python-slugify \ No newline at end of file diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/resources.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/resources.md new file mode 100644 index 0000000..3a1de7d --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/resources.md @@ -0,0 +1,70 @@ +--- +title: Python Resources +sidebar_link: true +sidebar_sort_order: 600 +--- + +It's often said that the best way to learn to write programs is to write programs. This page lists a number of places you can go for ideas about what programs to write to develop your Python skills. Some sites offer Python-focused problems, which typically are aimed at helping you learn more about the language and how to use it more effectively. Other sites offer challenges that can be solved in any language. These are typically aimed at helping you develop your programming skills and become better at solving problems. + +**NOTE**: This is a work-in-progress. The resources listed have only been lightly curated, and there are likely other great ones that should be on this list. We welcome [suggestions](#edit-page). + +## Places to ask for help when you're stuck + +- The Boston Python [Slack workspace](https://about.bostonpython.com/slack) +- [Stack Overflow](https://stackoverflow.com/) is a good place to find quick answers to specific technical questions, but is usually not a good place for involved discussion about logic or problem-solving. + +## Python-specific exercises + +- [exercism](https://exercism.io/): Crowd-sourced code practice and mentorship for everyone, with over 100 [Python-specific exercises](https://exercism.io/tracks/python). Installing their command-line interface can be a little complicated, but after that the submission system is smoother than many online exercise portals. Exercises are submitted and maintained by volunteers, as a result some exercise descriptions may be incomplete or confusing. + +- [edabit](https://edabit.com/): Learn to code with interactive challenges, with [Python exercises](https://edabit.com/challenges/python3) for all levels. + +- [Practice Python](https://www.practicepython.org/): 30+ Python exercises for beginners. + +- [CheckIO](https://checkio.org/): Coding games to improve your skills by solving engaging challenges and fun tasks using Python. + +- [Python Koans](https://github.com/gregmalcolm/python_koans): A set of exercises for python and test-driven development for beginners. + +- [PyBites Blog Code Challenges](https://codechalleng.es/challenges/): Free form, open ended, mini coding projects designed to take anywhere from a day to a week. Each challenge includes optional instructions for submitting your solution using GitHub. + +- [A curated list of project-based tutorials](https://github.com/tuvtran/project-based-learning#python) + + +## More resources + +- [Software Engineering: Python for Beginners](https://www.mapcon.com/us-en/software-engineering-python) has a list of other Python resources that could be helpful for beginners. + + +## Language-agnostic coding challenges + +- [Advent of Code](https://adventofcode.com/) is a Christmas-themed problem set that has offered 25 new programming challenges every December since 2015. Each set is a collection of well-made problems that challenge your ability to reason algorithmically. Problems range from moderate to difficult. + +- [Rosalind](http://rosalind.info/problems/locations/) is a bit of a hodge-podge, offering a well-curated collection of problems introducing concepts in bioinformatics, a small set of introductory Python problems, and a collection of classical algorithms to implement. + +- [Project Euler](https://projecteuler.net/) is great fun for the mathematically-minded. Over 650 problems which ramp up rather quickly in difficulty. If you've got a strong mathematical background you'll have a real advantage here. If not, you might well acquire one. + +## Sites that cost money + +- [Python Morsels](https://www.pythonmorsels.com/): A short Python exercise every week, followed a fews days later by a number of idiomatic solutions, with explanations of each one. + +- [PyBites](https://codechalleng.es/): Hone your Python skills by coding and verifying exercises in the comfort of your browser. Offers a small number of free exercises, but most require buying a bundle or monthly subscription. Exercises are grouped by skill level (Bites of Py) and topic (Learning Paths). + +## Books + +There are thousands of books on programming in Python. This list focuses on titles helpful for beginners and advanced beginners. Most of the titles are available for free online or through a Boston-area library system ([Minuteman Library Network](https://www.minlib.net/) or [Boston Public Library](https://www.bpl.org/)), as well as for purchase through your favorite bookseller. + +**NOTE**: This list was originally compiled by a non-beginner. If you are a beginner, we will be grateful for your [feedback](#edit-page). + +- [Think Python!](https://greenteapress.com/wp/think-python-2e/) by Allen Downey. This book starts from the most basic programming concepts and works toward a computer-science mindset as well as Python fluency. While no book is perfect for all readers, this one has found broad appeal with many beginners. The website has free PDF and HTML versions. + +- [Python Flash Cards](https://nostarch.com/pythonflashcards) by Eric Matthes. More like a deconstructed book, this box of 101 cards covers the basics of Python in a stripped-down fashion. These are not like traditional flash cards, which present a single concept per card. Each card is more like a quick reference for some piece of the larger Python puzzle. Potentially useful for beginners looking to review their understanding. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3814347). + +- [Automate the Boring Stuff With Python](https://automatetheboringstuff.com/) by Al Sweigart. A practical guide to the sorts of things that you can do with Python, how to do them, and why to do them that way. Recommended for those who have some understanding of Python and want to apply and improve their knowledge. Experienced programmers without previous Python exposure will probably be able to make good use of this book as well. The adventurous beginner might be able to make reasonable progress using the introductory chapter to learn Python fundamentals, but this is probably not an ideal place to start your Python journey. The book's content is available for free on the website. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3867472), [MLN 1st ed](https://find.minlib.net/iii/encore/record/C__Rb3226226), [BPL 1st ed](https://bpl.bibliocommons.com/item/show/6969316075). + +- [Cracking Codes With Python](https://inventwithpython.com/cracking/) by Al Sweigart. Probably less practical than the author's book on automation, this book is a concrete review of Python programming techniques through an exploration of basic cryptography. Recommended for the advanced beginner interested in dipping their toe into the world of codes and information. This book will *not* bring you up to speed with modern crypto, which is extremely math-intensive, but it shows how to write programs to solve well-defined problems. The book's content is available for free on the website. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3685466). + +- [Impractical Python Projects](https://nostarch.com/impracticalpythonprojects) by Lee Vaughan. Somewhat more advanced than Sweigart's books, this book goes deep into Python libraries to do interesting and completely impractical things, such as using NLTK to write haikus, using PyGame to simulate alien volcanoes, or using Pillow to improve your astrophotography. Recommended for the more advanced beginner. If you're comfortable writing standard Python, this book will show you how to use other people's libraries to do cool things easily. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3725372), [BPL](https://bpl.bibliocommons.com/item/show/6971575075). + +- [Think Stats!](https://greenteapress.com/wp/think-stats-2e/) and [Think Bayes!](http://greenteapress.com/wp/think-bayes/) by Allen Downey. These books are aimed at teaching probability & statistics and Bayesian statistics, using Python rather than traditional mathematical expressions to make the concepts concrete. Recommended for more advanced beginners with an interest in the mathematical underpinnings of statistics. The website for both books has free PDF and HTML versions. + +- [Python Tricks: The Book](https://realpython.com/products/python-tricks-book/) by Dan Bader. This is a great book for those who are comfortable with the basics of Python and would like to learn some more advanced tricks, such as decorators, abstract base classes, named tuples, and more. The author runs the [Real Python site](https://realpython.com/) which has a lot of in-depth Python tutorials. A short [PDF sample](https://static.realpython.com/python-tricks-book/Python%20Tricks%20Sample.pdf) is available. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3739402), [BPL](https://bpl.bibliocommons.com/item/show/12035076981) diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/slack.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/slack.md new file mode 100644 index 0000000..16ead21 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/slack.md @@ -0,0 +1,33 @@ +--- +title: Slack +sidebar_link: true +sidebar_sort_order: 200 +--- + +Boston Python has a Slack workspace for online discussions. You can use [this link to join][join]. + +☞ [Join Us on Slack][join] ☜ + +[join]: https://join.slack.com/t/bostonpython/shared_invite/zt-tnds065z-Ec_9XymfQFiPIVGXynyCjg + +Once you've joined, there are a number of channels, depending on what you are looking for: + +- **#general**: Questions/ideas/links of general interest to the community. When in doubt, post here. +- **#events**: Announcements/discussion of events that might be interesting to the group. +- **#jobs**: For job postings. They must meet our [requirements](jobs.md). +- **#for-hire**: Where you can announce your availability for work. +- **#organizing**: Discussion about how Boston Python works, and making it work better. +- **#beginners**: For folks learning Python, or people who want to help them learn Python. +- Specific areas of interest, such as **#web**, **#data**, **#science**, etc. + +If you need administrative or moderation help, send a direct message to **@bhrutledge** and/or **@nedbat**. + +To learn how to use Slack, refer to their [Help Center](https://get.slack.help/hc/en-us) guides, such as: + +- [Join a channel](https://get.slack.help/hc/en-us/articles/205239967-Join-a-channel) +- [Find members in the directory](https://get.slack.help/hc/en-us/articles/360003534892-Find-members-in-the-directory-) +- [Message and file threads](https://get.slack.help/hc/en-us/articles/115000769927-Message-and-file-threads) +- [Reduce noise in Slack](https://get.slack.help/hc/en-us/articles/218551977-Reducing-noise-in-Slack) +- [Save notes and files in your personal DM](https://get.slack.help/hc/en-us/articles/219899267) +- [Format posts on your desktop](https://get.slack.help/hc/en-us/articles/209774578) +- [Guide to Slack notifications](https://get.slack.help/hc/en-us/articles/201355156-Guide-to-Slack-notifications-) diff --git a/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/sponsorship.md b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/sponsorship.md new file mode 100644 index 0000000..a14fe22 --- /dev/null +++ b/pr-65/7f10c5300ff8e194f2a79c823b4c26b382c8ac9c/sponsorship.md @@ -0,0 +1,42 @@ +--- +title: Sponsoring +sidebar_link: true +sidebar_sort_order: 520 +--- + +Boston Python is always looking for sponsors for its events. We'd love to have +you! Sponsoring brings a personal touch to your recruiting efforts. One recent +sponsor commented: + +> Our Boston Python posting got a better response than the company's 'official' + postings in IEEE journals, Monster.com, etc... + +Sponsoring pizza for an in-person event is **$750**. Other kinds of sponsorship are possible, we're open to your ideas. + +On classic **presentation nights**, we have up to 70 people in attendance, sometimes more. Our presentations focus on peer-to-peer technical content. We avoid presentations that focus too much on commercial offerings. + +**Project nights** are unstructured evenings where people group up based on interest, and then work on whatever they like. We have tables dedicated to beginning learners, web development, data science, hardware, and whatever other topics we decide are fitting. The unstructured time means that much more in-depth conversations are possible, which helps with assessing candidates' fit for the roles you are looking to fill. We generally get up to 50 people. + +As a sponsor, you will get a chance to **speak to the crowd** at the event, and +pitch your company (or whatever it is you have to pitch). Sponsors generally +speak for a minute or two. Up to five minutes isn't unheard of, but starts to +feel long. People lose interest if the pitch is too lengthy. + +When sponsoring **pizza**, a Boston Python organizer will purchase the pizza. +You can pay by making a donation to the Python Software Foundation at +. + +The night of the event, we can provide table space for you to put out materials, +or hand out swag if you want, but that is not expected or required. + +## Subscription sponsorship + +We also offer a subscription model of sponsorship. Subscribing sponsors provide +a regular monthly contribution, and are acknowledged at all of our events and on +our online platforms, chiefly meetup.com and our +[sponsors page](our_sponsors.md). This model works best for some organizations' +budgeting models, and we'd be pleased to work with your organization to find an +approach that works for you. + +If you have any questions, feel free to get in touch with the leadership team at +. From e3cf3d7c1d72d4c3bf9d76913418613236fb5022 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Jul 2025 12:45:17 +0000 Subject: [PATCH 3/3] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Bost?= =?UTF-8?q?onPython/about@1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.editorconfig | 29 ++ .../.gitignore | 3 + .../CNAME | 1 + .../Gemfile | 2 + .../Gemfile.lock | 309 +++++++++++++++ .../README.md | 42 +++ .../_config.yml | 6 + .../_includes/copyright.html | 4 + .../_includes/custom-nav-links.html | 1 + .../_includes/font-includes.html | 6 + .../_includes/sidebar-icon-links.html | 3 + .../_layouts/page.html | 20 + .../add_meetup_events.py | 169 +++++++++ .../assets/css/main.scss | 88 +++++ .../assets/images/LI-In-Bug.png | Bin 0 -> 5557 bytes .../assets/images/Slack_Mark_Web.png | Bin 0 -> 7325 bytes ...itter_Social_Icon_Rounded_Square_Color.png | Bin 0 -> 6249 bytes .../assets/images/email.png | Bin 0 -> 29654 bytes .../assets/images/meetup_logo.png | Bin 0 -> 34323 bytes .../assets/images/python-boston-sq.png | Bin 0 -> 11086 bytes .../assets/images/sponsors/CMT.jpeg | Bin 0 -> 2533 bytes .../assets/images/sponsors/DataDog.jpeg | Bin 0 -> 2312 bytes .../assets/images/sponsors/MSFT_LOGO_2.png | Bin 0 -> 21641 bytes .../assets/images/sponsors/MSFT_Logo.png | Bin 0 -> 1755 bytes .../assets/images/sponsors/MSFT_Logo_2.png | Bin 0 -> 21641 bytes .../images/sponsors/MSFT_Logo_2_orig.png | Bin 0 -> 21641 bytes .../assets/images/sponsors/MSFT_Logo_orig.png | Bin 0 -> 20835 bytes .../images/sponsors/PlanetTechnology.png | Bin 0 -> 3910 bytes .../sponsors/PlanetTechnology_original.png | Bin 0 -> 136990 bytes .../assets/images/sponsors/Temporal.jpeg | Bin 0 -> 1708 bytes .../assets/images/sponsors/Vinta.jpeg | Bin 0 -> 2156 bytes .../assets/images/swfd-shirt.jpg | Bin 0 -> 66270 bytes .../images/youtube_social_icon_white.png | Bin 0 -> 37169 bytes .../code-of-conduct.md | 84 +++++ .../conduct-attendee-procedure.md | 62 +++ .../conduct-staff-procedure.md | 107 ++++++ .../contact.md | 18 + .../events.md | 23 ++ .../favicon.ico | Bin 0 -> 34494 bytes .../feedback.md | 17 + .../giving-a-presentation.md | 45 +++ .../helping.md | 167 +++++++++ .../hosting.md | 28 ++ .../index.md | 43 +++ .../jobs.md | 45 +++ .../lightning.md | 50 +++ .../merch.md | 17 + .../officehour.md | 16 + .../our_sponsors.md | 29 ++ ...0070523-the-cambridge-python-may-meetup.md | 28 ++ ...070620-the-cambridge-python-june-meetup.md | 44 +++ ...070718-the-cambridge-python-july-meetup.md | 37 ++ ...0815-the-cambridge-python-august-meetup.md | 36 ++ ...9-the-cambridge-python-september-meetup.md | 32 ++ ...017-the-cambridge-python-october-meetup.md | 35 ++ ...21-the-cambridge-python-november-meetup.md | 30 ++ ...19-the-cambridge-python-december-meetup.md | 53 +++ ...116-the-cambridge-python-january-meetup.md | 38 ++ ...20-the-cambridge-python-february-meetup.md | 14 + ...0319-the-cambridge-python-march-meeting.md | 55 +++ ...0423-the-cambridge-python-april-meeting.md | 33 ++ ...080521-the-cambridge-python-may-meeting.md | 35 ++ ...80618-the-cambridge-python-june-meeting.md | 31 ++ ...080716-the-cambridge-python-july-meetup.md | 31 ++ ...0917-the-cambridge-python-august-meetup.md | 23 ++ ...015-the-cambridge-python-october-meetup.md | 33 ++ ...19-the-cambridge-python-november-meetup.md | 14 + .../20081120-python-november-meetup.md | 12 + ...0090121-cambridge-python-january-meetup.md | 24 ++ ...18-the-cambridge-python-february-meetup.md | 26 ++ ...ython-march-meetup-pycon-on-the-charles.md | 32 ++ ...90415-the-cambridge-python-april-meetup.md | 22 ++ ...0090520-the-cambridge-python-may-meetup.md | 27 ++ .../20090617-june-cambridge-python-meetup.md | 26 ++ ...090617-the-cambridge-python-june-meetup.md | 14 + ...on-july-meetup-remote-objects-with-pyro.md | 39 ++ ...open-hack-night-cambridge-python-meetup.md | 24 ++ ...n-meetup-mobile-platform-with-appengine.md | 26 ++ ...20091118-testing-in-python-new-location.md | 23 ++ ...100120-pycon-on-the-charles-2010-part-1.md | 35 ++ ...100203-pycon-on-the-charles-2010-part-2.md | 36 ++ ...100317-march-python-meetup-free-for-all.md | 22 ++ ...ons-made-easy-plus-more-lightning-talks.md | 23 ++ ...100519-may-python-meetup-testing-topics.md | 30 ++ .../20100615-google-app-engine-at-google.md | 22 ++ ...tup-echo-nest-remix-and-lightning-talks.md | 24 ++ .../past-events/20100915-beginner-s-night.md | 26 ++ .../20101020-processing-py-inside-and-out.md | 26 ++ ...7-intro-to-twisted-presentation-and-lab.md | 25 ++ .../20101214-nltk-natural-language-toolkit.md | 18 + ...ributor-outreach-and-installation-chaos.md | 30 ++ ...pycon-on-the-charles-practice-session-1.md | 33 ++ ...pycon-on-the-charles-practice-session-2.md | 38 ++ ...n-to-python-for-women-and-their-friends.md | 33 ++ .../20110411-education-and-community.md | 26 ++ .../past-events/20110426-python-hack-night.md | 20 + ...n-to-python-for-women-and-their-friends.md | 44 +++ .../20110518-may-meetup-science.md | 24 ++ .../20110520-python-project-night.md | 36 ++ .../past-events/20110601-superpy.md | 14 + ...15-sqlalchemy-lightning-talks-and-beers.md | 25 ++ .../past-events/20110622-project-night.md | 24 ++ ...n-to-python-for-women-and-their-friends.md | 46 +++ .../20110712-python-project-night.md | 38 ++ ...720-getting-started-testing-your-python.md | 26 ++ .../20110811-python-project-night.md | 42 +++ ...onpython-plus-lightning-talks-and-beers.md | 24 ++ ...20110906-september-python-project-night.md | 47 +++ ...21-numpy-scipy-plus-extras-new-location.md | 28 ++ ...n-to-python-for-women-and-their-friends.md | 40 ++ .../20111004-october-python-project-night.md | 47 +++ .../20111019-lightning-talk-trick-or-treat.md | 30 ++ .../20111107-november-python-project-night.md | 48 +++ .../20111207-december-project-night.md | 38 ++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...mance-testing-lightning-talks-and-beers.md | 37 ++ .../20120110-january-python-project-night.md | 38 ++ ...0120118-web-scraping-tutorial-and-beers.md | 26 ++ ...kaplan-moss-frank-wiles-and-alex-gaynor.md | 28 ++ .../20120208-february-project-night.md | 36 ++ .../20120222-pycon-on-the-charles-part-1.md | 30 ++ .../20120229-pycon-on-the-charles-part-2.md | 30 ++ ...ngo-tools-and-crazy-things-new-location.md | 55 +++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...pril-project-night-with-designer-advice.md | 40 ++ ...undamental-topics-iteration-and-classes.md | 26 ++ .../past-events/20120508-may-project-night.md | 38 ++ ...-science-genes-satellites-and-lightning.md | 30 ++ .../20120604-june-project-night.md | 40 ++ ...entation-distributed-computing-star-egg.md | 30 ++ .../20120712-july-project-night-julython.md | 40 ++ ...indows-desktop-applications-with-python.md | 22 ++ .../20120728-intermediate-python-workshop.md | 38 ++ .../20120809-august-project-night.md | 40 ++ .../20120822-giant-robots-and-lightning.md | 26 ++ .../20120905-sept-project-night.md | 40 ++ .../20120927-100-lightning-talks.md | 22 ++ .../20121010-october-project-night.md | 40 ++ ...121016-intro-to-django-special-location.md | 58 +++ .../20121101-november-project-night.md | 40 ++ ...n-to-python-for-women-and-their-friends.md | 42 +++ ...beyond-django-four-other-web-frameworks.md | 24 ++ .../20121204-december-project-night.md | 44 +++ .../20121215-january-presentation-night.md | 12 + .../20130107-january-project-night.md | 43 +++ ...y-presentation-night-zipline-and-hython.md | 26 ++ ...ion-to-python-for-beginning-programmers.md | 36 ++ ...ng-started-with-open-source-development.md | 46 +++ ...twisted-test-driven-networking-software.md | 42 +++ .../20130205-february-project-night.md | 43 +++ .../20130225-pycon-on-the-charles-part-1.md | 24 ++ .../20130227-pycon-on-the-charles-part-2.md | 28 ++ .../20130307-pycon-on-the-charles-part-3.md | 28 ++ .../20130409-april-project-night.md | 43 +++ ...development-sprint-for-new-contributors.md | 32 ++ ...24-parsing-with-ply-and-lightning-talks.md | 26 ++ ...06-may-project-night-different-location.md | 43 +++ ...n-night-kenneth-reitz-python-for-humans.md | 28 ++ ...20130525-intermediate-python-workshop-2.md | 50 +++ .../20130605-june-project-night.md | 43 +++ .../past-events/20130625-machine-learning.md | 32 ++ .../20130701-july-project-night.md | 42 +++ ...n-to-python-for-women-and-their-friends.md | 44 +++ .../20130730-lightning-talks-for-july.md | 20 + .../20130820-august-project-night.md | 40 ++ .../20130828-four-talks-about-flask.md | 18 + .../20130909-september-project-night.md | 40 ++ .../20130923-fundamental-topics-night.md | 38 ++ .../20131014-october-project-night.md | 40 ++ .../past-events/20131029-helper-languages.md | 30 ++ .../20131114-november-project-night.md | 54 +++ .../20131120-data-good-tools-bad-journals.md | 26 ++ .../20131205-december-project-night.md | 54 +++ .../20140120-january-project-night.md | 54 +++ ...128-historic-python-and-lightning-talks.md | 20 + ...ion-to-python-for-beginning-programmers.md | 38 ++ ...entation-night-football-cycles-red-line.md | 24 ++ .../20140226-february-project-night.md | 56 +++ ...-analyzing-science-problems-with-python.md | 30 ++ ...ng-started-with-open-source-development.md | 56 +++ .../20140310-march-project-night.md | 56 +++ .../20140324-pycon-rehearsals-1.md | 26 ++ ...0326-pycon-rehearsals-2-hy-and-outreach.md | 24 ++ ...n-rehearsals-3-helicopters-and-open-edx.md | 28 ++ ...ls-4-shelling-out-and-games-for-science.md | 24 ++ .../past-events/20140512-may-project-night.md | 56 +++ .../20140527-raspberry-pi-projects.md | 24 ++ .../20140609-june-project-night.md | 56 +++ ...une-presentation-night-puzzle-solutions.md | 30 ++ .../20140707-july-project-night.md | 56 +++ ...presentation-night-what-i-built-at-work.md | 26 ++ .../20140807-august-project-night.md | 48 +++ .../20140821-august-presentation-night.md | 12 + .../20140908-september-project-night.md | 48 +++ ...tion-night-introductory-data-structures.md | 26 ++ .../20141001-beer-with-harry-percival.md | 20 + .../20141014-october-project-night.md | 44 +++ .../20141029-advanced-programming-tools.md | 30 ++ ...141110-november-project-night-at-akamai.md | 46 +++ .../20141125-november-presentation-night.md | 12 + ...04-boston-python-december-project-night.md | 44 +++ ...er-presentation-night-stocking-stuffers.md | 36 ++ .../20150106-january-project-night.md | 44 +++ .../20150122-engineering-science-and-art.md | 28 ++ .../20150212-february-project-night.md | 44 +++ .../20150217-nanogenmo-and-type-hinting.md | 30 ++ .../20150304-march-project-night.md | 44 +++ .../20150318-pycon-rehearsals-1.md | 29 ++ .../20150323-pycon-rehearsals-2.md | 26 ++ ...ical-graph-network-analysis-made-simple.md | 48 +++ ...al-inference-with-computational-methods.md | 36 ++ .../20150330-pycon-rehearsals-3.md | 28 ++ .../20150402-pycon-rehearsals-4.md | 28 ++ ...ston-python-may-project-night-at-akamai.md | 46 +++ ...hon-open-data-science-con-presentations.md | 28 ++ ...150601-boston-python-june-project-night.md | 44 +++ .../past-events/20150622-9-lightning-talks.md | 30 ++ .../20150707-july-project-night.md | 44 +++ ...21-intro-to-classes-and-special-methods.md | 28 ++ .../20150810-august-project-night.md | 44 +++ ...0827-twisted-async-networking-framework.md | 24 ++ .../20150903-september-project-night.md | 44 +++ ...r-presentation-night-favorite-libraries.md | 30 ++ ...001-boston-python-october-project-night.md | 44 +++ .../20151021-october-presentation-night.md | 32 ++ ...05-boston-python-november-project-night.md | 44 +++ ...ston-python-november-presentation-night.md | 26 ++ ...03-boston-python-december-project-night.md | 44 +++ .../20160106-january-project-night.md | 44 +++ ...0120-project-basics-structure-and-tests.md | 28 ++ .../20160202-february-project-night.md | 22 ++ ...y-presentation-testing-web-applications.md | 26 ++ ...60308-boston-python-march-project-night.md | 22 ++ .../past-events/20160321-scipy-ecosystem.md | 24 ++ ...-talking-to-other-computers-with-python.md | 24 ++ .../20160407-project-night-at-akamai.md | 24 ++ .../past-events/20160419-pycon-rehearsal-1.md | 12 + ...on-rehearsals-1-flask-apis-and-bytecode.md | 26 ++ ...mance-post-mortem-and-machete-debugging.md | 28 ++ ...aceful-degradation-and-property-testing.md | 28 ++ ...rehearsals-4-laser-cutters-and-closures.md | 28 ++ .../20160606-june-project-night-at-akamai.md | 22 ++ .../20160706-july-project-night.md | 22 ++ .../20160714-cris-ewing-plone-s-evolution.md | 20 + ...60716-workshop-plone-theming-with-diazo.md | 26 ++ .../20160719-beekeeper-and-lightning-talks.md | 28 ++ .../20160815-august-project-night.md | 22 ++ .../past-events/20160824-microservices.md | 24 ++ .../20160906-september-project-night.md | 22 ++ .../20160920-september-presentation-night.md | 30 ++ ...004-boston-python-october-project-night.md | 22 ++ ...20-brandon-rhodes-the-subprocess-module.md | 26 ++ .../20161107-november-project-night.md | 22 ++ ...ther-a-dataset-to-predict-oscar-winners.md | 30 ++ .../20161205-december-project-night.md | 22 ++ ...mber-presentation-night-lightning-talks.md | 26 ++ .../20170110-january-project-night.md | 22 ++ ...ipt-modeling-pattern-formation-and-pypy.md | 29 ++ ...170209-cancelled-february-project-night.md | 24 ++ ...on-night-porting-python-to-new-hardware.md | 20 + ...70307-boston-python-march-project-night.md | 22 ++ ...0170321-jupyter-wearables-and-iteration.md | 26 ++ ...70405-boston-python-april-project-night.md | 24 ++ ...comparing-unicode-and-predicting-oscars.md | 32 ++ ...-to-write-and-debug-c-extension-modules.md | 34 ++ ...-intro-to-dsp-digital-signal-processing.md | 30 ++ ...arsal-2-laziness-mongo-and-immutability.md | 42 +++ .../20170506-tutorial-complexity-science.md | 38 ++ ...6-tutorial-network-analysis-made-simple.md | 32 ++ ...l-3-deep-learning-and-bayesian-analysis.md | 27 ++ ...rsal-4-testing-instagram-and-library-ux.md | 44 +++ ...l-applied-modern-cryptography-in-python.md | 34 ++ ...best-testing-practices-for-data-science.md | 30 ++ ...170605-boston-python-june-project-night.md | 22 ++ .../20170622-june-presentation-night.md | 26 ++ .../20170712-july-project-night.md | 22 ++ .../20170718-july-presentation-night.md | 30 ++ .../20170808-august-project-night.md | 22 ++ ...0170824-virtualenv-items-and-attributes.md | 24 ++ .../20170907-september-project-night.md | 20 + ...170919-what-i-did-on-my-summer-vacation.md | 22 ++ ...010-boston-python-october-project-night.md | 22 ++ ...unctions-descriptors-and-teaching-teens.md | 32 ++ .../20171120-boston-python-project-night.md | 20 + ...ston-python-december-presentation-night.md | 24 ++ .../20180108-boston-python-project-night.md | 20 + .../past-events/20180124-lightning-talks.md | 24 ++ ...0207-february-project-night-at-cargurus.md | 20 + ...180221-boston-python-presentation-night.md | 28 ++ .../20180305-boston-python-project-night.md | 22 ++ ...80320-tox-travis-setup-py-and-lightning.md | 27 ++ .../20180410-april-project-night.md | 22 ++ ...con-rehearsals-gerrymandering-and-big-o.md | 30 ++ ...-pycon-rehearsals-functions-and-dragons.md | 24 ++ ...ations-of-numerical-computing-in-python.md | 46 +++ ...180611-boston-python-june-project-night.md | 22 ++ .../20180619-physical-computing.md | 22 ++ .../20180710-july-project-night.md | 22 ++ ...180730-itertools-and-encrypted-bytecode.md | 26 ++ .../20180801-august-project-night.md | 22 ++ .../past-events/20180821-lightning-talks.md | 32 ++ .../20180911-september-project-night.md | 22 ++ .../20180926-cffi-and-neural-networks.md | 26 ++ ...011-boston-python-october-project-night.md | 22 ++ ...1023-molecules-and-reproducible-science.md | 24 ++ .../20181107-boston-python-project-night.md | 22 ++ .../20181127-november-presentation-night.md | 28 ++ .../20181204-december-project-night.md | 22 ++ ...ember-presentation-night-advent-of-code.md | 20 + .../20190109-january-project-night.md | 22 ++ ...oston-python-january-presentation-night.md | 25 ++ .../20190204-boston-python-project-night.md | 22 ++ .../20190221-february-presentation-night.md | 24 ++ ...90305-boston-python-march-project-night.md | 22 ++ ...nner-python-class-build-a-guessing-game.md | 30 ++ .../20190403-boston-python-project-night.md | 22 ++ ...al-night-1-generalized-bayesian-testing.md | 26 ++ ...earsals-2-multiprocessing-and-profiling.md | 30 ++ ...0190520-boston-python-may-project-night.md | 22 ++ .../20190626-making-things-with-python.md | 26 ++ .../20190709-boston-python-project-night.md | 24 ++ .../20190723-presentation-night-science.md | 29 ++ .../20190805-boston-python-project-night.md | 24 ++ ...0190822-presentation-night-web-scraping.md | 20 + .../20190910-september-project-night.md | 24 ++ .../20190924-presentation-night-graphql.md | 26 ++ .../20191003-october-project-night.md | 26 ++ .../20191023-october-lightning-talks.md | 17 + .../20191105-november-project-night.md | 17 + .../20191119-four-data-themed-talks.md | 17 + .../20191203-project-collaboration-night.md | 17 + ...presentation-night-making-python-faster.md | 17 + ...0200107-project-and-collaboration-night.md | 17 + .../20200128-devops-for-pythonistas.md | 17 + ...0200204-project-and-collaboration-night.md | 17 + ...ion-getting-started-testing-with-pytest.md | 17 + ...ne-only-project-and-collaboration-night.md | 17 + ...-online-presentation-loop-like-a-native.md | 17 + .../20200409-pycon-2020-rehearsal-night.md | 13 + .../20200425-online-lightning-talks.md | 17 + ...hon-3-type-annotations-for-data-science.md | 17 + ...nal-analytics-with-sqlite-and-datasette.md | 17 + ...-online-project-and-collaboration-night.md | 19 + ...-how-to-land-your-first-engineering-job.md | 17 + ...-online-project-and-collaboration-night.md | 17 + ...18-intro-tech-talks-with-women-who-code.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20201216-december-presentation-night.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20210119-drawing-with-python-drawbot.md | 17 + ...-online-project-and-collaboration-night.md | 17 + .../20210217-approaches-to-debugging.md | 17 + ...-online-collaboration-and-project-night.md | 17 + ...210310-python-study-group-iterators-101.md | 17 + .../20210322-pytest-from-the-ground-up.md | 17 + ...210324-python-study-group-iterators-101.md | 17 + ...-python-study-group-list-comprehensions.md | 17 + ...-online-collaboration-and-project-night.md | 17 + ...n-study-group-dates-and-times-in-pandas.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...hon-study-group-yaml-and-json-in-python.md | 17 + ...udy-group-the-python-package-index-pypi.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...0602-python-study-group-lightning-round.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...-python-study-group-linting-with-pylint.md | 17 + ...10921-python-study-group-intro-to-flask.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...on-0-boston-python-study-group-planning.md | 17 + ...1111-solve-programming-puzzles-together.md | 17 + ...on-1-setting-up-your-python-environment.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + ...0211201-session-2-cleaning-up-data-sets.md | 17 + ...11215-session-3-numpy-and-data-analysis.md | 17 + ...3-overview-of-python-graphing-libraries.md | 17 + .../20220113-aesthetic-python-neurons.md | 17 + .../20220119-session-4-intro-to-seaborn.md | 17 + ...llaboration-and-project-night-in-gather.md | 17 + .../20220209-session-6-python-case-studies.md | 15 + .../20220216-exploring-data-with-python.md | 15 + .../past-events/index.md | 354 ++++++++++++++++++ .../planning.md | 14 + .../requirements.txt | 5 + .../resources.md | 70 ++++ .../slack.md | 33 ++ .../sponsorship.md | 42 +++ 386 files changed, 11469 insertions(+) create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.editorconfig create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.gitignore create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/CNAME create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile.lock create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/README.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_config.yml create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/copyright.html create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/custom-nav-links.html create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/font-includes.html create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/sidebar-icon-links.html create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_layouts/page.html create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/add_meetup_events.py create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/css/main.scss create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/LI-In-Bug.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/Slack_Mark_Web.png create mode 100755 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/email.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/meetup_logo.png create mode 100755 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/python-boston-sq.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/CMT.jpeg create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/DataDog.jpeg create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_LOGO_2.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo_2.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo_2_orig.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo_orig.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/PlanetTechnology.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/PlanetTechnology_original.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/Temporal.jpeg create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/Vinta.jpeg create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/swfd-shirt.jpg create mode 100755 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/youtube_social_icon_white.png create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/code-of-conduct.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-attendee-procedure.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-staff-procedure.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/contact.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/events.md create mode 100755 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/favicon.ico create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/feedback.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/giving-a-presentation.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/helping.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/hosting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/index.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/jobs.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/lightning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/merch.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/officehour.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/our_sponsors.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070523-the-cambridge-python-may-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070620-the-cambridge-python-june-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070718-the-cambridge-python-july-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070815-the-cambridge-python-august-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070919-the-cambridge-python-september-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071017-the-cambridge-python-october-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071121-the-cambridge-python-november-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071219-the-cambridge-python-december-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080116-the-cambridge-python-january-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080220-the-cambridge-python-february-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080319-the-cambridge-python-march-meeting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080423-the-cambridge-python-april-meeting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080521-the-cambridge-python-may-meeting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080618-the-cambridge-python-june-meeting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080716-the-cambridge-python-july-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080917-the-cambridge-python-august-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081015-the-cambridge-python-october-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081119-the-cambridge-python-november-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081120-python-november-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090121-cambridge-python-january-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090218-the-cambridge-python-february-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090415-the-cambridge-python-april-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090520-the-cambridge-python-may-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-june-cambridge-python-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-the-cambridge-python-june-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091118-testing-in-python-new-location.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100120-pycon-on-the-charles-2010-part-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100203-pycon-on-the-charles-2010-part-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100317-march-python-meetup-free-for-all.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100519-may-python-meetup-testing-topics.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100615-google-app-engine-at-google.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100915-beginner-s-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101020-processing-py-inside-and-out.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101117-intro-to-twisted-presentation-and-lab.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101214-nltk-natural-language-toolkit.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110222-pycon-on-the-charles-practice-session-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110302-pycon-on-the-charles-practice-session-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110411-education-and-community.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110426-python-hack-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110518-may-meetup-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110520-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110601-superpy.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110622-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110712-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110720-getting-started-testing-your-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110811-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110906-september-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110921-numpy-scipy-plus-extras-new-location.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111004-october-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111019-lightning-talk-trick-or-treat.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111107-november-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111207-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120110-january-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120118-web-scraping-tutorial-and-beers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120208-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120222-pycon-on-the-charles-part-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120229-pycon-on-the-charles-part-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120322-django-tools-and-crazy-things-new-location.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120412-april-project-night-with-designer-advice.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120424-fundamental-topics-iteration-and-classes.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120508-may-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120523-science-genes-satellites-and-lightning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120604-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120620-june-presentation-distributed-computing-star-egg.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120712-july-project-night-julython.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120724-building-real-windows-desktop-applications-with-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120728-intermediate-python-workshop.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120809-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120822-giant-robots-and-lightning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120905-sept-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120927-100-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121010-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121016-intro-to-django-special-location.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121101-november-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121115-beyond-django-four-other-web-frameworks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121204-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121215-january-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130107-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130124-january-presentation-night-zipline-and-hython.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130205-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130225-pycon-on-the-charles-part-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130227-pycon-on-the-charles-part-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130307-pycon-on-the-charles-part-3.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130409-april-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130413-cpython-development-sprint-for-new-contributors.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130424-parsing-with-ply-and-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130506-may-project-night-different-location.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130525-intermediate-python-workshop-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130605-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130625-machine-learning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130701-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130730-lightning-talks-for-july.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130820-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130828-four-talks-about-flask.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130909-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130923-fundamental-topics-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131014-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131029-helper-languages.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131114-november-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131120-data-good-tools-bad-journals.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131205-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140120-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140128-historic-python-and-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140220-february-presentation-night-football-cycles-red-line.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140226-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140310-march-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140324-pycon-rehearsals-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140512-may-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140527-raspberry-pi-projects.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140609-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140625-june-presentation-night-puzzle-solutions.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140707-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140722-july-presentation-night-what-i-built-at-work.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140807-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140821-august-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140908-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140922-september-presentation-night-introductory-data-structures.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141001-beer-with-harry-percival.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141014-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141029-advanced-programming-tools.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141110-november-project-night-at-akamai.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141125-november-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141204-boston-python-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141211-december-presentation-night-stocking-stuffers.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150106-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150122-engineering-science-and-art.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150212-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150217-nanogenmo-and-type-hinting.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150304-march-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150318-pycon-rehearsals-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150323-pycon-rehearsals-2.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150330-pycon-rehearsals-3.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150402-pycon-rehearsals-4.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150512-boston-python-may-project-night-at-akamai.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150520-boston-python-open-data-science-con-presentations.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150601-boston-python-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150622-9-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150707-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150721-intro-to-classes-and-special-methods.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150810-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150827-twisted-async-networking-framework.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150903-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150924-september-presentation-night-favorite-libraries.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151001-boston-python-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151021-october-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151105-boston-python-november-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151117-boston-python-november-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151203-boston-python-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160106-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160120-project-basics-structure-and-tests.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160202-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160223-february-presentation-testing-web-applications.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160308-boston-python-march-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160321-scipy-ecosystem.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160326-tutorial-talking-to-other-computers-with-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160407-project-night-at-akamai.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160419-pycon-rehearsal-1.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160606-june-project-night-at-akamai.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160706-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160714-cris-ewing-plone-s-evolution.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160716-workshop-plone-theming-with-diazo.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160719-beekeeper-and-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160815-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160824-microservices.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160906-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160920-september-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161004-boston-python-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161020-brandon-rhodes-the-subprocess-module.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161107-november-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161205-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161220-december-presentation-night-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170110-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170209-cancelled-february-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170307-boston-python-march-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170321-jupyter-wearables-and-iteration.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170405-boston-python-april-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-complexity-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-network-analysis-made-simple.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-best-testing-practices-for-data-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170605-boston-python-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170622-june-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170712-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170718-july-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170808-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170824-virtualenv-items-and-attributes.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170907-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170919-what-i-did-on-my-summer-vacation.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171010-boston-python-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171120-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171218-boston-python-december-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180108-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180124-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180207-february-project-night-at-cargurus.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180221-boston-python-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180305-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180320-tox-travis-setup-py-and-lightning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180410-april-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180503-pycon-rehearsals-functions-and-dragons.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180611-boston-python-june-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180619-physical-computing.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180710-july-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180730-itertools-and-encrypted-bytecode.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180801-august-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180821-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180911-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180926-cffi-and-neural-networks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181011-boston-python-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181023-molecules-and-reproducible-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181107-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181127-november-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181204-december-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181218-december-presentation-night-advent-of-code.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190109-january-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190123-boston-python-january-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190204-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190221-february-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190305-boston-python-march-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190319-beginner-python-class-build-a-guessing-game.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190403-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190520-boston-python-may-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190626-making-things-with-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190709-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190723-presentation-night-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190805-boston-python-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190822-presentation-night-web-scraping.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190910-september-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190924-presentation-night-graphql.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191003-october-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191023-october-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191105-november-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191119-four-data-themed-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191203-project-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191217-presentation-night-making-python-faster.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200107-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200128-devops-for-pythonistas.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200204-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200226-presentation-getting-started-testing-with-pytest.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200312-online-only-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200331-online-presentation-loop-like-a-native.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200409-pycon-2020-rehearsal-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200425-online-lightning-talks.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200923-online-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201021-online-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201118-intro-tech-talks-with-women-who-code.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201202-online-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201216-december-presentation-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210105-online-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210119-drawing-with-python-drawbot.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210202-online-project-and-collaboration-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210217-approaches-to-debugging.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210301-online-collaboration-and-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210310-python-study-group-iterators-101.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210322-pytest-from-the-ground-up.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210324-python-study-group-iterators-101.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210331-python-study-group-list-comprehensions.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210407-online-collaboration-and-project-night.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210414-python-study-group-dates-and-times-in-pandas.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210427-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210428-python-study-group-yaml-and-json-in-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210512-python-study-group-the-python-package-index-pypi.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210525-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210602-python-study-group-lightning-round.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210720-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210728-python-study-group-linting-with-pylint.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210921-python-study-group-intro-to-flask.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211012-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211027-session-0-boston-python-study-group-planning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211111-solve-programming-puzzles-together.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211117-session-1-setting-up-your-python-environment.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211118-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211201-session-2-cleaning-up-data-sets.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211215-session-3-numpy-and-data-analysis.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220105-session-3-overview-of-python-graphing-libraries.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220113-aesthetic-python-neurons.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220119-session-4-intro-to-seaborn.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220127-online-collaboration-and-project-night-in-gather.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220209-session-6-python-case-studies.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220216-exploring-data-with-python.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/index.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/planning.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/requirements.txt create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/resources.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/slack.md create mode 100644 pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/sponsorship.md diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.editorconfig b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.editorconfig new file mode 100644 index 0000000..e94a4f8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.editorconfig @@ -0,0 +1,29 @@ +# This file is for unifying the coding style for different editors and IDEs. +# More information at http://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +max_line_length = off +trim_trailing_whitespace = true + +[*.html] +indent_size = 2 + +[*.yml] +indent_size = 2 + +[Makefile] +indent_style = tab +indent_size = 8 + +[*.diff] +trim_trailing_whitespace = false + +[.git/*] +trim_trailing_whitespace = false diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.gitignore b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.gitignore new file mode 100644 index 0000000..d1bcfed --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/.gitignore @@ -0,0 +1,3 @@ +_site/ +.DS_Store +.venv/ diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/CNAME b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/CNAME new file mode 100644 index 0000000..53d1658 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/CNAME @@ -0,0 +1 @@ +about.bostonpython.com \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile new file mode 100644 index 0000000..37f5eaa --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile.lock b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile.lock new file mode 100644 index 0000000..9f22841 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/Gemfile.lock @@ -0,0 +1,309 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (8.0.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + benchmark (0.4.1) + bigdecimal (3.2.2) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.11) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) + csv (3.3.5) + dnsruby (1.72.4) + base64 (~> 0.2.0) + logger (~> 1.6.5) + simpleidn (~> 0.2.1) + drb (2.2.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.10.0) + faraday (2.13.1) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.1) + net-http (>= 0.5.0) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (232) + github-pages-health-check (= 1.18.2) + jekyll (= 3.10.0) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.5.1) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.16.2, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + webrick (~> 1.8) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.7) + concurrent-ruby (~> 1.0) + jekyll (3.10.0) + addressable (~> 2.4) + colorator (~> 1.0) + csv (~> 3.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + webrick (>= 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + json (2.12.2) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.6) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.25.5) + net-http (0.6.0) + uri + nokogiri (1.18.8-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.8-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.8-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-musl) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.1.1) + racc (1.8.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.1) + rouge (3.30.0) + rubyzip (2.4.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + simpleidn (0.2.3) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (1.8.0) + uri (1.0.3) + webrick (1.9.1) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.6.7 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/README.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/README.md new file mode 100644 index 0000000..370ba9c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/README.md @@ -0,0 +1,42 @@ +# About Boston Python + +Content and configuration for , built with [Jekyll](https://jekyllrb.com/) and hosted on [GitHub Pages](https://pages.github.com/). + +## Running the site locally + +[Clone](https://help.github.com/en/articles/cloning-a-repository) (or [fork](https://help.github.com/en/articles/about-forks) then clone) this repo. + +Install Ruby v2.6+ as explained in the [Jekyll docs](https://jekyllrb.com/docs/installation/) for your operating system (via [rbenv](https://github.com/rbenv/rbenv), for example). + +Make sure both the installed Ruby version and RubyGems are on your path: + +``` +$ ruby -v +$ gem -v +``` + +Install [Bundler](https://bundler.io/): + +``` +$ gem install bundler +``` + +Install the gems to build the site: + +``` +$ bundle install +``` + +Build and serve the site: + +``` +$ bundle exec jekyll serve +``` + +View the site in a browser at . + +## Developing the site + +This site uses the [Hydeout](https://fongandrew.github.io/hydeout/) theme. Most of the site's structure and style come from the theme, so please have a look at the theme source code if you're interested in making any relevant changes. + +To run Jekyll commands, use `bundle exec jekyll`. diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_config.yml b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_config.yml new file mode 100644 index 0000000..cca908f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_config.yml @@ -0,0 +1,6 @@ +remote_theme: fongandrew/hydeout +title: Boston Python +description: The Boston-area Python user group +permalink: /:name +plugins: + - jekyll-redirect-from diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/copyright.html b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/copyright.html new file mode 100644 index 0000000..f82c53a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/copyright.html @@ -0,0 +1,4 @@ + diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/custom-nav-links.html b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/custom-nav-links.html new file mode 100644 index 0000000..4b8614c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/custom-nav-links.html @@ -0,0 +1 @@ + diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/font-includes.html b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/font-includes.html new file mode 100644 index 0000000..8f4823b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/font-includes.html @@ -0,0 +1,6 @@ +{% comment %} + Separate partial for Google Webfont include, so we can override with + different fonts as applicable. +{% endcomment %} + + diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/sidebar-icon-links.html b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/sidebar-icon-links.html new file mode 100644 index 0000000..34cf631 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_includes/sidebar-icon-links.html @@ -0,0 +1,3 @@ +{% comment %} +the theme puts an rss icon here, which we don't want. +{% endcomment %} diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_layouts/page.html b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_layouts/page.html new file mode 100644 index 0000000..8092371 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/_layouts/page.html @@ -0,0 +1,20 @@ +--- +layout: default +--- + +{% if page.title != 'Home' %} +
+

{{ page.title }}

+
+{% endif %} +
+ {{ content }} +
+ diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/add_meetup_events.py b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/add_meetup_events.py new file mode 100644 index 0000000..e4be034 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/add_meetup_events.py @@ -0,0 +1,169 @@ +""" +Install the requirements in requirements.txt in a virtualenv + +To see the latest output for past-events/index.md, execute + + $ python add_meetup_events.py + +To over-write with latest output, execute + + $ python add_meetup_events.py --rewrite +""" +import httpx +from bs4 import BeautifulSoup +from collections import defaultdict +from datetime import datetime +from slugify import slugify +from jinja2 import Environment +import sys +from pathlib import Path + + +root = Path(__file__).parent.resolve() + +# past events meetup URL +url = "https://www.meetup.com/bostonpython/events/past/" + +# markdown file template saved under past-events +MD = """--- +title: {{ title }} +sidebar_link: false +--- + +{{ event_date }} +{% for c in contents %} +{{ c }} +{% endfor %} + +Meetup link: [{{ event_url }}]({{ event_url }}) + +[Back to Past Events Page](index.md) +""" + +# list of all events which at the end are joined to contruct +# the index.md file inside past-events folder +past_events = [ + "---", + "title: Past Events", + "sidebar_link: false", + "---\n", + "List of past events:\n", +] + + +if __name__ == "__main__": + try: + # by default this get only gets the 10 most recent events + r = httpx.get(url) + except httpx.RequestError as exc: + print(f"An error occurred while requesting {exc.request.url!r}.") + raise + + soup = BeautifulSoup(r.content.decode('utf-8','ignore'), "lxml") + + datemap = defaultdict(list) + + # beautifulsoup finding the list of recent 10 events + # mapping to defaultdict datemap + lis = soup.find_all("li", {"class": "list-item border--none"}) + for li in lis: + t = li.find("time") + d = datetime.fromtimestamp(int(t["datetime"][:10])) + year = d.year + datemap[year].append(li) + + # get list of already existing event files under past-events + processed = Path('past-events').glob('**/*') + processed_files = [x for x in processed if x.is_file()] + + # structure of data for existing_events + # { + # 2007: { + # datetime.date(2007, 5, 23): [ + # ('The Cambridge Python May Meetup', '20070523-the-cambridge-python-may-meetup.md') + # ] + # } + # } + existing_events = defaultdict(lambda: defaultdict(list)) + + # iterate all the files under past-events and populate + # existing_events + for p in processed_files: + if p.name == "index.md": + continue + event_date = datetime.strptime(p.name.split("-")[0], "%Y%m%d").date() + lines = p.read_text(encoding="utf-8").split("\n") + title = None + for line in lines: + if line.startswith("title:"): + _, title = line.split(": ") + break + existing_events[event_date.year][event_date].append((title, p.name)) + + last_processed_year = max(existing_events.keys()) + max_processed_date = max(existing_events[last_processed_year]) + + # now iterate over data downloaded from meetup and check whats not been processed + # and saved under past-events + for year, events in datemap.items(): + for event in events: + link = event.find("a") + url = link["href"] + title = link.text + parts = [part.strip() for part in title.split(":")] + title = " - ".join(parts) + if title == "Monday office hour": + continue + t = event.find("time") + d = datetime.fromtimestamp(int(t["datetime"][:10])) + if d.date() <= max_processed_date: + continue + name = slugify(title) + filename = f"past-events/{d.strftime('%Y%m%d')}-{name}.md" + location = event.find("div", {"class": "venueDisplay"}) + if not location: + location = event.find("p", {"class": "venueDisplay"}) + attendees = event.find("li", {"class": "avatarRow--attendingCount"}) + try: + count = attendees.text + except: + count = 0 + contents = event.find_all("p", {"class": "text--small"}) + new_contents = [] + for content in contents: + if 'class' in content.attrs: + del content.attrs['class'] + if 'style' in content.attrs: + del content.attrs['style'] + new_contents.append(content) + + event_date = d.strftime("%B %d, %Y") + mydict = { + "title": title, + "event_date": event_date, + "location": location.text, + "event_url": "https://www.meetup.com"+url, + "contents": new_contents, + } + # write event file to past-events + with open(filename, "w") as e: + output = Environment().from_string(MD).render(**mydict).replace('\xa0', '') + e.write(output) + print(f"Write {filename}") + # add to existing_events data structure + existing_events[year][d.date()].append((title, f"{d.strftime('%Y%m%d')}-{name}.md")) + + # Now go over all existing_events and construct past_events list + for year in reversed(sorted(existing_events.keys())): + past_events.append(f"- {year}") + for dts in reversed(sorted(existing_events[year].keys())): + for title, filename in sorted(existing_events[year][dts], key=lambda x:x[0]): + past_events.append(f" - [{title}]({filename}) ({dts:%m/%d/%Y})") + + # either print or over-write past-event/index.md file + if "--rewrite" in sys.argv: + index_file = root / "past-events" / "index.md" + index_txt = "\n".join(past_events).strip() + index_file.open("w").write(index_txt) + else: + print("\n".join(past_events)) diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/css/main.scss b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/css/main.scss new file mode 100644 index 0000000..3b841dd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/css/main.scss @@ -0,0 +1,88 @@ +--- +# Jekyll needs front matter for SCSS files +--- + +// Variables for Hydeout + +$root-font-family: Merriweather, Georgia, serif; +$sidebar-bg-color: lighten(#2b442f, 10%); +$link-color: #289828; +$sidebar-sticky: false; +$section-spacing: 2rem; +$sidebar-width: 16rem; +$large-font-size: 1.15rem !default; + +@import "hydeout"; + +// Overrides of Hydeout styles + +#sidebar { + .site-title { + font-family: $root-font-family; + font-weight: bold; + } +} + +img { + display: inline; + margin-bottom: -.25em; + &.left-icon { + width: 24px; + height: 24px; + margin-right: .6em; + } +} + +// Our own styles + +h2 { + margin: 2rem 0 1rem; + border-bottom: 1px solid #ddd; +} + +footer.content { + font-size: 85%; + padding-top: 0; + padding-bottom: 2rem !important; +} + +.editme { + padding: 1rem; + margin: -1rem; + + &:target { + animation: fade-bg 3s; + @keyframes fade-bg + { + 0% { background: rgba($sidebar-bg-color, 0.2); } + 100% { background: transparent; } + } + } +} + +.copyright { + margin-top: 2em; +} + +.container { + padding-top: 3rem; +} + +.content * { + max-width: 32em; +} + +nav#sidebar-nav-links .active { + text-decoration: underline; +} + +#community_inviter_container { + margin: 2em 0; + + input { + font-size: 100%; + } + img { + display: none; + } +} diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/LI-In-Bug.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/LI-In-Bug.png new file mode 100644 index 0000000000000000000000000000000000000000..e85d6bbc4bc086e53f6cb2d389ddb7004ff82a5f GIT binary patch literal 5557 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 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/Twitter_Social_Icon_Rounded_Square_Color.png new file mode 100755 index 0000000000000000000000000000000000000000..372a39ea9d8e43cc2a16934f5c182ee30a37637a GIT binary patch literal 6249 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 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/meetup_logo.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/meetup_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ec18ba20706e59bef8476118f656f9fda56fdead GIT binary patch literal 34323 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 LTCjxwhu8lA(jBA@ literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/python-boston-sq.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/python-boston-sq.png new file mode 100755 index 0000000000000000000000000000000000000000..e42003634bd64df1d72fc3717ff7096a0edc4c0c GIT binary patch literal 11086 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 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/CMT.jpeg b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/CMT.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3ee579f37f11ee895d923e05d24eb0ef9c313ed1 GIT binary patch literal 2533 zcmb7FdpuOz7e8la%#0ys492U>7$(n*XH-HGQ^+VZ>5^A@rjeqQNByGPj?it06?Q@ z0%!mLkbo2j2SCUYz6zko%IE^wia%_3$X5Tc2L{=A*suNm@rafE5a5c~LRyIPb3_6_ zG73OIGgN&&DwwirgAf9c|6^W{N(J**5d{JOfaR|uMnK=df7n)#Efm2ZUHO;YIG3S{MCD4G)L% zD@u_oc&kbo@11JJp{#$Erz_&V^@t5** z(*_H9PpZ%BTXo=*=$%(LY0jC?R$Q+9-Pa+=_4GsciB!`!LBnd`beLJ@&h)eI@?&0i zU&&51HEnui);`eSk#VjgSlq3cAknh3l#Jtc8izcR`@&0!WVFnIDIH=5L^bi0+t)kw z{Y~^zJJTtQ`#vZ=7~{F?xpv!$Px01V0%%cV78AZJD?xjr$nXtqjQFth`v?>c5eL9v zAY9}>QGzfj9GpbQt57X0SAv1!H3xY+Lqj;39EO0QL{|}oMURt0;7KZ$WIcVlh^MrwS8Pf_H`Tz;@FNYjDVs@VYEq{CWPU8PGecK|-S&uyW0>UD$5VBFL`$=tGA*@f+qS$XwpS54el z!5e9O8EyPAN^VtY@6_Qm+Lg7sL7F=1If0irm0$KsR5)|` z?>TcoQ8jDnGjBwSMvF8?KKOp)H)8lebA0M=8Mo*Lk7Ww(wB7WON;KV1UsH8rob@tc zxt5eMOnFbE)Om-{)uo~x4lpY(SccYaf8EH98xsI{?B~-rXlaR-{*@Tu$_hp3Or^OUqigt@5%Dv0MDZT(OteJ6WsF=FGan7?1 zmASi&QR4j~xAJRuFIT6*I#)9FVk0lWE0yU(R!r17BGS9Xut8_}6z7+B`Fst&<5Y(k_O%#``@@8C1N%wH}_D396 z&)Z0oMg1Z}8Ot^+gKzd>hRxc=YzuqkA=MkSHO5Vzg)z)a2cEj-L`@!_e3`5^sB2d5 zZ<`g*yjQ#zLYVTFJo9>&vVn z%c(vskb}?ReEgm@pE&7VHzWXA)VT$E zuFo?0-7-}_LkY3Fgj}GMu>QDA+UkXVC%affyb>_kL zjn4ukvdcs3Nepk62KQ-?D7(|oEqm#rHG3dgu`A=~u}eF9adPMqmX}fa*3Bn{w5y5( zAU1%i;=iZxgoObSfJN+RN;UgmhQUr^j81;Hf=i|+2Bsf1^;y^Vm$uQS>9w2pbzERA zneKRVxJM4V;bhou8+{RHwmxDL`mv+-c&Du-<+h!s+sDnq^T=3;!{HDG{i;J803GK^ zXU3*f6DP9tA`{nM0;cc#KA;Kf1c<@O3dq zYgL_d$~jT?i8h+>FnWeYgmje68^eI`X2)+xM@t|%#&2<%pR@f6R=(9QIupAPP{_eM zG>zd?&RVG&6|wSib9>TJ+?QE=T4@WZFwuFa>8M&4_X5lQxyNv?W&;&RAI$lC5Q`fx zZ9M8XX`eS&CkcNQ+VRAOymRoqhup;l)!4HkWs6r$oaC_=9ui7Rl{7~U32d(jcb|*j z`maSRrz$VLUYB9aUCV3eBi=um;P72co_Ssgj7|(r}1Uo0v-TL7>$^N^`EeMV!X<{j*quKtHn8=}) z_L5>1(mSG&pF-Ptr?zp&seJS^#CD~l@3=iTa|8z5QWT(yirkT*E%11+Kw)pkcpRjm@oXhbqJ4oO}-!)Zejw#696; zZ+DAy?ZfZ3zG5N?6ynxTAzzD6Cn;NT%-&${IT;naq7#F{l}wxu&Ys8UR(J-e>~znA N$4T8C`93G$`~y&I%6k9+ literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/DataDog.jpeg b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/DataDog.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1c175500fd5bbd7b598d17a0531e0c303eddddf0 GIT binary patch literal 2312 zcmb7EdpMM78-Lz+j#RvZqCqoboGF7(OwFbthv^`voWeRp4q;`KWMc>&oJLf8QAF9O zuh@~~6cee~bg--}LfB<|5pqb)zND@1`|rE2>wTZ!bwAJZd+xLNcX2_o#0HJ8oXWo{%1z97yvl`Gh-Bb2eX1%C|(kAH!ufyEDn#u;_)~< zfq*AUB9f945|VOK(yI}9IRyoIxpnKv%4!s{B3)_SI;t*}uCAe_t+k%Ak+D&ep{A*& zxkLgH2n0!@q^zW*tR{IKS@ZuEu@I1mfCZv3kP3iF5QYSa8-XI~JB)#r0`Nt!I2eN` zENv>Fdd#<5Xry2aR{RRAM%6HaK~TlacBm+=`$ESH8h5HFO7zKbJdC4s3?=h@Q+Myp zk8aUPXXcqs1f5>{;Lyjn4{q`TK#EXT{Gw~D&q{l=H`BkfG;f2|CN=;8eW%;J58e-U z=#R|O=63gM_a-TgTAF1LP*Z3KfME#xjisp7SR5e9Fl6PZcm%bHh*}Hb;JIMjuH4!m zdoE7${V9f_PuaAjijl6rDp{i^xbk!z2i<0g-0bvKr4DyKWu`v7_asE6@_O-0$*M=u z@At~MA69m@N^Dh2hzyUIovf`ov8~qc)-k=JUzvi7yfc9Wcx}cL^Rdq3x^DUI#oSBw zIUR>I;qW2t)dwCH@D3%K$-bZGZ$Fn+R$&q1AEf%q)Kj9k(|Eyhkm>%P`-KWLGDmrj z-%j;khWC3MQfs$=8c=xD(ZSjW8+#vhkwOA!O<{0f@_?=oi3(#7nhM*_d)YzMeN(7k zP0P99$WTS3?Bw|ixand)J3HI?r4W(O5CPmb_aPX_U=R|OhSfJr|EWKY*`DV{hrc6PTz?T(Zq?XBa# zUL4HQ-8EH{37vR`>%IJwbVm&{+0sO~XPR8&tK@O@h~>DI!Xx{QX4hBI-{u(p6p-DQ z-}IeTqN=a=um(tt*~fGt{5!Tf8F?8|=BGH^af{%~TLf$N z4b7O)Uj_@p)WTd#`#a|@h{3%*O&kvd*OVH1;Wm$^B+TuI3-)@WIUda1?Fl}vBdh>(M^?iGs9zb|VFoz!V@@Hj|!j*dJUtKc$<6>;x)0;Y5X znhG@p?K%j9LEB)ZNFYF>>9g$^-r-ap|4LcI#N?MoFr`f!ayOR@Yz1)z6#wo2)?IT$ zx(@G1-%cGZ6UZ0!3mL;10IDIn}XIT=A51Im7 z%auYXhc<5g)IrlfHR0*0b~gLn7A|Ggu(3}5thUE`JkK&uRm%HH&inNCTh*c(o38Xu z&gmMHCWJA`jp#AZb_p{l+Pa=At8X6JH<2c|7n^V`<-l;T3@oh5b$l!xnWH|@c78u4 zpo)OCytG#8RzkA1bU8v?F9^!Y)F0cuVcO47!Y#g>>DQjz6ew!QrH+sL?Gn|SxTIG} zxj6i(7}i>njqmvwEme|MlbmdnM%Ob>$SiO5SQEp$dMBp9DEcHLd0(5)0J*P1RF@GV zt+hA0gUFSOHbn!qJjKwa0|1$NBphsGO+9gp4P#BUq;KtGy{mR`76TRy6u4qwU{ zkN;0=BCq3}uKDKNghB8=#rft{o$WzAVi4VUGqCEeOPqY-Z1S_YS%s_JmJ;Ct4Ihtt zgBMy`?)uIX9n#Tf=m`42e@#h<1Xjx93YFKufBsK#Ad3{;KQm$!^k))AKe&Hq4s~XkD zZ+GD9kB+mPwcI{{PyNjWljj^wIc2=onlVSumnq#1O^-HT!@DdFdbt|JRL9>wX+VlQ ztlt>Et@Zrd@dtke6bL-7vO0W9v%9yo3I3R?cRW@_eCND3S1m2l_IJWv!9$IZ!;b5H zYv0Wo4izpCrd~K&yMgxo&B~F7iSt21Oit+L8C_sen#<8}C44WWk1jmTt;${?=!MK_ z*51F*?%U9#Vx^|r>T1Lzg+)I`Y~-H{!hOecUqAT`O0YFbB=X3LJ~k1HEw9L)1NhTD z9lKI(XQgt?_CHl94_j-vWkNkgX1iG`#^H9WqCG#$xQGL0Xw5dFZD6KL^C6g$EbjUn D{C8Da literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_LOGO_2.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_LOGO_2.png new file mode 100644 index 0000000000000000000000000000000000000000..758d4db2356d6ccc561bec99031d30d5c3a9f462 GIT binary patch literal 21641 zcmeIac{r49_&p;)Y@Y}&2fYG0UcRWs*`rr2Qu=2S5C+yxg4}AczIcj>z$R=WJdBP|dcQsQj$mX)Y z!kolawMmWwP~1q8iy55r?R7T`?k&%i!#7KXUqSDuW6@{f_n!-$J-jYZ9>M!AQ6qIo zIavkq((r^4J?8N7`pDA#>&Ei?XLDa~&!m9q@0d+tmDpn1JMMojfmJvstA(tx|4=2@ zKUapau~PqB0i4{+|6UzB;l}&VWh}sP;ol#*_m6P=b9utBRq)>*Ieu69+n2y^5COkO z4*>k84d6Fl0>JM;0sM}T0PtHH{FYh3Z)w03%K!U>^|mQr?3rx@W3L5OpP`;MEe2wA zw$SlJUB=8_OUzY&V%m`pP~1+ZjF~N4=#PLo!`u|D`gUBzA|47&Xhr=(L=E`kuYFbD z%ljw2pmrWv`!^@}Ed%~oxkT4ineUY$Sgf+)9+^1tby z8)^Oo+^&Li1KlX)zoQi>-Q*PsTc{DKn!;lnYWy=41uJv^%`RIfy)%CmMAensz1{sR z7@l@AvDXN-DJBI{S)Mx}^UVQ@7~_BVmp_?Bk#c+CtaXD7~on;-F9zigo%H`%ya(VsjZ zQsoLI?Ko8*80)#q3+QzFn$PF~mya-$`Lntyx%2v>Il2|_759ek+Mt1Q@@&qOo`Gw~ za1&wz-g!Yq7?{pOe)HN9xBe(-c#ma(`OO0xla?#S+7@Jla+Cod*+-Ok{j-p4&0;;% zU18y~>MBw#%UdDdu?K+G+at$Y&p7kuT?H#LQNjPqkx%}u-F;Hm%r4G{!u%e!1%rMC z03#${^R9NT8~Ut?1O8&W`yb}}MtT}aSZ}+E_RW(Mza)?Vu#DIIWh&>)>&B+Wvv2aN z2CL7DRM_1wo|nk2b>GPK5&h5-ECK*qL~*jMheHG)f05O39i?e`=CH7hx@*zczr{&k z@b_waq&R`trjP;u;_pDK2y2eQ?bb0E&)NApR&9kdozf3h9c4Iykuu+Ird3vaK+!){ zm8In=!%VMrQ4mw(cmT-jB&??TXhul^^2Y2>G4Jb~ai%nODu~oPpr?7g=K_`!5(q&+ z(G~Xn3%zFk)`DFfh^ayh7hvdG-y&Q{s0&F0+FlxfCfl$n+#vB@t7ns!9*Qy zc_pKr#>3yeuJz3*57uYAyB9t|X~JIO$dP9vJ9h1jmPN?cpnybJZ?_opgTsxjn2j41 zJm4um;j`fk;(5lJ7A;rO#`RZ=mxxqNc<$yOh+&6X$Q)ybG!ce+%&Bj|w&a?&i;u@~ zmmL3}btwQ4G=iOOf#MpO@K=N9?@1?B%>xbZT1bT)lS7I&mRTmM9QvuO38ydfy34cY zq6~;GOlua5Abnn@=wUT&&$kps%!8JIOi$3SjODEs!9lMyjxRtHYs9yHe41HQf~$d? z{v5RK_u^pMBU5eOhRn3B_aNQ#0FY|^9hlvCv*{p%9_GUK=O*smk?0yk8E?w=2l^=io}30Mq|%Pz_ z%$s{$K2co(QII}-9rP*y$a~nedcCUkzwj;X*?K>zMiuDT|;h>%! z+z}hAY4XpMH=r~=XycP9-)5pn3dTo%kCGkGoa^Bx)WoFkCZu!U;9-remoqv&<=0OZ zSuJ00Hi9CLV6;dzwF%Kocon(-5)UqGK@Sco-lFJ3V>#J#fH$5v@`d#-Zyvjg3;WR& zExF@f@Y=-8gbQ%9>UA~_*rc>;rv*vn-D0`wbm!$5q;!L|Qd@!V_VjU1z`TEigW7%) z$WvqAHml%n_@QA@y7K&5qdBf7e4-2EzA1!p;RRk5+~nG7JR%Hiut%B4`v*J3!E1df z(edlGapBaE+9{_Y)>G$r>zl1(fZab>e*Pe-ZJ}=cFb1k=q3+ph`#0DhSJZZbq1#7{ z(IV^z+&*A`x-)2=i>HA;1-9u-TA6eZbK_A z<$8{N?{iWSGt7~Cd4G$^B$c<*Ym0ew3bJy#8YjX?YYuW8z{0ntBS4=v+lIv|Z}Beo zmK!-Y;iX49zN0aL>oqWCE%A9t+uD1&Qf?X_m>$glfG4f7*MUe% z{t>3Ke(xg}(Ol&10#&nTF*1{aSiExsnP24X;}M}%&6?rOvuF1guJDL{*8C>xsf9Fl ztzpbi^!U7AaoK2jl&&3f5CZ@9#rn{-N=-DD{pddpuvap2&RIjeWqy;%H0)u2k91{> zbZ{uWnovs}8?N-vI1 z-H2|5WH$BM?0#ml(ZlOnHM2RB;HKzuySDxhIAWP?-$xtTow3%k=)K(FXEUo;{D)8C z>Jc`W9fNPQ+bh;YAzPvZ!QLp^!QTzu?IqC(u1?H9)=b(>kOPXZ3l`XM-c9^Y#-1@392n5*LKSnZ zL^kD;lQAz`tX7+y133$g##;Smw{!glc-GIE&HR8&rc*U;oZ>AZjFs0yKvr`fcPWPH z(5VRYO@dI0&q{6d$FQKfA4i{tH+GRb@tu3R(!-rG`2sp7AW{T~z9NBkMU3ksFNOmn z2zINQFKb?J&2hHx;OV;j9i67iJ3e0_G2;qxi9YQaORt{5tP^hDmRZvXM3M0jUSh2~ zZ*81MTzC0?cecYxiipX?&9!oQooAjVSeSxrOkwI_6r}hT3T>jK zW4`Xl=Z0m$cJ;mluv4^fTziMvg*p6Es*chz^R%l}S|RRN;;q%>(ToyO?)BwahS*1Z z-^qP~XD*4mYd#uG#F&(J2pLqz?*RDbjY$RJB^kmAs8$>OIr1cOeXEA5O48bWl(z|k z7xd!RF5wKtUsiqfpQg8_%-bL+{kj{c0*AO$7O4il*9r8?-6&Zim3N-^A9bUa+ManX z;G!gRu;^MD+P*l+D;8Zfr(jIjg+Vs8&FZ+%gl-4tUr1a@3YD%t-xiK*V}fmXA2*`n zn+IJ=XEGmEBRD^No7x@-e`nBLYI~?b2tKFb>O{|s9}TU59pX~e@+@_=A2>La-??E- z#2z#_1{9gG6oDH0-4}^@S9{(){nco7_}46yCraH0cb%gHs#ziS3iG^utLn)fK~kq% zMPRq5X7!3DJ(y^zS*H_=qRRPU%H|8E@)8_YT>XW}K8UIZCrvpe=NOHW%v^Gt5QwZ7SDX?vBG) zU61RCGNQVUbvS@Xk_0IP@>gXb+A-fs;%fZPFTxFCA6H#;v$G9VqFmu<_4Aa?>Zj{&a)S!1=)xqj5Z?nIb_)O7cfep$%Z%&4QP4FMSU9FuD=E~dk( zBh$A|);<>bgHfuxCstmpbvv)Eg{zJrQWf4}M&>ebbsW0A+j-AUDxi|CNiZqivl27p z0#a95jNaNchYvHITwiXwET=O!<$tQD+XBCC4Xym!ctbo7M;{tmhU`Md@$-db zw?Eo;tEkm!ym$J6%vwU{osT^GV$Z*BWA--fD&`yfxcAiNNl`uCRO5#)JW&H)RCrqM z+r8!^Nc0a?#hJ)7FZU_?_Dz3CC~gAO>xsd44{CFx2bu%W>#bY;{0v5K3O@&MK$b<* z(sN#NlTWLtWs<#;f4vRVP^}8utvr0b(M~|xv_+ zSpeAh11!5Xd$j@la$c4YN2%@m0DGMLx-R|8yzh!^b^}Uqk6Ik3;8{UYO6c#>kGTEU z${nd*pJN01F;I`7PpSp<)v3B>p!F+@IQmfUJ>Ta_e=SdEMkTlpF090q>$ zn_V3mVK7Z<(U~KGV@19+C#{Ps|4^p zd|QOQ(<1Sn5212@^2V;Q;&dLuy(bzphQ*)%Rak>z(lrTI$?b=;OCVh8^$HYRjXH?! zgr@O^z5EUf8KaHm-}pkn9`pcWXW07L%O5uxt|oJ34Bk}ip&6C^lMl;RuiM&u(pjw| z>j>{psinUJcQp+Tf8c7}&sGc)Nzb>Ua=c84S^v3^4=pgG*A{lZOwg~W_z+U(vO%f= zg%7imL##%|Kpu*Ga8=?0_}QFsp|57;?6QovZbj}&i6Ao+vQg)2dU|{!ysK4<6uSCyty07pP@rC>?E2Q%YE_m90q;Av*O(M$+^ku8#dJ zt1$*!(_(-NBlQ`I*Nx7zdA|GB{nmXU)%hCwdD9 z*5q?B4+CW7FfNF9c3giTzTq$vTNIQZfx#f{Od&?dF-`CI|9bUT65OGO>7mV37ON2p zT5G&BEr)b4$1BR#IO(7QiFo75uaLX%FD>7WebsxDB7w8+=l^2AW82q`9VeRNwndhO zsH>1;-eJMvJ?k(_#FQ-P7aA}xyE`$97IIfib`CYiS6*i+YZUS4ehi7nQ{?PKz9^LRys-Nyr6E_7*~s^DwD&oH7gS#Q+HG1|Hzq=M=Fd6N)OXc zwoC>}T%9jOTWalg4Ej84|Fjd^(jeF4Vu{A!;R(-R&)Rn-8$gytTK62%bSqEvHxJ+u z25r{;iOJ1y%9EHT;(+xE)?|mo;mO3MAX}|cjt=Q?Q19i`1#4H|pUILtNF4!*vs=*_=@|pPf5F9n4#CZ_=JFlsrt$>_}-OYl#gAcosVkH76tOC229h) zrlxU#f?W55>-f(EB2_iKE;Tx*apJB7G~n1V;YBQ=aHe?rHiQ6@-bqEMk;;-qeb+Tx zU&hQfD~pm2Uj_QWEZ$naRd0mV=xOkIlU3rKe#@Zkg8=RIF-OHI^|ri|@ZqetJSl!W zrge51JCdQLo6CdNW_zfN4a+bC>iO#0ey(DnI?Hjvkz>Ox9gEc)9>oKG*wLqyo9%vM zp%!*RAOE0x;;z#Ee9kLgj=TJg<_U@mqn@J>J_DVkwZQS{Q?%VMrcE7!$hTG%lTU2o zUF%62xg(nRSDU+3B(Ds|G8e0j{O&iCg)3c)vSQuGFU26E2ZFzfA#%HyZzsh#N5;Oo zzZt4d^X!hvrDQKve^s&?918VZPY*DlM!v4`e@g!Hq7&V?d4BsOW=R>gGbd7x>DSIvh#r#su+$dZBISnpq5biS1`g2J}k zyDZ%z;C;DlXOPnqIL%Iic%B8=F^M&RTM$lGnfPR>{oSBytf2oWdg|OiiZauPQM%%S`tJy#VP4&Fw8Rs-y zjIrTl&e(L{DWJJnmS4y620Qm5s4vnxX->ErtlX5o5(7pv+w#y`mw-)5<;f1S6v|comaNRQDw77HTwn z_wYWN$K5pcp{_mez3El>fROTZN}tgTSFQ{&5#FN$fCxJo>|jygfWF!Lh@D^5XGT2@ zZ*werLgy<>1`AyWLM~g61Zk&57GW~mfBJ}?jp=W{*cq*L%gLGGaz<8?ZR zn!dS3rv^Up!3JnAxXkRoQ-D%KTX#lDqBIcaSwU`!gRY=X;G!G?4_RwnW>iKd(qlY z&F1!A^^Te(46WqK^#;(cR15&I4z@1GYs(y#nIgaVGdJdW38UDEkHkZtFzaltGV%c9 z(`4j-pvXQdg`2+U5so~QoHjx8%k^t+Vx~E>0R@bs(@xA0kC8!^wFj2YJ8T()W_M45 zwS{x69AjSd7<7$$%tBV`}b9{2nuWU)y1u)S#@=rv-JRf(6ItyHJG&-DxY=21!eUBiO{%&}B2 zNDrPjW&&I|>(oD;YWk3nvTK-)(LI(BT|g$1->m#F%qeuO?jucl*bXmm<`(N8|Iqpj zegGi@#F|!KV(wz&4=gYARXd0>gP-V(TfFN3pl{`Ac2zoow^ z{wco-Kdfo9af@3~SSWVYOP<(eb_$~q*;qZ?qPaP+cJ=-=%pQATwAP??p}OnZrjNMI z*6i{7(~Zu1u*(e^;jg$_yI69cp*DTZJ*FDZK*@<}9b~DEo!(AYHus)KF1*QhevH&Yj!G1J{>N@HesEk5wqIZWFF{Hd9?M<#n$&8L=5`_THBw zJFhEN&9B%%T#7R2(jwAQHZ*}JiR_t}TcTsc#+rv;(RUxdIR~AcNY$`YQdd%aGDb~L z*T&$N#V3Vh29iTdX6X?+ge3>7ND+=G#CY!;pUg$V&T-zC^W?oKxBxKA+OrqSncg*D zuY|Uli%AfAotSeO9n8J{iZdQ0O`g3vsnXMd6n_&3F*_S_emzcMaqL!y)mq?{59WJu z13mfJCRljG9V2frK5Fj0-pbM~#Tal4Gk!_9k5xH$ zVZ~ns{o_FQtNO}8Eskn#fe^?!9~sB2lGpa(5w>ke^LbiZF+>VI(s`&-Cizc!y6Tc% zwV414t|L9$zna^HI#YW4D7E{C5P)Gv`-|(wpU@Yxa_#&1(-VsoVc!O62g2q*xjp-F z!8<6|cfX_BmF5Q}|AAK$RG*lbLtbxyoic_R+6=nT8V5|fe0#;aSJBF}A&lM3TMNM8!6Jc*J z@tfb)SFv`E$D8boe~vytWfW#77cj7*(J5G3-K1^}k}x?cGTB6r6@S`c%v`_4ursUm z{&;d0Cr(AzTH8M=uyqA8Kg2nG4t-#2=90Gg&o?Mgj+f?VE_tD^AH|Fqfr{S!wMn1v z_}6XwEbWH=4b5JfDP0X{wBiL;^;z>Wr?G66p9<8MXK6&ITgW6Mq@LN}AY*Ni-SNRv;kZW4Q@Dr^z^CCkoUuX5&*1s{Om~d61Fnb$8<4@1sJX?~bzWc1 z;*TL1^;E`Z=uC`GkT*|kF`7l2gYLF>8#;~sPlLOqB6)IbgC4ySoum(4^0K_%Q~!eo zvXSwa@1yu|cN+C*t|A*CTJ%3pkqSZO(;r>JUk1c;K>)y#jrwbI;c8PNBOA|1GTB0V z6G(Y_faT9?yaGy)vwRs#vkt?8*@|N`ZUg=3NwTu%t?y7v$IAOVy3!#n1K0b2dLx=!oSpRe*oU3r@Zlb-@yEqH`82Ok> z2gVQ!UVA1deCXTSRXb~Hn*qsTvP&ZD`OGljSQ=})o855*OT;Tq*vx;9B*_B z_Dg0JP8mnJ7bci~42YOA!vr~Bh^C)SKY^@n3tSx1Vl1^#>lxi9q54wq21j^XkhjBVM9oM3^ zKy86ABk{ZIX0F2FByaHDy=RIBL0?)wfYV%t+L&`85vN#GH0Z_bhYL>fAn=12^;ODy zef^t-Twy0WG|GoM(Giy9Vx%L36SnHqg{5nC8Lc?9af@PAc34>kg)IL3|5{fv*k3~SXS9F5^E?Jm zZ=G_VKlJzE^lu5B{u*sMoA~BXREXvWR5cbc8CKiXiIuFv3_@*(6KY9P|6@^KaNYO@ zxc8vn?p@xltX^KapbU4q{tv=^oK_TE&(T2bb(>2@|H{3-ZG-k_j{C>5g*bp5_QL(9 zqv(idCJb6t;hHXUx+TZ3p)G_@O#V)tbB*4s_UZoJU7*{{^)m_B4qfS5B6 zputv?X^yHHUbGYfXBGq{a3vQiVaamco<{NhP2{TP+d>oN$L;=-R`^XampJcFiu zTETtzYu)uX%*`u(2Z2=$c4y#9TeVzOjwbo5@afA$Oj$~u*Z&bG51jU`b1tGLB=JQL zRax~l&_PQ3R@4nF<+e0A0R3dP`)d@dCU(paZFk;ZZE+7gwX*N59ZHjf%M|slF7s=+ zMcl7IT2uexrHtg-$b&$i1`A0xes#_PyE6EFS_V_?q~npWZ6SCRELXF_!IyKIkFt+& z7*QK4kP98)8%>qj#moilv-Pb-c(v^YV~k6SG`SoUw&Y|1+?Z&xtmlP+ z-=nf8dt$VH$jx#9nd~_otv5$Uei1(3xwksl@=}Ih#v%_6#7a4+W+>27NV}Mx2hCeq zbaYHF?HF^3oxLO}VV6*I0r6$ZbY^$*(ikr=^1M;6$B0q)stAt77 zasEWLqe-j5BpTv^8N!Qmg%gl7-=d9o&7W@)l;78j7vA|EezGC_1KL-@f=PPpD0XGe z!^*7tEbKdV5YI)zL8nx`o(hU<4R9M8|Ajn0;7Zn}DNJNUV=df=S56y;sgpTkhuITL zD#iP1cC^;rv>Dogypy$Q#+(38h(pKq0;5D4K94a=nb^)qM%XUU12ek6Gd85hV!8eu zkz*fNkVvOzy|3bJwGqjdYrLf_7}}=5ok~&8=n9p2_VhVr;$!@l#>hQn=g{WU=)rye z!tn0b;5u`mRuGe<*O>47>sgw8)>Djl+u!-j!S~(sPN@Y>{1eoK#Aa@4z@8Cx@e$9P zKvPt#T$f81Ltms0`OgnI$^+Slk*jv^PKFxcjYsSgPUR7}Zh_Ra7|Jx%G5w z1GMF@BI>GlL-WR^D8O)lMV)=GHYR_tWe8Zy7!G1C*-%!3e%*EB*0)LQ?9qq|`Jzrt zv)hqcVJw4>$?p0D9!>hJ<jt)tUQb`a<{1bp^o#fr$T4O&U>A3yGh+ zz5DZd=@eKTsU>)Sr2y>mqyFxzg`S08^}V4+2Kb~Z{-}KXt_4H4xi)&wwxhF^pwfLu z&EQ6R>jz6IkxBZMV?gTwJ9HWCaD+dW>&Le-{4;t7;)6{%WX}(9+mvtYY#AOK|6T@J z79CG0J6GlI0s;xxY$F-bcQ*5ep1` z5@K1XQAi1bNlz0@?shBo%xcF?QN$B`dPTF&X?i-g6)*~@ud1S>eT}HNW5bu%n#cPa z=CZ;W&5?go41qrO+Mb3FlXB(_%=ASrG*j?9t+-}WlJyYP@3mazOqZ7Ea=g)L=o=-~ z&XISpo$XLCIhTfqV|$~<@M=4~OZDPBy?|jnyC-XophxhFj5#rFV>R!({`uwB`qeGU zZsZY-8->^Ie|(*@ZM;bSH2*baGlhmPXn?C29aJAnaoMI+O#Y2Dam50aO6=k4l-Xmj zVO}P}QAxEgOC+V7})p?Mnq`gT!hvxcaRPiJSEG>z4zadDy+Be8W z50uSZ5(Q(^h`*NiA!;{bAJYy@f?eYK@!IMm9MfWK^O}#K>j#YKO>wn#{X@&`%wTF? zDM3wtTzuy<*Q>_h?=O3bV)#XxuN08U7*XP+8B#*inJN##ioU@j$!-u}`Z2qjkNWw` zcjjExd)_!L`iH%HD6TgwU{m@q$hOsGIPxdOk*R}1pVFHp=tKGqda6F}2s@t$yH_Dx zhFPrF&k8C{3Aq&f1*|2I1`@L0{h5~djc0kMakXeQpxm}yrurGt#1mq0lG=8#*(|fp zIdYL|FU)ifQ}HLWgnH}#Io@V%S^8hak*}qk>??&9s}Fjq>R6@8hgsWAZow@4U$T1(@7nx+zTY(+_p5OYb+e;7@H~2i4Al2?sUyk0 zg3~8?V4Uo818$er{YZqv@WM0~kJjDMP^hwSZlioj)FA$cy!`8A~D6TvIZtMa0X51&WB^49D*?a-V;#+BT% zBuE#HC1ZCpd6pfF_@)VL5MD3) zLSb~5>keWVQ4P10?X2%^i=1l1} zErLy+wl58ZD%1O9E|8xOw%)$%AN3)rc?q0RH$0l--;;w{oFw$zLc(A-OzTl2Wi#Xc z0AX%vw{AR%BRYYln!flBEyP4=|DmZ<5|n#I>;v9`aAstuqD(e6uZhs5R*|@zmJp;( zgGSiH-*_r8(tAB*vwB?o7D@j5is~@Fkr{iq=YyN|WwU8Qk2%U$P8%HhnJjAZZ;RI) zHS4FO={KDP#eJOjo!Tczc(1?F-E}*#UN8NVyo*c;24qv?)bnszSYT$dXiTO<>EwZy zvhC8gW`qwUSHlI1QXDN5+8GzP8N!692OFX#dxusU-%o4>T=faIT4XMsy~u#+F3K0e zExGpXg6U(gtC66Z;<~e{*n5uEh3SV>A&H3x9IRIugSBn)LN(q)<z}w7UJ#g=`=oRCZev<<6WSY-VpXogE(YTU94LEI2BPxntRHjzwr5mzSQ)n{$P< z$)$~6gZtI*dcIdU^W=i>Ns+H_*Xzr?enkd5PwTyDW}slurw;M+XVpHgbg5uBJFk(X z29{JZ66_B?8ixAEd%no+aS0@fJ9V@q_Sfy)3Iz1opOmd(=E0CAju~TRAxnQBMCG9N?# z&bU)>WnZKT<&L(fR``K(HQ$&DL+Oolo@YZEcYhVBM>W~nGnu8~3NMIb`3)NdsI)3i3 zML#r5j=H8tfr$Tc4h7Y`-{@M_uK97YjbyIwWvPfH%N{ z3GRIup>k7iiV&P9$L`dYG}?n>-X5@SDjJM03_FGCwIHpG7tj{D3GU(jL%O)l7|7lQ zfsNy*PDB)_KDF`>t3?k}l>CaxkO$RjFUJ-$h+&%d|E5v;U`VBwM#c^@<{m=1pzXDN z8Wy@1=b?Mc74JJyb^y1iNRjg|^_adVKJoz_)fENZNK)l>T-RpmHefd0vqJf3(niks zm@zVK^6!4}Yi9k;q@_2nx1NdUH};y{D6ZGTL4(peit_hhv+rJyYsw2;ETOeU)bkWk zbc*{{HL#yMrLdokkdFsJRMA=s@e}7z5sWS3=G0~r9rtqNwd4X)abW;0#h{0d(}!C( ziM1zFlA^E;gCLY*U@pw0%g1q4DLWDI?Ibl?0vbkXsQ-W(1tPRqxr%v5Y1sughTG0H zpJAC?1(-M9USK6G@_1(YTl(86ib!4s86PYW7bWyh2+oojIq-qK8(Q$RpA&c!ppevjy%QxfUU3CrO=w$`s?a;2;x$7 zb{qC-QUhTkQlc{~AKO52X&P)4r;-9}Uy-BmQz@3^g|Ox;#Kk*#?2-8@cJG-+53vNw zGjUDrM=Xr7W1mmWk-pRXEq5bUopu%fz#^OqP~7R!i?;(DGk0)%Yk7G4%IIM`w=V6I=X z+F+8BBohn<%{zu;@sL?;LzTwf<1Q;QBL-))N2+az`rgpylaV_#ir0j`LZw}Vx@oX^ zTFQH|J6CZWMK~};J%D(g@fYKLzh2~1+TJ^1D7}=X=^7sI2*}TaHJEvy z`IpiL_<~)QHN;pcy~{(-1yjwfe@kXjk8EV7F?)9oYcFOFhB zb}wiq5{?-Qns?(OQO=q7{Jghs>JBgyOSVk8G?%!b2`X?{loD4b1$bTIL_o_ynX65Q zkPZs_h$jcM)HL9mF#+3YLi&Eplx>N<((PU1U$dR~9FybzVEtUyq-j*X=5*WctFn|* z_@Q=9!r#-r(0(Y%@t6(VPty0{O&9BmH{3T)vO#w>r^0TayFJb2?GMMX&|1=>=&AM& zY^JQr%|dcB;#cNd2l9QWe~?2H@=b_I&-pb#l-qq;S^208E{6bZ0;ca?Y-)w^&x=JC3Kn?il6Wlk%*v&ML*>B%r6|dCPcGX8ws;iyn zhD`MlWUWfVJCmhM-ls_p(yOi8*WZg9$$m)V9(XuZ14?TQq77&6I+b)vwh z5QOi9-3!duV^Pj2^3Hif0 zaEwyt>4PFv6DHmGGhc6MYHU*9rvvZUyD;Sy!Br}2XG04&#bEx04jze+QQK2_!@F0x z$~|d#N8e@h1D^QIw>uzbO&jcDefV^JtuX+-R94r?lu%*a;vbdlCg}#c6$&dp>|Jz)7RM^(%Lw` zhS!aF@Wbr3an9vkcf8SQeH$6Hvy9)&?ifO_DWlGNQEv^>#q|dfLTL`4!2OlvjCHB_ zqyQbBc(@FRu#v~tb(```eZRe9Hs7#=_}B9U^J`z6{8u1}WIN~Mi)iiN4#zWx`Tq5krl*e5{UJoNy z>-xvu)q6R@tkFzDwDDob&2WqBW^FfMuK7WmuAYh5wK0N%c3i;rsHx#n^6 zDx})brUJAnc*WhU8k$Z}l(I%u?QbQra*|lECqJ`Njr_azLVEU&V$HV@B_KPvK#@a3 z=R_!HBKTqlJw)Dl`uXmya0E|q324%Mfly3XU%cg6T~yddjWO5E?S+y99A}ma;x|o} zc2BtSPF`OixX#yy1$NgE6b0OLyYZvpj@)jwEcCTzYs7~h6KX)I!1!D<2!He#UL)PL zG`e%(?H8>9^&UIRsSuCHzBx=PjBvmk2IPRF?gl&AE0N7Uwzc7td~y1~$w*J2f}%b3B8M1ePCBq^K3U4kj|frKKO6Zpn1@lS?tM5?Nsi_Wd&o==+&b6e`yD7=fbIHi@5rl>ufd#9 zpOWX)&F3Jdd5iSD8mhXVC0OV{4n-A2z$8nHFYD;+l_SgQwhD7$@}R09Ay_C06#Pik znEAcG$ns|oaE9e2r>4bb`2U}Kkf=H6L$i8cBs1^oZJx+8|M9DoLnE{H6|+U0Uq}D|oZSro=ZXN}lY%-o3jkS2 z0GNvb0Q7YLFix%R40cy6)MEX8vB1{XxZP7u#lEQAP0r&UXGiVn{l5%*tf7qNn!Al0`jS%JM~U&p%d|Yb8;LYh zw6$}scwJ~p`glh)Pj zeDX4;wXpuREEDFyd=&5`0mE2iv9R16-ESpCR~@tW=rP?EvxoXG^HKbMBK4r?{H+N} zfP;t-n+PkZIB86==+24%4}k%XQBJ8^#OIJ&yPIFMBTHYUD$!@Qg8J>*l>&_H^hU>f z(-)s#$w|Zi7v&0LBY*x@@W;thTj(>-19<74ovmFbu*}cP`&uxrFqUlBQr~GX{wiH$ z&rY(Z7yUtAxbO&TSW`BU@Bn;&655hPb@L#+5Vg0`bd7$^%HQdtYto<|o=P14=HA&) z!$GvgLdy7krGZCXW26!3k?O6}`%p-$Pw(8qATUa>r(o9jNvVtVigF03`F zwXu}#sP~qvb*ZRm9&5W@WO@10!g3I2G4r#=(LYgnJ5Yj+b z{S)Bg%7R*8vN3x@dj>?o8wKL(EJcMSa%2xmV7)vawsgU4sxo(Z=2~$xnx8d$!)cHd$g+; zM)_ZhH%Fi;9d8_B2PC!Y%wt6#h(01WgPLJP(z)M1JKJ+^Ea`DOFJN#}9glo(95#$f z2469zwvBYYreyp^3ryp0-b&A(GfW}eWt20#=!ana&EWO3oqIV_xorkix{_C+Mu!XO z{nPr8O{?vWMoe6krJ*p16d5a#LL?iZ?6+Ax@b7;5FeDH=x*ma!Tpa4y1DYCVw=*y2 zce$4A>0WUmeFF!ZKh=O+$8C8P&2SfAG%_lsyBZcaoy|GTiJ^U~iOn`trs=b28TVrc zykaP8=9-+0P}&Fy?fRe{chmZ1o45S zO?PmcpGIavNDFV;t-?$5Wk2KS1nSZv584?*ox3QEZqldC;j10lG59KZ#E$u=Bl0h6 zckhAfo`hJh=>;E2ITI^WE0c$xL9}W0{!~9?(l9#HT2i7bE-*UoD=wY8x7*yYs?ic% zWf{Pjt;Y)AH^_B24G>%IJO!4O>Qy>pk7=44sBiWlysfrdO|$Ywr6;o6eq81KyCveU z{AjzSdS^!w$M=?0tnhHFOk6}}JSmfmj!P#i0B}M&Iol)M?2#^^C^t091?}W&heV>0 z$g_^xLw^$_Q{qo0qr106gv}w%I$T@J~fIBa8q5 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo_2.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/MSFT_Logo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..758d4db2356d6ccc561bec99031d30d5c3a9f462 GIT binary patch literal 21641 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 UFzcn`Z~y=R07*qoM6N<$f^2#I^#A|> literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/PlanetTechnology_original.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/PlanetTechnology_original.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2a6d8478f092e4d2ac8d911eb91f4886a41e24 GIT binary patch literal 136990 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%0A%}Qx&5qw| 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 MvTwGpa?y1E17>e4hyVZp literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/Vinta.jpeg b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/sponsors/Vinta.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c60c5ac9a185fad5e9506029c11f71bfefee7839 GIT binary patch literal 2156 zcmb7EcT^Mk7M__*0!EO8gf2A(LjXxA26ZJAks`a06=?!Wk?IpdaRb6q6%Y}4yC79U z6OeXj()GcH1(B`?1v%(GSDFRbM^P5cn^4ww_P=+}nVIj*{N{f5ez)*n@P7k3OgX+@ z0AOK31%v?rzyRVP3IGu#xMV@}_R|i*a=X|S!Ia%I5P}KN*Ymy!@b-Dc;kKD0cY&Y1 zCk6o0ga8xPC~DF) zDKs)gjUsRY3JD2eg|P%ImOzn}l%@RN#_tC3!hjsWL4hg&ga=W0kk12TkdQ%8kpG?` zK>`pg_yqp_6NrK#G{Bz(L{K0A;ZQh4Id`_*+5|JA@=*bmG5o44Ya|mhe%ry2RagE- zX~Sc@?bfNgaYLw*m>T1>M`v{`ZTZMf&3-qwlaQ_2EI@juantVt~uz zmxT<3nuG%c6@wv!XU9-5h)`n)L_K9XUPW6M2|^eN8$?5n82f8EG4!sy>T!EIM#?`W zro=K=;!?{`{D-gdS0Glp%dFo(C+Ua=mV z?BCd|fMs~bb8q~!V%_R^mPNPUom>{a_zvEAJ!)bo=TF{R!>{TRV~EQInF2Aaiq7ZS z4L?4Bixlfu_sk}a_rAMmk9&EoJ! zkBHpkI&YoPe(w@_>K`|}H9QWGn8tNUzc$8|lrqZW^oPzXZNyGpF8z@;L zgk%9Bh(dj36cEB_aXLZS2+`A+#V*_?g#@Inu9H2ztD5$uXtUw4oP&;wGcJy;*yh2g zB9{OQYRINlRhg4bYGd!d?=`j7GnK3RWlHnkR$L*6icBR;adI-L>Eo-}nK|_)RnMqS zYxSQKomTe*LFMjn#{M8 zW#)`U?TUp+GQ)i$a`R$_Pdi0c&Tt_7xyi8*KU!IC0B)d(sDY#LddIFPP(T&#D@{nfJ^>6PL4hw;`|B|p*M6~xGYdu~w2_F|>aRGDZ1 z{^6{ikW-X9*?@LyF67~-3yJ==pR@C0t7ZeYtQZ}h75B5A&2{F@y9ZYIo}MNL%mmgh zk+xp<7yV+OXv~sx)oj)mZ<7~66j8w;Qw2goU&j#y@JK`8SZ*N;y_sQoM%ZrZDm@gyv0xvwc2 z?(4ZnTs{4;UgJrI<$09{et6S{%LByw$+_WXe^hw$NLGg7Q=?rShis~^y&OC-#N%ou z=BSUVTax~;I#atIdjL8#9GE%aR@IxlcvSQ}w%fa8uvBWy?Nnvaxw@p9U>y;vZugB` z=K->RWf_mA%P2ToAeKGOxw|BMJ1s=iaO+0=(~SXIUP^v(7Fwzn@^|_r4@qi!odAM1 zz`3Xiacfe^xs*4X^@t?$cw`A7yI^k(2v)T~5>`yt=(ZYyA;Gy@OfN4$X4-s!%qzUC zn<}}|-8q(a$;pv`v3vM0ohjp+oJ9H$Fd_H)?^Y#p$^U_3Rsmi4#3WIH>PiU3-)3=# z0_nf>uAS}^Oa;!LH}|S#GQ%<`q$R?`#HrjN+LbAtWK|c5i`HPID&oHBvv11E9g&Sb zJz~JiBnH+DnjUpPvl(+ROVg!B)KA6uLWI8!+i%WZKmKxbb7mAmen?PqWH8~sGTh5A z-HlzigsWTrT6CN=>!yVB**+#Nc7Ff;?84(sIw+6We(=W`S{8S#&G$OK(T}8*Vss8z z%1Q)ngYWisRMXW&TS%hEByG#&o@!;7rk$-?%NY8i{o?!1Vm(*OpFFSjhB@AIIL$Iz z{I|+$_&YO}Ql}Ha^rL-PcvfqMwpJ^P8mAlQF@2|1;z+nbp>%P-X^tNm(`8|tNE{^A z2Je%n4UV`dBqeO#GKiU%QTVJHcQch)ypc>I=XJbkEFBS%3wPxMEziHa3z6Z} z;z~3UiX9@J_2ONNYP&Zr>n{bd8zU4v(!{G%$bQQ6-5*9F@wN}HkMQ=cftWC{VDB)S zQQZ{XlN|428#Hqvc3dPh$?%LVD)s`?l&jwS&D+c#lC1xj=*tRoC$(9v*FUNb20f*D zPQ_(7cM}Un_2Zv!adY%=G)l=ubA?1T0~nL?W#!Ua<$HN9MYHOapKd9=e=4uD$mCD_ E7Z3IO&;S4c literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/swfd-shirt.jpg b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/swfd-shirt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7e94aaa0f8db8df75ebc516bba0631f888d5e7c GIT binary patch literal 66270 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 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/youtube_social_icon_white.png b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/assets/images/youtube_social_icon_white.png new file mode 100755 index 0000000000000000000000000000000000000000..4da72c4b85fcdab593bac9f74f9cbfe062a0d22e GIT binary patch literal 37169 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 literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/code-of-conduct.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/code-of-conduct.md new file mode 100644 index 0000000..c72d5f8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/code-of-conduct.md @@ -0,0 +1,84 @@ +--- +title: Code of Conduct +sidebar_link: true +sidebar_sort_order: 1 +--- + +Boston Python events are intended for networking and collaboration in the developer community. + +We value the participation of each member of the Python community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees at all Boston Python events, whether officially sponsored by Boston Python or not. + +To make clear what is expected, all staff, attendees, speakers, exhibitors, organizers, and volunteers at any Boston Python event are required to conform to the following Code of Conduct. Organizers will enforce this code throughout the event. + +## Our Standards + +Boston Python is dedicated to providing a positive experience for everyone, regardless of age, gender identity and expression, sexual orientation, disability, physical appearance, body size, ethnicity, nationality, race, or religion (or lack thereof), education, or socio-economic status. + +Examples of behaviors that contribute to creating a positive environment include: + +- Being kind to others +- Behaving professionally +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- Harassment of event participants in any form +- Deliberate intimidation, stalking, or following +- Violent threats or language directed against another person +- Sexual language and imagery in any event venue, including talks +- Insults or put downs +- Sexist, racist, homophobic, transphobic, ableist, or exclusionary jokes +- Excessive swearing +- Unwelcome sexual attention or advances +- Unwelcome physical contact +- Sustained disruption of talks or other events +- Other conduct that is inappropriate for a professional audience including people of many different backgrounds + +Participants asked to stop any inappropriate behavior are expected to comply immediately. + +If a participant engages in behavior that violates this code of conduct, the event organizers may take any action they deem appropriate, including warning the offender or expulsion from the event with no refund. + +Thank you for helping make Boston Python a welcoming, friendly group for all. + +### Weapons Policy + +No weapons are allowed at event venues, including but not limited to explosives (including fireworks), guns, and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. + +Attendees are further expected to comply with all state and local laws on this matter. + +## Scope + +All Boston Python attendees are subject to the Code of Conduct. This includes staff and volunteers, as well as attendees of events, presentations, project nights, after-event gatherings, receptions, and all sponsored or unofficial events. + +Communication outside of events are also subject to the Code of Conduct, including email, online postings, chat messages, and any other communication under the auspices of Boston Python. + +## Contact Information + +If you believe that someone is violating the code of conduct, or have any other concerns, please contact a member of the Boston Python staff immediately. + +**Incident reporting**: send email to + +In case of a conflict of interest, you can individually contact one of the organizers: + + * Ned Batchelder, + * Emily Charles, + * Jon Kiparsky, + +Boston Python staff will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist any attendee to feel safe for the duration of any event. We value your attendance. + +## Procedure for Handling Incidents + +* [Attendee Procedure for incident handling](conduct-attendee-procedure.md) +* [Staff Procedure for incident handling](conduct-staff-procedure.md) + +## License + +This Code of Conduct was forked from the [PyCon US Code of Conduct](https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md), which details the sources of its language. + +[![Creative Commons License](https://i.creativecommons.org/l/by/3.0/88x31.png)](https://creativecommons.org/licenses/by/3.0/) + +This Code of Conduct is licensed under a [Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/). diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-attendee-procedure.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-attendee-procedure.md new file mode 100644 index 0000000..04c6618 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-attendee-procedure.md @@ -0,0 +1,62 @@ +--- +title: Attendee Procedure For Reporting Code of Conduct Incidents +--- + +**If you believe someone is in physical danger**, consult with a volunteer or staff member for the appropriate crisis number, non-emergency number, or police number. + +If you believe someone has violated the [Code of Conduct](code-of-conduct.md), we encourage you to report it. If you are unsure whether the incident is a violation, or whether the space where it happened is covered by this Code of Conduct, we encourage you to still report it. We are fine with receiving reports where we decide to take no action; they help create a safer space. + +During an event you can make a report: + + - To one of the event organizers + - Email **** + +In the event of a conflict of interest, you may directly contact any of the incident responders: + + * Ned Batchelder, + * Emily Charles, + * Jon Kiparsky, + +## Report Data + +If you make a report via email, please include: + +* Your contact info (so we can get in touch with you if we need to follow up) +* Date and time of the incident +* Location of incident +* Whether the incident is ongoing +* Description of the incident +* Identifying information of the reported person: name, physical appearance, height, clothing, voice accent +* Additional circumstances surrounding the incident +* Other people involved in or witnesses to the incident and their contact information or description + +## Confidentiality + +**All reports will be kept confidential**. When we discuss incidents with people who are reported, we will anonymize details as much as we can to protect reporter privacy. + +However, some incidents happen in one-on-one interactions, and even if the details are anonymized, the reported person may be able to guess who made the report. If you have concerns about retaliation or your personal safety, please note those in your report. We still encourage you to report, so that we can support you while keeping our attendees safe. In some cases, we can compile several anonymized reports into a pattern of behavior, and take action on that pattern. + +In some cases we may determine that a public statement will need to be made. If that's the case, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise. + +## Report Handling Procedure + +When you make a report to an incident responder, they will gather information about the incident according to the [Staff Procedure For Incident Response](conduct-staff-procedure.md). + +If the incident is ongoing and needs to be immediately addressed, any one of the incident responders may take appropriate action to ensure the safety of everyone involved. + +If the incident is less urgent, the incident responders will meet within 24 hours to determine an appropriate response. Examples of possible incident responses are outlined in the [Staff Procedure For Incident Response](conduct-staff-procedure.md). + + +## Following Up With Reporters + +Within one week of an incident report, the incident responders will follow up with the person who made the report and provided their contact information. The follow up may include: + +* An acknowledgment that the responders discussed the situation +* Whether or not the report was determined to be a violation of the Code of Conduct +* What actions (if any) were taken to correcting the reporter behavior + +In some cases, the responders may need to ask additional questions about the incident in order to identify the reported person. + +## Conflicts of Interest + +If an incident responder has a conflict of interest for a report, they will recuse themselves from the discussion and handling of the incident. The incident documentation will not be available to them, and they will excuse themselves from any conversations involving handling the incident. diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-staff-procedure.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-staff-procedure.md new file mode 100644 index 0000000..be6dbbb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/conduct-staff-procedure.md @@ -0,0 +1,107 @@ +--- +title: Staff Procedure For Incident Response +--- + +Be sure to have a good understanding of our [Code of Conduct](code-of-conduct.md). + +Also have a good understanding of what is expected from an attendee that wants to report an incident: [Attendee Procedure For Reporting Code of Conduct Incidents](conduct-attendee-procedure.md). + +### When taking an incident report: + +1. Ask the reporter if they want to go to a quiet space +1. Be an active listener and don't use judgement words +1. Ensure the reporter's safety +1. Seek additional emergency resources as needed +1. Take down the report and ask any clarifying questions +1. Thank the reporter for reporting the incident +1. Report the incident to the lead incident responders + + +### While gathering information from the reporter: + +1. Do not invite them to withdraw the incident report +1. Do not ask for their advice on how to immediately respond to the incident +1. Do not offer them input into the long-term response to the incident +1. Do not promise any particular response, since it may differ from the official response decided by the lead incident responders + +Try to get as much of the incident in written form by the reporter. If you cannot, transcribe it yourself as it was told to you. The important information to gather include the following: + +* Current date and time +* Date and time of the incident +* Location of incident +* Description of the incident +* Identifying information of the reported person: name, physical appearance, height, clothing, voice accent +* Additional circumstances surrounding the incident +* Reporter's name and contact information. If the reporter wants to make an anonymous report, allow them to do so. If responding to the incident would reveal who reported the incident (e.g. a micro-aggression in one-on-one conversation) ask the reporter if they have safety concerns about this. +* Other people involved in or witnesses to the incident and their contact information or description +* Do not prompt the reporter for suggestions of how to handle the incident, but record their suggested responses if they offer them + +Assess whether an immediate response is necessary. This initial response is very important and will set the tone for Boston Python. Depending on the severity/details of the incident, please follow these guidelines: + +* If there is any general threat to attendees or the safety of anyone including event staff, consult the volunteer guide for emergency and crisis resources. +* If everyone is presently physically safe, involve law enforcement or security only at a reporter's request. +* After taking the report, assess whether you need a lead incident responder to immediately respond to the incident. If so, ask the reporter to stay with you and get in touch with the lead incident responders. + +Respond to reporter needs. You can: + +* Thank the reporter for making the incident report +* Reassure them that the incident report will be reviewed by the lead incident responders +* Gather their contact information to send a follow-up after the incident is resolved +* Offer to get them water +* Ask, "Is there a friend or trusted person who you would like to be with you?" If so, arrange for another incident responder to get this person. +* Ask them, "How else can I help?" +* Provide them with specific non-emergency or crisis contacts from the volunteer guide if necessary. + +Once something is reported, the lead incident responders should meet. The main objectives of this meeting is to: + +* Review report documentation to determine what happened +* Consult documentation of past incidents for patterns of behavior +* Discuss appropriate response(s) to the incident +* Assign a person to make those response(s) +* Determine the follow up actions for any impacted people and/or the reporter +* Assign a person to follow up with the impacted people + +After the staff meeting and discussion, a staff member (preferably the event coordinator if available) may choose to communicate with the reported person. + +When following up with a reported person: + +* Explain what happened +* Focus on the impact of their behavior +* Reiterate the Code of Conduct and that their behavior was not appropriate +* Give them concrete examples of how they can improve their behavior +* Remind them of the consequences of their behavior, or future consequences if the behavior is repeated + +People who are reported often get upset, defensive, or deny the report. Allow them to give any additional details about the incident. However, remember: + +* It does not matter if they did not intend to hurt anyone -- their behavior still impacted attendees negatively +* It is not your job to reassure or forgive them +* Do not allow the reported person to make an apology to the reporter or impacted person. Often an apology centers on the reported person's feelings and not the person who was impacted. You may accept their apology and offer to pass it on (but you're not required to if you think it would negatively impact the reporter). + +What follows are examples of possible responses to an incident report. This list is is not inclusive, and Boston Python reserves the right to take any action it deems necessary. Possible responses to an incident include: + +* Nothing, if the behavior was determined to not be a Code of Conduct violation +* A verbal or emailed warning +* Requiring that the reported person avoid any interaction with, and physical proximity to, another person for the remainder of the event +* Requiring the reported person not attend evening events +* Refusal of alcoholic beverage purchases at events +* Ending a talk that violates the Code of Conduct early +* Not publishing the video or slides of a talk that violated the Code of Conduct +* Not allowing a speaker who violated the Code of Conduct to give (further) talks at the event now or in the future +* Immediately ending any event volunteer responsibilities and privileges the person holds +* Requiring that a person not volunteer for future events (either indefinitely or for a certain time period) +* Requiring that a person immediately leave the event and not return +* Banning a person from future events (either indefinitely or for a certain time period) +* Removing a person from membership of relevant organizations +* Publishing an account of the incident and (optionally) calling for the resignation of a person from their responsibilities + +If a reported person wants to appeal the decision, notify them that they may contact the Boston Python leaders . Keep in mind that it is not a good idea to encourage an apology from the reported person. + +It is very important how we deal with the incident publicly. Our policy is to make sure that everyone aware of the initial incident is also made aware that it is not according to policy and that official action has been taken, while still respecting the privacy of individual attendees. When speaking to individuals (those who are aware of the incident, but were not involved with the incident) about the incident it is a good idea to keep the details out. + +Depending on the incident, the organizers or their designate may decide to make one or more public announcements. No one other than the organizer or someone delegated authority from the organizer should make any announcements. + +If some attendees were angered by the incident, it is best to apologize to them that the incident occurred to begin with. If there are residual hard feelings, suggest to them to write an email to organizers (leaders@bostonpython.com). It will be dealt with accordingly. + +--- + +This procedure has been adapted from the Ada Initiative's guide titled "[Conference anti-harassment/Responding to Reports](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Responding_to_reports)" and has been updated by [Otter Tech](https://otter.technology/code-of-conduct-training). diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/contact.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/contact.md new file mode 100644 index 0000000..28a52a6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/contact.md @@ -0,0 +1,18 @@ +--- +title: Contact Us +sidebar_link: true +sidebar_sort_order: 999 +--- + +To reach the organizers, you can send an email to . Current organizers are: + +- Ned Batchelder -- +- Emily Charles -- +- Fay Shaw -- +- James Gerity -- +- Jon Kiparsky -- +- Lewis Staples -- +- Sydney Runkle -- +- Wolf Richter -- + +We also have a [Slack workspace](slack.md) for online discussions with the entire community. diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/events.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/events.md new file mode 100644 index 0000000..adf657a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/events.md @@ -0,0 +1,23 @@ +--- +title: Events +sidebar_link: true +sidebar_sort_order: 100 +--- + +Boston Python runs a number of different events: + +- **Presentation nights** feature presentations by members. These are technical + peer-to-peer presentations. [Anyone can do one!](giving-a-presentation.md) Sometimes we do + [lightning talks](lightning.md). +- **Collaboration nights** are unstructured times to sit with people with similar interests, and do whatever you would like to do. +- **Study Group** features presentations by members who are beginner-to-intermediate. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. +- **Office hour** is a weekly hour to drop in and ask anything on your mind: [Office hour](officehour.md). +- **Book discussions** choose a Python book and work through it chapter by chapter as a group. +- **Python en Español** are Spanish-language presentations. +- **Social events** happen sporadically to bring people together casually. + +Most events are listed on the [Boston Python meetup page](http://bostonpython.com). RSVP there to be sure to get a spot. + +We're always interested in ideas for **new events**! Read about how to start one at [Planning an event](planning.md). + +We have a [long list of past events](past-events/index.md). diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/favicon.ico b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..c41440301feadd493da372fb912e6f932eb10ca9 GIT binary patch literal 34494 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 UD$sktmm2-wcN)x1kxTsfe>wGro&W#< literal 0 HcmV?d00001 diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/feedback.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/feedback.md new file mode 100644 index 0000000..c5086c1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/feedback.md @@ -0,0 +1,17 @@ +--- +title: Feedback +sidebar_link: false +redirect_from: + - "/how-was-it" + - "/howwasit" +--- + +We want Boston Python events to be great for everyone. We want them to be great for you. + +Please let us know how the event was for you. Did you feel welcome? Did you find people to work with or talk with? What could we do differently? + +We really want to hear from you. Be **blunt** if you need to! Honest feedback will help us improve Boston Python for everyone. + +Send us an email: [leaders@bostonpython.com](mailto:leaders@bostonpython.com?subject=Feedback), or to any one of us on the [Contact Us](contact.md) page. + +Thanks, we really appreciate it! diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/giving-a-presentation.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/giving-a-presentation.md new file mode 100644 index 0000000..c96785b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/giving-a-presentation.md @@ -0,0 +1,45 @@ +--- +title: Giving a Presentation +sidebar_link: false +--- + +Boston Python's presentation events are a place for members of our community +to share what they've learned about making Python programs. Giving a +presentation to our audience is a way to give back to the community, and it +helps you understand the subject matter better - it's a win all around! + +Presenters do not need to be "experts", they do not need to have contributed to +the Python language, created a library, or written a book. Anyone who has worked +with the language and learned something interesting from doing so has something +to share, and our community wants to hear you share it. + +### How do I know if I have something to say? +If you're not sure whether you've got a Boston Python presentation in you, take +this quiz: + +- Have you learned something about the Python language or ecosystem? +- Has it been useful to you? +- Do you think someone else might find it useful? + +If you answered "yes" to any of those questions, there's a presentation waiting +to happen - and we'll help you find it, if you want. + +### What sorts of talks are you interested in? +We're open to topics of interest to a community of Python users and learners, +ranging from quick "lightning talks" to deep-dive talks. Ideally, talks should +be pitched to an audience including users of all levels, from beginner to +experienced professional. + +### But really, what should I talk about? +If you think a topic would be interesting to you, that's a good start! To +inspire you, we have a long list of [past talks](https://about.bostonpython.com/past-events/) +If you're still not sure, reach out to an organizer by [email](contact.md) +or on [slack](slack.md) and we'll help you find a topic. + +### Okay, I'm interested. Where do I start? +If you're interested in presenting to the Boston Python community, and you have +a topic in mind, you can start by filling out +[this form](https://docs.google.com/forms/d/1ndedcjLoPiq6k_A7Q1eyxHk_8rMKBC-m2CZ6Pg9NlvE/edit). +If you have questions about giving a presentation, you can always reach out to +an organizer in the Boston Python [Slack workspace](slack.md) (Jon, Ned, Emily, and +James are good bets to start with). diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/helping.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/helping.md new file mode 100644 index 0000000..b0f834a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/helping.md @@ -0,0 +1,167 @@ +--- +title: Helping Out +sidebar_link: true +sidebar_sort_order: 300 +--- + +Keeping Boston Python running requires lots of small jobs. If you take on one of these, it's a big help to the organization. You can sign up for one of these and then move to doing something else later on. Or you can suggest a different job that you're interested in doing. + +If you want to talk about any of this, find us in [Slack](slack.md) in the [#organizing channel](https://app.slack.com/client/T8Y3V5G9E/CJP5P5TNX). + +We really appreciate your help! + +## Considerations + +Time: roughly how much effort it will take? + +One-time or on-going: how big a commitment are you making? + +One person, or shared job: can this task be shared among a few people? + +Importance: is it critical that it get done, or is it more casual? + +## Types of jobs + +- [Behind the scenes](#behind-the-scenes): Jobs that can be done at home, not tied to a specific event. + +- [Before events](#before-events): Jobs that can largely be done at home to prepare for presentation and project nights. + +- [At events](#at-events): Jobs to be done in-person at a specific presentation or project night. + +- [Other projects](#other-projects) + +## Behind the scenes + +### Mailing list moderator - Ned + +Get notified when someone emails the mailing list. Read the messages, decide if they are appropriate or not. If not appropriate, but close, write to the sender telling them what they need to do to get approved. Approve or deny the messages. + +### Discussion moderator + +Be aware of discussions happening on Slack and Meetup. Answer questions, suggest proper usage, report inappropriate usage. Make people feel like someone official is paying attention. + +### New-member greeter - Michelle + +When new members join Meetup or Slack, send them a personal message welcoming them. People answer questions when they join; it would be great to include details from those answers, and an encouragement to share their expertise (if they have claimed some). + +30min/week; One person + +### Twitter tweeter - Srini + +Run the @bostonpython Twitter account. Follow interesting people, tweet things. Announce events and sponsors. + +10min/day; Can be shared + +### Website contributor + +Open issues and pull requests for content suggestions and edits to this website. + +### Website maintainer - Ned, Brian + +Improve the content of this website and manage contributions. + +### Jobs detective + +Search job postings for Python jobs in the Boston-area. Collect names and email addresses of people we can contact about sponsoring. + +1 hour/week; Can be shared + +### Event list gatekeeper + +Keep track of other events people want us to announce to the group. Send a monthly email with the ones that are appropriate. + +### Public relations bullhorn + +Find places to publicize Boston Python events. Publicize them. + +### Onboarding polisher + +Play-test the experience for new members. Make sure we properly explain how Boston Python works so that they can get as much as possible from joining. + +One-time; Can be shared + +### Member pollster + +Write a survey to find out what people want and what is on their minds. Collect results, summarize for everyone. + +### Conference groupie + +Monitor conferences happening around the world for likely Boston-area speakers talking about Python-related things. Alert a presentation night curator that those speakers could be good speakers at Boston Python. Conferences include PyCon, EuroPython, SciPy, DjangoCon, OSCON, data conferences, etc. + +### T-shirt wizard + +It would be amazing to have Boston Python t-shirts to sell. Find someone to design the shirt (or design it yourself). Work with enough leaders of the group to get approval of the design. Find a vendor with the right price/quality balance. Decide on the right quantity and mix of sizes to order. Deal with the vendor to get the shirts made. + +## Before events + +### Hosting wrangler - Mike + +Find companies to host our events. Reserve Microsoft NERD when it's available. Communicate with potential hosts about requirements. Evaluate potential spaces in person. Confirm dates for events, add to meetup.com. + +### Sponsor wrangler - Brian + +Find pizza sponsors for events. Contact potential sponsors about how sponsorship works. Answer their questions. Arrange sponsors for specific events. Keep the Meetup sponsor list updated. Send thank you emails, be really grateful. + +### Presentation night curator - Ned + +Choose a topic for just one presentation night. Find speakers who fit that topic. Nag them just enough to be sure they are ready for the night. This doesn't have to be a repeating task, doing it for one night is a big help! + +### Bar reserver - Ned + +Email their events person to reserve space for us after presentation nights. Check in with them the day before to be sure the reservation is in place. + +### Pizza quartermaster - Ned + +On the day of an event, note how many people have RSVP'd yes, use the Beauty's Pizza web site to order enough pizza in an interesting mix, pay with the Boston Python debit card. + +### Puzzle crafter + +Project nights often have a set of puzzles for people to work on. Write or find some puzzles. Make them available for people to use. + +### Give-away rustler + +We sometimes have prizes to raffle away. Someone needs to arrange for those donations. Books are easy, you send an email to O'Reilly and they ship a box of books. But with more effort, we could probably get more stuff. + +## At events + +### Table arranger + +A project night has tables organized by topic (beginners, web, data, hardware, etc.). These need to be set up, with power nearby, and signs indicating the topic. + +### Video director + +Record the presentation nights and put the videos on YouTube. Boston Python can buy the equipment. We'd like to have somebody with video expertise to help select equipment and establish the process. + +### Name tag master - Ned + +Set up name tags and markers, and encourage attendees to fill one out. Maybe add prompts for areas of interest or employer. + +### Attendee greeter + +People showing up to an evening event could probably use a friendly face to greet them. Stand near the entrance and be friendly! Tell people how to get started. Make them feel welcome. This can be totally informal; if you warmly greet just one apprehensive attendee, you've made a difference! + +### Beginner table captain + +Be at project nights, and make sure people at the beginner tables are getting their questions answered. You don't have to be an expert; you have to be friendly, understanding, and helpful. + +### Presentation night emcee - Ned + +A presentation night needs a few bits of time where someone stands at the front of the room and announces things: welcome people, remind them how it works, who is the sponsor, who is the next speaker, are we going to a bar, etc. + +### Project night emcee - Ned + +A project night needs a little emceeing at the start: welcome people, explain how project night works, encourage people to announce what they are working on, introduce the sponsor, etc. + +### Give-away give-awayer + +On nights when we give away things, it helps to have someone at the front of the room to help people choose their prize. + +## Other projects + +### Workshop monarch + +Resuscitate the Boston Python workshop. Workshops have been held on Friday nights and all-day Saturday for larger teaching tasks. + +### Mentoring monarch + +ChiPy has a well-regarded mentoring program. Should we try to replicate it? diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/hosting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/hosting.md new file mode 100644 index 0000000..bb88560 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/hosting.md @@ -0,0 +1,28 @@ +--- +title: Hosting +sidebar_link: true +sidebar_sort_order: 540 +--- + +Boston Python is always looking for new venues. Hosting Boston Python can be a good way to introduce people to your company, and is a great way to contribute back to the community. + +Here are some things to consider: + +- Seats: we generally need to accommodate at least 100 people, ideally more. Will there be mingling space as well as sitting space? If it's a project night, is there table space? Can people aggregate flexibly? +- Food: is there a spot to serve pizza and soda? +- Electricity: are there outlets available? +- Climate: will your heating/cooling still be running during the evening? +- Projector: For a presentation night, we need a way to show presentations. Is there a projector? Will everyone be able to see the screen? Is the screen large enough? What resolution is the projector? Will a speaker be able to operate their computer while it is projecting and still stand in front of the listeners? +- Microphone: will the speaker need a microphone? Is one available? Is it hand-held or lapel? +- Wi-fi: Will there be wi-fi visitors can use? Is there a code, if so, what is it? +- After-hours staff: will there be (for example) cleaning crews that won't expect us there? Let them know. Maybe they need to adjust their schedule? +- Bathrooms: Can people get to the bathrooms? Will they get lost or locked out if they do? +- Security: Can members get into the building easily? Does the front desk want a list of attendees? Can they deal with ad-hoc people showing up that aren't on the list? Can they quickly admit 100 visitors? +- Legal: do you have legal requirements for visitors, for example, an NDA? Please consider whether this is the right tone you want to set for guests at an event open to the public. +- Directions: How do we tell members how to get there? Are there good instructions available? +- Parking: Is there parking nearby? What does it cost? Are there options? +- Public Transportation: Can people get there without a car? + +We can work with most situations, but it's good to know the details beforehand. + +If you'd like to host a Boston Python event, send an email to . Thanks! diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/index.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/index.md new file mode 100644 index 0000000..d4b7fd8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/index.md @@ -0,0 +1,43 @@ +--- +title: Home +--- + +Boston Python is a large and vibrant Python user group in the Boston area. We +run [a number of kinds of events](events.md). Anyone interested in any aspect of the +Python world is welcome! + +## 🎯 Next Events + +### 🌟 Summer Meetup - Kendall Rooftop Garden +**📅 Wednesday, August 27th @ 6:30 PM** +**📍 Kendall Rooftop Garden** + +Thanks to your enthusiastic responses, our casual summer meetup is happening! A relaxed evening to connect with fellow members of the Boston Python community. Whether you're new to Python or a seasoned dev, come hang out, chat, and enjoy the view! + +Feel free to bring a friend and spread the word. We're looking forward to seeing you there! 🌅 + +--- + +We use [Slack](slack.md) for online discussions. + +All of our interactions are covered by our [code of conduct](code-of-conduct.md). + +If you are an employer, you can [announce jobs](jobs.md) and even +[sponsor](sponsorship.md) or [host](hosting.md) events. + +We appreciate [our sponsors](our_sponsors.md)! Learn more about the organizations +that support us. + +## 🤝 Connect With Us + +Other ways to connect with Boston Python people: + +[![Meetup](assets/images/meetup_logo.png){: .left-icon}Meetup](https://www.meetup.com/bostonpython/) + +[![LinkedIn](assets/images/LI-In-Bug.png){: .left-icon}LinkedIn group](https://www.linkedin.com/groups/12301683/) + +[![Slack](assets/images/Slack_Mark_Web.png){: .left-icon}Slack](slack) + +[![YouTube](assets/images/youtube_social_icon_white.png){: .left-icon}YouTube](https://www.youtube.com/user/bostonpython/videos) + +[![Email](assets/images/email.png){: .left-icon}Email the leaders](contact) diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/jobs.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/jobs.md new file mode 100644 index 0000000..77eba14 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/jobs.md @@ -0,0 +1,45 @@ +--- +title: Posting Jobs +sidebar_link: true +sidebar_sort_order: 500 +--- + +The Boston Python group is focused on building a community in the Boston area among Python people. We welcome job postings of interest to members of the community. Such postings can be sent to our mailing list, posted to our Slack workspace, or both. + +You can see previous job postings in the [Meetup mailing list archive](https://www.meetup.com/bostonpython/messages/archive/). + +In order to ensure that job announcements are relevant and useful to the community and produce good responses, there are four requirements for any job posting: + +- The job must significantly involve Python. For example, more than half of the work is in Python. +- The job must be available to someone living in the Boston area. Either it's in the Boston area, or remote is OK. +- The name of the hiring firm must be clearly provided. No mystery firms hidden behind a hiring agency. +- For postings sent to the mailing list, the subject line must include "[Job]" to help people filter messages. For example, your subject line could look like this: + ``` + [Job] Junior engineer at Initech + ``` + +If your job posting meets these simple rules, feel free to send it to the mailing list at [python-181@meetup.com](mailto:python-181@meetup.com) or post it to the [#jobs channel in Slack][slack]. Messages sent to the mailing list are moderated and may take a few hours to go out. Messages posted to Slack are subject to after-the-fact moderation. + +Some suggestions/requests: + +- Don't re-post announcements too often: you will wear out peoples' attention. Six months is a good interval for repeated posts. +- When sending to the mailing list, don't use attachments. Most people won't open them anyway. +- Include an email address for people to respond. +- If you have questions about the format of job postings, take a look at the [previous messages to the list][message-archive]. +- Don't post jobs elseware on Boston Python, for example as event comments. + +If your email message doesn't go through, here are some things to check: + +- You must be a member of the [Boston Python group on Meetup](https://www.meetup.com/bostonpython/). +- Be sure to send your message from the email address you used when signing up for Meetup.com. +- Some people have reported that you have to visit your Meetup settings and elect to receive updates from the mailing list. + + +By the way: if your job posting succeeds, please consider making a [donation to the group][donate]. + +We don't have a general time during face-to-face events for job announcements. There would be too many to be effective. [Sponsors](sponsorship.md) get time when they can talk about their job openings if they wish. + +[email]: mailto:python-181@meetup.com +[slack]: slack.md +[message-archive]: https://www.meetup.com/bostonpython/messages/archive/ +[donate]: http://donate.bostonpython.com/ diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/lightning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/lightning.md new file mode 100644 index 0000000..c6d967a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/lightning.md @@ -0,0 +1,50 @@ +--- +title: Lightning Talks +--- + +Lightning talks are 5-10 minutes long, on any topic of interest to other Python people. It doesn't have to be about something that you wrote, it can be something that you learned, or a technique you think other people will be interested in. + +* You know that thing at work that everyone comes to you for help with? **Talk about that!** + +* You know that thing you just learned that helped you out? **Talk about that!** + +* You know that thing you always wish you understood, but haven't figured out yet? Learn it, then **talk about that!** + +* Other ideas: + - How I contributed to open source + - My best mistake + - How I learned to do X in Python + - This One Weird Python Trick + +Things people say when they think they can't do a lightning talk: + +* *"Everyone already knows THING_X"* + - No, they don't. + - They think they do, but they still have more to learn. + - Even if they do, they will be interested to hear another person's explanation. + +* *"I'm not an expert at anything"* + - You know more than you think you do. + - You don't have to be an expert, you just have to be interested enough to talk for 5 minutes. + - People like hearing from peers. Beginners can do a talk. + +* *"My topic has been done before"* + - Everything has already been done, you will do it your way. + - New people haven't heard it before. + - When Google started, people wondered why we needed another search engine. + +* *"It's scary talking in front of people"* + - Yes, but you will feel really accomplished when you've done it. + - Boston Python is super-friendly and is always welcoming of new speakers. + - Everyone is nervous speaking in public, even people you think wouldn't be nervous. + +* *"I have an idea but it's no good"* + - It's a better idea than you think. + - Send me the idea, we'll tweak it up. + - Are there really any bad ideas for lightning talks? :) + +**Seriously**: anyone can do a lightning talk. + +If you need more encouragement, watch this lightning talk about brewing tea (hint: it's not really about brewing tea): + +[![Brewing you're tea](http://img.youtube.com/vi/XJm69BZU7ho/0.jpg)](http://www.youtube.com/watch?v=XJm69BZU7ho "Brewing you're tea") diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/merch.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/merch.md new file mode 100644 index 0000000..8e92400 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/merch.md @@ -0,0 +1,17 @@ +--- +title: Merch +sidebar_link: true +sidebar_sort_order: 450 +--- + +Buy some stuff! The money helps support Boston Python. + +## Snake Way for Ducklings + +These shirts look great, and Boston people love the humor based on [Boston's +beloved ducklings][sculpture]. When you are not in Boston, you get to explain +the joke! + +[![Snake Way for Ducklings T-Shirt](assets/images/swfd-shirt.jpg)](https://nedbat.threadless.com/designs/snake-way-for-ducklings) + +[sculpture]: https://en.wikipedia.org/wiki/Make_Way_for_Ducklings#Cultural_effects diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/officehour.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/officehour.md new file mode 100644 index 0000000..3a871ab --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/officehour.md @@ -0,0 +1,16 @@ +--- +title: Office Hour +redirect_from: + - /officehours +sidebar_link: true +sidebar_sort_order: 250 +--- + +Boston Python holds a weekly Zoom office hour on Mondays at noon. + +This is an unstructured time to drop in to ask questions or just chat. There is no set topic, anything goes: Python, Boston Python, specialized technical topics, adjacent technologies, it's all good. Any expertise level is fine! + +The office hour happens on Zoom. The [event page on Meetup](https://www.meetup.com/bostonpython/events) has the link. Questions and topics can be added in the [#office-hour][office-hour-channel] channel in our [Slack workspace][slack]. See you there! + +[office-hour-channel]: https://bostonpython.slack.com/archives/C02V2C7U3D3 +[slack]: slack.md diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/our_sponsors.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/our_sponsors.md new file mode 100644 index 0000000..80955fc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/our_sponsors.md @@ -0,0 +1,29 @@ +--- +title: Our Hosts and Sponsors +--- + +Boston Python would not be able to put on the events that we do without the help +of our sponsors and event hosts. Our sponsors provide us with donations to pay +for refreshments at in-person events and other expenses, and our event hosts +provide space for us to meet. Below we list some of the many organizations that +have supported us over the last two decades. + +## Long-term Sponsors + +| ![Planet Technology Logo](./assets/images/sponsors/PlanetTechnology.png)| [Planet Technology](https://planet-technology.com/) is a continuing sponsor.| +|![Microsoft Logo](./assets/images/sponsors/MSFT_Logo_2.png)|The Microsoft NERD Center is a long-time regular event host| +|![DataDog Logo](./assets/images/sponsors/DataDog.jpeg) | [DataDog](https://www.datadoghq.com/) is a regular event host and sponsor| + + +## Past Sponsors + +|![Vinta Logo](./assets/images/sponsors/Vinta.jpeg) | [Vinta](https://www.vinta.com.br/) | +|![Cambridge Mobile Telematics](./assets/images/sponsors/CMT.jpeg) | [Cambridge Mobile Telematics](https://www.cmtelematics.com/)| +|![Temporal Logo](./assets/images/sponsors/Temporal.jpeg)|[Temporal](https://temporal.io/)| + + + + +If you would like to see your organization listed here, visit our +[sponsorship page](sponsorship.md) or [hosting page](hosting.md) to learn more +about sponsorship and hosting. diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070523-the-cambridge-python-may-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070523-the-cambridge-python-may-meetup.md new file mode 100644 index 0000000..4e1d707 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070523-the-cambridge-python-may-meetup.md @@ -0,0 +1,28 @@ +--- +title: The Cambridge Python May Meetup +sidebar_link: false +--- + +May 23, 2007 + + +Needs a location + +    + +(PLEASE NOTE DATE CHANGE. Sorry for the inconvenience. See details below.) + +Why did you choose Python? + +Developers and their companies are using Python to do all kinds of tasks. From utilities to ERP systems. Why are they choosing Python over Java, C++ and other proven enterprise 3 and 4gls? + +At this meeting we'll all get a chance to meet each other, learn why we've made this choice and what we've learned in the process. + +To kick off the meeting, I have asked George Lambert of Goldenware Travel to explain why his company has switched to Python and the benefits and challenges they are seeing. + +The meeting will be held at my office in Somerville. We currently have 7 RSVP's and 10 "Maybe's". Of course that may change with the date change. + + +Meetup link: [https://www.meetup.com/bostonpython/events/5643943/](https://www.meetup.com/bostonpython/events/5643943/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070620-the-cambridge-python-june-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070620-the-cambridge-python-june-meetup.md new file mode 100644 index 0000000..8e4ad1e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070620-the-cambridge-python-june-meetup.md @@ -0,0 +1,44 @@ +--- +title: The Cambridge Python June Meetup +sidebar_link: false +--- + +June 20, 2007 + + +Needs a location + +    + +Members, Python Newbies and Certified Snake Charmers, + +Hope you can all make it to the next Python Meetup. This is a busy month for those of us interested in Python. So for those that can't make some of the events scheduled (pythoncalendar.inav2.com) we hope to review some of the events highlights. + +This month's agenda: News and Events, Lighting Talks, General Discussion + +News and Events: + +Event/Overview/Event Info +Django June / P. Marquez / (DjangoJune.inav2.com) +Mass TLC: / Speaker? / (Masstlc.inav2.com) +WebCamp Boston / Speaker? / (WebCampBoston.inav2.com) + +Lighting Talks +1: George Lambert, Goldenware Technology +2: Mike Pittaro, SnapLogic open source data integration Project implemented in 100% Python + +General +Open Discussion + +Please let us know if you'd like to speak on one of these current events or do a Lighting Talk on a current project, technical problem, solution or innovation. + +Look forward to seeing you all. We will confirm at this meeting whether we want Google (in the form of an engineer and a recruiter) to come speak to us or not. + +Drop me a line if you have any questions or suggestions. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/5811659/](https://www.meetup.com/bostonpython/events/5811659/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070718-the-cambridge-python-july-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070718-the-cambridge-python-july-meetup.md new file mode 100644 index 0000000..b15bbea --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070718-the-cambridge-python-july-meetup.md @@ -0,0 +1,37 @@ +--- +title: The Cambridge Python July Meetup +sidebar_link: false +--- + +July 18, 2007 + + +Needs a location + +    + +Members, Python Newbies, Certified Snake Charmers and this month Ruby-Lovers! + +Hope you can all make it to the next Python Meetup when Special Guest Chris Bowen from Microsoft will talk about Python's role in Microsoft's SilverLight. + +Silverlight aims to compete with Adobe Flash and the presentation components of Ajax. It supports Python and Ruby so this would be a good session for all those Ruby-lovers out there. + +If you'd like to learn more about Silverlight before the meeting check out these links to voidspace techie blog and Wikipedia for more info. + +http://en.wikipedia.o... (http://en.wikipedia.org/wiki/Microsoft_Silverlight) +http://www.voidspace.... (http://www.voidspace.org.uk/python/weblog/arch_d7_2007_04_28.shtml) + +This month's agenda: News and Events, Microsoft Silverlight, General Discussion + +Please let us know if you'd like to do a Lighting Talk on a current project, technical problem, solution or innovation at a future meeting. + +Look forward to seeing you all. + +Drop me a line if you have any questions or suggestions. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/5915248/](https://www.meetup.com/bostonpython/events/5915248/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070815-the-cambridge-python-august-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070815-the-cambridge-python-august-meetup.md new file mode 100644 index 0000000..7044954 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070815-the-cambridge-python-august-meetup.md @@ -0,0 +1,36 @@ +--- +title: The Cambridge Python August Meetup +sidebar_link: false +--- + +August 15, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +Data access is usually where the rubber meets the road. This Meetup will focus who we get data in and out of Python applications. + +Be prepared to discuss you best and worst experiences -- querying minds want to know. + +In keeping with our discussion, the feature presentation is on STORM. + +What is Storm? + +Storm is an object-relational mapper (ORM) for Python developed at Canonical. The project has been in development for more than a year for use in Canonical projects such as Launchpad, and has recently been released as an open-source product. + +Christopher Armstrong of Canonical will walk us through this open source project. Sometimes called the International Man of Twistery, Christopher is also involved in the Twisted project. This should be a great presentation. + +Drop me a line if you have any questions. + +Best Regards! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6044211/](https://www.meetup.com/bostonpython/events/6044211/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070919-the-cambridge-python-september-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070919-the-cambridge-python-september-meetup.md new file mode 100644 index 0000000..08956dd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20070919-the-cambridge-python-september-meetup.md @@ -0,0 +1,32 @@ +--- +title: The Cambridge Python September Meetup +sidebar_link: false +--- + +September 19, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This session should be of interest to experienced developers, those new to Python and those trying to introduce it in the work place. We will have a presentation from John Ehresman and Stephan Deibel of Wingware. + +Wing IDE, Wingware's Python integrated development environment, will be the focus of our discussion. The session will start with a 10-15 minute intro, another 10-15 minutes to talk about how Wing is developed, and the rest as Q&A. + +This is a great chance to get your hands wet, so go to Wingware.com and download Wing 3.0 beta before the session and build something. John and Stephan will help you with any questions you may have about installing and using the tool. + +Wingware was founded in 1999 as Archaeopteryx Software, Inc by John Ehresman and Stephan Deibel. The first version of Wing came out in September 2000. Wing now runs on Windows, Linux, and OS X, supports Python 1.5.2 through 2.5, and provides many editing, debugging, and testing features for the Python programmer. It is written in Python, uses the PyGTK GUI library, and is developed and debugged with itself. + +Perhaps an IDE is just what you need to evangelize your company or maybe you just want to ask John and Stephan how they built Wing in itself. In any case it should be a great presentation. + +Drinks and pizza will be served -- thanks for the donations -- again. Last time it seemed to work well after the presentation. What do you all think? Let us know. + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6187888/](https://www.meetup.com/bostonpython/events/6187888/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071017-the-cambridge-python-october-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071017-the-cambridge-python-october-meetup.md new file mode 100644 index 0000000..006d6d5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071017-the-cambridge-python-october-meetup.md @@ -0,0 +1,35 @@ +--- +title: The Cambridge Python October Meetup +sidebar_link: false +--- + +October 17, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This is your chance to shine. You are the star of the October Python Meetup, when we have the first Cambridge Python Lab -- workshop. + +The Lab and the problem in it were inspired by and excerpted from "Core Python +Programming. The Python challenges range in complexity (from easy to challenging) and each one has multiple potential solutions. + +The challenges can be solve with brute force computing, a complex AST, or even a database solution. So it is up to you and the skills of those on your team -- because our focus is on learning from each other. We'll discuss sample solutions and discuss each solutions tradeoffs or 'issues.' + +Doug Napoleone and George Lambert proposed this to the present membership last month and everyone agreed -- just before we headed over to the Independent for beers. (Hmm.) + +So bring a laptop and your thinking caps. We'll have teams of 4-5 working on one portable. We'll see if we can distribute the material before hand if possible. + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6391989/](https://www.meetup.com/bostonpython/events/6391989/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071121-the-cambridge-python-november-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071121-the-cambridge-python-november-meetup.md new file mode 100644 index 0000000..2887bc2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071121-the-cambridge-python-november-meetup.md @@ -0,0 +1,30 @@ +--- +title: The Cambridge Python November Meetup +sidebar_link: false +--- + +November 21, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +This month we explore Mod_Python in a workshop setting. + +Mod_python is an Apache module that embeds the Python interpreter within the Apache server. With mod_python you can write web-based applications in Python that will run many times faster than traditional CGI. Application built with Mod_Python have access to advanced features such as: access to Apache internals and the ability to retain database connections and other data between requests. + +This Meetup will be a useful hands on working introduction to Mod_Python led by George Lambert, with contributions from each of you. + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6569551/](https://www.meetup.com/bostonpython/events/6569551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071219-the-cambridge-python-december-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071219-the-cambridge-python-december-meetup.md new file mode 100644 index 0000000..8c511d8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20071219-the-cambridge-python-december-meetup.md @@ -0,0 +1,53 @@ +--- +title: The Cambridge Python December Meetup +sidebar_link: false +--- + +December 19, 2007 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, we'd like to welcome all of the new members! The quality of this group is astounding -- and it just gets better. Newbies, all of your contributions and questions are welcomed. + +This month we will conduct a Design-Review session where one of our members presents a project they are working on. We will then explore 3 challenges presented by the project and asks for your thoughts and comments. The idea is that as a group we will explore the impact of design choices made during Python development -- while identifying the strengths and weaknesses of other options. + +This month we will focus on a gaming project called Mekanimo with Python Meet-up member Fahri Basegmez. Mekanimo uses Python and wxPython to create the gaming engine (middleware) and development environment that controls visual elements -- including a real world physics engine! But I'll quote Fahri below to explain more. + +Mekanimo's project goals include, + +"Introducing science and technology to people, especially young ones, in a fun environment. It aims to be a powerful and entertaining learning environment for topics as diverse as introduction to computer programming, physics, feedback systems, robotics, mechanical linkages and mechanisms, etc. + +Due to combination of smart objects, real time sound synthesis, programmability and provided libraries this tool can also be used to create games, puzzles, mechanical simulations, and multimedia presentations. + +Since it seems to be everybody's favorite subject I will be focusing on the game creation and introduction to programming aspects of the application during my introduction instead of more technical issues like mechanical simulations and robotics. " + +The 3 technical aspects we will review are: + +1 - Naming conventions: Not getting the in the developers way when building a development tool with Python and wxPython. +At first glance this seems like a trivial problem but it is a big issue because of the underlying layers of Mekanimo and wxPython. Considering that this application will be programmed by its users, a consistent naming convention is a must. + +2 - Smart objects: Event-Driven Programming with Python and wxPython. +These are Mekanimo objects with user defined behaviors. wxPython already has a mechanism to bind events to objects. How do we mix Mekanimo objects with wxPython objects seamlessly? + +3 - User interface and application layout details. +We all know this is a killer. Looking at the same interface for a long time it is easy to miss sharp corners. So we'll provide fresh eyes for Fahri and an outsiders' perspective to spot the obvious problems. + +We'll try our best to get through all of these in one session, but if we go deep in one or another that would be fine too. + +I hope you are all as intrigued by this session as I am. Spread the word! + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter + + +Meetup link: [https://www.meetup.com/bostonpython/events/6785407/](https://www.meetup.com/bostonpython/events/6785407/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080116-the-cambridge-python-january-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080116-the-cambridge-python-january-meetup.md new file mode 100644 index 0000000..cfe1310 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080116-the-cambridge-python-january-meetup.md @@ -0,0 +1,38 @@ +--- +title: The Cambridge Python January Meetup +sidebar_link: false +--- + +January 16, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, we'd like to welcome all of the new members! Secondly, sorry for the late posting for this month's subject -- Pylons! Thanks to Ches Martin for volunteering to lead this session. Here is his description: + +An Overview of Pylons: +A rapid-development framework for web applications, embracing WSGI + +Pylons is a highly flexible, extensible MVC-style web framework that builds heavily on established, best-of-breed libraries for optimal code reuse and strength of individual stack components. It is also very forward-thinking in design, tightly integrating technologies like WSGI and setup tools that many consider to be the future of Python web development. Pylons has also been selected as the basis of Turbogears 2.0, promising increased adoption and even more active development. + +Perhaps the biggest challenge that Pylons presents to the new developer is diving in: the flexibility afforded by using existing libraries makes it difficult to know where to begin, and which components are responsible for different aspects of your applications. This presentation will offer a broad overview of the components that make up Pylons, how they interoperate, and how you might swap out some -- such as object-relational mapper or templating engine -- for ones of your choosing. We'll also briefly discuss WSGI, the concept of middleware, and practical concerns such as deployment. Finally, we'll look at a small sample application, and propose additional topics if time allows, such as facilities Pylons provides for conveniently building REST and XML-RPC web services. + +Often considered a "hackers' framework," you'll see that Pylons provides nearly all of the conveniences of other "full stack" frameworks, including sessions management, caching and form validation. We'll explore some of the luxuries and challenges you'll face in Pylons development today, as well as forthcoming features and clean-up as the framework moves toward 1.0. Hopefully you'll leave equipped to jump into experimenting with Pylons, without first spending days getting acquainted. + +Thanks again to Ches! + +As usual, drinks and pizza will be served -- thanks for the donations they go to the cost of food and the use of Meetup. + +Thanks! + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/6941751/](https://www.meetup.com/bostonpython/events/6941751/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080220-the-cambridge-python-february-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080220-the-cambridge-python-february-meetup.md new file mode 100644 index 0000000..861502b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080220-the-cambridge-python-february-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python February Meetup +sidebar_link: false +--- + +February 20, 2008 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/7132704/](https://www.meetup.com/bostonpython/events/7132704/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080319-the-cambridge-python-march-meeting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080319-the-cambridge-python-march-meeting.md new file mode 100644 index 0000000..546a37d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080319-the-cambridge-python-march-meeting.md @@ -0,0 +1,55 @@ +--- +title: The Cambridge Python March Meeting +sidebar_link: false +--- + +March 19, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +First, welcome back! After a February hiatus we are ready for our next Meet-up. This month we will for the first time conduct Python POWERPOINT KARAOKE. + +So you have heard of Karaoke - when you sing along to the soundtrack of pop songs. The idea behind PowerPoint Karaoke is similar. Presenters present, but to slides they have never seen before. + +We will conduct two 35 minute sessions. In the first we will use an Intro to Python presentation. It will be presented in some sort of order that will make sense to people new to Python. This is a easy way to get familiar with Powerpoint Karaoke. + +After a break, in the second session we will use a randomizer tool that will grab open source PPTs from the web, so presenters will really be challenged and surprised by the Python presentation slides that have to present. + +So all we need are volunteers to sign up to be at bat for 5 minutes. + +Here is how it works. + +1. I will be in charge of matching the presentations, calling speakers and keeping time. + +2. Presenters sign up on the list and come to the stage when their name is called. + +3. A presentation is put up on screen. The presenter DOES NOT get to look at it prior to it being projected on screen. + +4. The timer goes off and the presenter starts giving the presentation. You're pretending this is your presentation and trying to actually give it, not necessarily make fun of it, or just blast your way through it. Take your time and read the slides as if you really want to communicate the information. Most of the time, the presentations give you plenty of stuff to work with, so be sure to ham it up and go off on tangents. + +5. Presenter continues presenting for 5 minutes (or until you run out of slides or decide you've had enough) + +6. Audience applauds. + +7. Next victim arrives on stage... + +So are you game! Send me an email or mention it in your RSVP if you are willing to join in the fun. We need you all-knowing Pythoners! + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7374450/](https://www.meetup.com/bostonpython/events/7374450/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080423-the-cambridge-python-april-meeting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080423-the-cambridge-python-april-meeting.md new file mode 100644 index 0000000..29346cd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080423-the-cambridge-python-april-meeting.md @@ -0,0 +1,33 @@ +--- +title: The Cambridge Python April Meeting +sidebar_link: false +--- + +April 23, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +April showers bring May flowers. We're going to give our flowers a little more time to blossom. So this months meeting is pushed back a week and now schedule for Wednesday April 23. (Business trip.) + +On that date, Python Meetup member "flajann" (Fred) will walk us through his "TinyURL" clone built entirely in Python. + +Fred's app will provide us with an opportunity to discuss and ask questions about developing Python applications and logic that interact with web servers. + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7566266/](https://www.meetup.com/bostonpython/events/7566266/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080521-the-cambridge-python-may-meeting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080521-the-cambridge-python-may-meeting.md new file mode 100644 index 0000000..05eef68 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080521-the-cambridge-python-may-meeting.md @@ -0,0 +1,35 @@ +--- +title: The Cambridge Python May Meeting +sidebar_link: false +--- + +May 21, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Google App Engine is making news for Python these days. The Google Doc API also supports Python. (It is even being used by some of our members.) Google's commitment to Python makes it applications implementation and API's worth taking a look at. + +At this session we will watch the Google App Engine demo together. We will stop the MPG to discuss and ask questions. (If anyone has any experience with App Engine we won't hold it against them.) + +Pizza and soda will be served. Donations are appreciated as usual to pay for Meetup and the food. + +Note: As it gets hotter we may take a summer recess, being that there is not AC in the gallery. So unless we get a great speaker for next month, or another location we may have our next meeting in September. + +Thoughts? + +Thanks! + +Peter +617 620 3071 Cell + +If you are new to this Meetup drop me an email for directions. + + +Meetup link: [https://www.meetup.com/bostonpython/events/7799559/](https://www.meetup.com/bostonpython/events/7799559/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080618-the-cambridge-python-june-meeting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080618-the-cambridge-python-june-meeting.md new file mode 100644 index 0000000..5f75ca8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080618-the-cambridge-python-june-meeting.md @@ -0,0 +1,31 @@ +--- +title: The Cambridge Python June Meeting +sidebar_link: false +--- + +June 18, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Due to popular demand we a not going on hiatus just yet. + +Topic: Follow-up to our last meeting on GAE + +1: Brian -- Brief intro to Google App Engine and show the basics of GAE Django Helper +2: Nate -- Pylons working on GAE +3: PK Shiu -- From J2EE to Django a Python Perspective + +Thanks to all of the active members and supports. + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/7987640/](https://www.meetup.com/bostonpython/events/7987640/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080716-the-cambridge-python-july-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080716-the-cambridge-python-july-meetup.md new file mode 100644 index 0000000..6e5d141 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080716-the-cambridge-python-july-meetup.md @@ -0,0 +1,31 @@ +--- +title: The Cambridge Python July Meetup +sidebar_link: false +--- + +July 16, 2008 + + +Needs a location + +    + +Fellow Snake Charmers, + +Due to popular demand we a not going on hiatus just yet. + +Topic: Follow-up to our last meeting on GAE + +1: Brian -- Brief intro to Google App Engine and show the basics of GAE Django Helper +2: Nate -- Pylons working on GAE +3: PK Shiu -- From J2EE to Django a Python Perspective + +Thanks to all of the active members and supports. + +Peter +617 620 3071 Cell + + +Meetup link: [https://www.meetup.com/bostonpython/events/8169446/](https://www.meetup.com/bostonpython/events/8169446/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080917-the-cambridge-python-august-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080917-the-cambridge-python-august-meetup.md new file mode 100644 index 0000000..587b6b8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20080917-the-cambridge-python-august-meetup.md @@ -0,0 +1,23 @@ +--- +title: The Cambridge Python August Meetup +sidebar_link: false +--- + +September 17, 2008 + + +Needs a location + +    + +Tentative agenda: + +1) Intro's for new members +2) Django/Python unitTesting with PK Shiu +3) General Python discussion next topics +4) Optional Food & Drink afterwards in Central Square + + +Meetup link: [https://www.meetup.com/bostonpython/events/8354869/](https://www.meetup.com/bostonpython/events/8354869/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081015-the-cambridge-python-october-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081015-the-cambridge-python-october-meetup.md new file mode 100644 index 0000000..27a30de --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081015-the-cambridge-python-october-meetup.md @@ -0,0 +1,33 @@ +--- +title: The Cambridge Python October Meetup +sidebar_link: false +--- + +October 15, 2008 + + +Needs a location + +    + +Follow Snake Charmers, + +October's Meetup will consist of two sessions. The first is the "Pimp My Code" Challenge. Peter Beardsley has volunteered to provide some code for everyone to review and improve -- aka "Pimp." Keep an eye out for Peter's code on the mail list then get to work adding headrest LCD's and a hot tub in the truck. We can't wait to see your suggestions. + +In the second half, George Lambert will present a session we are calling "Werkzeug: Less than a Framework, more than a Toolkit." It will provide an introduction to Werkzeug, one of the most advanced WSGI utility modules. + +Thanks to Peter and George -- and to each of you that help make this such a great community. + +Peter M. + +Agenda + +1) Intro's for new members +2) "Pimp My Code" Challenge from Peter Beardsley +3) Python presentation with George Lambert +4) Optional Food & Drink afterwards in Central Square + + +Meetup link: [https://www.meetup.com/bostonpython/events/8779253/](https://www.meetup.com/bostonpython/events/8779253/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081119-the-cambridge-python-november-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081119-the-cambridge-python-november-meetup.md new file mode 100644 index 0000000..2af84dc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081119-the-cambridge-python-november-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python November Meetup +sidebar_link: false +--- + +November 19, 2008 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/8970018/](https://www.meetup.com/bostonpython/events/8970018/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081120-python-november-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081120-python-november-meetup.md new file mode 100644 index 0000000..08d9c0d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20081120-python-november-meetup.md @@ -0,0 +1,12 @@ +--- +title: Python November Meetup +sidebar_link: false +--- + +November 20, 2008 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/9113014/](https://www.meetup.com/bostonpython/events/9113014/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090121-cambridge-python-january-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090121-cambridge-python-january-meetup.md new file mode 100644 index 0000000..4488d02 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090121-cambridge-python-january-meetup.md @@ -0,0 +1,24 @@ +--- +title: Cambridge Python January Meetup +sidebar_link: false +--- + +January 21, 2009 + + +Needs a location + +    + +Alexander Fairley will be presenting Fabric (http://www.nongnu.org/fab/), a simple pythonic remote deployment tool. It is designed to upload files to, and run shell commands on, a number of servers in parallel or serially. These commands are grouped in tasks (regular python functions) and specified in a 'fabfile.' + +It is a bit like a dumbed down Capistrano (http://www.capify.org/), except it's in Python, doesn't expect you to be deploying Rails applications, and the 'put' command works. + +Unlike Capistrano, Fabric wants to stay small, light, easy to change and not bound to any specific framework. + +Alexander says, "I've been using fabric to deploy a rather large and wizened codebase to a datacenter in Beijing, as well as ease a great many configuration issues. I'll present my experience with Fabric 0.0.9, as well as what I think the strengths and weaknesses of it are as compared to ParallelSSH." + + +Meetup link: [https://www.meetup.com/bostonpython/events/9266630/](https://www.meetup.com/bostonpython/events/9266630/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090218-the-cambridge-python-february-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090218-the-cambridge-python-february-meetup.md new file mode 100644 index 0000000..7fc407a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090218-the-cambridge-python-february-meetup.md @@ -0,0 +1,26 @@ +--- +title: The Cambridge Python February Meetup +sidebar_link: false +--- + +February 18, 2009 + + +Needs a location + +    + +Topic: "A Whirlwind Excursion through Python C Extensions" + +If you've never explored the Python C API, now's your chance to journey there safely. In 45 minutes, Ned Batchelder will cover the tools and techniques of writing C code to execute inside the Python interpreter. The terrain may be challenging, but we guarantee you will return unscathed. + +This is a preview of a Pycon 2009 presentation. + +Afterwards we will invite folks to give lightning talks (5 min or less presentations) on topics that are interested in sharing with the group. + +We can go to a local watering hole after the meetup for further discussion and socializing. + + +Meetup link: [https://www.meetup.com/bostonpython/events/9577198/](https://www.meetup.com/bostonpython/events/9577198/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md new file mode 100644 index 0000000..b227188 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md @@ -0,0 +1,32 @@ +--- +title: The Cambridge Python March Meetup - Pycon on the Charles +sidebar_link: false +--- + +March 18, 2009 + + +Needs a location + +    + +Pycon on the Charles + +Pycon 2009 is happening in Chicago, March 27-29. If you can't be there, we'll bring three speakers to you! + +On March 18, three Boston-area Pycon speakers will preview their talks at the Python Meetup. To fit it all in, we're going to start just a little early. + +Please note the earlier start time of 6:30. + +Presenters: + +Jack Diederich: Class Decorators: Radically Simple (http://us.pycon.org/2009/conference/schedule/event/55/) +Jesse Noller: Concurrency and Distributed Computing with Python Today (http://us.pycon.org/2009/conference/schedule/event/69/) +Owen Taylor: Reinteract: a better way to interact with Python (http://us.pycon.org/2009/conference/schedule/event/23/) + +It should be a really fun and informative evening, maybe even with snacks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/9772106/](https://www.meetup.com/bostonpython/events/9772106/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090415-the-cambridge-python-april-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090415-the-cambridge-python-april-meetup.md new file mode 100644 index 0000000..6b9e056 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090415-the-cambridge-python-april-meetup.md @@ -0,0 +1,22 @@ +--- +title: The Cambridge Python April Meetup +sidebar_link: false +--- + +April 15, 2009 + + +Needs a location + +    + +Matthew Page-Lieberman will talk about: + +Pyjamas - a port to Python of the Google Web Toolkit for easy creation of AJAX applications. + +(sorry for the late notice!) + + +Meetup link: [https://www.meetup.com/bostonpython/events/9984098/](https://www.meetup.com/bostonpython/events/9984098/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090520-the-cambridge-python-may-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090520-the-cambridge-python-may-meetup.md new file mode 100644 index 0000000..03e8bf5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090520-the-cambridge-python-may-meetup.md @@ -0,0 +1,27 @@ +--- +title: The Cambridge Python May Meetup +sidebar_link: false +--- + +May 20, 2009 + + +Needs a location + +    + +For May, Fahri Basegmez, author of Mekanimo (http://www.mekanimo.net/) will present to us: + +Extending GUI-based Applications with Python scripting / Interpreter. + +wx.py package in general +wx.py.shell in more detail +namespaces +wxPython's pubsub (publish - subscribe) messaging system +some examples of how different components of Mekanimo (object tree, code editor, interpreter, and canvas) communicate by using namespaces and pubsub +QA and open discussion + + +Meetup link: [https://www.meetup.com/bostonpython/events/10194352/](https://www.meetup.com/bostonpython/events/10194352/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-june-cambridge-python-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-june-cambridge-python-meetup.md new file mode 100644 index 0000000..e07b86a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-june-cambridge-python-meetup.md @@ -0,0 +1,26 @@ +--- +title: June Cambridge Python meetup +sidebar_link: false +--- + +June 17, 2009 + + +Needs a location + +    + +For June, we don't have a formal presentation, but someone suggested delving into the details of how Python software is packaged and distributed. I can show how I've done things, but there's stuff I don't know, so it'll be a collaborative exploration entitled: + +** I'll Show You My Package If You'll Show Me Yours ** + +If you've been confused by setup.py, setuptools, distutils, easy_install, eggs, pip, pypi, and so on, come and see at least part of it de-mystified. + +On the other hand, if you know what any of these things are, then come and help educate the rest of us! + +We'll be at Betahouse in Central Square. Remember, cheap plentiful parking is just around the corner on at the municipal Green St. garage. + + +Meetup link: [https://www.meetup.com/bostonpython/events/10613171/](https://www.meetup.com/bostonpython/events/10613171/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-the-cambridge-python-june-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-the-cambridge-python-june-meetup.md new file mode 100644 index 0000000..eb39927 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090617-the-cambridge-python-june-meetup.md @@ -0,0 +1,14 @@ +--- +title: The Cambridge Python June Meetup +sidebar_link: false +--- + +June 17, 2009 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/10458743/](https://www.meetup.com/bostonpython/events/10458743/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md new file mode 100644 index 0000000..8663b62 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md @@ -0,0 +1,39 @@ +--- +title: The Cambridge Python July Meetup - Remote Objects with Pyro +sidebar_link: false +--- + +July 15, 2009 + + +Needs a location + +    + +Remote Objects with Pyro -- Allen Downey + +Pyro is a network communication module for Python -- it provides an +easy-to-use form of remote method invocation. In many cases you can +take existing objects and make them available for remote access with +a few lines of code. When you invoke a method on a remote object, +Pyro marshals the arguments, sends them to the remote object, then +marshals the return value (or exception) and sends it back to the caller. + +In this presentation Allen will show a few simple examples that use Pyro, +we will write a server together, and then participants will write a +client that talks to it. If possible, please bring a laptop with +Python and Pyro installed. If you use Ubuntu, you can install the +package named pyro, and optionally pyro-doc, pyro-examples and +pyro-gui. Otherwise you can get it from http://pyro.sourcefor... (http://pyro.sourceforge.net/) + +The talk will be accessible to intermediate Python programmers -- +if you are familiar with inheritance, that should do it. If you can't bring a laptop, +don't worry -- if we have one laptop for every two people, that will be plenty. + +If you have any questions about Pyro or anything you would like Allen to +cover, send him email: downey@allendowney.com + + +Meetup link: [https://www.meetup.com/bostonpython/events/10676152/](https://www.meetup.com/bostonpython/events/10676152/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md new file mode 100644 index 0000000..92a4ccf --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20090916-september-open-hack-night-cambridge-python-meetup.md @@ -0,0 +1,24 @@ +--- +title: September open hack night (Cambridge Python meetup) +sidebar_link: false +--- + +September 16, 2009 + + +Needs a location + +    + +Welcome back from summer! + +To get back into the Pythonic swing of things, we'll be having an open hack night, Wednesday 9/16. Bring a project or a problem, and get help from fellow Pythonistas. Can't get that weird module installed properly? Is threading twisting your brain in unpleasant ways? Just want a nerd-filled room to quietly work on your side project? You've come to the right place! + +Nothing to work on? No expertise (I don't believe you)? Come and watch the nerd sparks fly! Get inspired... + +We'll have some time up front for lightning talks: if you have a cool project, an idea, or even a burning question, take the mic for 5 minutes to let us know about it. + + +Meetup link: [https://www.meetup.com/bostonpython/events/11256075/](https://www.meetup.com/bostonpython/events/11256075/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md new file mode 100644 index 0000000..ad4c312 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md @@ -0,0 +1,26 @@ +--- +title: October Cambridge Python Meetup - Mobile platform with AppEngine +sidebar_link: false +--- + +October 14, 2009 + + +Needs a location + +    + +Tom Marsh will present "Designing an API for a mobile platform with AppEngine". + +Tom is a recent transplant from the UK where he was an architect on the Guardian Open Platform (http://www.guardian.c... (http://www.guardian.co.uk/open-platform)), a fascinating open API to newspaper stories at the Guardian. + +Tom's built a mobile application on the API, and will explain all the pieces: the inception and the philosophy behind the API itself; the homegrown AppEngine client API that reduces the bandwidth requirements for the mobile platform; and a little bit about the browser application. + +If you're interested in programmatic access to data, building AppEngine applications, or how to design for mobile platforms, please join us! + +We'll likely also have time for either lightning topics or free-form hacking, so bring your ideas... + + +Meetup link: [https://www.meetup.com/bostonpython/events/11528015/](https://www.meetup.com/bostonpython/events/11528015/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091118-testing-in-python-new-location.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091118-testing-in-python-new-location.md new file mode 100644 index 0000000..05cd67c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20091118-testing-in-python-new-location.md @@ -0,0 +1,23 @@ +--- +title: Testing in Python (*NEW LOCATION*) +sidebar_link: false +--- + +November 18, 2009 + + +    + +NEW LOCATION! + +For the November Python meetup, we have Tayeb Al Karim presenting about Testing in Python. Tayeb is a Software Engineer in Test at Google, and will cover a range of topics from the basics of testing your Python code, continuous builds, and how to improve testability with techniques like dependency injection. No matter what type of code you are writing, testing is a must, but many developers have doubts about how to proceed. Whether you are just test-curious or a grizzled expert, it should be an enlightening evening. + +We are meeting in a NEW LOCATION: the Microsoft New England R&D Center at One Memorial Drive, Cambridge. +We'll be in the first floor conference center. I'm told there is some parking in the building. + +DON'T FORGET: it's in a NEW LOCATION!!!!!! (have I emphasized that enough?) + + +Meetup link: [https://www.meetup.com/bostonpython/events/11824316/](https://www.meetup.com/bostonpython/events/11824316/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100120-pycon-on-the-charles-2010-part-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100120-pycon-on-the-charles-2010-part-1.md new file mode 100644 index 0000000..df86d83 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100120-pycon-on-the-charles-2010-part-1.md @@ -0,0 +1,35 @@ +--- +title: PyCon on the Charles 2010, part 1 +sidebar_link: false +--- + +January 20, 2010 + + +    + +In preparation for PyCon in Atlanta (http://us.pycon.org/2010/about/) in February, three Boston-area PyCon speakers will rehearse their talks for us. It's a full night, so we'll start promptly at 7:00. There may even be snacks! + +PS: stay tuned for three more speakers on Feb 3... + +Python for Large Astronomical Data Reduction and Analysis Systems +Francesco Pierfederici + +We describe how Python is used in a large astronomy project to automatically process data from several telescopes in both the hemispheres. We introduce the general problem and discuss challenges and lessons learned. + +Python's Dusty Corners +Jack Diederich + +The talk will be a brief overview of all the features in python that you don't need to know about right up until the moment you do. The list includes how comparisons work, descriptors, iterators, context managers, namespaces, else clauses on for/while loops (suggested by Hettinger). The narrative of the talk is that these are features that you don't need and/or shouldn't use in your day-to-day code but that you need to keep in the back of your mind because other people's code and the stdlib do use them. As Alex Martelli pointed out in his wonderful talk "Abstractions as Leverage" you can't successfully function at one level of abstraction if you don't know what is going on at the next level down. This talk is a whirlwind tour of the next level down. + +Tests and Testability +Ned Batchelder + +Testing software is difficult. Large complex systems don't lend themselves naturally to automated testing. This isn't just because they are large, it's because developers often don't consider how testable their code is. Testability is as important as all the other -ilities in your code (portability, maintainability, efficiency, etc). + +I'll discuss specific examples to demonstrate how code can be made more testable. Mocks, dependency injection, and crisp API design are just a few of the techniques that can improve your code's testability and make you a happier person. + + +Meetup link: [https://www.meetup.com/bostonpython/events/12189514/](https://www.meetup.com/bostonpython/events/12189514/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100203-pycon-on-the-charles-2010-part-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100203-pycon-on-the-charles-2010-part-2.md new file mode 100644 index 0000000..aeb3bcc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100203-pycon-on-the-charles-2010-part-2.md @@ -0,0 +1,36 @@ +--- +title: PyCon on the Charles 2010, part 2 +sidebar_link: false +--- + +February 03, 2010 + + +    + +In preparation for PyCon in Atlanta (http://us.pycon.org/2010/about/) in February, three more Boston-area PyCon speakers will rehearse their talks for us. It's a full night, so we'll start promptly at 7:00. For some open-ended mingling, show up as early as 6:15! + +Demystifying Non-Blocking and Asynchronous I/O +Peter Portante + +We will first define what blocking, non-blocking, synchronous and asynchronous I/O are under the POSIX interfaces. We'll cover how and when these four types of I/O should be used, and their individual effects on a Python based application. The notion of concurrency will be discussed by comparing a simple threaded blocking I/O application to a simple single threaded non-blocking I/O application by walking the attendees through the python code for those applications. + +Turtles All The Way Down: Demystifying Deferreds, Decorators, and Declarations +Glyph Lefkowitz + +Python's flexible object model allows library and framework authors to add very flexible declarations. Metaclasses, decorators, callable objects, and operator overloading practically allow libraries to re-define the language in order to provide a more concise, natural style for that library. Unfortunately, the library user's first experience of such conveniences is often confusing, because it's not clear what's going on. + +In this talk, I will try to convince you that all of this wonderful magic isn't all that weird. This is not a typical how-to session on how to use a particular feature, either of Python or of Twisted, but will rather draw examples from Python, Twisted, and Zope to illustrate techniques you can use to read and understand "magical" Python code. + +Keynote: Relentlessly Pursuing Opportunities With Python, or why the AIs will Spare Us All! +Antonio Rodriguez + +DJ-ing in Python: Audio processing fundamentals +Edward Abrams + +I have been wanting to learn about audio processing because I'd eventually like to write a simple DJ-ing application. What better way to explore some intermediate level programming concepts, as well as an interesting media library (PyMedia), than by doing it in Python. This talk covers what I learned on my way to creating a console-based skeleton of a DJ-ing application with the intention of later returning to add a GUI on top. + + +Meetup link: [https://www.meetup.com/bostonpython/events/12189588/](https://www.meetup.com/bostonpython/events/12189588/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100317-march-python-meetup-free-for-all.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100317-march-python-meetup-free-for-all.md new file mode 100644 index 0000000..1c89d4f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100317-march-python-meetup-free-for-all.md @@ -0,0 +1,22 @@ +--- +title: March Python Meetup free-for-all +sidebar_link: false +--- + +March 17, 2010 + + +    + +We've got nothing formal planned, so bring your projects to hack on, bring your questions to be answered, bring your topic to lightning talk on, whatever you want is what will happen. + +Pythonistas of all levels are welcome! I hear there might be pizza... + +BTW: PyCon 2010 just finished in Atlanta, the videos are posted here: http://pycon.blip.tv/... (http://pycon.blip.tv/) + +Where: Microsoft NERD, maybe up on the cool 11th floor... http://bit.ly/msnerd... (http://bit.ly/msnerd) + + +Meetup link: [https://www.meetup.com/bostonpython/events/12720365/](https://www.meetup.com/bostonpython/events/12720365/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md new file mode 100644 index 0000000..d969892 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md @@ -0,0 +1,23 @@ +--- +title: Discrete Event Simulations Made Easy, plus more lightning talks? +sidebar_link: false +--- + +April 21, 2010 + + +    + +Francesco Pierfederici's Pycon talk touched briefly on simulations in Python, whetting our appetite for more detailed information. Francesco will talk more in-depth about discrete event simulations with SimPy: + +Abstract +I will introduce SimPy (http://simpy.sourcefo... (http://simpy.sourceforge.net)), a Python framework for discrete-event simulations. I will describe the framework itself and its main components. I will then walk you through a simple but non-trivial simulation to explain how SimPy is used in practice. You can also read the wikipedia page on discrete event simulations (http://en.wikipedia.o... (http://en.wikipedia.org/wiki/Discrete_event_simulation)) for some background info. + +Last month's lightning talks were a big hit. We'll probably have time for one or two more: send me your ideas! + +Free-form chilling starts at 6:30, formal activities at 7:00. Pizza will be provided by Microsoft! + + +Meetup link: [https://www.meetup.com/bostonpython/events/13008927/](https://www.meetup.com/bostonpython/events/13008927/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100519-may-python-meetup-testing-topics.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100519-may-python-meetup-testing-topics.md new file mode 100644 index 0000000..f3ec18b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100519-may-python-meetup-testing-topics.md @@ -0,0 +1,30 @@ +--- +title: May Python meetup - Testing Topics +sidebar_link: false +--- + +May 19, 2010 + + +    + +In response to a member-suggested idea, we've got two Testing advocates for May: + +Marshall Weir: Testing, Where Do I Start? + +Marshall will cover basic unit test concepts and quickly move to making your tests motivating, easy to run and adding testing to an existing project. He's aiming squarely at developers who have projects they want to use testing for, but don't know where to get started. + +Have you wanted to become test-infected but couldn't find the start of the thread to pull? Marshall will help. + +Stephan Richter: How to Test the Hard Stuff + +Stephan will cover testing network-driven components, RDB stubbing, test setup layering and stuff like that. Recently he used manuel to do this sort of testing by simulating CLIs and Shell access in a doctest-style test, so he may cover that as well. + +Bring your testing challenges and the impossible to automate projects that haunt you at night, we'll see what Stephan can do with them. + +We're meeting as usual at the Microsoft NERD Center, 1 Memorial Drive in Cambridge. People will be there starting at 6:30, talks begin at 7. There will likely be pizza donated by Microsoft. + + +Meetup link: [https://www.meetup.com/bostonpython/events/13402161/](https://www.meetup.com/bostonpython/events/13402161/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100615-google-app-engine-at-google.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100615-google-app-engine-at-google.md new file mode 100644 index 0000000..a00a01e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100615-google-app-engine-at-google.md @@ -0,0 +1,22 @@ +--- +title: Google App Engine at Google +sidebar_link: false +--- + +June 15, 2010 + + +    + +For June, we've got an in-depth evening about Google App Engine. And due to some scheduling issues, we're on a different night (a Tuesday), and in a different location (Google's Cambridge offices). + +Omer Trajman has built an RSS reader on App Engine: http://webwriting.com... (http://webwriting.com/reader/) He'll walk us through the basics of App Engine, and then dive into the details of how he built this particular application. + +Google's Cambridge office is at 5 Cambridge Center. Parking is right behind the building (http://bit.ly/aLrkhH)... (http://bit.ly/aLrkhH)), and I believe will be free for the event. Our host Tay Karim is still working on the possibility of food also... :) + +The talk starts at 7:00, general mingling starts at 6:30. + + +Meetup link: [https://www.meetup.com/bostonpython/events/13724524/](https://www.meetup.com/bostonpython/events/13724524/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md new file mode 100644 index 0000000..3a179a1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100721-july-meetup-echo-nest-remix-and-lightning-talks.md @@ -0,0 +1,24 @@ +--- +title: July Meetup - Echo Nest Remix and lightning talks +sidebar_link: false +--- + +July 21, 2010 + + +    + +Paul Lamere will tell us about Echo Nest remix. Remix (http://code.google.com/p/echo-nest-remix/) is an open source Python library for remixing music. With remix you can use Python to rearrange a track, combine it with others, beat/pitch shift it etc. - essentially it lets you treat a song like silly putty. + +The Swinger (http://musicmachinery.com/2010/05/21/the-swinger/) is an interesting example of what it can do that made the rounds of the blogosphere: it morphs songs to give them a swing rhythm. + +For more details about the type of music remixing you can do with remix, feel free to read: http://musicmachinery... (http://musicmachinery.com/category/remix/) + +I'm also looking for lightning talks, especially if they involve art of some sort, but any are welcome. Drop me a line if you have something you'd like to talk about for 10-15 minutes. + +We're back at the Microsoft NERD center (http://bit.ly/msnerd... (http://bit.ly/msnerd)) for July, future locations may be fluid! + + +Meetup link: [https://www.meetup.com/bostonpython/events/13929110/](https://www.meetup.com/bostonpython/events/13929110/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100915-beginner-s-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100915-beginner-s-night.md new file mode 100644 index 0000000..50b72df --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20100915-beginner-s-night.md @@ -0,0 +1,26 @@ +--- +title: Beginner's Night +sidebar_link: false +--- + +September 15, 2010 + + +    + +For September, we're back to school: Beginner's Night is for those that want to learn about Python from first principles. + +Ned will present a whirlwind introduction to Python. Aimed at developers new to the language, we'll cover some real Python code line-by-line, explaining the core principles of the language as we go. + +Interested in Python, but don't know where to start? Come find out what people love about the language. Have friends who don't understand why you keep going on and on about how wonderful Python is? Bring them along! Already a Python expert? Come to help point out the finer details, and brush up on subtleties you've missed. + +The event is free, and all are welcome. We'll have a lively discussion, and all questions are fair game. Plenty of experts will be on hand to help. + +Pizza will be provided by Microsoft, and we'll have a few door prizes to give away. The NERD center is on Memorial Drive, overlooking the Boston skyline. Parking is $10 in the basement garage, or there are other parking alternatives nearby. + +Shmoozing at 6:30, coherent presentation starting at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/14443924/](https://www.meetup.com/bostonpython/events/14443924/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101020-processing-py-inside-and-out.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101020-processing-py-inside-and-out.md new file mode 100644 index 0000000..3609748 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101020-processing-py-inside-and-out.md @@ -0,0 +1,26 @@ +--- +title: Processing.py, inside and out +sidebar_link: false +--- + +October 20, 2010 + + +    + +For our October meetup, Jonathan Feinberg will talk about his work on Processing.py. Processing is "an open source programming language and environment for people who want to create images, animations, and interactions." (http://processing.org... (http://processing.org/)) It's implemented in Java, and offers a simplified Java-like syntax for students, artists, designers, researchers, and hobbyists. Jonathan's Processing.py brings makes it possible to write Processing sketches in Python. + +Jonathan's presentation will start by introducing Processing, demoing what it can do, and how it has helped artists and designers experiment with algorithmic art and visualizations. + +Then he'll get into the deep details of how he used Jython to meld a Python interpreter into the Processing implementation to allow Python programs access to the Processing execution environment. + +It should be a very interesting evening, looking at both the user-visible environment, and the nitty-gritty under the hood of how it was accomplished. + +The talk starts at 7:00, social niceties both before and after. + +LOCATION: We'll be meeting at the Google offices this month, at 5 Cambridge Center. Google will be providing pizza, but unfortunately, there is NO subsidized parking. Parking in the adjacent garage is $17 for 3 hours. If you know of other appropriate alternatives, send them to the list. + + +Meetup link: [https://www.meetup.com/bostonpython/events/14939685/](https://www.meetup.com/bostonpython/events/14939685/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101117-intro-to-twisted-presentation-and-lab.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101117-intro-to-twisted-presentation-and-lab.md new file mode 100644 index 0000000..6a98c8a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101117-intro-to-twisted-presentation-and-lab.md @@ -0,0 +1,25 @@ +--- +title: Intro to Twisted - presentation and LAB +sidebar_link: false +--- + +November 17, 2010 + + +    + +Come learn about Twisted! Twisted is an event-driven network engine in Python, with a large rich set of components. Start with a fully functioning web server, mash it up with DNS, bridge over to chat, and throw in a little SMTP. Whatever you need in your networked code, Twisted has the parts to build it. They're all built on a uniform core, and can all be programmed together with Python, making Twisted's toolbox the richest and most powerful way to create networked software. + +Tonight's format is slightly different: we'll start with a presentation about Twisted and how it works, then switch into active mode with a directed lab. Bring your laptops and build real code! If you don't have the equipment (or the desire) to do the lab yourself, come anyway, and pair up with someone who does. + +Glyph Lefkowitz and J.P. Calderone are the two brightest stars in the Twisted firmament: Glyph founded and continues to lead Twisted, and J.P. is its most prolific contributor. Who better than them to explain Twisted and initiate us into its mysteries? It should be a really interesting evening! + +We'll send instructions later for installing the lab prerequisites. + +Location: Microsoft NERD center +Time: 6:30 for chatting, presentation at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15242326/](https://www.meetup.com/bostonpython/events/15242326/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101214-nltk-natural-language-toolkit.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101214-nltk-natural-language-toolkit.md new file mode 100644 index 0000000..5742e2d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20101214-nltk-natural-language-toolkit.md @@ -0,0 +1,18 @@ +--- +title: NLTK - Natural Language Toolkit +sidebar_link: false +--- + +December 14, 2010 + + +    + +NLTK is the Natural Language Toolkit, an extensive Python library for processing natural language. Shankar Ambady will give us a tour of just a few of its extensive capabilities, including sentence parsing, synonym finding, spam detection, and more. Linguistic expertise is not required, though if you know the difference between a hyponym and a hypernym, you might be able to help the rest of us! + +Socializing at 6:30, Shankar's presentation at 7:00. See you at the NERD. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15547287/](https://www.meetup.com/bostonpython/events/15547287/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md new file mode 100644 index 0000000..6a93d0e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md @@ -0,0 +1,30 @@ +--- +title: Updated - Pycon talk 1 - "Contributor Outreach"; and installation chaos +sidebar_link: false +--- + +January 19, 2011 + + +    + +Asheesh Laroia is speaking at Pycon in Atlanta this year, and will present a draft of his 30-min talk, "Get new contributors (and diversity) through outreach": + +This talk is targeted at anyone involved in an open source project who wants to find more contributors.Programs like Google Summer of Code often provide excited students who disappear after a summer's work. Meanwhile, request for help emails on development lists are typically met with silence. Hackathons create a flurry of commits, but then we never hear from the participants again. Expanding your team is possible, and it requires care in terms of outreach, expectation management, and mentorship.We will discuss three major forms of outreach: + +* One-on-one check-ins with participants, +* Periodic drives to bring in new contributors, and +* In-person teaching events. + +Each one has "do"s and "don't"s associated with it. This talk digests the experience of effective outreach into practical strategies that you can re-use within your project. + +Then we'll turn our attention to more mundane matters: this discussion about installation chaos (http://www.meetup.com/bostonpython/ideas/583191/) seems like a good topic for a freewheeling session. I don't know exactly what we'll cover, so bring your questions, answers, and opinions. + +Have an installation issue that's been bugging you? Have you come up with a novel way to solve the tension between Python packages and OS packages? Just need help getting a particular package to finally work right? Confused by virtualenv, pip, easy_install, pypi, etc? Come to the meetup and get into the mix. + +If we run out of installation stuff to talk about, we'll start on something else, who knows what? The floor is completely open, bring your Python grievances and adorations. + + +Meetup link: [https://www.meetup.com/bostonpython/events/15979297/](https://www.meetup.com/bostonpython/events/15979297/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110222-pycon-on-the-charles-practice-session-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110222-pycon-on-the-charles-practice-session-1.md new file mode 100644 index 0000000..bac0c8f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110222-pycon-on-the-charles-practice-session-1.md @@ -0,0 +1,33 @@ +--- +title: PyCon on the Charles - practice session 1 +sidebar_link: false +--- + +February 22, 2011 + + +    + +PyCon 2011 (http://us.pycon.org/2011/) is coming up in March in Atlanta. In this first of two sessions, three Boston-area speakers will practice their presentations. If you can't make it to Atlanta, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their talks. + +The presentations will start at 6:45 to make room for everything. + +Python-Aware Python (experienced extreme) +Ned Batchelder + +Python provides many features for introspecting, analyzing, parsing, compiling, and otherwise grokking Python code. This talk will cover a number of the techniques for writing Python-Aware Python, and will hopefully inspire you to build the next great Python tool. More info... (http://us.pycon.org/2011/schedule/sessions/58/) + +What Would You Do with an AST? (experienced) +Matthew Demsarais + +The ast module in the Python (>= 2.6) standard library provides a representation of python code in a python data structure. We'll begin with a discussion about what an abstract syntax tree is and why it's useful. We can then talk about what's available in the ast module, how it works, and how you can use it. This will be a practical session built around examples examining and modifying live ASTs. More info... (http://us.pycon.org/2011/schedule/sessions/184/) + +"Dude, Where's My RAM?" - A deep dive into how Python uses memory (experienced extreme) +Dave Malcolm + +This talk will give a deep dive into how CPython uses memory. I'll be demonstrating a new tool I've written that analyses CPython's memory usage, and offer hints and tips on how you can reduce the memory footprint of your Python programs. More info... (http://us.pycon.org/2011/schedule/sessions/25/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16117739/](https://www.meetup.com/bostonpython/events/16117739/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110302-pycon-on-the-charles-practice-session-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110302-pycon-on-the-charles-practice-session-2.md new file mode 100644 index 0000000..c9c9f69 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110302-pycon-on-the-charles-practice-session-2.md @@ -0,0 +1,38 @@ +--- +title: PyCon on the Charles - practice session 2 +sidebar_link: false +--- + +March 02, 2011 + + +    + +PyCon 2011 (http://us.pycon.org/2011/) is coming up in March in Atlanta. In this second of two sessions, four Boston-area speakers will practice their presentations. If you can't make it to Atlanta, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians to polish their talks. + +We have a jam-packed evening: the talks will start at 6:30! Very early! + +Using Python to debug C and C++ code (using gdb) (experienced) +Dave Malcolm + +Got a difficult C/C++ program to debug? The power of Python is now available from within the GNU debugger. I'll show how you can use simple fragments of Python to quickly track down fiddly bugs in C/C++ code. We'll also see how to use Python to extend gdb with new commands and new ways of visualizing the internal state of a program. More info... (http://us.pycon.org/2011/schedule/sessions/27/) + +An outsider's look at co-routines. (novice) +Peter Portante + +Let's take an outsider's look at coroutines, the underlying concept used by greenlets. First we'll define what they are conceptually, and show some typical use cases. Then we'll take a look at a sampling of the implementations out there to see what they are actually doing to implement the concept. Finally, we'll show their pluses and minuses, and highlight some features of packages that use them. More info... (http://us.pycon.org/2011/schedule/sessions/154/) + +Ten Years of Twisted (novice) +Glyph Lefkowitz + +The Twisted event-driven networking engine is well-known in the Python community. However, only a few of its features are widely understood. This talk will be a brief conceptual introduction to Twisted, followed by a survey of its features, their status, and how development has been proceeding over the years, with a special focus on the last two years of sponsored development. More info... (http://us.pycon.org/2011/schedule/sessions/208/) + +Useful Namespaces: Context Mangagers and Decorators (experienced extreme) +Jack Diederich + +Python has two useful conventions for "I mean it, but only here" and you can say it with Context Managers and Decorators. Both give you the power to define a push/pop of a resource for a set period inside a namespace, be it a function or a level of indentation. This talk is a list of patterns that are implemented by one or the other (including some clever functions that are both). More info... (http://us.pycon.org/2011/schedule/sessions/224/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16117740/](https://www.meetup.com/bostonpython/events/16117740/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..b5eefd8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,33 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +March 05, 2011 + + +    + +Learn and practice Python basics with this full-day project-driven workshop! + +On Friday evening, come by for an hour any time between 5 and 8pm to set up your development environment. + +On Saturday, we'll spend the morning on an introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon, we'll hack on two projects: a web application in Django and visual effects for a programmable "color wall". + +Audience: Women and their friends who have no or limited programming experience. + +Our goal is to provide a comfortable environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +Friday evening: laptop setup + +5 PM to 8 PM: Come by the venue (1 Memorial Drive, Cambridge) and volunteers will help you set up your development environment. Things to bring: your laptop computer. +Saturday daytime: Tutorials, teaching, and projects + +9:30 AM: Early arrivals can chat with volunteers 10 AM - Noon: Welcome and introductory tutorials Noon - 1 PM: Lunch (pizza), thanks to our sponsors 1 PM - 5 PM: Project time 5 PM - 5:30: Wrap-up Things to bring: your laptop computer. + +Afterwards: After-party, place TBD. (Suggestions welcome.) + + +Meetup link: [https://www.meetup.com/bostonpython/events/16682815/](https://www.meetup.com/bostonpython/events/16682815/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110411-education-and-community.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110411-education-and-community.md new file mode 100644 index 0000000..f5dbf65 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110411-education-and-community.md @@ -0,0 +1,26 @@ +--- +title: Education and Community +sidebar_link: false +--- + +April 11, 2011 + + +    + +Spring is here, and it seems like new shoots of Python activity are popping up everywhere. For April, we have an evening dedicated to education and community. We'll have a few informal speakers telling us about their work introducing Python to new Pythonistas, and a discussion about how to foster a larger Python community in Boston and beyond. + +Maria Litvin teaches math and computer science at Philips Academy in Andover, and is the author of a number of textbooks covering C++, Java, and of course, Python. + +Asheesh Laroia and Jessica McKellar are the co-conspirators behind the recent Python workshop for women, which was a huge hit. Dubbed Pystar.org, the workshop has spread to to Minneapolis and San Francisco, and will be run again here in Boston soon. + +Allen Downey teaches computer science at Olin College of Engineering, and is the author of a range of computer science textbooks, including How to Think Like a Computer Scientist: Learning with Python. + +I'm hoping these experts can tell us what they know about hatching new Pythonistas, and we can tell them what we'd like to do to enlarge and enrich the Python community. + +Chit-chat starts at 6:30 or so, sit-down at 7. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17083319/](https://www.meetup.com/bostonpython/events/17083319/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110426-python-hack-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110426-python-hack-night.md new file mode 100644 index 0000000..a146100 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110426-python-hack-night.md @@ -0,0 +1,20 @@ +--- +title: Python Hack Night +sidebar_link: false +--- + +April 26, 2011 + + +    + +We're starting a new event of the Boston Python Meetup: Python Hack Night, a chance to get together with Pythonistas of all abilities, to hack, chat, learn, teach, socialize, whatever suits you. There's no structure other than a location, some food (if we're lucky) and a bunch of Python people getting together. + +I'm hoping this can be a regularly occurring event. + +The first Hack Night will be Tuesday April 26th, at Performable, 486 Green St, Cambridge, 6:30-9:30pm (or so). Performable is buying the pizza, you're bringing the energy and ideas. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17353310/](https://www.meetup.com/bostonpython/events/17353310/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..d49cb79 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,44 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +May 13, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment, learn how to execute Python code from a file and interactively from a Python prompt, and practice printing and using Python as a calculator. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Projects include: + +using the Twitter API to write parts of a Twitter client a Jeopardy!-themed introduction to databases and database access with Python graphing and data analysis text-based games wordplay and the power of regular expressions programming graphical effects for a ColorWall See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_workshop_2) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Our goal is to provide a comfortable environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +Venue details + +HubSpot (http://www.hubspot.com/company/contact/) is hosting and sponsoring this event. They are at: + +25 First Street, 2nd Floor + +Cambridge, MA 02141 + +The Workshop wiki (http://openhatch.org/wiki/Boston_Python_workshop_2) has information on public transit options and parking at the venue. + +Friday evening: laptop setup and first steps with Python + +6 PM to 9 PM: set up your development environment and practice running Python. Things to bring: your laptop computer. Saturday: lecture and projects + +9:45 AM - 10 AM: settle in and review Friday's material. 10 AM - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1 PM: lunch, provided by HubSpot! 1 PM - 4 PM: projects. 4 PM - 4:30: wrap-up and next steps. Things to bring: your laptop computer. You must be able to attend both days of the workshop to participate. + + +Meetup link: [https://www.meetup.com/bostonpython/events/17433132/](https://www.meetup.com/bostonpython/events/17433132/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110518-may-meetup-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110518-may-meetup-science.md new file mode 100644 index 0000000..cf3159b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110518-may-meetup-science.md @@ -0,0 +1,24 @@ +--- +title: May meetup - Science! +sidebar_link: false +--- + +May 18, 2011 + + +    + +Pythonistas, the May meetup brings us two scientists sharing their work in Python: + +Geraldine Van Der Auwera: TRAPPIST is a BioPython-based package that performs detailed comparisons of related genomic regions and produces publication-quality vector PDF figures for clear visualization of analysis results. It is built as a series of functional modules that can be run separately or in pipelines. Several pre-set pipeline scripts are provided for automated start-to-finish processing of tasks that combine analysis and visualization, such as producing figures of multiple alignments with detailed similarity heat maps, identifying conserved genetic backbones or reconstructing the differential phylogeny of mosaic genome regions. + +Byron Galbraith: Modelling Neurons in Python. Representing the function and behavior of neurons in software is one of the core activities of computational neuroscience. As neurons communicate via electrochemical currents, this is typically accomplished through modeling the dynamical nature of the neuron's electrical properties. Several models treat the neuron as an equivalent electrical circuit, with its membrane potential described by one or more differential equations. In order to simulate the response of the neuron to various stimuli, these equations are numerically solved over some time interval for a given pattern of input current. + +Plus, we'll probably have a lightning talk or two. + +Socializing and other interactions at 6:30, formal presentations at 7:00. See you there! + + +Meetup link: [https://www.meetup.com/bostonpython/events/17330576/](https://www.meetup.com/bostonpython/events/17330576/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110520-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110520-python-project-night.md new file mode 100644 index 0000000..ca7055f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110520-python-project-night.md @@ -0,0 +1,36 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +May 20, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_workshop_2) will be here to help beginning Python programmers with language basics and practice projects. + +Audience: everyone! We'll have something for all Python experience levels. + +When: 5:30pm - 9:30pm on Friday, May 20th + +Location: The 11th floor Commons at Microsoft NERD One Memorial Drive, Cambridge, MA 02142 + +Food: We'll have snacks and drinks but not dinner. You are welcome to bring or order food. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop will be here to help work through practice projects from the Workshop (http://openhatch.org/wiki/Boston_Python_workshop_2/Saturday_projects), including: + +using the Twitter API to write parts of a Twitter client a Jeopardy!-themed introduction to databases and database access with Python graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library text-based games wordplay and the power of regular expressions programming graphical effects for a ColorWall Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Use the DonorsChoose.org data or API to make discoveries and build apps that engage the public and improve education in America: http://www.donorschoose.org/hacking-education Win $35,000 in prizes for using CDC flu data to develop an innovative app, data visualization, tool, or game: http://fluapp.challenge.gov/ + + +Meetup link: [https://www.meetup.com/bostonpython/events/17802791/](https://www.meetup.com/bostonpython/events/17802791/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110601-superpy.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110601-superpy.md new file mode 100644 index 0000000..7b727d2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110601-superpy.md @@ -0,0 +1,14 @@ +--- +title: SuperPy +sidebar_link: false +--- + +June 01, 2011 + + +Needs a location + + +Meetup link: [https://www.meetup.com/bostonpython/events/16245232/](https://www.meetup.com/bostonpython/events/16245232/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md new file mode 100644 index 0000000..121cfa8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110615-sqlalchemy-lightning-talks-and-beers.md @@ -0,0 +1,25 @@ +--- +title: SQLAlchemy, lightning talks, and beers +sidebar_link: false +--- + +June 15, 2011 + + +    + +Michael Kowalchik will teach us about SQLAlchemy, the Cadillac of Python database object-relational mappers. He'll give a quick overview of this impressive package, then outline how to operate at different levels of abstraction within SQLAlchemy, while retaining control over lower-level details where needed: + +* The database "machinery" (connection strings, connection pooling, database reflection, different database dialects) +* The SQLAlchemy "core", building SQL expressions using Python +* The ORM, sessions, and the "Unit of Work" pattern +* How SQLAlchemy's ORM is different: Data Mapper vs Active Record pattern + +We'll also have lightning talks, let me know if you want to contribute one. + +Afterwards, on to the Meadhall for drinks! No sponsor this month (unless someone wants to step forward), but a good time nonetheless. + + +Meetup link: [https://www.meetup.com/bostonpython/events/19750991/](https://www.meetup.com/bostonpython/events/19750991/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110622-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110622-project-night.md new file mode 100644 index 0000000..462f19c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110622-project-night.md @@ -0,0 +1,24 @@ +--- +title: Project Night +sidebar_link: false +--- + +June 22, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one you find there. Other ideas are on the previous Project Night page (http://meetup.bostonpython.com/events/17802791/). Experienced Pythonistas will be on hand to help in any way you need. + +Audience: Everyone, all levels are welcome! + +When: 6:00-9:00, June 22nd + +Where: Microsoft NERD Center, One Memorial Drive. + +Food: Microsoft will again generously be providing pizza, but anyway, you're supposed to be coming for the Python and the people, not the pizza! :-) + + +Meetup link: [https://www.meetup.com/bostonpython/events/22515391/](https://www.meetup.com/bostonpython/events/22515391/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..506ca3c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,46 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +July 08, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_3) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +Google is hosting and sponsoring this event. They are at: + +5 Cambridge Center, Floors 3-6 + +Cambridge, MA 02142 + +You will need to sign Google's standard visitor NDA upon arrival on Friday. + +Friday evening: laptop setup and first steps with Python + +6 PM to 9 PM: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday: lecture and projects + +9:30am - 10am: settle in and review Friday's material over tea and coffee, courtesy of Google! 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by Google! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client wordplay and how to cheat at Words with Friends programming graphical effects for a ColorWall + + +Meetup link: [https://www.meetup.com/bostonpython/events/22818421/](https://www.meetup.com/bostonpython/events/22818421/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110712-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110712-python-project-night.md new file mode 100644 index 0000000..b5be558 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110712-python-project-night.md @@ -0,0 +1,38 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +July 12, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, July 12th + +Location: The Horace Mann room on the 1st floor at Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/23745451/](https://www.meetup.com/bostonpython/events/23745451/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110720-getting-started-testing-your-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110720-getting-started-testing-your-python.md new file mode 100644 index 0000000..4892804 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110720-getting-started-testing-your-python.md @@ -0,0 +1,26 @@ +--- +title: Getting Started Testing your Python +sidebar_link: false +--- + +July 20, 2011 + + +    + +Ned Batchelder will present Getting Started Testing your Python Code. + +Do you have Python code that you know you should be testing, but aren't? Have you got tests, but aren't sure how to use them to full advantage? Are you not flossing as often as you should? + +We'll start from scratch with a very first test, talk about unit test structure, how to structure your code for testability, isolating components with mocking, how to use nose to run tests, using coverage measurement to gauge test effectiveness, the testing mindset, and other topics. + +Testing will never be easy, but it doesn't have to be a burden. Come learn how to approach Python testing to make it work for you. Pythonistas of all levels are welcome! + +We'll be at the NERD as usual, come a little early for pre-schmoozing. Microsoft will be generously providing pizza. + +Afterward, we'll head over to Meadhall for socializing over beers! The first round is being sponsored by InsightSquared! + + +Meetup link: [https://www.meetup.com/bostonpython/events/23388681/](https://www.meetup.com/bostonpython/events/23388681/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110811-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110811-python-project-night.md new file mode 100644 index 0000000..e2db2c9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110811-python-project-night.md @@ -0,0 +1,42 @@ +--- +title: Python Project Night +sidebar_link: false +--- + +August 11, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/2RB7y + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Thursday, August 11th. + +Location: The 1st floor at Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/25875041/](https://www.meetup.com/bostonpython/events/25875041/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md new file mode 100644 index 0000000..368cbce --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md @@ -0,0 +1,24 @@ +--- +title: Alternate pythons - PyPy, Jython, IronPython, plus lightning talks and beers +sidebar_link: false +--- + +August 17, 2011 + + +    + +One of the fascinating features of the Python ecosystem is the variety of implementations of the language. In addition to the classic CPython, there's: + +Jython, running on the Java Virtual Machine IronPython, running on the .NET platform PyPy, written in Python itself, and faster than CPython! Dave Malcolm will introduce us to these alternate implementations, showing the important advantages each brings, the differences from classic Python, and exploring some tantalizing implementation details. If you've ever wondered whether one of these other implementations was for you, or were just curious about how Python works under the hood, this talk is for you. + +We'll also have some lightning talks. If you have a lightning talk you want to give, drop me a line. + +As if that's not enough, I'll have a copy of the new book, The Python Standard Library by Example (http://www.doughellmann.com/books/byexample/) to give away. And of course, we'll have pizza donated by O'Reilly Books. + +We'll round out the evening at Meadhall for informal socializing. Join us, even if you can't make the presentations. Proxpro will be sponsoring a round of drinks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/25396721/](https://www.meetup.com/bostonpython/events/25396721/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110906-september-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110906-september-python-project-night.md new file mode 100644 index 0000000..ff388b0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110906-september-python-project-night.md @@ -0,0 +1,47 @@ +--- +title: September Python Project Night +sidebar_link: false +--- + +September 06, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/3wRT9 + +If you're coming, and know what you'll be working on, update the Sept 2011 Projects (http://meetup.bostonpython.com/pages/Sept_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, September 6th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +What other people are doing: + +See the Sept 2011 Projects (http://meetup.bostonpython.com/pages/Sept_2011_Projects/) page. +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/29074611/](https://www.meetup.com/bostonpython/events/29074611/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110921-numpy-scipy-plus-extras-new-location.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110921-numpy-scipy-plus-extras-new-location.md new file mode 100644 index 0000000..a9b08a6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110921-numpy-scipy-plus-extras-new-location.md @@ -0,0 +1,28 @@ +--- +title: NumPy & SciPy, plus extras - *** NEW LOCATION *** +sidebar_link: false +--- + +September 21, 2011 + + +    + +Jiahao Chen will introduce us to two powerful packages for numeric and scientific work, NumPy and SciPy: + +Python is rapidly gaining traction as a programming language for scientific computation. This evening, we examine how to use NumPy (http://numpy.scipy.org/) and SciPy (http://www.scipy.org/), two of the most widely used Python modules for numerical calculations, and explore their joint capabilities. We will also examine several use cases showing how numpy and scipy can greatly simplify the handling of data in arrays as well as facilitate code reuse by generating wrappers to external Fortran or C code. + +If you work with numeric data, or do anything even remotely scientific, these packages are for you. Come learn how they can ease your complex computational problems! + +If we have time, we'll throw in some lightning talks, especially if you have one related to numeric computing. + +Pizza will be provided, of course. + +Afterward, we'll head over to Meadhall for the usual after-presentation beers, socializing, and unwinding. + +Tell all your friends about this meeting: http://meetu.ps/3wQVc + + +Meetup link: [https://www.meetup.com/bostonpython/events/29071011/](https://www.meetup.com/bostonpython/events/29071011/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..110c125 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,40 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +September 30, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending. + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_4) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. On Friday we'll be in room 4-149. On Saturday we'll be in room 32-155. See the venue section of the wiki (http://openhatch.org/wiki/Boston_Python_Workshop_4#Location) for directions and a map. + +Friday evening (9/30): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (10/1): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client. wordplay and how to cheat at Words with Friends. programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/33124602/](https://www.meetup.com/bostonpython/events/33124602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111004-october-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111004-october-python-project-night.md new file mode 100644 index 0000000..0998b2a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111004-october-python-project-night.md @@ -0,0 +1,47 @@ +--- +title: October Python Project Night +sidebar_link: false +--- + +October 04, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/4y98R + +If you're coming, and know what you'll be working on, update the Oct 2011 Projects (http://meetup.bostonpython.com/pages/Oct_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Tuesday, October 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided, money will be collected. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +What other people are doing: + +See the Oct 2011 Projects (http://meetup.bostonpython.com/pages/Oct_2011_Projects/) page. +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/) , and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/34664362/](https://www.meetup.com/bostonpython/events/34664362/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111019-lightning-talk-trick-or-treat.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111019-lightning-talk-trick-or-treat.md new file mode 100644 index 0000000..eec5e97 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111019-lightning-talk-trick-or-treat.md @@ -0,0 +1,30 @@ +--- +title: Lightning Talk Trick or Treat +sidebar_link: false +--- + +October 19, 2011 + + +    + +An evening of nothing but lightning talks! Usually we have a solid meat and potatoes presentation meal, followed by a nice dessert of some lightning talk candy. But this is October, so why not have an evening with just candy!? + +A lightning talk is no more than 10 minutes, so we'll have time for a good selection of topics. + +If you have a talk you want to do, send me an email. Please keep these guidelines in mind: + +You'll have 5 to 10 minutes. Please be realistic: most people underestimate how much time they need to get their ideas across. I will limit you 10 minutes. Almost any topic is good: something you learned that you think others will like, something you've made, something you found, it doesn't even have to be especially technical, just something you think Pythonistas will want to hear about. No jobs ads, we don't want this to be a job fair. Get in touch with me separately if you want special promotion of your position. You can of course do demos or use slides if you like. Even better is if they are on a public web site so you can use a laptop already connected to the projector. You know you have something to say! To get on the list, send me an email, and include your name, the title, and just a little bit about what you'll say. + +Here's the list so far: + +Sean True, yapocis (Yet Another PyOpenCL Interface Specification). Corey Goldberg, linux-metrics, a package for system metrics/stats for linux. Andrew Inglis, wirite.com Dylan Shea, Linden Lab Automated Test Hackathon Shauna G, newbs hacking public data Brendan K, packaging a PyGTK app for Windows Will Ware, MyHDL (myhdl.org), a Python tool for digital logic design, simulation and FPGA synthesis. Fahri Basegmez, re_ad: lets me write readable regular expressions. Eliot Eshelman, Entity systems in Python for game development. Ned Jackson Lovely, Celery message queuing. Nate Aune, Twilio API, and PickupConnect.com. You, your talk here... It should be a fun and fascinating evening! + +After a couple of hours of lightning talks, we'll head over to Meadhall for beers, socializing, and what have you. Want to sponsor a round of drinks? Get in touch... + +Share this event with anyone who might be interested: http://meetu.ps/4c6VC + + +Meetup link: [https://www.meetup.com/bostonpython/events/32680722/](https://www.meetup.com/bostonpython/events/32680722/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111107-november-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111107-november-python-project-night.md new file mode 100644 index 0000000..ccc193c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111107-november-python-project-night.md @@ -0,0 +1,48 @@ +--- +title: November Python Project Night +sidebar_link: false +--- + +November 07, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/56NnM + +If you're coming, and know what you'll be working on, update the Nov 2011 Projects (http://meetup.bostonpython.com/pages/Nov_2011_Projects/) page. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:00pm - 9:30pm on Monday, November 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided, money will be collected. + +Things to bring: a wireless-enabled laptop and power cord + +What other people are doing: + +See the Nov 2011 Projects (http://meetup.bostonpython.com/pages/Nov_2011_Projects/) page. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Practicing Python basics + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help work through practice projects from the Workshop, including: + +Using the Twitter API to write parts of a Twitter client Graphing and data analysis with the matplotlib (http://matplotlib.sourceforge.net/) plotting library Wordplay and the power of regular expressions Programming graphical effects for a ColorWall Practice Python online with bite-sized exercises: http://codingbat.com/python Practice writing code to solve a problem from scratch with the Scrabble challenge (http://openhatch.org/wiki/Scrabble_challenge) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/37948602/](https://www.meetup.com/bostonpython/events/37948602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111207-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111207-december-project-night.md new file mode 100644 index 0000000..e8c35bf --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111207-december-project-night.md @@ -0,0 +1,38 @@ +--- +title: December Project night +sidebar_link: false +--- + +December 07, 2011 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/5HGx8 + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Wednesday, December 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by AdmitPad (http://admitpad.com/) + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36664082/](https://www.meetup.com/bostonpython/events/36664082/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..618601b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +December 16, 2011 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/33124602/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (http://openhatch.org/wiki/Boston_Python_Workshop_5) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 32-155 in the Stata Center for both days of the event. See the venue section of the wiki (http://openhatch.org/wiki/Boston_Python_Workshop_5#Location) for directions and a map. + +Friday evening (12/16): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (12/17): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +using the Twitter API to write parts of a Twitter client. wordplay and how to cheat at Words with Friends. programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/42610202/](https://www.meetup.com/bostonpython/events/42610202/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md new file mode 100644 index 0000000..24722a2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20111219-web-performance-testing-lightning-talks-and-beers.md @@ -0,0 +1,37 @@ +--- +title: Web Performance Testing, lightning talks, and beers +sidebar_link: false +--- + +December 19, 2011 + + +    + +Corey Goldberg of Canonical and Dan Kuebrich of Tracelytics will tag-team to tell us about web performance testing, and a few interesting tools they've built. + +Brief Introduction to Web Performance and Scalabilty Testing + +When launching a new application, preparing for future capacity, or changing IT infrastructure, web performance and scalability testing allows you to find and fix performance problems. You simulate the current or projected user workload against your site, allowing you to test and tune your systems, and allocate hardware accordingly. + +Web Load Testing with Python and Multi-Mechanize + +Multi-Mechanize is a Python framework for API performance and scalabilty testing. It enables you to run simultaneous Python scripts to generate load (synthetic transactions) against any API or service. This is useful for system tuning, benchmarking, and capacity planning. Multi-Mechanize is Free Open Source Software. + +Demo of Tracelytics with Multi-Mechanize + +Building on Corey's presentation of multi-mechanize, Dan Kuebrich will discuss how to make the most of load testing your Python-based web app and talk about how Tracelytics' Python instrumentation is implemented. + +Pizza will be provided by Canonical (http://www.canonical.com/). + +We'll probably have some time for lightning talks. If you have something to say for 10 minutes, especially if it's related to web measurement, let me know. + +Afterwards we'll head over to Meadhall for drinks, the first round will be sponsored by Kyruus (http://kyruus.com). + +>>> 1,2,3 +(1, 2, 3) + + +Meetup link: [https://www.meetup.com/bostonpython/events/36664122/](https://www.meetup.com/bostonpython/events/36664122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120110-january-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120110-january-python-project-night.md new file mode 100644 index 0000000..c786759 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120110-january-python-project-night.md @@ -0,0 +1,38 @@ +--- +title: January Python Project Night +sidebar_link: false +--- + +January 10, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Spread the word: tell your friends, RSVP at http://meetu.ps/65zp4 + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Tuesday, January 10th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Jana (http://jana.com) (they enable global organizations to engage directly with emerging market consumers). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662072/](https://www.meetup.com/bostonpython/events/36662072/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120118-web-scraping-tutorial-and-beers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120118-web-scraping-tutorial-and-beers.md new file mode 100644 index 0000000..549383c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120118-web-scraping-tutorial-and-beers.md @@ -0,0 +1,26 @@ +--- +title: Web Scraping Tutorial, and beers +sidebar_link: false +--- + +January 18, 2012 + + +    + +For our presentation this month, Asheesh Laroia will preview his PyCon tutorial! + +Web scraping: Reliably and efficiently pulling data from pages that don't expect it + +Exciting information is trapped in web pages and behind HTML forms. In this lecture, you'll learn the basics of how to parse those pages and when to apply advanced techniques that make scraping faster and more stable. We'll cover parallel downloading with Twisted, gevent, and others; analyzing sites behind SSL; driving JavaScript-y sites with Selenium; and evading common anti-scraping techniques. + +This month's Boston Python talk is a preview of a tutorial that Asheesh Laroia will deliver at PyCon ( https://us.pycon.org/2012/schedule/presentation/317/ ). The format is 1h30min of fast-paced lecture, and 30 minutes for Q&A and feedback. (At PyCon, tutorials are a full three hours, so this will be somewhat abbreviated.) + +Pizza will be provided by Nokia. + +Afterwards we'll head over to Meadhall for drinks. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662312/](https://www.meetup.com/bostonpython/events/36662312/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md new file mode 100644 index 0000000..215dad2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md @@ -0,0 +1,28 @@ +--- +title: An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor +sidebar_link: false +--- + +January 25, 2012 + + +    + +An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor + +These three luminaries from Django, PyPy, and the Python world in general will be in town for an informal panel discussion. The discussion will be wide-ranging, authoritative, opinionated, illuminating, and entertaining. Bring any and all topics! A list of questions is growing at http://www.google.com/moderator/#16/e=1d669f . + +Jacob Kaplan-Moss is an original author of Django and is now a co-BDFL (https://www.djangoproject.com/foundation/) of the Django project. Frank Wiles is the founder of Revolution Systems and a longtime Open Source leader. Alex Gaynor is a prolific contributor to Django, PyPy, and the Python core. + +Revolution Systems and Lab305 have made the night possible by bringing everyone to Boston. + +Location: Room 32-155 in the Stata Center at MIT (http://whereis.mit.edu/?go=32), aka room 155 on the 1st floor of 32 Vassar Street. + +Video will be broadcast on http://www.ustream.tv/channel/bostonpython . + +Tonight's pizza is sponsored by Lab305 (http://www.lab305.com/). Kyruus (http://kyruus.com/home/) is sponsoring drinks at Meadhall after the event. Thanks Lab305 and Kyruus! + + +Meetup link: [https://www.meetup.com/bostonpython/events/48542762/](https://www.meetup.com/bostonpython/events/48542762/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120208-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120208-february-project-night.md new file mode 100644 index 0000000..21c6ea0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120208-february-project-night.md @@ -0,0 +1,36 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 08, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Wednesday, February 8th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by the Cloud Numerics group at MS NERD (http://www.microsoft.com/en-us/sqlazurelabs/labs/numerics.aspx). Thanks Cloud Numerics! + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ Have more Project Night suggestions? Add them to the wiki (http://openhatch.org/wiki/July_project_night). + + +Meetup link: [https://www.meetup.com/bostonpython/events/36662582/](https://www.meetup.com/bostonpython/events/36662582/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120222-pycon-on-the-charles-part-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120222-pycon-on-the-charles-part-1.md new file mode 100644 index 0000000..f6d9ddc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120222-pycon-on-the-charles-part-1.md @@ -0,0 +1,30 @@ +--- +title: PyCon on the Charles, part 1 +sidebar_link: false +--- + +February 22, 2012 + + +    + +PyCon 2012 is coming up in March in Santa Clara. In this first of two sessions, two Boston-area speakers will practice their presentations. If you can't make it to PyCon, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their presentations. + +Static analysis of Python extension modules using GCC, Dave Malcolm (Experienced) + +Want to analyse C/C++ code using Python? I've written a plugin for GCC that embeds Python inside the compiler, allowing you to write new C/C++ compilation passes in Python. I've used this to build a static analysis tool that understands the CPython extension API, and can automatically detect reference-counting bugs, and other errors. + +Through The Ether And Back Again: What Happens To A Packet When You Send It, Glyph Lefkowitz (Experienced) + +Many - perhaps even most - Python software involves a network, at least a little bit. You've probably written some yourself. But do you really know what happens - to your kernel, to your ethernet card, to Python - when you call socket.send()? Come to this talk and find out: if you dare. + +Lightning talks - Get in touch if you want to do a lightning talk, especially if you're planning one for PyCon! + +We will be streaming video on Ustream (http://www.ustream.tv/channel/bostonpython). + +Pizza will by provided by Red Hat. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36663002/](https://www.meetup.com/bostonpython/events/36663002/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120229-pycon-on-the-charles-part-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120229-pycon-on-the-charles-part-2.md new file mode 100644 index 0000000..1057f11 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120229-pycon-on-the-charles-part-2.md @@ -0,0 +1,30 @@ +--- +title: PyCon on the Charles, part 2 +sidebar_link: false +--- + +February 29, 2012 + + +    + +PyCon 2012 is coming up in March in Santa Clara. In this second of two sessions, four Boston-area speakers will practice their presentations. If you can't make it to PyCon, this is a great way to see some of the PyCon talks, and also help your fellow Bostonians polish their presentations. + +Stop Writing Classes, Jack Diederich (Intermediate) + +Classes are great but they are also overused. Classes must be nouns but not every noun must be a class. If your class only has two methods and one of them is __init__ you probably meant to write a function. This talk will describe examples of class overuse taken from real world code and refactor the unnecessary classes, exceptions, and modules out of them. + +Pragmatic Unicode, or, How do I stop the pain?, Ned Batchelder (Novice) + +Python has great Unicode support, but it's still your responsibility to handle it properly. I'll do a quick overview of what Unicode is, but only enough to get your program working properly. I'll describe strategies to make your code work, and keep it working, without getting too far afield in Unicode la-la-land. + +Diversity in practice: How the Boston Python Meetup grew to 1000 people and over 15% women, Jessica McKellar & Asheesh Laroia (Intermediate) + +How do you bring more women into programming communities with long-term, measurable results? In this talk we'll analyze our successful effort, the Boston Python Workshop, which brought over 200 women into Boston's Python community this year. We'll talk about lessons learned running the workshop, the dramatic effect it has had on the local user group, and how to run a workshop in your city. + +Pizza will be provided by HubSpot, first drinks at Meadhall by WebReply. + + +Meetup link: [https://www.meetup.com/bostonpython/events/36663162/](https://www.meetup.com/bostonpython/events/36663162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120322-django-tools-and-crazy-things-new-location.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120322-django-tools-and-crazy-things-new-location.md new file mode 100644 index 0000000..3b5cb5f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120322-django-tools-and-crazy-things-new-location.md @@ -0,0 +1,55 @@ +--- +title: Django Tools and Crazy Things (New Location!) +sidebar_link: false +--- + +March 22, 2012 + + +    + +For our March meeting, we're in a new spot! Rue La La is providing the location, the food, and the drinks! We have two great speakers, RSVP at http://meetu.ps/81SQz . + +Frank Wiles: Django Developer's Survival Guide + +Frank will take us through a quick tour of the must have tools for the modern Django developer: South, Django Debug Toolbar, Celery, Fabric, Haystack, Tastypie, IPython, and so on. Frank runs Revolution Systems in Lawrence Kansas, and has built large Django projects for clients across the country. + +James Tauber: You Used Python for What?! + +Taking a break from his usual web development, James will give an overview of some of the more unusual things he's done with Python: from graded readers for Ancient Greek to analyzing piano performances; from emulating an Apple ][ to the beginnings of an operating system written in Python. James is the leader of the Pinax project, and runs Eldarion virtually from Burlington, MA. + +Plus, a Boston perspective on last week's PyCon 2012 in Santa Clara. + +Drinks and socializing included, in Rue La La's spacious headquarters. + +Getting to Rue La La: + +WALKING +From South Station (8 - 10 minutes): +Coming out of South Station, turn right onto Summer Street. Follow Summer Street over the bridge toward South Boston. Immediately following the bridge, you will see a building on your right with a sign for “Neighborhood Health Plan” and a convenience store. Take this right, down a stairwell that will take you parallel to the water. Follow this path all along the water. There will be a big parking lot on your left, and once you come to the far corner, take a left (you’ll be headed towards the brick buildings. This will take you to A Street, which runs right in front of the Channel Center. #20 is the building diagonally across the street to your right. + +From Broadway T Stop (8 - 10 minutes): +Coming out of the Broadway T stop, turn right onto W. Broadway. Follow W. Broadway to A Street. Make a left on A Street, and walk until you get to 20 Channel Center. The building is on the right-hand side of the street, and the entrance is about halfway down the building (you can enter on either side). + +DRIVING +GPS: If using GPS, we recommend entering “229 A Street”, as there is another Channel Street in Boston. + +From the North: +Follow I-93 South to exit 20A toward Purchase Street (signs for South Boston). Turn left at Summer Street, then right onto Melcher Street, and another right onto A Street. You will then take a left onto Iron Street and a left onto Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the South: +Follow I-93 North to exit 15 for Columbia Road, turn right at Columbia Road (signs for South Boston). At Kosciuszko Circle, take the 3rd exit onto Columbia Road/3A and follow it for 0.6 miles. At Columbia Road Rotary, take the 2nd exit onto Old Colony Avenue. Continue straight onto Dorchester Avenue then turn right onto A Street. You will then take a right onto Iron Street and a left at Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the West: +Follow I-90 East to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +From the East: +Follow I-90 West to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +Parking: +There are four lots to choose from. One small lot is directly attached to the Channel Center, at a rate of $12/day. This is primarily used by employees with monthly passes, but you can pay with a credit card or cash when you park. Across the street from the entrance is a large lot ($11), which accepts cash or check when you exit. Next to that lot on the right is a parking garage, which is $11/day ($10 if you’re in before 9 and out before 6). They only accept credit cards, and you’ll pay on your way out. + + +Meetup link: [https://www.meetup.com/bostonpython/events/56404642/](https://www.meetup.com/bostonpython/events/56404642/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..4edde66 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +March 30, 2012 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/42610202/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_6) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 4-237 on the main campus for both days of the event. See the venue section of the wiki (https://openhatch.org/wiki/Boston_Python_Workshop_6#Venue_and_Logistics) for directions and a map. + +Friday evening (3/30): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (3/31): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects: + +Using the Twitter API to write parts of a Twitter client. Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/56754812/](https://www.meetup.com/bostonpython/events/56754812/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120412-april-project-night-with-designer-advice.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120412-april-project-night-with-designer-advice.md new file mode 100644 index 0000000..da301a5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120412-april-project-night-with-designer-advice.md @@ -0,0 +1,40 @@ +--- +title: April Project Night, with Designer advice! +sidebar_link: false +--- + +April 12, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. + +Our sponsor Matchbox (http://matchbox.net/) will bring along some designers who can give advice on your project! + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Thursday, April 12th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Matchbox (http://matchbox.net/)! + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/ + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175882/](https://www.meetup.com/bostonpython/events/51175882/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120424-fundamental-topics-iteration-and-classes.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120424-fundamental-topics-iteration-and-classes.md new file mode 100644 index 0000000..0fb4d7b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120424-fundamental-topics-iteration-and-classes.md @@ -0,0 +1,26 @@ +--- +title: Fundamental Topics - Iteration and Classes +sidebar_link: false +--- + +April 24, 2012 + + +    + +The April presentation night will have two tutorials on fundamental Python topics. These are aimed at beginners, to bring them up to speed on two important Python topics, but intermediate users will pick up details and gain a deeper understanding. Of course, all are welcome! + +Iteration, Ned Batchelder + +An important tool in any programming language is looping over a sequence of values. Python provides unusually rich support for iteration. Learning Python's iteration tools will give you a deeper understanding of the language, and let you use the language like a native. + +Classes, Anna Callahan & David Baumgold + +You can get a long way in Python without using classes, but classes are a powerful tool for organizing your programs. This topic will cover how to architect a complete program using object-oriented techniques. + +Pizza will be sponsored by Oracle, thanks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176162/](https://www.meetup.com/bostonpython/events/51176162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120508-may-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120508-may-project-night.md new file mode 100644 index 0000000..bb0486d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120508-may-project-night.md @@ -0,0 +1,38 @@ +--- +title: May Project Night +sidebar_link: false +--- + +May 08, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/9SPh0 + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Tuesday, May 8th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by The Creative Group (http://www.creativegroup.com) and Robert Half Technology (http://www.rht.com). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175912/](https://www.meetup.com/bostonpython/events/51175912/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120523-science-genes-satellites-and-lightning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120523-science-genes-satellites-and-lightning.md new file mode 100644 index 0000000..94e73b6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120523-science-genes-satellites-and-lightning.md @@ -0,0 +1,30 @@ +--- +title: Science - Genes, Satellites, and Lightning! +sidebar_link: false +--- + +May 23, 2012 + + +    + +A night of science, sponsored by Seven Bridge Genomics (http://sbgenomics.com) and Compete (http://compete.com). Two Boston-area PyCon poster presenters will tell us about their scientific work with Python: + +Clint Howarth, Millions of Genes with Python and Jython + +The Analysis and Annotation Engineering group at the Broad Institute uses cpython and jython as fundamental technologies to help sequence, analyze, and publish hundreds of bacterial and viral genomes every year. Clint will describe how his small team uses Python to accomplish big things. + +Tom Aldcroft, Keeping the Chandra satellite cool with Python and Xija + +The Chandra X-ray Observatory has been producing significant astronomical discoveries since its launch by NASA in July of 1999. The Chandra operations team uses Python for predictive thermal modeling of the spacecraft to maintain a safe thermal environment. Tom will describe the suite of modeling tools and how they take advantage of powerful packages like NumPy, mpi4py, PyTables, and PyGTK with embedded Matplotlib. + +We'll also have time for Lightning Talks: if you have something to share, and want to talk for 5-10 minutes, get in touch with me, especially if it's scientific! + +As if that's not enough, we'll raffle off some books. If you have any lightly-used books you want to donate, bring them and we'll add them to the pile. + +Pizza tonight is sponsored by Seven Bridges Genomics (http://sbgenomics.com). Afterward, we'll head over to Meadhall, with drinks by Compete (http://compete.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176182/](https://www.meetup.com/bostonpython/events/51176182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120604-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120604-june-project-night.md new file mode 100644 index 0000000..3d16e4d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120604-june-project-night.md @@ -0,0 +1,40 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 04, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food sponsored by Yieldbot (http://yieldbot.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/cjtk4 + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! We'll have something for all Python experience levels. + +When: 6:30pm - 9:30pm on Monday, June 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Yieldbot (http://yieldbot.com). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175942/](https://www.meetup.com/bostonpython/events/51175942/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120620-june-presentation-distributed-computing-star-egg.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120620-june-presentation-distributed-computing-star-egg.md new file mode 100644 index 0000000..f948613 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120620-june-presentation-distributed-computing-star-egg.md @@ -0,0 +1,30 @@ +--- +title: (June Presentation) Distributed Computing - Star + Egg +sidebar_link: false +--- + +June 20, 2012 + + +    + +Two talks about lashing machines together to do big work! Sponsored by CloudLock and Rue La La. Tell your friends: http://meetu.ps/cXWmR + +StarCluster, Justin Riley + +StarCluster is a cluster computing toolkit for the cloud, developed in Python by The Software Tools for Academics and Researchers (STAR) group at MIT. StarCluster makes it easy to create and manage parallel and distributed computing clusters on Amazon's EC2. Additionally, a command line interface provides utilities for working with clusters, machines, and data volumes. StarCluster also exposes a Python plugin API that allows users to customize their systems beyond the defaults. StarCluster also includes public machine images, equipped with frameworks out-of-the-box including OpenMPI, OpenMP, Hadoop, (Py)CUDA, (Py)OpenCL, and IPython (parallel). + +In this talk I will give an overview of StarCluster and how to get started using it with these various parallel frameworks on real clusters in the cloud. I will also cover using StarCluster's Python plugin API to further configure a cluster and automate various workflows. + +Integrating Distributed Systems with Egg, Saul Youssef + +Egg is a python framework that lets you integrate distributed systems into a coherent whole. I'll talk about the rationale for egg and show how we're using it to manage a large (2.2PB, 3500 core) joint B.U./Harvard computer center. Egg is kind of perfect for "big data" applications if you're interested in that. I keep thinking that this has something to do with the security of the open internet too, but my friends think I'm crazy. We'll see... + +We may have time for a few lightning talks, get in touch if you want to give one! + +Pizza will be provided by CloudLock (http://cloudlock.com), and drinks afterwards at Meadhall by Rue La La (http://ruelala.com)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176262/](https://www.meetup.com/bostonpython/events/51176262/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120712-july-project-night-julython.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120712-july-project-night-julython.md new file mode 100644 index 0000000..231ef87 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120712-july-project-night-julython.md @@ -0,0 +1,40 @@ +--- +title: July Project Night - Julython! +sidebar_link: false +--- + +July 12, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food sponsored by Safari Books Online (http://www.safaribooksonline.com/)! + +July brings Julython (http://www.julython.org/), a friendly competition to increase activity in Python projects. Check it out and get your projects going! Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/fnn1C . + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, July 12th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided by Safari Books Online (http://www.safaribooksonline.com/). + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51175972/](https://www.meetup.com/bostonpython/events/51175972/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120724-building-real-windows-desktop-applications-with-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120724-building-real-windows-desktop-applications-with-python.md new file mode 100644 index 0000000..10b9008 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120724-building-real-windows-desktop-applications-with-python.md @@ -0,0 +1,22 @@ +--- +title: Building Real Windows Desktop Applications with Python +sidebar_link: false +--- + +July 24, 2012 + + +    + +Patrick Moran will tell us about building desktop applications with Python, sponsored by http://embed.ly and Jana (http://jana.com). Tell your friends: http://meetu.ps/g70Tz + +Have you ever wanted to distribute your Python script to a user that didn't have Python installed? It's not easy for non-Pythonists. Maybe you should consider making it into an installable "MSI" file. This talk will show how to build a stand-alone installable Windows MSI installer using a collection of open source tools such as PyQT, py2exe and Inno Setup. I will walk you through the installation, configuration and compilation steps needed to build a demonstration application. Bring your own code and play along too! + +We will have time for lightning talks, send an email to ned@nedbatchelder.com if you want 5-10 minutes to talk about any Python-related topic you like! Something you wrote? Something you found? Something you like? Something you hate? Now's your chance! + +Pizza will be provided by http://embed.ly , afterwards, we'll be at Meadhall, with drinks sponsored by Jana (http://jana.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176392/](https://www.meetup.com/bostonpython/events/51176392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120728-intermediate-python-workshop.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120728-intermediate-python-workshop.md new file mode 100644 index 0000000..2c14cc4 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120728-intermediate-python-workshop.md @@ -0,0 +1,38 @@ +--- +title: Intermediate Python Workshop +sidebar_link: false +--- + +July 28, 2012 + + +    + +Level up your Python through your choice of a dozen fun and practical projects. + +We’ll provide the projects and friendly helpers; you bring a laptop and enthusiasm. You’ll rotate through the projects that interest you at your own pace, and we’ll have breaks for demos of awesome Python libraries and applications. + +The Projects + +Our material is all online. Please visit our wiki for a detailed event description and the full list of projects. (https://openhatch.org/wiki/Intermediate_Python_Workshop) + +We'll have 4 styles of projects for you at this event: + +Practice writing Python programs from scratch. Learn a Python library through a bitesized project. Work through an online tutorial. Learn advanced CS concepts through an in-person interactive lecture. Projects include: + +Building a web application with Django Interacting with a database in Python Data analysis and plotting with Matplotlib Using the Twitter API Regular expressions and cheating at Words with Friends Building a graphical game with Pygame Prerequisites + +This event is perfect for you if: + +You know Python language basics, including dictionaries, lists, for loops, and writing functions You are comfortable with looking up Python information when you need it (example: if you needed to learn about generating random numbers in Python, you'd be comfortable with Googling for and reading through the relevant documentation) and at least one of the following is true: + +You want to practice writing programs in Python from scratch You want to learn about and practice more advanced Python/CS concepts, like classes and object-oriented programming You want to learn about and practice using useful Python libraries, for example to talk to a database, make graphs, or create graphical games If you are not sure if this event is appropriate for you, please check out the projects and get in touch with us (https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects)! + +Event schedule + +10:30am - 12:00pm: Projects 12:00pm - 12:45pm: Lunch: meet fellow Pythonistas over pizza (sponsored by the Python Software Foundation!) 12:45pm - 1:00pm: Demos 1pm - 2:30pm: Projects 2:30pm - 2:45pm: Demos 2:45pm - 4:15pm: Projects 4:15pm - 4:30pm: Wrap-up Questions? Please get in touch (bpw-staff@lists.openhatch.org)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/72888922/](https://www.meetup.com/bostonpython/events/72888922/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120809-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120809-august-project-night.md new file mode 100644 index 0000000..4df9a84 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120809-august-project-night.md @@ -0,0 +1,40 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 09, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided. Want to sponsor? Get in touch! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/fnn1C . + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, August 9th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects will be here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176032/](https://www.meetup.com/bostonpython/events/51176032/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120822-giant-robots-and-lightning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120822-giant-robots-and-lightning.md new file mode 100644 index 0000000..da88b8b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120822-giant-robots-and-lightning.md @@ -0,0 +1,26 @@ +--- +title: Giant Robots, and Lightning +sidebar_link: false +--- + +August 22, 2012 + + +    + +Dan Cody will tell us about Project Hexapod + +Project Hexapod (http://projecthexapod.com) is building a giant robot, and it's powered by Python! Meet Stompy: An open-source, 18ft wide, 4,000 pound, 6-legged hydraulic robot that you can ride. We’re a team of 3 instructors, 1 TA, and 15 students based out of a makerspace in Somerville, Massachusetts called Artisan’s Asylum (http://artisansasylum.com/). We’ve spent the last four months running a class on how to design giant robots (http://rideablehexapod.eventbrite.com/), and Stompy is the end result. + +Note: there is no actual robot yet, but Dan will explain all the awesomeness of the project so far! + +And then we'll have time for a bunch of lightning talks. If you have something you want to talk about for 5-10 minutes, drop me a line (ned@nedbatchelder.com). + +Pizza will be provided, though we don't have a sponsor yet! We may have to pay for it ourselves... + +Afterwards, we'll be at Meadhall with drinks paid for by Hubspot (http://hubspot.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/51176452/](https://www.meetup.com/bostonpython/events/51176452/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120905-sept-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120905-sept-project-night.md new file mode 100644 index 0000000..c6dacfa --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120905-sept-project-night.md @@ -0,0 +1,40 @@ +--- +title: Sept Project Night +sidebar_link: false +--- + +September 05, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by CloudLock (http://cloudlock.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/jCTYj + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, September 5th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration:http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073162/](https://www.meetup.com/bostonpython/events/69073162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120927-100-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120927-100-lightning-talks.md new file mode 100644 index 0000000..8c04c71 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20120927-100-lightning-talks.md @@ -0,0 +1,22 @@ +--- +title: 100% Lightning talks +sidebar_link: false +--- + +September 27, 2012 + + +    + +Join us for a night of 100% lightning talks. A dozen or so topics, 5-10 minutes each, it will be fascinating! Currently, we have talks signed up ranging from image processing to energy to map/reduce to backward compatibility to dystopia and beyond! + +No promises, but we might have room for one or two more. Let me know if you are interested. + +Pizza will be sponsored by BitSight (http://bitsighttech.com). + +This would be an interesting night for the Python-curious to attend, tell your friends: http://meetu.ps/ld8Qz + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073242/](https://www.meetup.com/bostonpython/events/69073242/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121010-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121010-october-project-night.md new file mode 100644 index 0000000..1561ca6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121010-october-project-night.md @@ -0,0 +1,40 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 10, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by TalkTo (http://talkto.com)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/mngdx + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, October 10th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073402/](https://www.meetup.com/bostonpython/events/69073402/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121016-intro-to-django-special-location.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121016-intro-to-django-special-location.md new file mode 100644 index 0000000..56fc048 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121016-intro-to-django-special-location.md @@ -0,0 +1,58 @@ +--- +title: Intro to Django - *Special Location* +sidebar_link: false +--- + +October 16, 2012 + + +    + +Have you been wanting to learn how to use Django, the foremost web framework for Python? This is your chance! + +Kevin Grinberg will give an introduction to Django for those who have never used it. The first hour will be Kevin's presentation. The second hour you can use as you like: some of us will be holding an open-ended ask-anything Q&A, and others will be doing hands-on work on their own computers, with help from roving experts. + +What to bring: your Python language skills (beginners welcome!), and a fully-charged laptop if you want to do hands-on work. + +And of course there will be time for chatting and socializing, thanks to food and drink provided by Rue La La. They are also hosting us in their offices at 20 Channel Center in Boston in the Innovation District. Thanks, Rue La La! + +Where we'll be: We're meeting at Rue La La's offices at 20 Channel Center. There is (paid) parking in the complex, or at meters on the street. The building is a 10-minute walk from the Red Line. More details: + +WALKING + +From South Station (8 - 10 minutes): + +Coming out of South Station, turn right onto Summer Street. Follow Summer Street over the bridge toward South Boston. Immediately following the bridge, you will see a building on your right with a sign for “Neighborhood Health Plan” and a convenience store. Take this right, down a stairwell that will take you parallel to the water. Follow this path all along the water. There will be a big parking lot on your left, and once you come to the far corner, take a left (you’ll be headed towards the brick buildings. This will take you to A Street, which runs right in front of the Channel Center. #20 is the building diagonally across the street to your right. + +From Broadway T Stop (8 - 10 minutes): + +Coming out of the Broadway T stop, turn right onto W. Broadway. Follow W. Broadway to A Street. Make a left on A Street, and walk until you get to 20 Channel Center. The building is on the right-hand side of the street, and the entrance is about halfway down the building (you can enter on either side). + +DRIVING + +GPS: If using GPS, we recommend entering “229 A Street”, as there is another Channel Street in Boston. + +From the North: + +Follow I-93 South to exit 20A toward Purchase Street (signs for South Boston). Turn left at Summer Street, then right onto Melcher Street, and another right onto A Street. You will then take a left onto Iron Street and a left onto Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the South: + +Follow I-93 North to exit 15 for Columbia Road, turn right at Columbia Road (signs for South Boston). At Kosciuszko Circle, take the 3rd exit onto Columbia Road/3A and follow it for 0.6 miles. At Columbia Road Rotary, take the 2nd exit onto Old Colony Avenue. Continue straight onto Dorchester Avenue then turn right onto A Street. You will then take a right onto Iron Street and a left at Channel Center Street. Arrive at 20 Channel Center Street. The entrance is about halfway down the building (you can enter on either side). + +From the West: + +Follow I-90 East to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +From the East: + +Follow I-90 West to exit 25 toward South Boston, keep left at the fork in the ramp. Turn left onto Congress Street, turn left onto A Street, then turn left on Iron Street. Arrive at Channel Center Street. + +Parking: + +There are three lots to choose from. One small lot is directly across from Barlow’s on Binford Street. This is primarily used by employees with monthly passes. Across the street from the entrance is a large lot ($12), which accepts cash or check when you exit. Next to that lot on the right is a parking garage, which is $12/day ($10 if you’re in before 9 and out before 6). They only accept credit cards, and you’ll pay on your way out. + + +Meetup link: [https://www.meetup.com/bostonpython/events/73703392/](https://www.meetup.com/bostonpython/events/73703392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121101-november-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121101-november-project-night.md new file mode 100644 index 0000000..ac34333 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121101-november-project-night.md @@ -0,0 +1,40 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 01, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Food will be provided by edX (http://edx.org)! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/nGBRz + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, November 1st. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial: http://docs.python.org/tutorial/ How to Think Like a Computer Scientist: Learning with Python: http://openbookproject.net/thinkcs/python/english2e/ An introduction to Python through writing games: http://inventwithpython.com/chapters/ Learn Python the Hard Way: http://learnpythonthehardway.org (http://learnpythonthehardway.org/) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration: http://spacehack.org (http://spacehack.org/) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial: https://docs.djangoproject.com/en/dev/intro/tutorial01/ (https://docs.djangoproject.com/en/1.3/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/71319362/](https://www.meetup.com/bostonpython/events/71319362/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..b44db20 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,42 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +November 02, 2012 + + +    + +Learn and practice Python basics with this project-driven workshop! + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://meetup.bostonpython.com/events/56754812/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. We'll be in room 4-231 on the main campus for the first day of the event. See the venue section of the wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7#Venue_and_Logistics) for directions and a map. + +Friday evening (11/2): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (11/3): lecture and projects + +9:30am - 10am: settle in and review Friday's material. 10am - Noon: welcome and lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 4pm: projects. 4pm - 4:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects + +Using the Twitter API to write parts of a Twitter client. Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/88039732/](https://www.meetup.com/bostonpython/events/88039732/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121115-beyond-django-four-other-web-frameworks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121115-beyond-django-four-other-web-frameworks.md new file mode 100644 index 0000000..162bf7b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121115-beyond-django-four-other-web-frameworks.md @@ -0,0 +1,24 @@ +--- +title: Beyond Django - Four other web frameworks +sidebar_link: false +--- + +November 15, 2012 + + +    + +Note: I know this event conflicts with a Django Boston event, we are so sorry! We're working to make sure this doesn't happen again... + +Django is the most popular Python web framework, but there are lots of other choices. Tonight, four members will present overviews of some other options: + +David Baumgold: Flask Jason Michalski: Pyramid David Sturgis: twisted.web and Klein Ricardo Newbery: Zope and Plone We'll follow up with a free-ranging Q&A session about web frameworks in general, or whatever else comes to mind! + +Pizza is sponsored by Nuance (http://nuance.com). + +At Nuance, we’re the people who make voice work. We design and deliver intuitive technologies that help people live and work more intelligently. We provide the tools to inform, to connect, and to empower people to be more productive and creative. We give people more than just control over their communications. We give them command of their lives. + + +Meetup link: [https://www.meetup.com/bostonpython/events/69073762/](https://www.meetup.com/bostonpython/events/69073762/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121204-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121204-december-project-night.md new file mode 100644 index 0000000..7c25e46 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121204-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 04, 2012 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: http://meetu.ps/plxXd + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +We'll also have some books from O'Reilly to raffle off! + +Thanks to AppNeta for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:00pm - 9:00pm on Tuesday, December 4th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/69757612/](https://www.meetup.com/bostonpython/events/69757612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121215-january-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121215-january-presentation-night.md new file mode 100644 index 0000000..f601c96 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20121215-january-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: January Presentation Night +sidebar_link: false +--- + +December 15, 2012 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/93611332/](https://www.meetup.com/bostonpython/events/93611332/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130107-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130107-january-project-night.md new file mode 100644 index 0000000..eb8d940 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130107-january-project-night.md @@ -0,0 +1,43 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 07, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/77937672/ + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Thanks to EnerNOC (http://www.enernoc.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, January 7th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/77937672/](https://www.meetup.com/bostonpython/events/77937672/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130124-january-presentation-night-zipline-and-hython.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130124-january-presentation-night-zipline-and-hython.md new file mode 100644 index 0000000..026d36d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130124-january-presentation-night-zipline-and-hython.md @@ -0,0 +1,26 @@ +--- +title: January Presentation Night - Zipline and Hython +sidebar_link: false +--- + +January 24, 2013 + + +    + +Two presentations, sponsored by edX (http://edx.org) and Kyruus (http://kyruus.com): + +Thomas Wiecki: Zipline + +Zipline is a new, BSD-licensed quantitative trading system which allows easy backtesting of investment algorithms on historical data. The system is fundamentally event-driven and a close approximation of how live-trading systems operate. Input of historical data and output of performance statistics is based on Pandas DataFrames to integrate nicely into the existing Python eco-system. Furthermore, statistic and machine learning libraries like matplotlib, scipy, statsmodels, and sklearn integrate nicely to support development, analysis and visualization of state-of-the-art trading systems. + +Paul Tagliamonte: Hython + +I've created a Lisp variant that's fully hosted on and fully interoperable (in both directions) with Python. This talk will cover the basics of creating and manipulating Python ASTs, as well as a good show of how far they can be pushed with some clever hacks. + +Pizza will be sponsored by edX (http://edx.org). Drinks afterwards at Meadhall sponsored by Kyruus (http://kyruus.com). Thanks to our sponsors! + + +Meetup link: [https://www.meetup.com/bostonpython/events/77229092/](https://www.meetup.com/bostonpython/events/77229092/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md new file mode 100644 index 0000000..31e6302 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md @@ -0,0 +1,36 @@ +--- +title: PyCon tutorial - A hands-on introduction to Python for beginning programmers +sidebar_link: false +--- + +January 26, 2013 + + +    + +In preparation for her PyCon tutorial, Jessica will rehearse it for Boston Python members. + +Jessica McKellar, A hands-on introduction to Python for beginning programmers (https://us.pycon.org/2013/schedule/presentation/1/) + +Beginning programmers: Jump start your Python and programming careers with this 3-hour interactive tutorial. By the end, you'll have hands-on exposure to many core programming concepts, be able to write useful Python programs, and have a roadmap for continuing to learn and practice programming in Python. This class assumes no prior programming experience. + +We'll cover: + +Python as a calculator Basic data types Interactive programs: input and output Making choices: booleans and flow control Lists and iteration Functions We'll also practice writing Python scripts, see demos of cool Python applications, and take a quick tour of popular Python libraries. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in MIT classroom 2-139, which is in Building 2 on the first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +The closest T stop is the Kendall T stop on the Red Line. The closest bus stop is the 84 Massachusetts Avenue stop on the #1. There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100277162/](https://www.meetup.com/bostonpython/events/100277162/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md new file mode 100644 index 0000000..276a69f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-getting-started-with-open-source-development.md @@ -0,0 +1,46 @@ +--- +title: PyCon tutorial - Getting started with open source development +sidebar_link: false +--- + +February 02, 2013 + + +    + +In preparation for her PyCon tutorial, Jessica will rehearse it for Boston Python members. + +Jessica McKellar, Contribute with me! Getting started with open source development (https://us.pycon.org/2013/schedule/presentation/4/) + +Want to contribute to a Python project or the core language, but not sure where to start? + +Join us for 3 hours learning the nuts and bolts of open source contribution. By the end of this tutorial, you'll have the tools and practice to confidently contribute to your favorite projects. Give back to the community while making yourself a better software engineer. + +Beginning programmers are welcome and encouraged! + +We'll cover: + +the structure of an open source project the many ways to contribute the life cycle of a bug key development tools communication in an open source project During this tutorial, you'll get hands-on experience with: + +issue trackers, to report and track bugs the diff and patch utilities, to share your source code changes a revision control system, to collaboratively manage changes to projects IRC, to get and give help while contributing in real time testing and building Python projects We'll put these concepts and tools to practice by collaboratively reporting and fixing bugs in a demo Python project. + +We'll end with personalized next steps for getting started with open source projects that match your skills and interests. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in an MIT classroom, 2-139, which is in Building 2, first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +* The closest T stop is the Kendall T stop on the Red Line. +* The closest bus stop is the 84 Massachusetts Avenue stop on the #1. +* There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100330612/](https://www.meetup.com/bostonpython/events/100330612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md new file mode 100644 index 0000000..9eed7f5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md @@ -0,0 +1,42 @@ +--- +title: PyCon tutorial - Intermediate Twisted - Test-Driven Networking Software +sidebar_link: false +--- + +February 02, 2013 + + +    + +In preparation for his PyCon tutorial, Itamar will rehearse it for Boston Python members. + +Itamar Turner-Trauring, Intermediate Twisted: Test-Driven Networking Software (https://us.pycon.org/2013/schedule/presentation/15/) + +Unit testing is one of the most important methods for building more reliable, robust software; test-driven development, where tests are written first, even more so. But testing network applications presents additional difficulties: + +Data can arrive over the network with arbitrary delays, in arbitrary chunks, Connections can break at random, Timeouts are an important feature, but a unittest that takes 2 hours to pass is unacceptable, Relying on actual networking for tests leads to more fragile tests, etc. In order to deal with these issues, the Twisted event-driven networking framework provides an extensive set of functionality for testing, making it an excellent choice for building reliable applications. + +This tutorial aims to teach you how to write well-tested network applications with Twisted using a series of hands-on exercises. We will begin with a quick lecture on how to test Twisted code. Then you will get your hands dirty coding by trying to make a provided set of tests pass; the result will be a toy HTTP server. For the final exercise, you will need to come up with the list of tests yourself, as you would in real world development. + +Prerequisites: Intermediate knowledge of Python: classes, functions, etc.. A basic understanding of Twisted (protocols, transports, Deferreds), e.g. as provided by the introductory Twisted tutorial. Previous experience with other event-driven frameworks may suffice, however, given enough programming experience. Some experience with the unittest module would also be very helpful. + +Please arrive with a laptop configured with a recent version of Twisted (12.2 or later) and Python 2.7. Ubuntu, Debian or some other version of Linux or Unix (e.g. OS X) is highly recommended, but not necessary. If you’re using Windows please make very very sure you have a Twisted development environment set up before the class has started; in particular you should be able to run the trial command-line program. + +PyCon tutorials are half-day in-depth courses presented in the days preceding the bulk of PyCon. Rehearsing with a real audience is a great way to prepare. Come ready to learn, and also to provide feedback! + +Note: Space is very limited for these events, please do not sign up for more than one, to give others a chance. + +No food is being provided at this event. + +Location: + +We are in an MIT classroom, 2-135, which is in Building 2, first floor. This map shows where building 2 is: http://whereis.mit.edu/?go=2 + +* The closest T stop is the Kendall T stop on the Red Line. +* The closest bus stop is the 84 Massachusetts Avenue stop on the #1. +* There is paid garage parking at 5 Cambridge Center and at 1 Kendall Square (by the Kendall Square Cinema). + + +Meetup link: [https://www.meetup.com/bostonpython/events/100333602/](https://www.meetup.com/bostonpython/events/100333602/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130205-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130205-february-project-night.md new file mode 100644 index 0000000..7dca07f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130205-february-project-night.md @@ -0,0 +1,43 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/77939352/ + +Staff from the Boston Python Workshop (http://openhatch.org/wiki/Boston_Python_Workshop) will be here to help beginning Python programmers with language basics and practice. + +Thanks to Digitas (http://digitas.com/) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, February 5th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/77939352/](https://www.meetup.com/bostonpython/events/77939352/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130225-pycon-on-the-charles-part-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130225-pycon-on-the-charles-part-1.md new file mode 100644 index 0000000..95d6295 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130225-pycon-on-the-charles-part-1.md @@ -0,0 +1,24 @@ +--- +title: PyCon on the Charles, part 1 +sidebar_link: false +--- + +February 25, 2013 + + +    + +In preparation for their presentations at PyCon US, Jessica and Nate will rehearse with us! Thanks to Smarterer (http://smarterer.com) for sponsoring the night. + +Jessica McKellar: Keynote [All Levels] + +Jessica is a director of the Python Software Foundation, and will be speaking inspirationally about Python. + +Nate Aune: Deploy your Python app in 5 min with a PaaS [Intermediate] + +How can you avoid servers and get back to coding? Platform-as-a-service (PaaS) makes deployment easy. But which PaaS do you choose and how do you get started? This talk will examine several of the leading PaaS providers and discuss their pros/cons. We'll also give examples for how to deploy the same app to each of them to see the differences. + + +Meetup link: [https://www.meetup.com/bostonpython/events/76032852/](https://www.meetup.com/bostonpython/events/76032852/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130227-pycon-on-the-charles-part-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130227-pycon-on-the-charles-part-2.md new file mode 100644 index 0000000..19246c7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130227-pycon-on-the-charles-part-2.md @@ -0,0 +1,28 @@ +--- +title: PyCon on the Charles, part 2 +sidebar_link: false +--- + +February 27, 2013 + + +    + +In preparation for their presentations at PyCon US, Ned, David, and James will rehearse with us! Thanks to Arista Networks and ZEFR (http://zefr.com) for sponsoring the evening. + +Ned Batchelder: Loop like a native [Novice] + +Python provides powerful primitives for iterating over your data in ways that let you express yourself clearly and directly. But even programmers familiar with the tools don't use them as fully as they could. This talk will cover Python's iteration tools, from basic loops to generators and how to add iteration to your own classes. Come learn how looping was meant to be! + +David Malcolm: Death by a thousand leaks: what statically-analysing 370 Python extensions looks like [Experienced] + +What happens when you run a custom C static analysis tool ("cpychecker") on hundreds of Python extensions? I'll talk about the kinds of errors that my tool found, how to run it on your own code, and how to prevent memory leaks and crasher bugs in the C code of your Python extension modules. + +James Tauber: Music Theory and Performance Analysis with Sebastian and Czerny [Novice] + +This talk will discuss two open source projects for using Python for music analysis. Sebastian focuses on music theory while Czerny focuses on performance (particularly keyboard playing). + + +Meetup link: [https://www.meetup.com/bostonpython/events/76034482/](https://www.meetup.com/bostonpython/events/76034482/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130307-pycon-on-the-charles-part-3.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130307-pycon-on-the-charles-part-3.md new file mode 100644 index 0000000..6886da9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130307-pycon-on-the-charles-part-3.md @@ -0,0 +1,28 @@ +--- +title: PyCon on the Charles, part 3 +sidebar_link: false +--- + +March 07, 2013 + + +    + +In preparation for their presentations at PyCon US, Jessica, Stephen, and James will rehearse with us! Thanks to Quantopian and EnerNOC (http://enernoc.com) for sponsoring the evening. + +Jessica McKellar: How the Internet Works [Novice] + +This talk is an introduction to the Internet's structure and protocols through fun experiments from the Python perspective. We'll use Python libraries like Scapy and Twisted to explore what happens at a networking level as you surf the Web, how coffee shop Internet access works, and more. + +Stephen McJohn: Python's Law [Novice] + +Open source software is changing intellectual property law. The talk would cover recent cases on what elements of software may be copied without infringing copyright, the scope of software patents, enforceability of licenses, damages for copyright infringement, and how the network of community support for projects such as Python may be more potent in litigation than a patent portfolio. + +James Tauber: ApplePy: An Apple ][ emulator in Python [Intermediate] + +ApplePy is an Apple ][ emulator written in Python. It combines emulation of the 6502 microprocessor with emulation of the keyboard, display (including graphics mode), speaker, cassette and disk drive. This talk will provide a background to Apple ][ internals then dive into the Python code and the challenges of emulating hardware. + + +Meetup link: [https://www.meetup.com/bostonpython/events/76035042/](https://www.meetup.com/bostonpython/events/76035042/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130409-april-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130409-april-project-night.md new file mode 100644 index 0000000..71802b7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130409-april-project-night.md @@ -0,0 +1,43 @@ +--- +title: April Project Night +sidebar_link: false +--- + +April 09, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/87982382/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to Enernoc (http://enernoc.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, April 9th. + +Location: Microsoft NERD + +One Memorial Drive, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest (http://code.google.com/p/pyechonest/) and Echo Nest Remix (http://code.google.com/p/echo-nest-remix/) APIs Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/87982382/](https://www.meetup.com/bostonpython/events/87982382/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130413-cpython-development-sprint-for-new-contributors.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130413-cpython-development-sprint-for-new-contributors.md new file mode 100644 index 0000000..eabd9e9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130413-cpython-development-sprint-for-new-contributors.md @@ -0,0 +1,32 @@ +--- +title: CPython development sprint for new contributors +sidebar_link: false +--- + +April 13, 2013 + + +    + +Please read the full event description below for instructions on how to sign up. + +Want to contribute to Python? Join us for a 1-day development sprint on the CPython language implementation and standard library. This event is focused specifically on new contributors to the language! Several committers and experienced contributors will be with us to help with the mechanics of the contribution process as we triage tickets and make progress on bugs. + +Our goal is for everyone to have submitted at least one patch by the end of the event! + +When: 11am - 5pm on Saturday, April 13th, 2013 + +Where: MIT, room 4-159 + +Prerequisite: attendees must have at least 1 previous open source contribution experience + +Schedule: + +overview of the contribution process, gotchas, pro tips, Q&A on points of confusion pick tickets, start working on them lunch, provided by the Python Software Foundation Sprints Committee! more work on tickets wrap up Because this event has both high demand and prerequisites, instead of using meetup.com's first-come, first-serve model we are going to draw attendees from a lottery of those who meet the prerequisites. To sign up for this event, please complete this short form: + +http://bit.ly/boston-python-sprint + + +Meetup link: [https://www.meetup.com/bostonpython/events/112582582/](https://www.meetup.com/bostonpython/events/112582582/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130424-parsing-with-ply-and-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130424-parsing-with-ply-and-lightning-talks.md new file mode 100644 index 0000000..f1d6d27 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130424-parsing-with-ply-and-lightning-talks.md @@ -0,0 +1,26 @@ +--- +title: Parsing with PLY *and* LIGHTNING TALKS +sidebar_link: false +--- + +April 24, 2013 + + +    + +We have a short presentation about PLY, and then LIGHTNING TALKS. Thanks to CustomMade (http://custommade.com) for sponsoring pizza, and Carbonite for sponsoring drinks afterwards! + +Parsing with PLY, Johnny Healey + +This talk will provide an introduction to PLY, a python-based implementation of lex and yacc. There will be a brief summary of what lexer and parser generators are and when they are appropriate to use. The talk will then proceed into a tutorial of how PLY can be used to construct a parser. Demonstration examples will revolve around the creation of a simple engine for processing the bbcode markup language. + +LIGHTNING TALKS + +We have a variety of lightning talks planned, including: + +Making snowflakes with Python Check.io Descriptors Blood Analysis Economic simulation with open government data Python anti-patterns And more... I don't know how many we'll be able to squeeze in, but it should be a great night! We'll be doing more lightning talks at future events, so if your talk doesn't fit, don't worry, there will be more opportunities. + + +Meetup link: [https://www.meetup.com/bostonpython/events/89590252/](https://www.meetup.com/bostonpython/events/89590252/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130506-may-project-night-different-location.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130506-may-project-night-different-location.md new file mode 100644 index 0000000..5132926 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130506-may-project-night-different-location.md @@ -0,0 +1,43 @@ +--- +title: May Project Night - DIFFERENT LOCATION +sidebar_link: false +--- + +May 06, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. UNUSUAL LOCATION: Akamai, 8 Cambridge Center + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://meetup.bostonpython.com/events/92264042/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to Akamai (http://akamai.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday May 6th. + +Location: Akamai + +8 Cambridge Center, Cambridge, MA 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/) Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/92264042/](https://www.meetup.com/bostonpython/events/92264042/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md new file mode 100644 index 0000000..48330e9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130521-may-presentation-night-kenneth-reitz-python-for-humans.md @@ -0,0 +1,28 @@ +--- +title: May Presentation Night - Kenneth Reitz, Python for Humans +sidebar_link: false +--- + +May 21, 2013 + + +    + +For our May speaker, we have a real treat! Kenneth Reitz is a luminary in the Python world, and a prized speaker at any Python conference. Thanks to Heroku (http://heroku.com) and Rue La La (http://ruelala.com) for sponsoring. + +Python for Humans, Kenneth Reitz + +Python’s ecosystem is held up to a high standard, but it falls short in a few key areas. A handful of crucial APIs are an absolute pain to work with. We’ll go over where these APIs went wrong and learn about strong and elegant API design, with particular attention to HTTP requests. The high barriers to entry in Python will be discussed. Potential solutions will be proposed. + +We'll also have a broad-topic Q+A discussion. + +Then, a few Lightning Talks! + +Pizza is sponsored by Rue La La. + +Heroku has provided Kenneth and drinks afterwards at Meadhall! + + +Meetup link: [https://www.meetup.com/bostonpython/events/98911382/](https://www.meetup.com/bostonpython/events/98911382/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130525-intermediate-python-workshop-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130525-intermediate-python-workshop-2.md new file mode 100644 index 0000000..1eb1407 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130525-intermediate-python-workshop-2.md @@ -0,0 +1,50 @@ +--- +title: Intermediate Python Workshop 2 +sidebar_link: false +--- + +May 25, 2013 + + +    + +What: Intermediate Python Workshop: level up your Python through self-paced practice on short, fun, practical projects. + +When: Saturday, May 25th, 10:30am - 4:00pm + +Where: MIT, room 56-154 + +Things to bring: a wifi-capable laptop and power cord + +Questions: e-mail us! + +Level up your Python through your choice of a dozen fun and practical projects. + +We’ll provide the projects and friendly helpers; you bring a laptop and enthusiasm. You’ll rotate through the projects that interest you at your own pace, and we’ll have breaks for demos of awesome Python libraries and applications. + +The Projects + +Our material is all online. Please visit our wiki for a detailed event description and the full list of projects (https://openhatch.org/wiki/Intermediate_Python_Workshop_2). + +We'll have 3 styles of projects for you at this event: + +Practice writing Python programs from scratch. Learn a Python library through a bite-sized project. Work through an online tutorial. Projects include: + +Building a web application with Django Interacting with a database in Python Data analysis and plotting with Matplotlib Using the Twitter API Regular expressions and cheating at Words with Friends Building a graphical game with PyGame Prerequisites + +This event is perfect for you if: + +You know Python language basics, including dictionaries, lists, for loops, and writing functions You are comfortable looking up Python information when you need it (example: if you needed to learn about generating random numbers in Python, you'd be comfortable with Googling for and reading through the relevant documentation) and at least one of the following is true: + +You want to practice writing programs in Python from scratch You want to learn about and practice more advanced Python/CS concepts, like classes and object-oriented programming You want to learn about and practice using useful Python libraries, for example to talk to a database, make graphs, or create graphical games If you are not sure if this event is appropriate for you, please check out the projects and get in touch with us (https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects)! + +Event schedule + +10:30am - 12:00pm: Projects 12:00pm - 12:45pm: Lunch 12:45pm - 1:00pm: Demos 1:00pm - 2:30pm: More projects 2:30pm - 4:00pm: Even more projects! Things to bring + +a wifi-capable laptop on which you have the administrative rights to install software the laptop's charger Questions? Please get in touch! + + +Meetup link: [https://www.meetup.com/bostonpython/events/119501112/](https://www.meetup.com/bostonpython/events/119501112/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130605-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130605-june-project-night.md new file mode 100644 index 0000000..0cf24cc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130605-june-project-night.md @@ -0,0 +1,43 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. We're back at our usual location, Microsoft NERD, 1 Memorial Drive, Cambridge + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. Tell your friends: +http://www.meetup.com/bostonpython/events/101472372/ + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thanks to ClearBallot (http://clearballot.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday June 5th. + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org) Projects and competitions + +Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org) Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/) Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/101472372/](https://www.meetup.com/bostonpython/events/101472372/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130625-machine-learning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130625-machine-learning.md new file mode 100644 index 0000000..577f07a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130625-machine-learning.md @@ -0,0 +1,32 @@ +--- +title: Machine Learning +sidebar_link: false +--- + +June 25, 2013 + + +    + +Three talks about Machine Learning, sponsored by Ab Initio (http://abinitio.com) and Bullhorn (http://bullhorn.com). + +Nelle Varoquaux: Working on a machine learning challenge with sklearn + +Analysing data is hard. You have to normalize the data, extract the features, and choose and (sometimes) implement the right algorithm to perform the correct analysis. More and more, companies outsource this problem to data analysists (and geeks) in the form of challenges. In this talk, I will present tips and tricks to solve such a challenge using the machine learning toolbox scikit-learn. I will give concrete examples from several bioinformatics challenges. + +Michael Selik: Why Big Data? + +Many articles assert that Big Data will create value, but few if any explain why. Michael Selik will discuss different characteristics of data (volume, velocity, and variety), when each is valuable, and how to extract that value even if you're not a machine learning expert. + +Vik Paruchuri: edX Ease and Discern + +EdX runs MOOCs (Massive Open Online Courses), and uses machine learning to grade student essays. All our code is open-source, including the grading code, and we have open APIs for you to use our ML engine. I'll describe how it works, and how you can use it for your own machine learning tasks. + +Pizza is sponsored by Ab Initio, with drinks at Meadhall afterward sponsored by Bullhorn. + +We'll also be live-streaming the evening at http://youtube.com/bostonpython. + + +Meetup link: [https://www.meetup.com/bostonpython/events/107649802/](https://www.meetup.com/bostonpython/events/107649802/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130701-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130701-july-project-night.md new file mode 100644 index 0000000..5542a0a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130701-july-project-night.md @@ -0,0 +1,42 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 01, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Thank you Riverbed (http://riverbed.com) for sponsoring the night! + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, July 1st. + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/114712842/](https://www.meetup.com/bostonpython/events/114712842/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md new file mode 100644 index 0000000..f82cc13 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md @@ -0,0 +1,44 @@ +--- +title: A project-driven introduction to Python for women and their friends +sidebar_link: false +--- + +July 12, 2013 + + +    + +What: Learn and practice Python basics with this project-driven workshop! + +When: Friday, July 12th, 6pm - 9pm, and Saturday, July 13th, 10am - 3:30pm + +Audience: Women and their friends who have no or limited programming experience. This event is welcoming and respectful of trans women. Men are welcome as guests of women who are attending (please RSVP as well). + +On Friday evening you'll set up your development environment and start learning Python through a self-directed tutorial and online practice problems. + +On Saturday we'll spend the morning on a lecture-based introduction to the language, taking breaks to practice concepts on bite-sized exercises. In the afternoon we'll break out into groups to practice Python through short projects on a variety of fun and practical topics. + +Check out photos and feedback (http://www.meetup.com/bostonpython/events/88039732/) from our previous workshop. + +You must be able to attend both days of the workshop to participate. + +Our goal is to provide an environment in which women can develop their programming skills with confidence. Our staff are predominantly women from the Boston programming and open source communities. + +See the previous Workshop wiki (https://openhatch.org/wiki/Boston_Python_Workshop_7) for more information on laptop setup, lecture material, and the projects, as well as workshop logistics including parking and childcare. + +Venue details + +MIT is hosting this event. The exact room is TBA. + +Friday evening (7/12): laptop setup and first steps with Python + +6pm to 9pm: set up your development environment and start learning Python. Things to bring: a wireless-enabled laptop. Saturday (7/13): lecture and projects + +10am - noon: lecture-based introduction to Python with hands-on practice. Noon - 1pm: lunch, provided by us! If you have dietary restrictions, please e-mail us as you RSVP. 1pm - 3pm: projects. 3pm - 3:30pm: wrap-up and next steps. Things to bring: the same wireless-enabled laptop from Friday. Saturday projects + +Wordplay and how to cheat at Words with Friends. Programming graphical effects for a ColorWall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/127748182/](https://www.meetup.com/bostonpython/events/127748182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130730-lightning-talks-for-july.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130730-lightning-talks-for-july.md new file mode 100644 index 0000000..90baec4 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130730-lightning-talks-for-july.md @@ -0,0 +1,20 @@ +--- +title: Lightning Talks for July +sidebar_link: false +--- + +July 30, 2013 + + +    + +An evening of all lightning talks, 5-10 minutes each, on a wide range of topics. The night is sponsored by CustomMade. + +Topics: + +Jenny Cheng, Sewing patterns with PIL Chris Naughton, Using Python to make Java homework fun Ghinwa F. Choueiter, 5 cool things about Pandas Mike Speciner, What I don't like about Python George Schneeloch, Static analysis options for Python Mali Akmanalp, Simpleflake Samantha Scharr, My Django app Muthu Annamalai, Tamil twitter API programs Christopher White, FlyScript portal John Baldwin, Testing with SQLsoup We'll also have some books to raffle off, and Meadhall for drinks afterwards. The talks will be livestreamed on http://youtube.com/bostonpython. + + +Meetup link: [https://www.meetup.com/bostonpython/events/112763272/](https://www.meetup.com/bostonpython/events/112763272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130820-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130820-august-project-night.md new file mode 100644 index 0000000..7d11053 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130820-august-project-night.md @@ -0,0 +1,40 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 20, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Kensho Finance (http://kenshofinance.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Tuesday, August 20th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/120413472/](https://www.meetup.com/bostonpython/events/120413472/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130828-four-talks-about-flask.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130828-four-talks-about-flask.md new file mode 100644 index 0000000..108702f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130828-four-talks-about-flask.md @@ -0,0 +1,18 @@ +--- +title: Four talks about Flask +sidebar_link: false +--- + +August 28, 2013 + + +    + +Flask is a small powerful Python web framework that is gaining in popularity. Tonight we have four talks about sophisticated uses of Flask: + +Isaac Slavitt, Writing Flask Apps for Fun and Politics Brendan Kohler, Rate limiting your APIs Freedom Dumlao, Building a Flask extension Mali Akmanalp, Chassis, a "batteries included" boilerplate flask project Thanks to Cogo Labs (http://cogolabs.com) for sponsoring the pizza, and to Smarterer (http://smarterer.com) for buying drinks at Meadhall afterwards. The talks will be recorded and livestreamed at http://youtube.com/bostonpython thanks to Custom Made (http://custommade.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/114714422/](https://www.meetup.com/bostonpython/events/114714422/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130909-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130909-september-project-night.md new file mode 100644 index 0000000..298b1f4 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130909-september-project-night.md @@ -0,0 +1,40 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 09, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to FlipKey (http://flipkey.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday September 9th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by FlipKey! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/119805122/](https://www.meetup.com/bostonpython/events/119805122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130923-fundamental-topics-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130923-fundamental-topics-night.md new file mode 100644 index 0000000..cf49fda --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20130923-fundamental-topics-night.md @@ -0,0 +1,38 @@ +--- +title: Fundamental topics night +sidebar_link: false +--- + +September 23, 2013 + + +    + +Welcome to another installment of our Fundamental Topics series, thanks to InsightSquared and Solano Labs for sponsoring! + +All of the talks at this event are perfect for motivated beginners and intermediate programmers looking to level up their Python and programming skills through a mix of theoretical and practical topics. + +The talks will be live-streamed and recorded and available at http://youtube.com/bostonpython. Thanks to CustomMade for making it happen! + +Tonight we'll cover: + +1. Names and values (Ned Batchelder) + +Ned will make us all experts with the ins and outs of assignment. Learn about mutable and immutable data types, and why this bit of code behaves the way it does: +nums = [1, 2, 3] +tri = nums +nums.append(4) +print(tri) +2. Basic data structures and analyzing algorithmic complexity (Jessica McKellar) +When should you use a dictionary versus a list, tuple, or set? Have you ever written code that seems like it should run quickly but takes forever? We'll break down what data structures are efficient for various use cases and practice analyzing the runtime complexity of our algorithms. +3. Virtualenv and pip (Giles Hall) +virtualenv creates isolated Python environments, so you can work on multiple projects simultaneously without causing problems in one project by upgrading or uninstalling Python packages for another. +pip is a tool for installing Python libraries. +Giles will help us master both of these tools and develop a clean routine for starting new projects. +4. How to find answers to your questions (Deb Nicholson) +90% of programming is knowing how to confidently and efficiently find answers to your questions! + + +Meetup link: [https://www.meetup.com/bostonpython/events/120746442/](https://www.meetup.com/bostonpython/events/120746442/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131014-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131014-october-project-night.md new file mode 100644 index 0000000..afe4853 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131014-october-project-night.md @@ -0,0 +1,40 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 14, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to U Lived It (http://ulivedit.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday October 14th + +Location: Microsoft NERD + +1 Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by U Lived It (http://ulivedit.com)! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) An introduction to Python through writing games (http://inventwithpython.com/chapters/) Learn Python the Hard Way (http://learnpythonthehardway.org/) Projects and competitions + +Julython (http://julython.org/): contribute to open source projects, win points for Boston. Try some of our Intermediate Workshop projects (http://bit.ly/intermediate-python-projects). Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! Use Python to participate in space exploration (http://spacehack.org/). Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/127234242/](https://www.meetup.com/bostonpython/events/127234242/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131029-helper-languages.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131029-helper-languages.md new file mode 100644 index 0000000..74af9fd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131029-helper-languages.md @@ -0,0 +1,30 @@ +--- +title: Helper Languages +sidebar_link: false +--- + +October 29, 2013 + + +    + +Python is great, but you often need help to get the full job done. Tonight, with sponsorship from Red Hat (http://redhat.com) and Rue La La (http://ruelala.com), we cover three helper languages that make great additions to your toolbox. These talks are all beginner-friendly, don't be scared! + +SQL, David Baumgold + +SQL is the query language underlying all relational databases. Many Python frameworks let you avoid the details of SQL, but understanding how it works gives you greater power, even if you are using a framework. + +CSS+HTML, Frances Botsford and Brian Talbot + +HTML is simple and easy to get started with, but as your pages get more complex, it's easy for things to get out of hand. Separating the form from the appearance with CSS gives you more control and more power. + +Regexes, Jessica McKellar + +Matching patterns in text is a common job, from data import to routing URLs. Regular Expressions (regexes) give you a succinct way to express patterns, but they can seem mystifying at first. They aren't as tricky as they look, and you'll find uses for them in lots of places. + +Thanks to Red Hat (http://redhat.com) for sponsoring the pizza, and to Rue La La (http://ruelala.com) for buying drinks at Meadhall afterwards. The talks will be recorded and livestreamed at http://youtube.com/bostonpython thanks to Custom Made (http://custommade.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/131802142/](https://www.meetup.com/bostonpython/events/131802142/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131114-november-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131114-november-project-night.md new file mode 100644 index 0000000..aa25ad1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131114-november-project-night.md @@ -0,0 +1,54 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 14, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Akamai (http://akamai.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, November 14th + +Location: Akamai Technologies + +8 Cambridge Center, Cambridge, 02142 + +Food: Pizza will be provided by Akamai (http://akamai.com)! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/149945212/](https://www.meetup.com/bostonpython/events/149945212/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131120-data-good-tools-bad-journals.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131120-data-good-tools-bad-journals.md new file mode 100644 index 0000000..4e0cf20 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131120-data-good-tools-bad-journals.md @@ -0,0 +1,26 @@ +--- +title: Data! Good tools, Bad journals +sidebar_link: false +--- + +November 20, 2013 + + +    + +Come hear about good tools and bad journals! Thanks to Continuum (http://continuum.io) and Scout (http://goscoutgo.com) for sponsoring the night. + +Ian Stokes-Rees: Wakari, Blaze, and Bokeh: scalable, multi-user IPython, NumPy, and Interactive Graphics + +We're pretty obsessed with Python-centric data analytics, and figuring out how to do this well led to the creation of Continuum Analytics. This talk will tell you about three pieces of that puzzle we have developed over the past year: Wakari, a web based analytics platform, leveraging IPython and IPython Notebook; Blaze, a next generation NumPy; and Bokeh, providing interactive data visualization. All are available now for free as services or open source projects. + +John Bohannon: Finding bogus science journals with Python + +The task? Submit hundreds of fake scientific papers to fee-charging open access research journals to reveal how many are breaking their promise to do peer review. (http://www.sciencemag.org/content/342/6154/60/suppl/DC1) The result? 60%. The tool that did the job? Python! + +Pizza will be provided, thanks to Continuum, and afterwards, drinks at Meadhall thanks to Scout! The talks will be livestreamed and archived at http://youtube.com/bostonpython thanks to CustomMade (http://custommade.com)! + + +Meetup link: [https://www.meetup.com/bostonpython/events/136007682/](https://www.meetup.com/bostonpython/events/136007682/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131205-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131205-december-project-night.md new file mode 100644 index 0000000..9ae5aaf --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20131205-december-project-night.md @@ -0,0 +1,54 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 05, 2013 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to VMware (http://vmware.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Thursday, December 5th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by VMware! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/153304612/](https://www.meetup.com/bostonpython/events/153304612/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140120-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140120-january-project-night.md new file mode 100644 index 0000000..8c36183 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140120-january-project-night.md @@ -0,0 +1,54 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 20, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Thanks to Quantopian (http://quantopian.com) for sponsoring the night! + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Monday, January 20th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided by Quantopian! + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/143563952/](https://www.meetup.com/bostonpython/events/143563952/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140128-historic-python-and-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140128-historic-python-and-lightning-talks.md new file mode 100644 index 0000000..4c1415c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140128-historic-python-and-lightning-talks.md @@ -0,0 +1,20 @@ +--- +title: Historic Python, and Lightning Talks +sidebar_link: false +--- + +January 28, 2014 + + +    + +Jean Bauer is a Digital Humanities Librarian at Brown University, speaking about using Python for history! Thanks to Turbine (http://turbine.com) for sponsoring the night. + +Ever wonder about transcontinental information networks before the telegraph? Do you like the idea of Thomas Jefferson buying shoes for Abigail Adams? Then you might be interested in Project Quincy (http://projectquincy.org), the Django/MySQL software package that powers The Early American Foreign Service Database (http://eafsd.org) and allows historians to trace social and information networks over time and space. Jean will talk about how her work in Python is allowing historians to find new connections using databases, manuscripts, interactive visualizations, and even some old fashioned shoe leather. Project Quincy was originally written in Ruby on Rails, so this is also a conversion narrative! + +We also have a handful of lightning talks on ocean science, fixing Unicode, and other topics. + + +Meetup link: [https://www.meetup.com/bostonpython/events/146327392/](https://www.meetup.com/bostonpython/events/146327392/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md new file mode 100644 index 0000000..9b8ce3f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md @@ -0,0 +1,38 @@ +--- +title: PyCon rehearsal - A hands-on introduction to Python for beginning programmers +sidebar_link: false +--- + +February 15, 2014 + + +    + +Beginning programmers: jumpstart your Python and programming careers with this 3-hour interactive tutorial. + +By the end, you'll have hands-on exposure to many core programming concepts, be able to write useful Python programs, and have a roadmap for continuing to learn and practice programming in Python. + +This tutorial assumes no prior programming experience. + +We'll cover: + +• Python as a calculator + +• Basic data types + +• Interactive programs: input and output + +• Making choices: booleans and flow control + +• Lists and loops + +• Functions + +We'll also practice writing Python scripts, see demos of cool Python applications, and take a quick tour of popular Python libraries. + +By the end of this tutorial, you'll be in great shape to continue learning Python through longer-form resources and start working on your own Python projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/165036402/](https://www.meetup.com/bostonpython/events/165036402/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140220-february-presentation-night-football-cycles-red-line.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140220-february-presentation-night-football-cycles-red-line.md new file mode 100644 index 0000000..a8a7672 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140220-february-presentation-night-football-cycles-red-line.md @@ -0,0 +1,24 @@ +--- +title: February Presentation Night - Football, Cycles, Red Line +sidebar_link: false +--- + +February 20, 2014 + + +    + +Tonight we have three talks, sponsored by WorkMob (http://workmob.com). + +Bill Mill, Choosing Your Fantasy Football Team with IPython. Want a winning football team? Analyze the stats to assemble the best players, using IPython notebook. + +Edmund Jorgenson, Shortening your dev-cycle time with Python. Edmund has tools and workflow he uses to reduce the time to develop his software. + +Allen Downey, The Red Line problem. Allen uses statistics and Python to predict the time until the next train arrives, based on the number of passengers on the platform. + +Pizza will be provided by WorkMob (http://workmob.com). Afterwards, we'll head to Meadhall for drinks, sponsored by Zefr (http://zefr.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/144809982/](https://www.meetup.com/bostonpython/events/144809982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140226-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140226-february-project-night.md new file mode 100644 index 0000000..e727727 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140226-february-project-night.md @@ -0,0 +1,56 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 26, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:30pm on Wednesday, February 26th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided! + +Things to bring: a wireless-enabled laptop and power cord. + +Also: we'll have more Python puzzles, and giveaways (O'Reilly books and a hardware goodie from Ab Initio). + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/146327142/](https://www.meetup.com/bostonpython/events/146327142/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md new file mode 100644 index 0000000..e778931 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-analyzing-science-problems-with-python.md @@ -0,0 +1,30 @@ +--- +title: PyCon tutorial - analyzing science problems with Python +sidebar_link: false +--- + +March 02, 2014 + + +    + +How to formulate a (science) problem and analyze it using Python code + +When: 9:30am - 12:30pm + +Where: MIT, room 3-133 + +Things to bring: laptop and charger + +Instructor: Eric Ma + +Are you interested in doing analysis using Python but don't know where to start? Then this tutorial is for you! + +You've probably heard about how great Pandas and iPython are for doing data analysis. However, you probably aren't sure where to get started. That was the exact same place I was when I first heard about how to do data analysis in Python. It was even more challenging having only a single undergraduate class (5 years ago) in programming and only self-taught coding experience elsewhere. + +In this tutorial, I aim to guide the class through the process of doing data analysis, from problem formulation to coding to deriving conclusions. I will be emphasizing one underrepresented yet crucial step that typically does not get discussed in most workshops, that is the step of translating the problem into a series of computable steps using data structures that are amenable to analysis. + + +Meetup link: [https://www.meetup.com/bostonpython/events/166476902/](https://www.meetup.com/bostonpython/events/166476902/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md new file mode 100644 index 0000000..26946ee --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140302-pycon-tutorial-getting-started-with-open-source-development.md @@ -0,0 +1,56 @@ +--- +title: PyCon tutorial - Getting started with open source development +sidebar_link: false +--- + +March 02, 2014 + + +    + +Contribute with me! Getting started with open source development + +When: Sunday, March 2nd, 1pm - 4pm + +Where: MIT, room 3-133 + +Things to bring: laptop and charger + +Instructor: Jessica McKellar + +Want to contribute to a Python project or the core language, but not sure where to start? + +Join us for 3 hours learning the nuts and bolts of open source contribution. By the end of this tutorial, you'll have the tools and practice to confidently contribute to your favorite projects. Give back to the community while making yourself a better software engineer. + +We'll cover: + +• the structure of an open source project + +• the many ways to contribute + +• the life cycle of a bug + +• key development tools + +• communication in an open source project + +During this tutorial, you'll get hands-on experience with: + +• issue trackers, to report and track bugs + +• the diff and patch utilities, to share your source code changes + +• a revision control system, to collaboratively manage changes to projects + +• IRC, to get and give help while contributing in real time + +• testing and building Python projects + +We'll put these concepts and tools to practice by collaboratively reporting and fixing bugs in a demo Python project. + +We'll end with personalized next steps for getting started with open source projects that match your skills and interests. + + +Meetup link: [https://www.meetup.com/bostonpython/events/166913622/](https://www.meetup.com/bostonpython/events/166913622/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140310-march-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140310-march-project-night.md new file mode 100644 index 0000000..6a31dc0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140310-march-project-night.md @@ -0,0 +1,56 @@ +--- +title: March Project Night +sidebar_link: false +--- + +March 10, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, March 10th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza will be provided! + +Things to bring: a wireless-enabled laptop and power cord. + +Also: we'll have more Python puzzles, and giveaways (including a hardware goodie from Ab Initio!). + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/151764232/](https://www.meetup.com/bostonpython/events/151764232/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140324-pycon-rehearsals-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140324-pycon-rehearsals-1.md new file mode 100644 index 0000000..28f34fd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140324-pycon-rehearsals-1.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 1 +sidebar_link: false +--- + +March 24, 2014 + + +    + +Join us for three PyCon presentation rehearsals, sponsored by Facebook. + +Getting started testing — Ned Batchelder (45 min) + +If you've never written tests before, you probably know you *should*, but view the whole process as a bureaucratic paperwork nightmare to check off on your ready-to-ship checklist. This is the wrong way to approach testing. Tests are a solution to a problem that is important to you: does my code work? I'll show how Python tests are written, and why. + +Enough Machine Learning to Make Hacker News Readable Again — Ned Jackson Lovely + +(30 min) + +It's inevitable that online communities will change, and that we'll remember the community with a fondness that likely doesn't accurately reflect the former reality. We'll explore how we can take a set of articles from an online community and winnow out the stuff we feel is unworthy. We'll explore some of the machine learning tools that are just a "pip install" away, such as scikit-learn and nltk. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660672/](https://www.meetup.com/bostonpython/events/134660672/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md new file mode 100644 index 0000000..d47a8d6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140326-pycon-rehearsals-2-hy-and-outreach.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals 2 - Hy and Outreach +sidebar_link: false +--- + +March 26, 2014 + + +    + +Join us for two PyCon presentation rehearsal, sponsored by Kyruus and AppNeta: + +Getting Hy on Python: How to implement a Lisp front-end to Python — Paul Tagliamonte (45 min) + +This talk will cover the internals of Python, such AST, Import hooks, creating a console, and a very brief overview of Python internal formats (such as pyc files), by way of looking over the implementation of a Lisp called "Hy". No Lisp knowledge is required. + +Outreach Program for Women: Lessons in Collaboration — Marina Zhurakhinskaya (30 min) + +Since 2010, the GNOME Foundation’s Outreach Program for Women has provided 130 women with an opportunity to participate in remote internships with 23 Free Software organizations. This talk will cover the history of the program, what makes it successful, how the same strategies can be used for engaging all new contributors, and what other initiatives help increase diversity in Free Software. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660412/](https://www.meetup.com/bostonpython/events/134660412/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md new file mode 100644 index 0000000..9d077a2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140401-pycon-rehearsals-3-helicopters-and-open-edx.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 - Helicopters and Open edX +sidebar_link: false +--- + +April 01, 2014 + + +    + +Join us for three PyCon rehearsals, sponsored by Wayfair and AppNeta: + +Cheap Helicopters In My Living Room — Ned Jackson Lovely (30 min) + +Using Python and a minimal amount of hardware hacking, it's possible to build computer controlled helicopters you can fly around your living room for surprisingly small amounts of money. This talk will describe the steps you'll need to take to start the ball rolling towards Skynet using a $20 helicopter and an Arduino. + +Thumbdrive destroyer — John Jarvis (5 min) + +This talk shows off a tiny hack to turn a Raspberry Pi into a thumbdrive destroying appliance. + +Teaching a billion students with Python — Ned Batchelder (40 min) + +Open edX is the online learning platform that powers edX.org. It's built with Python and Django, and runs dozens of other online learning sites. + + +Meetup link: [https://www.meetup.com/bostonpython/events/134660122/](https://www.meetup.com/bostonpython/events/134660122/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md new file mode 100644 index 0000000..bf8a9c4 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals 4 - Shelling out and Games for Science +sidebar_link: false +--- + +April 07, 2014 + + +    + +Join us for 2 PyCon talk rehearsals, sponsored by Scout (http://goscoutgo.com). + +Subprocess to FFI: Memory, Performance, and Why You Shouldn't Shell Out — Christine Spang (45 min) + +Sometimes, the code you need just isn't available in Python, but someone's written some code in another language that solves your problem. What options do you have for interacting with this external code from within your program? We'll examine how to call external binaries, what happens behind the scenes at a systems level, and how these implementation details affect performance and memory usage. In the second part of the talk, we'll discuss the different options for more tightly integrating external code in the form of a C library for better performance and control. + +Games for Science, interactive psychology experiments w/ Panda3D — Peter Battaglia + Jessica Hamrick (30 min) + +Have you ever wanted to play video games while also contributing to science? In psychology experiments developed by myself and Peter Battaglia, participants are immersed in an interactive 3D world which is experimentally well-controlled, yet also extremely fun. This talk will explain how we created these "game-like" experiments in Python using the Panda3D video game engine. + + +Meetup link: [https://www.meetup.com/bostonpython/events/163873812/](https://www.meetup.com/bostonpython/events/163873812/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140512-may-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140512-may-project-night.md new file mode 100644 index 0000000..4c81c7d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140512-may-project-night.md @@ -0,0 +1,56 @@ +--- +title: May Project Night +sidebar_link: false +--- + +May 12, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, May 12th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Q Factor (http://www.qfactor.com/) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/152732482/](https://www.meetup.com/bostonpython/events/152732482/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140527-raspberry-pi-projects.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140527-raspberry-pi-projects.md new file mode 100644 index 0000000..56095b8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140527-raspberry-pi-projects.md @@ -0,0 +1,24 @@ +--- +title: Raspberry Pi projects! +sidebar_link: false +--- + +May 27, 2014 + + +    + +Four presenters will tell us about their hardware projects. Three are Raspberry Pi projects, and the last is a hardware alternative to the Rasp Pi. + +Pizza for this event is sponsored by Creare (http://www.creare.com/). + +Drinks after the event at Meadhall are sponsored by Scout (http://goscoutgo.com/). + +Our four presenters are Mike Milkin, Nash Reilly, Dag Holmboe, and Joseph Okor. + +The Raspberry Pi is an affordable credit-card-sized computer. Hardware hobbyists use it to power all sorts of projects. Tonight we'll hear about a web-powered remote control car, a GMail/Twitter monitor, and a bus beacon. No hardware experience is needed to appreciate the ingenuity of these projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/159107932/](https://www.meetup.com/bostonpython/events/159107932/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140609-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140609-june-project-night.md new file mode 100644 index 0000000..a628e25 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140609-june-project-night.md @@ -0,0 +1,56 @@ +--- +title: June Project Night +sidebar_link: false +--- + +June 09, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Turbine (http://turbine.com). + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, June 9th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Turbine (http://turbine.com) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/160021932/](https://www.meetup.com/bostonpython/events/160021932/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140625-june-presentation-night-puzzle-solutions.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140625-june-presentation-night-puzzle-solutions.md new file mode 100644 index 0000000..36c3311 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140625-june-presentation-night-puzzle-solutions.md @@ -0,0 +1,30 @@ +--- +title: June Presentation Night - Puzzle Solutions +sidebar_link: false +--- + +June 25, 2014 + + +    + +Come hear about peoples' solutions to the project night puzzles (http://puzzles.bostonpython.com)! Sponsored by Red Hat (http://www.redhat.com) and Kyruus (http://kyruus.com/). + +If you've been to a project night, you know we often have puzzles (http://puzzles.bostonpython.com) there. Different people solve the puzzles differently. We'll have solvers show us their code, explain their approach, and teach us some Python along the way. It will be fun, interactive, and instructive! + +Try out the puzzles yourself beforehand! We'll have people talking about solutions to at least: + +• A Hot Date with itertools (http://puzzles.bostonpython.com/hotdate.html), + +• Twitter Puddle (http://programmingpraxis.com/2013/11/15/twitter-puddle/), and + +• Python Poetry (http://puzzles.bostonpython.com/poetry.html). + +Red Hat (http://www.redhat.com) is sponsoring pizza. + +Kyruus (http://kyruus.com/) is sponsoring drinks afterwards at Meadhall. + + +Meetup link: [https://www.meetup.com/bostonpython/events/169599982/](https://www.meetup.com/bostonpython/events/169599982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140707-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140707-july-project-night.md new file mode 100644 index 0000000..4b0c274 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140707-july-project-night.md @@ -0,0 +1,56 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 07, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Pixability (http://pixability.com). + +Bring your own project or work on one of the suggested projects below. Everyone is welcome, all skill levels are encouraged. We often have tables dedicated to Learners, Django, Science, Hardware, etc. + +Friendly people will be here to help beginning Python programmers with language basics and practice. + +Audience: Everyone! All Python experience levels are welcome, and everything is self-paced. + +When: 6:30pm - 9:00pm on Monday, July 7th + +Location: Microsoft NERD Center + +One Memorial Drive, Cambridge, 02142 + +Food: Pizza is sponsored by Pixability (http://pixability.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/169600862/](https://www.meetup.com/bostonpython/events/169600862/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140722-july-presentation-night-what-i-built-at-work.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140722-july-presentation-night-what-i-built-at-work.md new file mode 100644 index 0000000..a57a2aa --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140722-july-presentation-night-what-i-built-at-work.md @@ -0,0 +1,26 @@ +--- +title: July Presentation Night - What I Built at Work +sidebar_link: false +--- + +July 22, 2014 + + +    + +What I Built at Work: four short presentations about things people have built to get their jobs done. Wordstream (http://www.wordstream.com/) is sponsoring pizza for the night. Xively (http://xively.com/) is sponsoring drinks after the event at Meadhall! + +Laurent-Philippe Gros, Design by Contract + +Jon Henner and others: ASL, STEM, & more via Python + +Nick Bargnesi, From Prototype to Production + +Rick Landau, Simulating Document Retention + +Jonathan Tushman, Flask utilities + + +Meetup link: [https://www.meetup.com/bostonpython/events/179514872/](https://www.meetup.com/bostonpython/events/179514872/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140807-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140807-august-project-night.md new file mode 100644 index 0000000..71a395b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140807-august-project-night.md @@ -0,0 +1,48 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 07, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Twilio (http://www.twilio.com/). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Twilio (http://www.twilio.com) + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/180062592/](https://www.meetup.com/bostonpython/events/180062592/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140821-august-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140821-august-presentation-night.md new file mode 100644 index 0000000..5982f90 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140821-august-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: August Presentation Night +sidebar_link: false +--- + +August 21, 2014 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/179514102/](https://www.meetup.com/bostonpython/events/179514102/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140908-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140908-september-project-night.md new file mode 100644 index 0000000..e397d46 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140908-september-project-night.md @@ -0,0 +1,48 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 08, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by AppNeta (http://appneta.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by AppNeta (http://appneta.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Use Python to participate in space exploration (http://spacehack.org/). + +• Unleash your inner DJ with the Echo Nest APIs (http://developer.echonest.com/docs/v4/). + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/186776832/](https://www.meetup.com/bostonpython/events/186776832/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140922-september-presentation-night-introductory-data-structures.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140922-september-presentation-night-introductory-data-structures.md new file mode 100644 index 0000000..3e01aa7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20140922-september-presentation-night-introductory-data-structures.md @@ -0,0 +1,26 @@ +--- +title: September Presentation Night - Introductory Data Structures +sidebar_link: false +--- + +September 22, 2014 + + +    + +Introductory Data Structures! sponsored by NetProspex (http://www.netprospex.com). + +Are you new to Python? Or say you got into Python sort of sideways and suspect that there are multiple ways -- potentially more efficient ways -- to solve your programming challenges. If that sounds familiar, then this is the presentation night for you! Python's "batteries included" philosophy means there are a number of built-in tools at your disposal. These three talks will cover some very handy data types and help you start choosing and using the right tools for your tasks. + +Langdon White: Lists, Stacks and Queues + +Brett Smith: How to Pick the Right Data Structure + +Ned Jackson Lovely: Maps, Sets and Graphs + +Food is sponsored by NetProspex (http://www.netprospex.com). Drinks afterwards sponsored by InsightSquared (http://insightsquared.com) at their offices. + + +Meetup link: [https://www.meetup.com/bostonpython/events/186777292/](https://www.meetup.com/bostonpython/events/186777292/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141001-beer-with-harry-percival.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141001-beer-with-harry-percival.md new file mode 100644 index 0000000..09cca02 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141001-beer-with-harry-percival.md @@ -0,0 +1,20 @@ +--- +title: Beer with Harry Percival +sidebar_link: false +--- + +October 01, 2014 + + +    + +Harry Percival is in town from the UK on short notice, so we're throwing together a quick social night. Harry is the author of Test Driven Development with Python (http://www.obeythetestinggoat.com/), and a fun guy. Want to hoist a few with him? + +Where: InsightSquared offices, 160 Second St, Cambridge +When: Oct 1st, 7:00-8:30pm +How: Sponsored by InsightSquared + + +Meetup link: [https://www.meetup.com/bostonpython/events/210369412/](https://www.meetup.com/bostonpython/events/210369412/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141014-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141014-october-project-night.md new file mode 100644 index 0000000..58f5c92 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141014-october-project-night.md @@ -0,0 +1,44 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 14, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Vertex. (http://vrtx.com) + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Vertex (http://vrtx.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/195246442/](https://www.meetup.com/bostonpython/events/195246442/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141029-advanced-programming-tools.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141029-advanced-programming-tools.md new file mode 100644 index 0000000..bcb5673 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141029-advanced-programming-tools.md @@ -0,0 +1,30 @@ +--- +title: Advanced Programming Tools +sidebar_link: false +--- + +October 29, 2014 + + +    + +Three talks about advanced programming tools, sponsored by Quantopian (http://quantopian.com) and Cogo Labs (http://cogolabs.com). + +Andrea Censi: PyContracts + +Python is famously untyped. PyContracts (http://andreacensi.github.io/contracts/) is a library that allows you to annotate your functions with type specifications which can be checked at runtime. The best of both worlds? + +Laurent Poulain: the Python disassembler + +Python is compiled to bytecode, and the dis module lets you examine that bytecode. We'll go through a few examples of how and why. + +Joe Jevnik: qdb + +Quantopian has implemented their own debugger for use in their specialized environment. + +Pizza will be provided by Quantopian. Drinks afterwards at Meadhall, sponsored by Cogo Labs. + + +Meetup link: [https://www.meetup.com/bostonpython/events/194829182/](https://www.meetup.com/bostonpython/events/194829182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141110-november-project-night-at-akamai.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141110-november-project-night-at-akamai.md new file mode 100644 index 0000000..6f4db94 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141110-november-project-night-at-akamai.md @@ -0,0 +1,46 @@ +--- +title: November Project Night - At AKAMAI +sidebar_link: false +--- + +November 10, 2014 + + +    + +NOTE: This is at AKAMAI!! + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Akamai (http://akamai.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza is sponsored by Akamai (http://akamai.com). + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/205960272/](https://www.meetup.com/bostonpython/events/205960272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141125-november-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141125-november-presentation-night.md new file mode 100644 index 0000000..2e77976 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141125-november-presentation-night.md @@ -0,0 +1,12 @@ +--- +title: November Presentation Night +sidebar_link: false +--- + +November 25, 2014 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/203235462/](https://www.meetup.com/bostonpython/events/203235462/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141204-boston-python-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141204-boston-python-december-project-night.md new file mode 100644 index 0000000..6b8afa5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141204-boston-python-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python December Project Night +sidebar_link: false +--- + +December 04, 2014 + + +    + +Come work on Python projects, get programming help, help others, and hang out. We are looking for a sponsor! + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/209457982/](https://www.meetup.com/bostonpython/events/209457982/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141211-december-presentation-night-stocking-stuffers.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141211-december-presentation-night-stocking-stuffers.md new file mode 100644 index 0000000..0e38718 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20141211-december-presentation-night-stocking-stuffers.md @@ -0,0 +1,36 @@ +--- +title: December Presentation Night - Stocking Stuffers +sidebar_link: false +--- + +December 11, 2014 + + +    + +Tonight, five short talks on a variety of subjects, sponsored by Indico. + +Nate Aune: Docker + Open edX + +Docker automates the deployment of applications (http://en.wikipedia.org/wiki/Application_software) by providing a layer of abstraction and automation of operating system–level virtualization (http://en.wikipedia.org/wiki/Operating_system%E2%80%93level_virtualization) on Linux (http://en.wikipedia.org/wiki/Linux). Nate will demonstrate how to use Docker to easily run Open edX. + +George Schneeloch: Docker for test automation + +George put together a test framework that runs each functional test in a Docker container for easy reproduction of test failures. + +Shauna Gordon-McKeon: WelcomeBot + +WelcomeBot is an IRC bot. Shauna will discuss some of the things she learned while building WelcomeBot, including unit tests and how the socket library/how Python interacts with IRC protocols. + +Justin Black: Wrapping a Finite Element Analysis tool + +Justin will talk about wrapping other tools in python to make them more usable. Free FEA software is capable, but too complex for mechanical engineers to easily use. Python can be used to provide a simple powerful interface to existing tools. + +Thomas Markovich: Teaching Python and Quantum Mechanics + +Thomas will discuss how he took 40 students, most of whom had no prior programming experience, and taught them basic Python and intro quantum mechanics. The students literally went from not knowing how to write a for-loop to writing their own electronic structure package. He'll discuss mistakes made along the way, and demo some of the students' projects. + + +Meetup link: [https://www.meetup.com/bostonpython/events/202723912/](https://www.meetup.com/bostonpython/events/202723912/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150106-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150106-january-project-night.md new file mode 100644 index 0000000..06f5354 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150106-january-project-night.md @@ -0,0 +1,44 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 06, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Addgene (http://addgene.org). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/212185062/](https://www.meetup.com/bostonpython/events/212185062/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150122-engineering-science-and-art.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150122-engineering-science-and-art.md new file mode 100644 index 0000000..e3a59fc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150122-engineering-science-and-art.md @@ -0,0 +1,28 @@ +--- +title: Engineering, Science, and Art +sidebar_link: false +--- + +January 22, 2015 + + +    + +Three talks, sponsored by Jana (http://jana.com), covering a wide range of disciplines! + +Dan O'Brien, Scripting best practices + +When you're using Python as a scripting language, as your script gets more and more complicated, Python tends to push you in the direction of writing better code, which is one of the things that's great about the language—and there's no need to resist! This talk will cover ideas like breaking functionality out into functions and encapsulating state into classes, with a handful of increasingly-complicated examples. + +Milos Miljkovic, Automating cell identification + +Problem: On a microscope slide, mark 400-600 cells for data collection, all done manually by poor grad students. Solution: Image the whole slide, sort cells automatically according to size and data quality, extract usable pixels, tag them, and store in a database. Bonus: Lots of beer from happy grad students, university patented it. + +Vik Paruchuri, Algorithmically generated art + +(I'll be honest with you: I don't know exactly what Vik means by this, but it will be good!) + + +Meetup link: [https://www.meetup.com/bostonpython/events/212185222/](https://www.meetup.com/bostonpython/events/212185222/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150212-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150212-february-project-night.md new file mode 100644 index 0000000..fbcea6e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150212-february-project-night.md @@ -0,0 +1,44 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 12, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Kyruus (http://kyruus.com/). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651141/](https://www.meetup.com/bostonpython/events/218651141/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150217-nanogenmo-and-type-hinting.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150217-nanogenmo-and-type-hinting.md new file mode 100644 index 0000000..89394ef --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150217-nanogenmo-and-type-hinting.md @@ -0,0 +1,30 @@ +--- +title: NaNoGenMo and Type Hinting +sidebar_link: false +--- + +February 17, 2015 + + +    + +Join us for two talks plus a lightning talk, sponsored by AppNeta (http://appneta.com). + +Liza Daly: NaNoGenMo 2014: A procedurally generated mysterious codex + +The idea of NaNoGenMo is to spend a month writing code to generate a "novel", a twist on NaNoWriMo. Liza will tell us about her entries, including a Voynich-inspired mystery codex (https://blog.safaribooksonline.com/2014/11/08/nanogenmo2014-procedurally-generated-mysterious-codex/). The code involves finding images, producing PDFs, randomizing layouts, and other techniques that could even find a place in "useful" programs. + +en zyme: Duck hunting: Type hints for Python + +Guido is stirring the pot again! PEP 484 (https://www.python.org/dev/peps/pep-0484/) proposes adding a type hinting mechanism to Python. As you might imagine, this is controversial. Is our dynamic BDFL supporting a powerful new feature, or just being coerced by anti-pythonic staticism? + +Matt Bachmann: Opening the Floodgate: Unicode Identifiers with Python + +Python 3 allows using Unicode characters in identifiers. That can create some unusual possibilities and problems. What if we take it even further...? + +Pizza will be provided! + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651214/](https://www.meetup.com/bostonpython/events/218651214/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150304-march-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150304-march-project-night.md new file mode 100644 index 0000000..51e08c8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150304-march-project-night.md @@ -0,0 +1,44 @@ +--- +title: March Project Night +sidebar_link: false +--- + +March 04, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by FormLabs (http://formlabs.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651284/](https://www.meetup.com/bostonpython/events/218651284/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150318-pycon-rehearsals-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150318-pycon-rehearsals-1.md new file mode 100644 index 0000000..dc69c19 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150318-pycon-rehearsals-1.md @@ -0,0 +1,29 @@ +--- +title: PyCon Rehearsals 1 +sidebar_link: false +--- + +March 18, 2015 + + +    + +The first of four PyCon rehearsal nights, this one sponsored by AppNeta (http://appneta.com). + +Geoff Gerrietts — Performance by the Numbers: analyzing the performance of web applications (https://us.pycon.org/2015/schedule/presentation/349/) +Everyone knows poor performance when they see it, and performance concerns affect every application -- web applications more than most. But finding performance problems can be extraordinarily difficult, and requires an analytical approach coupled with good instrumentation. This talk explores approaches to instrumentation and what that instrumentation can tell you. + +Mali Akmanalp — Other people's messy data (and how not to hate it!) (https://us.pycon.org/2015/schedule/presentation/469/) +Have you ever viscerally hated a dataset? Do you want to just get data cleaning out of the way? Are you always left wondering how it consumes most of your time? Whether you work in the sciences, work with government data or scrape websites, data cleaning is a necessary evil. We'll share our woes and check out state of the art in day to day data cleaning tools and strategies. + +Adam Palay — "Words, words, words": Reading Shakespeare with Python (https://us.pycon.org/2015/schedule/presentation/339/) +This talk will give an introduction to text analysis with Python by asking some questions about Shakespeare and discussing the quantitative methods that will go in to answering them. While we’ll use Shakespeare to illustrate our methodologies, we’ll also discuss how they can be ported over into more 21st century texts, like tweets or New York Times articles. + +Note that we are starting at 6:30 rather than 7, to have enough time for three presentations! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651340/](https://www.meetup.com/bostonpython/events/218651340/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150323-pycon-rehearsals-2.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150323-pycon-rehearsals-2.md new file mode 100644 index 0000000..a239f72 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150323-pycon-rehearsals-2.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 2 +sidebar_link: false +--- + +March 23, 2015 + + +    + +The second of four PyCon rehearsal nights, this one sponsored by Facebook (https://www.facebook.com/careers/). + +Shauna Gordon-McKeon — Open Source for Newcomers and the People Who Want to Welcome Them (https://us.pycon.org/2015/schedule/presentation/346/) + +Open source can be fun and rewarding, but it can also be intimidating. This talk addresses some of the biggest technical and psychological barriers to contributing, from the perspective of both the newcomers who want to overcome them and the maintainers who want to remove them. + +Itamar Turner-Trauring — A Beginner's Guide to Test-driven Development (https://us.pycon.org/2015/schedule/presentation/364/) + +Software is maintained by humans with limited memory and an unfortunate tendency to make mistakes. Test-driven development (TDD) can help you work around these design flaws by providing a permanent, automated specification for your code. Learn how to implement TDD when bug fixing and implementing new features and how this process will ensure your code is correct both now and in the future. + +We'll start at 6:30 to have time for both talks and a good discussion. Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651386/](https://www.meetup.com/bostonpython/events/218651386/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md new file mode 100644 index 0000000..2949121 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md @@ -0,0 +1,48 @@ +--- +title: PyCon tutorial rehearsal - Practical Graph/Network Analysis Made Simple +sidebar_link: false +--- + +March 28, 2015 + + +    + +This is a rehearsal for a three-hour PyCon tutorial. Space is limited. Please consider whether you have the needed background. No food will be provided. + +Presenter: Eric Ma + +Audience level: Intermediate + +Category: Science + +Description: Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? Or how epidemiologists track down patient zero in an outbreak? If so, then this tutorial is for you. Here, we will explore a bike sharing data set as a way to understand the kinds of problems that can be solved using graph analytics. + +Abstract + +In this tutorial, I will show you how you can use data to construct networks for data analysis. The goal is to demystify graph analytics and mining, and make it accessible to the general programmer. Starting with understanding a toy data set as an anchor, we will go through: + +• graph basics (nodes + edges, list and matrix representations), + +• modelling problems as graphs, + +• preprocessing data using Pandas, + +• importing data using NetworkX, + +• how to compute basic statistics of the network, + +• generating visualizations using matplotlib, + +• finding hubs, paths and clusters in the data, + +• (if time permits) random graphs for statistical inference, + +IPython notebooks and data files will be distributed beforehand on Github to facilitate code distribution. + +As good pedagogical practice, we will have lots of guided hands-on time, and about 30 min to 1 hour of unstructured “free hacking time” to explore a bike sharing data set (with suggested questions) in small groups of your choice of size. You will also share your IPython notebooks via Github. After the hacking time, we will showcase a select number of analyses. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221201510/](https://www.meetup.com/bostonpython/events/221201510/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md new file mode 100644 index 0000000..4fba1af --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md @@ -0,0 +1,36 @@ +--- +title: PyCon tutorial rehearsal - Statistical inference with computational methods +sidebar_link: false +--- + +March 28, 2015 + + +    + +This is a rehearsal for a three-hour PyCon tutorial. Space is limited. Please consider whether you have the needed background. No food will be provided. + +Presenter: Allen Downey + +Audience level: Intermediate + +Category: Science + +Description + +Statistical inference is a fundamental tool in science and engineering, but it is often poorly understood. This tutorial uses computational methods, including Monte Carlo simulation and resampling, to explore estimation, hypothesis testing and statistical modeling. Attendees will develop understanding of statistical concepts and learn to use real data to answer relevant questions. + +Abstract + +Do you know the difference between standard deviation and standard error? Do you know what statistical test to use for any occasion? Do you really know what a p-value is? How about a confidence interval? + +Most students don’t really understand these concepts, even after taking several statistics classes. The problem is that these classes focus on mathematical methods that bury the concepts under a mountain of details. + +This tutorial uses Python to implement simple statistical experiments that develop deep understanding. Attendees will learn about resampling and related tools that use random simulation to perform statistical inference, including estimation and hypothesis testing. We will use pandas, which provides structures for data analysis, along with NumPy and SciPy. + +I will present examples using real-world data to answer relevant questions. The tutorial material is based on my book, Think Stats, a class I teach at Olin College, and my blog, “Probably Overthinking It.” + + +Meetup link: [https://www.meetup.com/bostonpython/events/221201606/](https://www.meetup.com/bostonpython/events/221201606/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150330-pycon-rehearsals-3.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150330-pycon-rehearsals-3.md new file mode 100644 index 0000000..3161287 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150330-pycon-rehearsals-3.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 +sidebar_link: false +--- + +March 30, 2015 + + +    + +Our third night of PyCon rehearsals, sponsored by MassMutual. + +Michelle Fullwood — Grids, Streets and Pipelines: Building a linguistic street map with scikit-learn (https://us.pycon.org/2015/schedule/presentation/366/) + +Have you built a classifier in scikit-learn with out-of-the-box features, been disappointed with the results, and wanted to know where to go next? This talk shows how to add your own feature Pipelines and how to tune hyperparameters using GridSearchCV. We'll apply this to the problem of classifying streetnames in Singapore by linguistic origin, and turn the results into a colour-coded street map. + +Sarina Canelake — I18N: World Domination the Easy Way (https://us.pycon.org/2015/schedule/presentation/403/) + +Have you heard about internationalization (i18n) and wondered what it meant? Perhaps your project already has i18n of its strings but you have a nagging feeling you could be doing it better. This talk will walk through the basics of i18n’ing a Django project (but the principles apply to any project!), and how to make the process of localization (l10n) go more smoothly. + +Ned Batchelder — Facts and Myths about Python names and values (https://us.pycon.org/2015/schedule/presentation/362/) + +The behavior of names and values in Python can be confusing. Like many parts of Python, it has an underlying simplicity that can be hard to discern, especially if you are used to other programming languages. Here I'll explain how it all works, and present some facts and myths along the way. Call-by-reference? Call-by-value? The answer will be clear! + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651404/](https://www.meetup.com/bostonpython/events/218651404/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150402-pycon-rehearsals-4.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150402-pycon-rehearsals-4.md new file mode 100644 index 0000000..4258ed7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150402-pycon-rehearsals-4.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 4 +sidebar_link: false +--- + +April 02, 2015 + + +    + +The fourth PyCon rehearsal night, sponsored by Hired.com (http://hired.com). + +en zyme, Jon Henner, and Hakim Bouatou — Pythons are Deaf, So are Some Pythonistas (https://us.pycon.org/2015/schedule/presentation/413/) + +ASL, like Python, is a language which is both fun and powerful. We have used Python to build a tool, ASL STEM for the DHH community which will teach STEM terminology using ASL exclusively. We are also building a summer program to teach Python in English/ASL to DHH students. + +Laura Rupprecht — Describing Descriptors (https://us.pycon.org/2015/schedule/presentation/393/) + +The Python library uses descriptors frequently, but most developers overlook this feature. This talk will cover what a descriptor is, the current uses in the standard library, and how custom descriptors can be used in a developer’s toolset to eliminate repeated code. + +David Baumgold — Advanced Git (https://us.pycon.org/2015/schedule/presentation/343/) + +You know clone, commit, push, and pull. Now you're ready for the fun stuff. This talk will give you the advanced knowledge you need to take control of your git repository: rebase, cherry-pick, bisect, blame, squashing, and the reflog. You'll also get a better conceptual understanding of how git works, allowing you to chain these tools together to accomplish whatever task you need. + + +Meetup link: [https://www.meetup.com/bostonpython/events/218651419/](https://www.meetup.com/bostonpython/events/218651419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150512-boston-python-may-project-night-at-akamai.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150512-boston-python-may-project-night-at-akamai.md new file mode 100644 index 0000000..373f444 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150512-boston-python-may-project-night-at-akamai.md @@ -0,0 +1,46 @@ +--- +title: Boston Python May Project Night AT AKAMAI +sidebar_link: false +--- + +May 12, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Akamai (http://akamai.com). + +NOTE: We are meeting at Akamai, not at the NERD center! + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084961/](https://www.meetup.com/bostonpython/events/221084961/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150520-boston-python-open-data-science-con-presentations.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150520-boston-python-open-data-science-con-presentations.md new file mode 100644 index 0000000..fc8b44b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150520-boston-python-open-data-science-con-presentations.md @@ -0,0 +1,28 @@ +--- +title: Boston Python - Open Data Science Con presentations +sidebar_link: false +--- + +May 20, 2015 + + +    + +The Open Data Science Conference (http://opendatascicon.com) is happening in Boston May 30-31. We have two speakers previewing their talks for us. The evening is sponsored by Cens.io (http://cens.io). Afterward we'll head over to Meadhall for drinks sponsored by Smarterer (http://smarterer.com). + +Karen Rubin, How Women are Conquering the S&P 500 + +According to Credit Suisse’s Gender 3000 report, at the end of 2013, women accounted for 12.9% of top management in 3000 companies across 40 countries. However, since 2009, companies with women as 25-50% of their management team returned 22-29%. If companies with women in management outperform so dramatically, what would happen if you invested in women-led companies? Karen Rubin will explore this question and share her findings after running a 12-year investment simulation. + +Keith Bourgoin, Using Python with Apache Storm and Kafka + +As Python gains more and more traction in data science, the ability to interact with large scale data processing systems has greatly improved. Instead of being limited to what can fit on one's laptop or having to wait for a Hadoop job to complete, we can now tap into streaming datasets using systems like Apache's Storm and Kafka projects. + +In this talk, we'll examine log-centric architectures using Kafka's message passing and Storms's stream processing capabilities. Then we'll go over two projects pykafka (https://github.com/Parsely/pykafka) and streamparse (https://github.com/Parsely/streamparse) which allow data scientists to take advantage of these systems from Python without having to deal with the headache of JVM interop. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084867/](https://www.meetup.com/bostonpython/events/221084867/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150601-boston-python-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150601-boston-python-june-project-night.md new file mode 100644 index 0000000..249aa3c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150601-boston-python-june-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 01, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221101197/](https://www.meetup.com/bostonpython/events/221101197/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150622-9-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150622-9-lightning-talks.md new file mode 100644 index 0000000..6d038f0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150622-9-lightning-talks.md @@ -0,0 +1,30 @@ +--- +title: 9 Lightning Talks +sidebar_link: false +--- + +June 22, 2015 + + +    + +A night of all lightning talks, sponsored by DataRobot (http://datarobot.com). + +Lightning talks are 5- to 10-minute talks. We have nine of them tonight, giving us a wide variety of topics and levels: + +John Hess: Using serendipity (and Python!) to make meaningful connections in large groups +Luis Soares: Using Python to visualize yeast chip-seq data +Duke Adamonis: A noob writes a log parser +Robert Chase: Cumulus: a Django-based cloud manager +Carol Novitsky: Queuing theory +Eric Ma: Testing your data +James Santucci: Comparing Medicaid payment models +Rick Landau: .format() gently +Matt Bachmann: Hypothesis: Test your code by describing it + +Pizza will be provided, thanks to DataRobot. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221084901/](https://www.meetup.com/bostonpython/events/221084901/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150707-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150707-july-project-night.md new file mode 100644 index 0000000..4002de1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150707-july-project-night.md @@ -0,0 +1,44 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 07, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406411/](https://www.meetup.com/bostonpython/events/221406411/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150721-intro-to-classes-and-special-methods.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150721-intro-to-classes-and-special-methods.md new file mode 100644 index 0000000..18b105e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150721-intro-to-classes-and-special-methods.md @@ -0,0 +1,28 @@ +--- +title: Intro to Classes and Special Methods +sidebar_link: false +--- + +July 21, 2015 + + +    + +Join us for two introductory talks, sponsored by Jana (http://jana.com). + +If you've never used classes, or just would like to brush up on some of the details, tonight's talks are for you: + +Joe Jevnik, Introduction to Classes + +What are classes? When should you use them? How do they work? Python is an object oriented language: much of its power comes from implementing your own classes to represent the nouns in your programs. Starting from first principles, this talk will show how to use classes to build your own objects. + +Cliff Dyer, Special Methods + +Much of Python's syntax can be customized for your own objects. How can you make your object act like a dict, or a list? Special methods (that look like __this__) underlie all of Python's functionality. You can implement them yourself to give your objects special powers. This talk will demonstrate how to create classes that operate seamlessly with Python's built-in behavior. + +Pizza will be provided by Jana. Food and mingling at 6:30, talks start at 7:00. + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406321/](https://www.meetup.com/bostonpython/events/221406321/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150810-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150810-august-project-night.md new file mode 100644 index 0000000..76be56d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150810-august-project-night.md @@ -0,0 +1,44 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 10, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Smarterer (http://smarterer.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221391753/](https://www.meetup.com/bostonpython/events/221391753/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150827-twisted-async-networking-framework.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150827-twisted-async-networking-framework.md new file mode 100644 index 0000000..9ec31d9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150827-twisted-async-networking-framework.md @@ -0,0 +1,24 @@ +--- +title: Twisted async networking framework +sidebar_link: false +--- + +August 27, 2015 + + +    + +Tonight's presentation is sponsored by RIFT.io (http://rift.io). + +Twisted is a comprehensive networking framework built on asynchronous principles. Node.js and other tools have made async I/O all the rage, but Twisted was there first. Come learn about this extensive networking toolkit. + +Patrick Cloke and Stephen DiCato will present. Starting from the very basics of asynchronous I/O, they'll explain how Twisted works, how to build simple services, and how to integrate Twisted with other services. + +Pizza is provided by RIFT.io. (http://rift.io) + +Drinks afterward at Meadhall, sponsored by Jana (http://jana.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/221406450/](https://www.meetup.com/bostonpython/events/221406450/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150903-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150903-september-project-night.md new file mode 100644 index 0000000..2ab222a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150903-september-project-night.md @@ -0,0 +1,44 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 03, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Pixability (http://pixability.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/224609645/](https://www.meetup.com/bostonpython/events/224609645/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150924-september-presentation-night-favorite-libraries.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150924-september-presentation-night-favorite-libraries.md new file mode 100644 index 0000000..9587da1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20150924-september-presentation-night-favorite-libraries.md @@ -0,0 +1,30 @@ +--- +title: September Presentation Night - Favorite Libraries +sidebar_link: false +--- + +September 24, 2015 + + +    + +I asked people about their favorite libraries, and we have 6 presenters giving a quick look at the tools they think you should know about! + +Neil Tenenholz: mrjob + +Lindsay Raymond: Funcy + +Gene Dolgin: NamedList + +Scott Sanderson: click + +Amandalynne Pallada: NLTK + +Ned Jackson Lovely: itsdangerous + +Pizza will be provided by Akamai + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626917/](https://www.meetup.com/bostonpython/events/223626917/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151001-boston-python-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151001-boston-python-october-project-night.md new file mode 100644 index 0000000..e3bca7a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151001-boston-python-october-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 01, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Entrepreneurial Finance Lab (http://eflglobal.com). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626841/](https://www.meetup.com/bostonpython/events/223626841/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151021-october-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151021-october-presentation-night.md new file mode 100644 index 0000000..df252b8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151021-october-presentation-night.md @@ -0,0 +1,32 @@ +--- +title: October Presentation Night +sidebar_link: false +--- + +October 21, 2015 + + +    + +Tonight, three talks sponsored by edX (http://edx.org) and Quantopian (http://quantopian.com). + +Jonathan Kamens: Coal Mine + +Coal Mine is Quantopian's open-source tool for monitoring scheduled tasks. Tasks trigger "canaries" when they execute, and Coal Mine sends alerts via email for late canaries. Jonathan will explain how it works, and also some of its novel implementation techniques that can apply to any project. + +Rafael Schloming: parsimonious + +Many text-processing tasks are easier with a powerful parser at hand. Parsimonious is a PEG parser. Rafael will show of some of the powerful things it can do. What is a PEG parser? I don't know either! Come find out. :) + +Brad Smith: lxml + +LXML is the go-to Python library for processing XML and HTML. If you deal with XML in Python, you need it in your toolkit. Brad will give us an overview of using it and XPath expressions to do document mining and mangling. + +Food will be provided, sponsored by edX. Doors open at 6:30, talks at 7:00. + +Drinks afterwards sponsored by Quantopian. + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626789/](https://www.meetup.com/bostonpython/events/223626789/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151105-boston-python-november-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151105-boston-python-november-project-night.md new file mode 100644 index 0000000..e6e50f0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151105-boston-python-november-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python November Project Night +sidebar_link: false +--- + +November 05, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Mitra Capital. + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626763/](https://www.meetup.com/bostonpython/events/223626763/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151117-boston-python-november-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151117-boston-python-november-presentation-night.md new file mode 100644 index 0000000..7c306cc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151117-boston-python-november-presentation-night.md @@ -0,0 +1,26 @@ +--- +title: Boston Python November Presentation Night +sidebar_link: false +--- + +November 17, 2015 + + +    + +Two talks tonight, with plenty of time for mingling, meeting, and greeting. If you would like to sponsor, get in touch! + +Chelsea Voss and Anders Kaseorg: One-lining Python + +A common past-time among programmers is finding how much they can accomplish in one line of code. Chelsea has made all that work unnecessary with oneliner: it automatically converts any Python program into a single line of code. What!? Why!? How!? Chelsea and Anders will explain all. + +David Baumgold: Flask-Dance + +Flask is a popular lightweight Python web framework. OAuth is a popular authentication mechanism that allows you to use web sites without sharing your password. Implementing OAuth can get complicated. David will show us his Flask-Dance library that lets you implement OAuth on your Flask site easily, letting your users log in with Facebook/Google/GitHub/etc. + +Drinks afterwards at Meadhall, sponsored by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626747/](https://www.meetup.com/bostonpython/events/223626747/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151203-boston-python-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151203-boston-python-december-project-night.md new file mode 100644 index 0000000..9f9d3e5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20151203-boston-python-december-project-night.md @@ -0,0 +1,44 @@ +--- +title: Boston Python December Project Night +sidebar_link: false +--- + +December 03, 2015 + + +    + +Come work on Python projects, get programming help, help others, and hang out. + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/223626721/](https://www.meetup.com/bostonpython/events/223626721/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160106-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160106-january-project-night.md new file mode 100644 index 0000000..c9ed2fd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160106-january-project-night.md @@ -0,0 +1,44 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 06, 2016 + + +    + +Come work on Python projects, get programming help, help others, and hang out. Sponsored by Cens.io (http://cens.io). + +Python project nights are unstructured chances for Python developers to work together, mentor each other, connect socially, teach, learn, or do whatever else it is Python developers want to do together. + +Our project nights are great ways to build the Python community, by allowing them to meet and interact in whatever way they find most beneficial. + +Food: Pizza will be provided. + +Things to bring: a wireless-enabled laptop and power cord. + +Need some project ideas? How about: + +Learning Python + +• The official Python tutorial (http://docs.python.org/2/tutorial/introduction.html) + +• How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net/thinkcs/python/english2e/) + +• An introduction to Python through writing games (http://inventwithpython.com/chapters/) + +• Learn Python the Hard Way (http://learnpythonthehardway.org/) + +Projects and competitions + +• Puzzles! (http://puzzles.bostonpython.com/) + +• Contribute to an open-source project that uses Python. Developers from OpenHatch (http://openhatch.org/), Twisted (http://twistedmatrix.com/), and other projects are often here. If you contribute to an open source project that uses Python and want to help new contributors, let us know in a comment! + +• Want to learn a Python web framework? Check out the Django tutorial (https://docs.djangoproject.com/en/dev/intro/tutorial01/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/227012718/](https://www.meetup.com/bostonpython/events/227012718/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160120-project-basics-structure-and-tests.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160120-project-basics-structure-and-tests.md new file mode 100644 index 0000000..bb3ae77 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160120-project-basics-structure-and-tests.md @@ -0,0 +1,28 @@ +--- +title: Project Basics - Structure and Tests +sidebar_link: false +--- + +January 20, 2016 + + +    + +Two talks for getting your projects right from the start, sponsored by Intel (http://intel.com) and AppNeta (http://appneta.com). + +Matt Bachmann, Structuring Your Python Project + +There's more to a Python project than a pile of .py files. How should a project be organized? What files go where? How can you make the code installable with pip? What goes in setup.py? Matt will walk through the basics of project organization and explain some of the mysteries. + +Ned Batchelder, Getting Started Testing + +Testing can be overwhelming. It involves different ways of writing code, and learning new tools. Writing tests can be a lot of work, but it definitely pays off. This talk will explain the basics and give you direction for getting started writing tests for your own projects. + +Pizza provided by Intel, and drinks afterward at Meadhall sponsored by AppNeta. + +Doors open at 6:30, talks begin at 7:00 + + +Meetup link: [https://www.meetup.com/bostonpython/events/226174635/](https://www.meetup.com/bostonpython/events/226174635/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160202-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160202-february-project-night.md new file mode 100644 index 0000000..1bc158a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160202-february-project-night.md @@ -0,0 +1,22 @@ +--- +title: February Project Night +sidebar_link: false +--- + +February 02, 2016 + + +    + +An evening of collegial cooperation, sponsored by MIT Office of Digital Learning (http://engineering.odl.mit.edu/join-our-team.html). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/226174544/](https://www.meetup.com/bostonpython/events/226174544/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160223-february-presentation-testing-web-applications.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160223-february-presentation-testing-web-applications.md new file mode 100644 index 0000000..6324ab6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160223-february-presentation-testing-web-applications.md @@ -0,0 +1,26 @@ +--- +title: February Presentation - Testing Web Applications +sidebar_link: false +--- + +February 23, 2016 + + +    + +Two talks about specialized tools for testing web applications, sponsored by Klaviyo (https://www.klaviyo.com/) and Twilio (http://twilio.com). + +Michael Mintz, SeleniumBase: Reliable browser testing + +Web applications have to be tested in real browsers to know they are working properly. The most common tool for this is Selenium, but anyone who has used it knows that it can be cumbersome and unpredictable. Michael will explain some of Selenium's pitfalls, and show us the layer he's written on top, SeleniumBase, which solves many of its problems. + +Jay Luker, Pytest plugins and Ghost Inspector + +Pulling all the pieces of a web test together can be difficult, using disparate tools and services to cover all your bases. Jay has written a pytest plugin to connect pytest to a browser testing service, Ghost Inspector. He'll walk through the whats, hows & whys of pytest plugins, and how his plugin lets you hook Ghost Inspector's test execution into the pytest framework. + +Pizza will be provided, by Klaviyo. Drinks afterwards at Meadhall, sponsored by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/226992443/](https://www.meetup.com/bostonpython/events/226992443/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160308-boston-python-march-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160308-boston-python-march-project-night.md new file mode 100644 index 0000000..1585aeb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160308-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 08, 2016 + + +    + +An evening of symbiotic synergy, sponsored by Klaviyo (http://klaviyo.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227014403/](https://www.meetup.com/bostonpython/events/227014403/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160321-scipy-ecosystem.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160321-scipy-ecosystem.md new file mode 100644 index 0000000..146dc00 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160321-scipy-ecosystem.md @@ -0,0 +1,24 @@ +--- +title: SciPy ecosystem +sidebar_link: false +--- + +March 21, 2016 + + +    + +A scientific Python presentation tonight, sponsored by Klaviyo (http://klaviyo.com). + +Introduction to SciPy Ecosystem, Ben Root + +Python has a large and active scientific programming community. There are many tools, and more being developed all the time. Orienting yourself within this new world can be confusing. Ben will explain what is available, and when one would use what. We'll have an extensive Q+A session, so bring your questions! + +Pizza will be provided. + +After the talk, we'll be headed to Meadhall for drinks, sponsored by Here (http://here.com). + + +Meetup link: [https://www.meetup.com/bostonpython/events/227138003/](https://www.meetup.com/bostonpython/events/227138003/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160326-tutorial-talking-to-other-computers-with-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160326-tutorial-talking-to-other-computers-with-python.md new file mode 100644 index 0000000..e532409 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160326-tutorial-talking-to-other-computers-with-python.md @@ -0,0 +1,24 @@ +--- +title: Tutorial - Talking to other computers with Python +sidebar_link: false +--- + +March 26, 2016 + + +    + +A three-hour tutorial on how to make your computer talk to other computers with Python. We'll learn a bit about the internet and the web and will write or modify a TCP chat client, a web server for static content, an HTTP client, and a WSGI-compliant server and web application. We will learn what all those things are and how they fit together, bringing the architecture of modern web apps into better focus. + +Because space is limited, in order to attend please join the wait list and then answer a few questions at https://docs.google.com/forms/d/14Kdikbpuy8ELBxIsT6qlFZRra6n0Mf0Y-acL-bYCBFI/viewform. If there's room, your RSVP status will be changed after your response to that form is received. + +Although no web development experience is necessary to attend, this tutorial may be particularly of interest to those with some web development experience that want to better understand their tools. + +If you'd like to volunteer to help participants at this tutorial, send an email to thomasballinger@gmail.com + +No food will be provided. Bring a wifi-capable laptop and a power cord. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229680333/](https://www.meetup.com/bostonpython/events/229680333/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160407-project-night-at-akamai.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160407-project-night-at-akamai.md new file mode 100644 index 0000000..674abba --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160407-project-night-at-akamai.md @@ -0,0 +1,24 @@ +--- +title: Project Night at AKAMAI +sidebar_link: false +--- + +April 07, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai (http://akamai.com). + +NOTE! We are at AKAMAI tonight, not in our usual location. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229446494/](https://www.meetup.com/bostonpython/events/229446494/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160419-pycon-rehearsal-1.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160419-pycon-rehearsal-1.md new file mode 100644 index 0000000..ed5ab57 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160419-pycon-rehearsal-1.md @@ -0,0 +1,12 @@ +--- +title: Pycon Rehearsal 1 +sidebar_link: false +--- + +April 19, 2016 + + + +Meetup link: [https://www.meetup.com/bostonpython/events/227220955/](https://www.meetup.com/bostonpython/events/227220955/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md new file mode 100644 index 0000000..5fdd785 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsals 1 - Flask APIs, and Bytecode +sidebar_link: false +--- + +April 26, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks, sponsored by MassMutual (https://www.massmutual.com/about-us/careers). David Baumgold: Prototyping new APIs with Flask (https://us.pycon.org/2016/schedule/presentation/1694/) + +You need to build a new API, but which tools do you use? Flask is a microframework that makes web development a snap, and an ecosystem of extensions and other tools has grown around it to make it perfect for prototyping APIs. In this talk, we'll see how to get started with Flask, and learn the best parts of its ecosystem for API development. More info... (https://us.pycon.org/2016/schedule/presentation/1694/) + +Scott Sanderson & Joe Jevnik: Playing with Python Bytecode (https://us.pycon.org/2016/schedule/presentation/1829/) + +Ever wondered what Python is actually doing when it executes your code? Want to learn to hand-craft artisanal Python bytecode? In this talk, we explain CPython's internal code representation, and we demonstrate techniques for modifying code objects for fun and profit. More info... (https://us.pycon.org/2016/schedule/presentation/1829/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227220925/](https://www.meetup.com/bostonpython/events/227220925/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md new file mode 100644 index 0000000..05e735e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 2 - Performance Post-Mortem, and Machete Debugging +sidebar_link: false +--- + +May 05, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks, sponsored by Better Outcomes (http://www.betteroutcomes.com). + +Geoff Gerrietts: Diving into the Wreck: a Postmortem Look at Real-World Performance (https://us.pycon.org/2016/schedule/presentation/2032/) + +As a young engineer interested in performance, much of the advice I saw on performance management focused on algorithms and rules of thumb. It’s good advice, but it doesn’t address the most common problems. This talk will cover a handful of the most common performance problems I’ve encountered in my career. We will talk about how to recognize them, what causes them, and how to resolve them. More info... (https://us.pycon.org/2016/schedule/presentation/2032/) + +Ned Batchelder: Machete-mode Debugging: Hacking Your Way Out of a Tight Spot (https://us.pycon.org/2016/schedule/presentation/1658/) + +When chasing mysterious bugs, it's helpful to use all the tools at your disposal. We'll explore ways to use Python's dynamic tools to help track down the cause of head-scratching problems in large systems. Tools include the inspect module, monkey-patching, trace functions, and the Python mechanisms at work behind them all. More info... (https://us.pycon.org/2016/schedule/presentation/1658/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227342141/](https://www.meetup.com/bostonpython/events/227342141/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md new file mode 100644 index 0000000..85680d6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 3 - Graceful Degradation, and Property Testing +sidebar_link: false +--- + +May 09, 2016 + + +    + +Three PyCon-bound speakers will rehearse their talks, sponsored by American Well (http://americanwell.com). + +Dan Riti: Remote Calls != Local Calls: Graceful Degradation when Services Fail (https://us.pycon.org/2016/schedule/presentation/2027/) + +In a world where we are becoming more dependent on the network to be reliable due to trends to decouple systems into distributed services, we must do our best to expect failure to occur everywhere and anywhere. This talks aims to explore different techniques for gracefully degrading when the networks fail and the services we depend on are no longer available. More info... (https://us.pycon.org/2016/schedule/presentation/2027/) + +Matt Bachmann: Better Testing With Less Code: Property Based Testing With Python (https://us.pycon.org/2016/schedule/presentation/1927/) + +Standard unit tests have developers test specific inputs and outputs. This works, but often what breaks code are the cases we did not think about. Property based testing has developers define properties of output and has the computer explore the possible inputs to verify these properties. This talk will introduce property based testing and provide real world examples and patterns. More info... (https://us.pycon.org/2016/schedule/presentation/1927/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/227306467/](https://www.meetup.com/bostonpython/events/227306467/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md new file mode 100644 index 0000000..eb527fe --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160525-pycon-rehearsals-4-laser-cutters-and-closures.md @@ -0,0 +1,28 @@ +--- +title: PyCon Rehearsals 4 - Laser Cutters, and Closures +sidebar_link: false +--- + +May 25, 2016 + + +    + +Two PyCon-bound speakers will rehearse their talks. + +Giles Hall: Laser Cutters, 3D Printers, and Python (https://us.pycon.org/2016/schedule/presentation/2171/) + +How to leverage python to generate physical, tangible things. We will discuss the basics of laser cutters, 3D printers, and how you can use python to design physical objects. After a brief introduction to these technologies, we will explore a few different examples of how we can use python to generate designs suitable for 3D printing and laser cutting. More info... (https://us.pycon.org/2016/schedule/presentation/2171/) + +Thomas Ballinger: Finding closure with closures (https://us.pycon.org/2016/schedule/presentation/2231/) + +What are closures all about anyway, and why is there a new keyword in Python 3? We'll look at what a closure is, their history in the Python language, what the Python 3 nonlocal keyword is about, and examine how closures are idiomatically used (and avoided) in Python. More info... (https://us.pycon.org/2016/schedule/presentation/2231/) + +Pizza will be provided. + +Because these are rehearsals, we will not be recording. You'll be able to see the recording from the actual presentation given at PyCon. + + +Meetup link: [https://www.meetup.com/bostonpython/events/229446575/](https://www.meetup.com/bostonpython/events/229446575/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160606-june-project-night-at-akamai.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160606-june-project-night-at-akamai.md new file mode 100644 index 0000000..41eb4ef --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160606-june-project-night-at-akamai.md @@ -0,0 +1,22 @@ +--- +title: June project night at Akamai +sidebar_link: false +--- + +June 06, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai. + +NOTE! We are at AKAMAI tonight, not in our usual location. Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/231489013/](https://www.meetup.com/bostonpython/events/231489013/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160706-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160706-july-project-night.md new file mode 100644 index 0000000..8ba7873 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160706-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 06, 2016 + + +    + +An evening of face-to-face fun, sponsored by Twilio (http://twilio.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Twilio. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702645/](https://www.meetup.com/bostonpython/events/230702645/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160714-cris-ewing-plone-s-evolution.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160714-cris-ewing-plone-s-evolution.md new file mode 100644 index 0000000..a681771 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160714-cris-ewing-plone-s-evolution.md @@ -0,0 +1,20 @@ +--- +title: Cris Ewing - Plone's Evolution +sidebar_link: false +--- + +July 14, 2016 + + +    + +Cris Ewing is a guest speaker from Seattle, reprising his PyCon 2016 keynote. + +Plone is a popular, widely used open source content management system built in Python with nearly 15 years of history. As with many complex software systems, Plone has faced challenges over the years, particularly in terms of how easy it is to customize and extend. In this talk, I will explore a number of these challenges and look at how a combination of common software design patterns and innovative libraries have helped Plone to overcome them. In the end, we’ll see how these same approaches can be used in the broader Python ecosphere to address some of the common pitfalls of object oriented design. + +Cris has been involved with Plone (https://plone.com/) since 2006 and has served on the board of directors of the Plone Foundation. He teaches web development in Python for the University of Washington Professional and Continuing Education program (http://www.pce.uw.edu/) and has established the Python program at Code Fellows (https://www.codefellows.org/) in Seattle, WA. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230993578/](https://www.meetup.com/bostonpython/events/230993578/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160716-workshop-plone-theming-with-diazo.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160716-workshop-plone-theming-with-diazo.md new file mode 100644 index 0000000..d631b45 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160716-workshop-plone-theming-with-diazo.md @@ -0,0 +1,26 @@ +--- +title: Workshop - Plone theming with Diazo +sidebar_link: false +--- + +July 16, 2016 + + +    + +Cris Ewing, Plone theming with Diazo + +Plone 5 comes with a brand new theme engine called Diazo (http://diazo.org). Diazo is written in Python and allows you to map content from a dynamic website into a static HTML/CSS theme using a set of rules. Diazo compiles the theme and the rules into an XSLT file which is then used to transform the dynamic content into themed content. Thus: Diazo writes XSLT so you don't have to! Diazo can be used standalone with any dynamic website but it is built into Plone 5, which includes a through-the-web theming tool that makes it easy to get started. + +In this training, you’ll learn how to build a great-looking theme for any Plone site based on an off-the-shelf, fully responsive HTML5 layout. Along the way, you’ll learn a bit about how Plone works, and how we can create and manage websites with this fantastic tool. In the end you’ll have a nice, clean Plone site theme you can use on your next Plone project! + +All you’ll need to bring is a laptop with wireless and a web browser, we’ll supply the rest. + +Cris Ewing has been involved with Plone since 2006 and has served on the board of directors of the Plone Foundation. He teaches web development in Python for the University of Washington Professional and Continuing Education program and has established the Python program at Code Fellows in Seattle, WA. + +No food is being provided at this event. Come ready to learn and work! :) + + +Meetup link: [https://www.meetup.com/bostonpython/events/232221305/](https://www.meetup.com/bostonpython/events/232221305/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160719-beekeeper-and-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160719-beekeeper-and-lightning-talks.md new file mode 100644 index 0000000..24543bf --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160719-beekeeper-and-lightning-talks.md @@ -0,0 +1,28 @@ +--- +title: BeeKeeper, and lightning talks +sidebar_link: false +--- + +July 19, 2016 + + +    + +A mixed assortment of presentations, sponsored by FormLabs (http://formlabs.com). + +Jesse Shapiro, Better REST Clients with Beekeeper + +REST APIs are everywhere these days. As simple as their model is, there is still a frustrating amount of variation among them. Beekeeper is a new library for consuming REST APIs that simplifies the boring parts so you can focus on what your application is supposed to be doing. + +Lightning talks: + +Stephanie Davis, virtualenv +Sarah Dawson, requests +Elena Glassman, pythontutor +Samantha Scharr, argparse +Joanna Lowry-Duda, NaN breaks sorting + + +Meetup link: [https://www.meetup.com/bostonpython/events/230701789/](https://www.meetup.com/bostonpython/events/230701789/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160815-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160815-august-project-night.md new file mode 100644 index 0000000..ebd8bea --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160815-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 15, 2016 + + +    + +An evening of collegial cooperation. WE ARE LOOKING FOR A SPONSOR! + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +If you would like to showcase your company, consider sponsoring! Get in touch with leaders@bostonpython.com to find out more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/230701855/](https://www.meetup.com/bostonpython/events/230701855/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160824-microservices.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160824-microservices.md new file mode 100644 index 0000000..d75de97 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160824-microservices.md @@ -0,0 +1,24 @@ +--- +title: Microservices +sidebar_link: false +--- + +August 24, 2016 + + +    + +A talk about a hot topic, microservices, sponsored by Datawire (http://datawire.io). + +Rafael Schloming: An illustrated guide to Microservices migration with Python. + +This talk will explain key principles, costs, and benefits of microservices and show via a series of live demos and working examples how to extend a Python application to quickly and easily benefit from migrating to a microservices architecture. + +Rafael is CTO and Chief Architect of Datawire. He is a globally recognized expert on messaging. He is a co-author of the AMQP 1.0 specification. Previously, Rafael was a principal software engineer at Red Hat, where he led Red Hat’s technical engagements with the AMQP community. Rafael has a B.S. in computer science from MIT. + +Pizza will be provided! + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702111/](https://www.meetup.com/bostonpython/events/230702111/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160906-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160906-september-project-night.md new file mode 100644 index 0000000..2120dc9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160906-september-project-night.md @@ -0,0 +1,22 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 06, 2016 + + +    + +An evening of friendly face-time, sponsored by Better Outcomes (http://www.betteroutcomes.com/). Better Outcomes is building a Google-scale database of medical records, healthcare insurance records, and patient reported outcomes. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232891113/](https://www.meetup.com/bostonpython/events/232891113/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160920-september-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160920-september-presentation-night.md new file mode 100644 index 0000000..47eddf0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20160920-september-presentation-night.md @@ -0,0 +1,30 @@ +--- +title: September Presentation Night +sidebar_link: false +--- + +September 20, 2016 + + +    + +Sponsored by the Plone Conference (https://2016.ploneconf.org): The international gathering for Plone and the Python Web world - training, talks, sprints, and party included. Be there! + +Presentations tonight: + +Aleksandr Koshkin, Hacking CPython internals + +The internals of the Python interpreter can be fascinating, and if you are brave enough, can be used to make Python do things it "can't do." We'll see a bit of the internals, and a few "bad ideas." :) + +Lightning talks by Tony Nelson (sending emails), Alex Orlovsky (descriptor wizardry), and maybe more. + +Pizza will be provided. + +Dun and Bradstreet is sponsoring drinks at Meadhall after the presentation. + +"Life here at Dun & Bradstreet is changing – for the better. Our purpose is to grow the most valuable relationships in business by uncovering truth and meaning in data. So if you thrive in a fluid, agile culture but want the solidity of a storied and commanding brand, check out our transformation. http://www.dnb.com/careers " + + +Meetup link: [https://www.meetup.com/bostonpython/events/231638367/](https://www.meetup.com/bostonpython/events/231638367/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161004-boston-python-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161004-boston-python-october-project-night.md new file mode 100644 index 0000000..293c82c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161004-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 04, 2016 + + +    + +An evening of collegial collaboration, sponsored by Akamai. + +NOTE! We are at AKAMAI tonight, not in our usual location. Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided courtesy of Akamai. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232951815/](https://www.meetup.com/bostonpython/events/232951815/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161020-brandon-rhodes-the-subprocess-module.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161020-brandon-rhodes-the-subprocess-module.md new file mode 100644 index 0000000..dfa7a8f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161020-brandon-rhodes-the-subprocess-module.md @@ -0,0 +1,26 @@ +--- +title: Brandon Rhodes - The subprocess module! +sidebar_link: false +--- + +October 20, 2016 + + +    + +EverQuote (http://everquote.com) is our pizza sponsor tonight, and InsightSquared (http://insightsquared.com) is bringing beer! + +Brandon Rhodes, The subprocess module + +The programmer who wants to make sophisticated use of the "subprocess" module embarks upon the great game. Can arbitrary filenames, whitespace-laden strings, and even binary data make it through intact to the process you are invoking — or will process invocation always be susceptible to awkward edge cases? Learn the full story behind how argument strings are quoted, delimited, and interpreted as they pass from Python into the operating system and then are delivered to either a local process or a remote shell! + +Brandon is a renowned Python speaker, keynoting PyCon events around the US and the world. He is the current chair of PyCon US. + +Pizza will be provided, sponsored by EverQuote. + +Launched in January 2011, EverQuote has built the largest online auto insurance marketplace in the U.S. Through our flagship website, EverQuote.com (http://everquote.com/), we leverage our proprietary internet traffic acquisition platform and data driven models to enable consumers to efficiently connect with the carriers & agents best suited to meet their needs. Based in Cambridge, MA, the company is one of the fastest growing technology firms in Cambridge & Boston. + + +Meetup link: [https://www.meetup.com/bostonpython/events/232919188/](https://www.meetup.com/bostonpython/events/232919188/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161107-november-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161107-november-project-night.md new file mode 100644 index 0000000..3d685bb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161107-november-project-night.md @@ -0,0 +1,22 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 07, 2016 + + +    + +An evening of friendly face-time, sponsored by PluralSight (http://pluralsight.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided, of course. You can't do your best work on an empty stomach! + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702610/](https://www.meetup.com/bostonpython/events/230702610/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md new file mode 100644 index 0000000..47561b7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161121-scraping-together-a-dataset-to-predict-oscar-winners.md @@ -0,0 +1,30 @@ +--- +title: Scraping together a dataset to predict Oscar winners +sidebar_link: false +--- + +November 21, 2016 + + +    + +Pizza sponsored by DataXu (http://dataxu.com), drinks afterward by MassChallenge (http://masschallenge.org/). + +Deborah Hanus, How to scrape together a dataset using things you found on the internet. + +Using Jupyter notebooks and scikit-learn, I’ll predict whether a movie is likely to win an Oscar or be a box office hit. I’ll walk through the most important steps of creating an effective dataset using information that you find on the Internet: asking a question your data can answer, writing a web scraper, and answering those questions using nothing but Python libraries and data from the Internet. To illustrate how these steps fit together, I walk through building a dataset from IMDB data and use it to predict what makes a winning Oscar movie. + +Plus a few lightning talks + +Pizza will be provided by DataXu. + +Mass Challenge is hosting drinks after the Meetup, so plan to stick around and say hello: + +"MassChallenge is the most startup-friendly accelerator on the planet. No equity and not-for-profit, we are obsessed with helping entrepreneurs across any industry. We also reward the highest-impact startups through a competition to win a portion of several million dollars in equity-free cash awards. Through our global network of accelerators in Boston, London, Jerusalem, Lausanne and Mexico City and unrivaled access to our corporate partners, we can have a massive impact - driving growth and creating value the world over. + +"We are expanding the use of our Accelerate Platform within our international programs and plan to make it available to a broader community of organizations with similar needs. Currently the platform is a single Python Django web application that focuses on individual accelerator competitions. To achieve MassChallenge's ambitious goals we need to re-architect the existing system and create entirely new web-services that will provide needed functionality at the increasing scale of the organization. We are looking for an experienced Principal Software Engineer to join our team and help us catalyze a global startup renaissance that embraces diversity, creates real value, and takes on the world's biggest problems." + + +Meetup link: [https://www.meetup.com/bostonpython/events/230702569/](https://www.meetup.com/bostonpython/events/230702569/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161205-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161205-december-project-night.md new file mode 100644 index 0000000..0632f71 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161205-december-project-night.md @@ -0,0 +1,22 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 05, 2016 + + +    + +An evening of friendly face-time, sponsored by CarbonBlack (http://carbonblack.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided, of course. You can't do your best work on an empty stomach! + + +Meetup link: [https://www.meetup.com/bostonpython/events/234803292/](https://www.meetup.com/bostonpython/events/234803292/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161220-december-presentation-night-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161220-december-presentation-night-lightning-talks.md new file mode 100644 index 0000000..e18c0ef --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20161220-december-presentation-night-lightning-talks.md @@ -0,0 +1,26 @@ +--- +title: December Presentation Night - Lightning Talks +sidebar_link: false +--- + +December 20, 2016 + + +    + +An evening of lightning talks, sponsored by Merrimack College's Data Science & Analytics graduate programs (http://onlinedsa.merrimack.edu/). + +A lightning talk is quick: 5 to 10 minutes. We have a bunch tonight: + +Joe Boerjes: List Comprehensions +Lee Scheffler: "Brain LEGOs" cognitive system technology toolkit +Mike Speciner: Secret Sharing +Michele Pratusevich: How to make Instagram filters in ~15 lines of Python +Maciej Murakowski: Function default arguments +Dan Finkel: Voronoi diagrams +Slater Victoroff: Using and abusing Python's magic methods to reduce goo code + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430655/](https://www.meetup.com/bostonpython/events/234430655/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170110-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170110-january-project-night.md new file mode 100644 index 0000000..db82056 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170110-january-project-night.md @@ -0,0 +1,22 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 10, 2017 + + +    + +An evening of collegial cooperation, sponsored by Man Numeric Investors (http://numeric.com), (job listing (https://mancareers.resourcesolutions.com/gold/iapply/index.cfm?event=jobs.detail&jobid=899016)). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430835/](https://www.meetup.com/bostonpython/events/234430835/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md new file mode 100644 index 0000000..4458478 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170123-rapydscript-modeling-pattern-formation-and-pypy.md @@ -0,0 +1,29 @@ +--- +title: Rapydscript, Modeling pattern formation, and PyPy +sidebar_link: false +--- + +January 23, 2017 + + +    + +Three talks, sponsored by OM1. (http://www.om1.com/) + +Alex Tespkov: Rapydscript + +Rapydscript (http://www.rapydscript.com/) is a marriage of Python and JavaScript, a decluttered JavaScript inspired by Python. RapydScript allows to write your JavaScript app in a language much closer to Python without the overhead that other similar frameworks introduce. + +Alex Lancaster & Gordon Webster: Modeling pattern formation: a gateway to Python for biologists +Many life scientists want to add computation to their research, but traditional introductions often aren't written with the biologist's intuition in mind. Modeling cool pattern formations can be a great gateway to Python. + +Chris Lieb: PyPy + +Is your Python program going too slow? PyPy might solve your problem, as it did at BitSight. Chris will tell us about PyPy: what it is, why one might use it, their recent usage of it, the improvements they saw, and how to get started. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430790/](https://www.meetup.com/bostonpython/events/234430790/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170209-cancelled-february-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170209-cancelled-february-project-night.md new file mode 100644 index 0000000..700cbc5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170209-cancelled-february-project-night.md @@ -0,0 +1,24 @@ +--- +title: CANCELLED - February Project Night +sidebar_link: false +--- + +February 09, 2017 + + +    + +Expecting 10 inches of snow, we'll find another time to do this! :) + +An evening of friendly face-time, sponsored by Pluralsight. (http://pluralsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430865/](https://www.meetup.com/bostonpython/events/234430865/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md new file mode 100644 index 0000000..a5c5594 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170222-february-presentation-night-porting-python-to-new-hardware.md @@ -0,0 +1,20 @@ +--- +title: February Presentation Night - Porting Python to New Hardware +sidebar_link: false +--- + +February 22, 2017 + + +    + +Russell Keith-Magee:Stranger in a Strange Land: Porting Python to new hardware + +The popular hardware platforms that have emerged over the last 10 years have one thing in common: they all promote programming language monocultures. The platform manufacturers provide a single language, and strongly encourage all developers to use that one language for all projects - Javascript for browsers; Objective C (or Swift) for iOS; and Java for Android. Is it possible to break the language monoculture, and use Python on these new hardware platforms? Thankfully, the answer is yes. In this presentation, Founding Apiarist Russell Keith-Magee will show you how the BeeWare project has ported Python to a range of new hardware platforms. + +Pluralsight (http://pluralsight.com) is our generous pizza sponsor this month. + + +Meetup link: [https://www.meetup.com/bostonpython/events/234430898/](https://www.meetup.com/bostonpython/events/234430898/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170307-boston-python-march-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170307-boston-python-march-project-night.md new file mode 100644 index 0000000..a2e3def --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170307-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 07, 2017 + + +    + +An evening of friendly face-time, sponsored by Akamai (http://akamai.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Akamai! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/237269009/](https://www.meetup.com/bostonpython/events/237269009/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170321-jupyter-wearables-and-iteration.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170321-jupyter-wearables-and-iteration.md new file mode 100644 index 0000000..a3eabef --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170321-jupyter-wearables-and-iteration.md @@ -0,0 +1,26 @@ +--- +title: Jupyter Wearables, and Iteration +sidebar_link: false +--- + +March 21, 2017 + + +    + +We need a pizza sponsor; could it be you? Here's how to sponsor (http://bit.ly/BostonPythonSponsors). + +Demba Ba, "Labs in the Wild": Teaching Signal Processing Using Wearables and Jupyter Notebooks in the Cloud + +Jupyter notebooks and the Python ecosystem provide a unique opportunity for interactive, web-based, teaching of content that has not traditionally leveraged scientific computing resources. We discuss the design and implementation of a new biological signal processing course at Harvard, ES155, which fuses Wearable technology and cloud-based analysis of data. We describe our system in this talk, and perform a live demo of how students in our class interact with the system, and give examples of ingenious final projects put together by students. + +David Baumgold, Looping Like a Pro in Python + +The humble loop: it's hard to write a program without it. Whether it's processing numbers in a sequence, lines in a text file, users in a database, or any other list of things, you use loops all the time. But did you know that Python has a lot of different ways to write loops? Reaching for the right looping tool can make your code cleaner, more readable, easier to test, and it can even make it run faster! By the end of this talk, you'll be looping like a pro, and your code will be better for it. + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/236881830/](https://www.meetup.com/bostonpython/events/236881830/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170405-boston-python-april-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170405-boston-python-april-project-night.md new file mode 100644 index 0000000..f643a0d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170405-boston-python-april-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python April Project Night +sidebar_link: false +--- + +April 05, 2017 + + +    + +An evening of friendly face-time, sponsored by Pluralsight (http://pluralsight.com). + +Different location: note that project night will meet at edX's office. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by Pluralsight! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/237146736/](https://www.meetup.com/bostonpython/events/237146736/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md new file mode 100644 index 0000000..6b0d385 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md @@ -0,0 +1,32 @@ +--- +title: PyCon Rehearsal 1 - Comparing Unicode and Predicting Oscars +sidebar_link: false +--- + +April 27, 2017 + + +    + +Two rehearsals of upcoming PyCon talks, sponsored and hosted by Wayfair (https://www.wayfaircareers.com/). + +Text is More Complicated Than You Think: Comparing and Sorting Unicode + +Morgan Wahl + +Few people realize just how complicated text can be. Did you know sorting and even case-folding can depend on a user's locale? That different strings of characters can be semantically completely equivalent? That there are over a thousand Latin letters? + +Legacy text encodings like ASCII made a lot of simplifying assumptions about how written languages work, and we all put up with them because it was cool to even have computers in the first place. Unicode removes many of those assumptions and provides the tools we need to write software that can just do the right thing regardless of what text users throw at it. Even if you don't translate your UI, getting the details of string comparison, sorting, and searching right can eliminate annoying surprises for you and your users. + +Lights, camera, action! Scraping a great dataset to predict Oscar winners + +Deborah Hanus + +Using Jupyter notebooks and scikit-learn, you’ll predict whether a movie is likely to win an Oscar (http://oscarpredictor.github.io/) or be a box office hit. Together, we’ll step through the creation of an effective dataset: asking a question your data can answer, writing a web scraper, and answering those questions using nothing but Python libraries and data from the Internet. + +Pizza (and I think beer!) will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238238860/](https://www.meetup.com/bostonpython/events/238238860/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md new file mode 100644 index 0000000..58d988d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-how-to-write-and-debug-c-extension-modules.md @@ -0,0 +1,34 @@ +--- +title: Tutorial - How to Write and Debug C Extension Modules +sidebar_link: false +--- + +April 29, 2017 + + +    + +Description + +The CPython interpreter allows us implement modules in C for performance critical code or to interface with external libraries while presenting users with a high level Python API. This tutorial will teach you how to leverage to power of C in your Python projects. + +We will start by explaining the C representation of Python objects and how to manipulate them from within C. We will then move on to implementing functions in C for use in Python. We will discuss reference counting and correct exception handling. We will also talk about how to package and build your new extension module so that it may be shared on PyPI. (We will only be covering building extension modules on GNU/Linux and OSX, not Windows). + +After the break, we will show how to implement a new type in C. This will cover how to hook into various protocols and properly support cyclic garbage collection. We will also discuss techniques for debugging C extension modules with gdb using the CPython gdb extension. + +Instructor Bio Joe Jevnik works at Quantopian where he works on integrating data from various sources into the platform. Joe works on Zipline, Quantopian's open source backtester. He also works on the Blaze ecosystem, mainly on blaze core, odo, and datashape. Pre-Tutorial Instructions You should be comfortable with the Python language and builtin data structures like dict, list, and tuple. + +You should understand C control flow like 'if' statements and 'for' loops as well as the standard C types like 'int' and 'float'. You should also be familiar with pointers and how to use them. + +Follow the install steps at https://github.com/llllllllll/c-extension-tutorial + +Contact: + +joejev@gmail.com + +Other Notes Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341234/](https://www.meetup.com/bostonpython/events/238341234/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md new file mode 100644 index 0000000..e33c0c1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170429-tutorial-intro-to-dsp-digital-signal-processing.md @@ -0,0 +1,30 @@ +--- +title: Tutorial - Intro to DSP (Digital Signal Processing) +sidebar_link: false +--- + +April 29, 2017 + + +    + +Tutorial Details + +Spectral analysis is an important and useful technique in many areas of science and engineering, and the Fast Fourier Transform is one of the most important algorithms, but the fundamental ideas of signal processing are not as widely known as they should be. + +Fortunately, Python provides an accessible and enjoyable way to get started. In this tutorial, I present material from my book, Think DSP, and from a class I teach at Olin College. We will work with audio signals, including music and other recorded sounds, and visualize their spectrums and spectrograms. We will synthesize simple sounds and learn about harmonic structure, chirps, filtering, and convolution. + +Instructor Bio + +Allen Downey is a professor of computer science at Olin College, a new engineering college near Boston with the mission to fix engineering education. He is the author of Think Python, Think Stats, Think Bayes, Think Complexity, and several other books all available under free licenses. Pre-Tutorial Instructions You should be comfortable using Python in a Jupyter notebook. + +Please follow the instructions at http://allendowney.github.io/ThinkDSP/tutorial + +If there are any issues, please contact Allen Downey at downey@allendowney.com + +Other Notes Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341199/](https://www.meetup.com/bostonpython/events/238341199/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md new file mode 100644 index 0000000..cf858dd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md @@ -0,0 +1,42 @@ +--- +title: PyCon Rehearsal 2 - Laziness, Mongo, and Immutability +sidebar_link: false +--- + +May 02, 2017 + + +    + +Rehearsals for PyCon (and other) presenters, sponsored by GenePeeks + +Title Available On Request: An Introduction to Lazy Evaluation + +Joe Jevnik + +Lazy evaluation, also known as "call by need", is an evaluation strategy where values are produced only when needed. Lazy evaluation is the opposite of eager evaluation, Python's normal evaluation model, where functions are executed as seen and values are produced immediately. + +In this talk we will define lazy evaluation and contrast it with eager evaluation. We will discuss tools that exist in Python for using lazy evaluation and show how we can build on the primitives to better represent computations. We will introduce common vocabulary for discussing evaluation models, and compare different systems for implementing lazy evaluation. Finally, we will discuss optimizations that can be made to optimize lazily evaluated expressions. + +Analyzing Math Literacy Data with PyMongo + +Robyn Allen + +In an effort to study how high school students develop persistence in technical domains, we wrote a Python/Flask/MongoDB app which serves math problems. This talk will explain what data the app logs, how that data is stored, and how to use PyMongo (a Python driver for MongoDB) to analyze that data. + +Immutable Programming - Writing Functional Python + +Calen Pennington + +The world of Haskell and functional programming may seem like a distant place to many working Python developers, but some of the techniques used there are remarkably useful when developing in Python. + +In this talk, I will cover some of the pitfalls of mutability that you may run into while writing Python programs, and some tools and techniques that Python has built in that will let you avoid them. You'll see namedtuples, enums and properties, and also some patterns for structuring immutable programs that will make them easier to build, extend, and test. + +(https://us.pycon.org/2017/schedule/presentation/769/) + +Pizza will be provided. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238648235/](https://www.meetup.com/bostonpython/events/238648235/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-complexity-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-complexity-science.md new file mode 100644 index 0000000..27c8d12 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-complexity-science.md @@ -0,0 +1,38 @@ +--- +title: Tutorial - Complexity Science +sidebar_link: false +--- + +May 06, 2017 + + +    + +Description + +Complexity Science is an approach to modeling systems using tools from discrete mathematics and computer science, including networks, cellular automata, and agent-based models. It has applications in many areas of natural and social science. + +Python is a particularly good language for exploring and implementing models of complex systems. In this tutorial, we present material from the draft second edition of Think Complexity, and from a class we teach at Olin College. We will work with random networks using NetworkX, with cellular automata using NumPy, and we will implement simple agent-based models. + +Instructor Bio + +Allen Downey is a professor of computer science at Olin College, a new engineering college near Boston with the mission to fix engineering education. He is the author of Think Python, Think Stats, Think Bayes, Think Complexity, and several other books all available under free licenses. + +Jason Woodard is an associate professor of engineering and entrepreneurship at Olin College. He studied complex systems and computational modeling at the Santa Fe Institute, and uses complexity science to model the evolution of technology and markets. + +Pre-Tutorial Instructions + +Prerequisite knowledge: You should be comfortable using Python in a Jupyter notebook. + +Pre-tutorial instructions: Please follow the instructions at http://allendowney.github.io/ThinkComplexity2/tutorial + +Contact: If there are any issues, please contact Allen Downey at downey@allendowney.com + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341304/](https://www.meetup.com/bostonpython/events/238341304/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-network-analysis-made-simple.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-network-analysis-made-simple.md new file mode 100644 index 0000000..f7aab78 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170506-tutorial-network-analysis-made-simple.md @@ -0,0 +1,32 @@ +--- +title: Tutorial - Network Analysis Made Simple +sidebar_link: false +--- + +May 06, 2017 + + +    + +Description + +Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? Or how epidemiologists track down patient zero in an outbreak? If so, then this tutorial is for you. In this tutorial, we will use a variety of datasets to help you understand the fundamentals of network thinking, with a particular focus on constructing, summarizing, and visualizing complex networks. + +Instructor Bio + +I am a 6th year PhD Candidate in the Runstadler Lab in the Biological Engineering department at MIT. I study the influenza virus, which is like a self-replicating deck of 8 poker cards. I am using Python to solve infectious disease data science problems. + +Pre-Tutorial Instructions + +You should be familiar with basic Python programming syntax, particularly list comprehensions. + +Download/clone repository: http://github.com/ericmjl/Network-Analysis-Made-Simple Follow instructions in README to create compute environment. + +If there are any issues, please contact Eric J. Ma at http://www.shortwhale.com/ericmjl . Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341272/](https://www.meetup.com/bostonpython/events/238341272/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md new file mode 100644 index 0000000..726b786 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md @@ -0,0 +1,27 @@ +--- +title: PyCon Rehearsal 3 - Deep Learning, and Bayesian Analysis +sidebar_link: false +--- + +May 09, 2017 + + +    + +Rehearsals for two PyCon speakers, sponsored and hosted by Amazon. + +A gentle introduction to deep learning with TensorFlow +Michelle Fullwood + +Deep learning's explosion of spectacular results over the past few years may make it appear esoteric and daunting, but in reality, if you are familiar with traditional machine learning, you're more than ready to start exploring deep learning. This talk aims to gently bridge the divide by demonstrating how deep learning operates on core machine learning concepts and getting attendees started coding deep neural networks using Google's TensorFlow library. + +Bayesian Statistical Analysis with Python + +Eric J. Ma + +You've got some data, and now you want to analyze it with Python. You're on your way to greatness! Now the problem comes: do I do the t-test? Chi-squared test? How do I decide? In this talk, I will show you how you can take common statistical decision problems, formulate them as a Bayesian analysis problem, and use PyMC3 as your workhorse tool for gaining insights. This talk will be math-light and code-heavy, and if you download the slides, you'll have a simple template for more complex Bayesian analysis down the road! + + +Meetup link: [https://www.meetup.com/bostonpython/events/238250191/](https://www.meetup.com/bostonpython/events/238250191/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md new file mode 100644 index 0000000..daa5bcb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md @@ -0,0 +1,44 @@ +--- +title: PyCon Rehearsal 4 - Testing, Instagram and Library UX +sidebar_link: false +--- + +May 11, 2017 + + +    + +PyCon rehearsals, sponsored by Kyruus (http://kyruus.com) + +Big picture software testing: unit testing, Lean Startup, and everything in-between + +Itamar Turner-Trauring + +There are many ways you can test your software: unit testing, manual testing, end-to-end testing, and so forth. Take a step back and you'll discover even more form of testing, many of them very different in their goals: A/B testing, say, where you see which of two versions of your website results in more signups or ad clicks. + +How do these forms of testing differ, how do they relate to each other? How do you choose which kind of testing to pursue, given limited time and resources? How do you deal with strongly held yet opposite views arguing either that a particular kind of testing is essential or that it's a waste time? + +This talk will provide you with a model, a way to organize all forms of testing and understand what exactly they provide, and why. Once you understand the model you will be able to choose the right form of testing for your situation and goals. + +Instagram Filters in 15 Lines of Python + +Michele Pratusevich + +Images tell stories, and we love Instagram filters because they give emotion to our images. Do you want to explore what makes up Instagram filters? In this talk, we will talk about the basic elements of Instagram filters and implement them in Python. The staple libraries we will use are scikit-image and numpy - matplotlib and jupyter notebooks for plotting and interactivity. In the end, we will implement the (now-defunct) Gotham Instagram filter in 15 lines of Python (not including imports). Throughout the process, there will be many pretty pictures. + +Library UX: Using abstraction towards friendlier APIs + +Mali Akmanalp + +Complicated libraries can be a pain in the butt to use. It's not surprising that there are a lot of "X for humans" libraries out there, some of which are mostly wrappers around more frustrating interfaces. + +This is not a theoretical talk. I'll touch upon theory to give you context, but will then talk about what that means for you in practice so that you can write better libraries. I'll talk about why library UX matters, about abstraction as a general concept, about out what happens when you over/under abstract, and about some useful tips to help build friendly APIs. Meanwhile, I'll show some positive examples from libraries we know and love (flask, SQLAlchemy, Requests, etc). Once you recognize these effects in play, you'll be able to apply them to your own code and make life better for everyone! + +Tonight we're hosted by iZotope (https://www.izotope.com), at 60 Hampshire Street. + +Our pizza sponsor is Kyruus (http://kyruus.com). Kyruus takes a "Moneyball" approach to matching patients to the right healthcare providers through its search, scheduling, and data management platform. We work with over 85,000 providers across 400+ hospitals nationwide to reduce appointment wait times for patients, improve referral quality for providers, and optimize capacity utilization for hospital systems. + + +Meetup link: [https://www.meetup.com/bostonpython/events/239381088/](https://www.meetup.com/bostonpython/events/239381088/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md new file mode 100644 index 0000000..a5c497b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-applied-modern-cryptography-in-python.md @@ -0,0 +1,34 @@ +--- +title: Tutorial - Applied Modern Cryptography in Python +sidebar_link: false +--- + +May 13, 2017 + + +    + +Description + +Today we use cryptography in almost everywhere. From surfing the web over https, to working remotely over ssh. Although most developers don't need to implement cryptography primitives, the knowledge and understanding of these building block allows them to better deploy them in their application. In modern crypto we have all the building block to develop secure application. However, we see instances of insecure code everywhere. Most of these vulnerabilities are not because of theoretic shortcomings, but due to bad implementation or a flawed protocol design. Cryptography is a delicate art where nuances matter, and failure to comprehend the subtleties of these building blocks leads to critical vulnerabilities. To add insult to injury most of the resources available are either outdated or wrong, and inarguably, using bad crypto more dangerous than not using it. + +In this tutorial we look at the basic building blocks of modern cryptography. We will cover the encryption techniques, hashing mechanisms, and key devastation algorithms. Furthermore we review two of the most widely used protocol suites, SSL and PGP. We conclude by implementing a simplified version of Pretty Good Privacy (PGP), that is used for encryption of texts, e-mails, files, directories, and whole disk partitions. + +Instructor Bio + +Amirali is a Computer Science PhD student at Northeastern University, and holds a Bachelors in Computer Science from St Andrews University. His research is mostly on cyber security and privacy, and its coverage has appeared on venues such as MIT Technology Review and ACM Tech News, Ars Technica, Threatpost, Vice Motherboard, etc. He has thought and assisted with the Network Security course at Northeastern for more than 4 years. + +Pre-Tutorial Instructions + +Please follow instructions on the GitHub repository (https://github.com/amiralis/pycon2017_crypto_tutorial). + +Pre-requisite knowledge includes: basic knowledge of Python programming language, and basic math (xor, power exponentiation, logarithm). Based on audience capabilities, there may be basic math review. + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341376/](https://www.meetup.com/bostonpython/events/238341376/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-best-testing-practices-for-data-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-best-testing-practices-for-data-science.md new file mode 100644 index 0000000..aca442c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170513-tutorial-best-testing-practices-for-data-science.md @@ -0,0 +1,30 @@ +--- +title: Tutorial - Best Testing Practices for Data Science +sidebar_link: false +--- + +May 13, 2017 + + +    + +Description + +So you're a data scientist wrangling with data that's continually avalanching in, and there's always errors cropping up! NaNs, strings where there are supposed to be integers, and more. Moreover, your team is writing code that is getting reused, but that code is failing in mysterious places. How do you solve this? Testing is the answer! In this tutorial, you will gain practical hands-on experience writing tests in a data science setting so that you can continually ensure the integrity of your code and data. You will learn how to use py.test, coverage.py, and hypothesis to write better tests for your code. + +Instructor Bio + +Eric Ma is a 6th year PhD Candidate in the Runstadler Lab in the Biological Engineering department at MIT. I study the influenza virus, which is like a self-replicating deck of 8 poker cards. I am using Python to solve infectious disease data science problems. + +Pre-Tutorial Instructions + +Please follow instructions on the GitHub repository: https://github.com/ericmjl/data-testing-tutorial + +Other Notes + +Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238341350/](https://www.meetup.com/bostonpython/events/238341350/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170605-boston-python-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170605-boston-python-june-project-night.md new file mode 100644 index 0000000..7f9dfb6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170605-boston-python-june-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 05, 2017 + + +    + +An evening of friendly face-time, sponsored by IBM Resilient. (http://resilientsystems.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by IBM Resilient! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/238674831/](https://www.meetup.com/bostonpython/events/238674831/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170622-june-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170622-june-presentation-night.md new file mode 100644 index 0000000..b1b370b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170622-june-presentation-night.md @@ -0,0 +1,26 @@ +--- +title: June Presentation Night +sidebar_link: false +--- + +June 22, 2017 + + +    + +Akamai is hosting and providing pizza tonight. + +Tonight, four short talks (more detailed abstracts coming soon!) + +Ethan Ebinger: Using Google Maps API to validate one-way streets in a road network. + +Kathryn Glowinski: Decorators + +Carolyn Ranti: Grift + +Milos Milijkovic: Shazam-like song identification in less than 50 lines of Python code. + + +Meetup link: [https://www.meetup.com/bostonpython/events/238674822/](https://www.meetup.com/bostonpython/events/238674822/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170712-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170712-july-project-night.md new file mode 100644 index 0000000..06a6954 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170712-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 12, 2017 + + +    + +An evening of collegial cooperation, sponsored by O'Reilly (https://www.oreilly.com/) and their JupyterCon (https://conferences.oreilly.com/jupyter/jup-ny) conference. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Pizza will be provided by O'Reilly! You can't be friendly, helpful, and productive if you're hungry... + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446952/](https://www.meetup.com/bostonpython/events/240446952/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170718-july-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170718-july-presentation-night.md new file mode 100644 index 0000000..ce174bc --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170718-july-presentation-night.md @@ -0,0 +1,30 @@ +--- +title: July Presentation Night +sidebar_link: false +--- + +July 18, 2017 + + +    + +Some scientific talks, sponsored by Kyruus (http://kyruus.com). + +Narendra Mukherjee: Open Source Electrophysiology + +I am a neuroscience PhD student at Brandeis, studying taste processing in rats. I implant electrodes in the 'taste area' of the brain, and record from them while the animal is tasting stuff. We believe in the idea of open-source electrophysiology and have developed a Python- and Linux-based hardware and software suite at a fraction of the cost of most commercial solutions. + +Joseph Wachutka: Raspberry Pi support for Neuroscience + +An overview of our experiences at Brandeis with several hacker boards (esp Arduino, Micro python, and the Pi) and how the Pi suits our purposes the best. + +Joseph Farah: CORAL - A real-time sentry for the world's oceans + +CORAL keeps track of worldwide percentages of coral bleaching in real time using data from the NOAA and compares it to fluctuations in temperature, pH, etc. It is very dynamic and supports input from any of the NOAA's realtime public data. It also has a front-facing GUI for users to generate graphs and the like to use in scientific publications. + +Our pizza sponsor is Kyruus (http://kyruus.com/). Kyruus takes a "Moneyball" approach to matching patients to the right healthcare providers through its search, scheduling, and data management platform. We work with over 85,000 providers across 400+ hospitals nationwide to reduce appointment wait times for patients, improve referral quality for providers, and optimize capacity utilization for hospital systems. + + +Meetup link: [https://www.meetup.com/bostonpython/events/240494084/](https://www.meetup.com/bostonpython/events/240494084/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170808-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170808-august-project-night.md new file mode 100644 index 0000000..049e3f0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170808-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 08, 2017 + + +    + +Pizza is provided courtesy of DataRobot. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. There is no fixed or provided projects: you work on what you want to work on. Anything goes! + +DataRobot offers an enterprise machine learning platform that empowers users to make better predictions faster. Incorporating a library of hundreds of open source machine learning algorithms, the DataRobot platform automates, trains and evaluates predictive models in parallel, delivering more accurate predictions at scale. For more, visit www.datarobot.com (http://www.datarobot.com/) + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446976/](https://www.meetup.com/bostonpython/events/240446976/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170824-virtualenv-items-and-attributes.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170824-virtualenv-items-and-attributes.md new file mode 100644 index 0000000..a14ba91 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170824-virtualenv-items-and-attributes.md @@ -0,0 +1,24 @@ +--- +title: Virtualenv, Items, and Attributes +sidebar_link: false +--- + +August 24, 2017 + + +    + +Two foundational talks, sponsored by Twilio. + +Brian Rutledge, Virtualenv + +Virtualenv is a must-use tool for creating isolated Python environments. Find out what they are, why they are good, and how to use them. + +Benjamin Zagorsky, Items vs Attributes + +We'll dig in to the underpinnings of dot references vs square bracket references (thing.attr vs thing["item"]). What are they, and what are the philosophical differences? How do you use each? How do special methods __getattr__ and __getitem__ work? This will give you all the background you need. + + +Meetup link: [https://www.meetup.com/bostonpython/events/240446981/](https://www.meetup.com/bostonpython/events/240446981/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170907-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170907-september-project-night.md new file mode 100644 index 0000000..014f1ce --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170907-september-project-night.md @@ -0,0 +1,20 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 07, 2017 + + +    + +Pizza will be provided by Pluralsight! You can't be friendly, helpful, and productive if you're hungry... + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/240992886/](https://www.meetup.com/bostonpython/events/240992886/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170919-what-i-did-on-my-summer-vacation.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170919-what-i-did-on-my-summer-vacation.md new file mode 100644 index 0000000..1d2bde7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20170919-what-i-did-on-my-summer-vacation.md @@ -0,0 +1,22 @@ +--- +title: What I Did on my Summer Vacation +sidebar_link: false +--- + +September 19, 2017 + + +    + +Sponsored by FineTune (https://www.finetunelearning.com/). + +Ned Batchelder, What I Did on my Summer Vacation + +This summer I started a new side project. I encountered some of the same issues as in any project. This talk is a rambling exploration of some of them. I'll explain Python facilities as I go, and get into thornier engineering questions: what is big-O notation, and how does it affect code speed? What's up with Python's special methods? How to choose data representations? How to deal with other people's code? How to manage uncertainty? And most importantly: how to overcome your own fears and doubts. + +This talk covers a lot of ground, but should be good for beginners and up. + + +Meetup link: [https://www.meetup.com/bostonpython/events/241561681/](https://www.meetup.com/bostonpython/events/241561681/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171010-boston-python-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171010-boston-python-october-project-night.md new file mode 100644 index 0000000..72935bd --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171010-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 10, 2017 + + +    + +Pizza sponsored by Winter Wyman. EdX is hosting us at their office. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + +Winter Wyman Search is one of the largest and most recognized search firms in New England. Our Software Technology Group is focused on recruiting local Software Engineering professionals in the pursuit of full-time positions. Our client base is comprised of innovative and fast-growing startups, established software companies, and large, publicly-traded software firms. Our deep connections (over 40 consecutive years) help us to make career matches that endure. + + +Meetup link: [https://www.meetup.com/bostonpython/events/242907820/](https://www.meetup.com/bostonpython/events/242907820/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md new file mode 100644 index 0000000..12c7153 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md @@ -0,0 +1,32 @@ +--- +title: Pycon.ca rehearsals - Functions, Descriptors, and Teaching Teens +sidebar_link: false +--- + +October 26, 2017 + + +    + +Sponsored by Department of Biomedical Informatics at Harvard Medical School (http://dcic.4dnucleome.org/) + +InsightSquared will sponsor drinks afterward. + +Pycon.ca (https://2017.pycon.ca/) is the Canadian regional PyCon. It's in Montréal, Nov 18-21. We have three Boston people speaking there. They will rehearse their talks with us. + +Jack Diederich, HOWTO write a function + +Writing a function that the compiler will accept is much easier than writing a function that will get through code review on the first pass. I've written and reviewed lots of functions and the same advice comes up again and again. 1) Your function should have three parts: input, transform, and output. You should do them in order and not intermingle the three. 2) Keep the function readable by giving your reader context and keeping the amount of implied context low. 3) You can mostly ignore cargo cult practices like one-entry-one-exit and strict function length limits. We'll talk about why those cults exist and how to defend against them in a code review. + +Jesse Shapiro, Descriptors, magic methods, and inheritance: oh my! + +It's very simple to write straightforward imperative code with Python. You can easily define classes and functions, and write behavior inside them. However, pure imperative design means that you'll likely end up writing the same patterns of code over and over - whether it's requests.get() or LOGGER = getLogger(__name__). By taking advantage of some of the more advanced features of the Python language, like descriptors, overridden magic methods, and creative uses of inheritance, we can make our code smaller and more expressive. Proper abstractions will also make it easier to test your code thoroughly and effectively - because you're not reimplementing behavior unnecessarily, you can properly test the one place you do implement it, and rely on it from then on. And, it becomes much easier to add features later on that rely on existing behavior - you just need to describe them in terms of the things you've already implemented. + +Robyn Allen, Teaching Python to teens + +How does one design a workshop accessible to beginners yet also challenging to seasoned Python programmers? This talk will summarize two pieces of curriculum which have proven successful in engaging teenagers in an extracurricular setting. Unlike traditional computer science lecture material, these problems ask the learner to spend the majority of their time designing an original solution (in pseudocode or outline form). The goal of this talk is to empower attendees to offer similar workshops (for teens) regardless of prior programming experience. As the world faces not only a shortage of software engineers but also a shortage of available engineer-teachers, new curriculum which enables non-programmers to teach programming is urgently needed. Whether or not you have teaching experience (or Python experience), come to this talk and help further the conversation about Python literacy! + + +Meetup link: [https://www.meetup.com/bostonpython/events/242251013/](https://www.meetup.com/bostonpython/events/242251013/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171120-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171120-boston-python-project-night.md new file mode 100644 index 0000000..97c339a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171120-boston-python-project-night.md @@ -0,0 +1,20 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +November 20, 2017 + + +    + +Sponsored by Pluralsight. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/243359419/](https://www.meetup.com/bostonpython/events/243359419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171218-boston-python-december-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171218-boston-python-december-presentation-night.md new file mode 100644 index 0000000..004bb1e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20171218-boston-python-december-presentation-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python December Presentation Night +sidebar_link: false +--- + +December 18, 2017 + + +    + +Two short talks and plenty of mingling for our December event. Sponsored by Twitter (https://careers.twitter.com/en/locations/boston.html). + +Douglas Landgraf: Controlling a Surveillance Camera with Python + +An overview of our project to control an Amcrest camera from Linux. Starting with the vendor SDK, we had some challenges like options not correctly documented, how to write a code for reuse, integration, reverse engineering, and so on. In the end, we extended the library to a shell CLI, a text user interface, and interfacing to Home Assistant, an open-source Python 3 home automation platform. + +Gretchen Green: DragonPaint – Bootstrapping Small Data to Color Cartoons + +The creation of sufficient quantities of labeled training data is one of the biggest challenges for machine learning applications, especially when the data itself must be created, not just labeled. DragonPaint presents a generalizable strategy for minimizing the manual creation of data using rule based algorithms to automate the creation of a restricted subset of data and then bootstrapping to the automated creation of unrestricted (rule breaking) training and test data. A gentle introduction to computer vision, graphics and machine learning, we use Python and geometry to build an image data set so we can use TensorFlow to train a model. + + +Meetup link: [https://www.meetup.com/bostonpython/events/244941784/](https://www.meetup.com/bostonpython/events/244941784/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180108-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180108-boston-python-project-night.md new file mode 100644 index 0000000..ab8ed0e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180108-boston-python-project-night.md @@ -0,0 +1,20 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +January 08, 2018 + + +    + +Would you like to sponsor this night? Get in touch! + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/246254219/](https://www.meetup.com/bostonpython/events/246254219/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180124-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180124-lightning-talks.md new file mode 100644 index 0000000..0d3a0aa --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180124-lightning-talks.md @@ -0,0 +1,24 @@ +--- +title: Lightning Talks! +sidebar_link: false +--- + +January 24, 2018 + + +    + +A bunch of quick lightning talks, sponsored by and hosted at Amazon. + +Greg Merritt: Imports: modules, packages, common issues and how to solve them. +Pam McA'Nulty: Using Travis CI and tox to get broad environment coverage for your package. +Emmett Moore: Pitfalls when using constants. +Pooja Sharma: Using Plotly to create analytic visualizations. +Mark Sobkowicz: “Square based games” using Python and Pygame to teach kids about algorithms. +Jonathan Eunice: The unbridled joy of f-strings. +John Hess: How pickles can bite. + + +Meetup link: [https://www.meetup.com/bostonpython/events/243947827/](https://www.meetup.com/bostonpython/events/243947827/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180207-february-project-night-at-cargurus.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180207-february-project-night-at-cargurus.md new file mode 100644 index 0000000..34d292c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180207-february-project-night-at-cargurus.md @@ -0,0 +1,20 @@ +--- +title: February Project Night at CarGurus +sidebar_link: false +--- + +February 07, 2018 + + +    + +Sponsored by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/247062870/](https://www.meetup.com/bostonpython/events/247062870/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180221-boston-python-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180221-boston-python-presentation-night.md new file mode 100644 index 0000000..e5b947b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180221-boston-python-presentation-night.md @@ -0,0 +1,28 @@ +--- +title: Boston Python Presentation Night +sidebar_link: false +--- + +February 21, 2018 + + +    + +DataDog will provide pizza. The Cambridge Innovation Center is providing space tonight. + +We have three talks of varying lengths: + +Stephanie Marker, Predicting the price of Ether with an LSTM RNN + +Using long short-term memory recurrent neural networks models (from Keras) I attempt to predict the price of the Ether cryptocurrency. The talk will be a high level overview of how to work with time series data, including data preprocessing, formatting the data as a time series, normalization, feature selection, model parameter selection, fitting a model, evaluating a model's performance, and forecasting. + +Michael McMahon, Using Python and Sphinx to Develop a Role Playing Game + +Michael Dezube, Options for parallel processing in Python + +Have a lot of computing to do? Maybe you can use all those CPU cores in your laptop! Or maybe not. We'll demonstrate a number of options for how to do more work on one computer from Python. Covered will be threads, multiprocessing, Cython, Numpy, and Numba. + + +Meetup link: [https://www.meetup.com/bostonpython/events/245476652/](https://www.meetup.com/bostonpython/events/245476652/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180305-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180305-boston-python-project-night.md new file mode 100644 index 0000000..dc4b34d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180305-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +March 05, 2018 + + +    + +Sponsored by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: it all happens at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/247958109/](https://www.meetup.com/bostonpython/events/247958109/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180320-tox-travis-setup-py-and-lightning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180320-tox-travis-setup-py-and-lightning.md new file mode 100644 index 0000000..cb32662 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180320-tox-travis-setup-py-and-lightning.md @@ -0,0 +1,27 @@ +--- +title: Tox+Travis+setup.py; and Lightning +sidebar_link: false +--- + +March 20, 2018 + + +    + +Sponsored by FormLabs. + +One long talk, and some lightning. + +Jason Held: Tox, Travis, setup.py, etc + +You've written your awesome Python code. How to package it up, make it available to people, and know that it's working well? Beyond just writing the code, there are support services like continuous integration (Travis), test environments (Tox), installation (setup.py), and so on. Jason will walk us through the details of these important but often put-off details. + +Two lightning talks: + +Becca Perry: Seam Carving +Jonathan Biddle: What Gets Measured Gets Done + + +Meetup link: [https://www.meetup.com/bostonpython/events/247060237/](https://www.meetup.com/bostonpython/events/247060237/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180410-april-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180410-april-project-night.md new file mode 100644 index 0000000..ac94277 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180410-april-project-night.md @@ -0,0 +1,22 @@ +--- +title: April Project Night +sidebar_link: false +--- + +April 10, 2018 + + +    + +Hosted by iZotope (https://www.izotope.com), with pizza sponsored by EnergySage (https://www.energysage.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Anything goes! + + +Meetup link: [https://www.meetup.com/bostonpython/events/249156341/](https://www.meetup.com/bostonpython/events/249156341/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md new file mode 100644 index 0000000..9f6d61f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180425-pycon-rehearsals-gerrymandering-and-big-o.md @@ -0,0 +1,30 @@ +--- +title: PyCon Rehearsals - Gerrymandering, and Big-O +sidebar_link: false +--- + +April 25, 2018 + + +    + +Hosting and pizza provided by VMware (https://www.vmware.com/). + +Two rehearsals tonight for talks going to PyCon US. + +** Fighting Gerrymandering with PyMC3: Colin Carroll & Karin C. Knudson + +At the end of 2017, there were seven states with ongoing redistricting litigation. We will discuss a statistical model that the United States Supreme Court declared to be appropriate in cases of racial gerrymandering, and show how it can be implemented and used with the library PyMC3. We will also discuss what the model tells us about racial gerrymandering in North Carolina. + +** Big-O: How Code Slows as Data Grows: Ned Batchelder + +Big-O is a computer science technique for analyzing how code performs as data gets larger. It's a very handy tool for the working programmer, but it's often shrouded in off-putting mathematics. + +In this talk, I'll teach you what you need to know about Big-O, and how to use it to keep your programs running well. Big-O helps you choose the data structures and algorithms that will let your code work efficiently even on large data sets. + +You can understand Big-O even if you aren't a theoretical computer science math nerd. Big-O isn't as mystical as it appears. It's wrapped in mathematical trappings, but doesn't have to be more than a common-sense assessment of how your code will behave. + + +Meetup link: [https://www.meetup.com/bostonpython/events/247552529/](https://www.meetup.com/bostonpython/events/247552529/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180503-pycon-rehearsals-functions-and-dragons.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180503-pycon-rehearsals-functions-and-dragons.md new file mode 100644 index 0000000..933dea8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180503-pycon-rehearsals-functions-and-dragons.md @@ -0,0 +1,24 @@ +--- +title: PyCon Rehearsals - Functions and Dragons +sidebar_link: false +--- + +May 03, 2018 + + +    + +Two PyCon talk rehearsals! Hosting and pizza provided by Amazon (http://www.amazon.jobs/). + +HOWTO Write a Function, Jack Diederich + +A function is a small chunk of code that does useful work. Your job when writing a function is to do it in a way that it easy to read. Based on over 15 years of code reviews here are some tips and guidelines I give again and again. + +DragonPaint – Bootstrapping Small Data to Color Cartoons, Gretchen Greene + +The creation of sufficient quantities of labeled training data is one of the biggest challenges for machine learning applications, especially when the data itself must be created, not just labeled. DragonPaint presents a generalizable strategy for minimizing the manual creation of data using rule based algorithms to automate the creation of a restricted subset of data and then bootstrapping to the automated creation of unrestricted (rule breaking) training and test data. A gentle introduction to computer vision, graphics and machine learning, we use Python and geometry to build an image data set for a TensorFlow model. + + +Meetup link: [https://www.meetup.com/bostonpython/events/248670445/](https://www.meetup.com/bostonpython/events/248670445/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md new file mode 100644 index 0000000..b9e521b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180506-workshop-foundations-of-numerical-computing-in-python.md @@ -0,0 +1,46 @@ +--- +title: Workshop - Foundations of Numerical Computing in Python +sidebar_link: false +--- + +May 06, 2018 + + +    + +This is a rehearsal for a PyCon tutorial. Please read the description carefully to decide whether it is right for you. Space is limited, so please only RSVP if you expect to attend. No food will be provided. + +Audience: + +This tutorial is intended for programmers with intermediate Python skills who want to improve their ability to use Python for numerical computing. + +Example participants might include: + +- Software engineers who work with Python but have had limited exposure to Python's numerical computing stack. +- Data scientists who have used numpy and pandas and want to develop a deeper understanding of how those libraries work. + +By the end of this tutorial, students will learn the following skills: + +- Students will learn to apply techniques like vectorization, broadcasting, and fancy indexing to write fast, clear, and idiomatic numpy code. +- Students will develop a mental model of how numpy arrays represent data. +- Students will be able to recognize common pathological uses of numpy (e.g., looping over the elements of an array to calculate a sum) and will be able to replace these pathological uses with efficient alternatives. + +Requirements: + +Participants are strongly encouraged, but not required, to bring a laptop with wifi and a modern browser. The structure of the tutorial will be alternating 20-30 minute sessions of lectures and exercises, with the exercises hosted on a Jupyter Notebook server so no other software should be necessary for participants. + +Description: + +Foundations of Numerical Computing in Python +Scott Sanderson + +Python is one of the world's most popular programming languages for numerical computing. In areas of application like physical simulation, signal processing, predictive analytics, and more, engineers and data scientists increasingly use Python as their primary tool for working with large-scale numerical data. + +Despite this diversity of application domains, almost all numerical programming in Python builds upon a small foundation of libraries. In particular, the numpy.ndarray is the core data structure for the entire PyData ecosystem, and the numpy library provides many of the foundational algorithms used to power more domain-specific libraries. + +The goal of this tutorial is to provide an introduction to numpy -- how it works, how it's used, and what problems it aims to solve. In particular, we will focus on building up students' mental model of how numpy works and how idiomatic usage of numpy allows us to implement algorithms much more efficiently than is possible in pure Python. + + +Meetup link: [https://www.meetup.com/bostonpython/events/250354908/](https://www.meetup.com/bostonpython/events/250354908/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180611-boston-python-june-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180611-boston-python-june-project-night.md new file mode 100644 index 0000000..9929dc6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180611-boston-python-june-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python June Project Night +sidebar_link: false +--- + +June 11, 2018 + + +    + +Hosting and pizza provided by DataDog (https://www.datadoghq.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/249163210/](https://www.meetup.com/bostonpython/events/249163210/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180619-physical-computing.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180619-physical-computing.md new file mode 100644 index 0000000..87d31f3 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180619-physical-computing.md @@ -0,0 +1,22 @@ +--- +title: Physical Computing +sidebar_link: false +--- + +June 19, 2018 + + +    + +Pizza sponsored by Pluralsight (https://www.pluralsight.com), drinks after sponsored by Soroco (http://soroco.com). + +Two speakers on physical computing: tiny hardware running Python, controlling things like lights and motors, and reading data from things like buttons, temperature sensors, and accelerometers. + +Dan Halbert and Travis Bumgarner will discuss microprocessor and microcontroller boards like the Raspberry Pi and Adafruit Gemma. What can they do, how can you use them, how do they run Python? You can get involved, you can build things, and you can contribute! + +We'll be headed to Meadhall after the event for drinks sponsored by Soroco. + + +Meetup link: [https://www.meetup.com/bostonpython/events/249585234/](https://www.meetup.com/bostonpython/events/249585234/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180710-july-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180710-july-project-night.md new file mode 100644 index 0000000..3a3e3e0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180710-july-project-night.md @@ -0,0 +1,22 @@ +--- +title: July Project Night +sidebar_link: false +--- + +July 10, 2018 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/250689889/](https://www.meetup.com/bostonpython/events/250689889/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180730-itertools-and-encrypted-bytecode.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180730-itertools-and-encrypted-bytecode.md new file mode 100644 index 0000000..f148e2e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180730-itertools-and-encrypted-bytecode.md @@ -0,0 +1,26 @@ +--- +title: Itertools and Encrypted bytecode +sidebar_link: false +--- + +July 30, 2018 + + +    + +Pizza sponsored by DataRobot (https://www.datarobot.com). + +Two talks tonight! + +Eugene Kovalev, Itertools + +Itertools is one of the treasure boxes of the Python standard library. It has tools for working with iteration of all kinds. We'll look at some of them, and at some interesting uses of them. + +Wolfgang Richter, Encrypted Bytecode + +This talk will explain how we modified the `import` statement of the Python language to import encrypted Python bytecode. We will explain the behind-the-scenes import machinery of Python, how we hooked into it, and how we typically distribute keys. You'll be able to experiment with our technique during the talk, and at home by using our recently open sourced library. + + +Meetup link: [https://www.meetup.com/bostonpython/events/251093715/](https://www.meetup.com/bostonpython/events/251093715/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180801-august-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180801-august-project-night.md new file mode 100644 index 0000000..a533076 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180801-august-project-night.md @@ -0,0 +1,22 @@ +--- +title: August Project Night +sidebar_link: false +--- + +August 01, 2018 + + +    + +Pizza sponsored by Pluralsight (https://www.pluralsight.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251093643/](https://www.meetup.com/bostonpython/events/251093643/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180821-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180821-lightning-talks.md new file mode 100644 index 0000000..71e7260 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180821-lightning-talks.md @@ -0,0 +1,32 @@ +--- +title: Lightning Talks! +sidebar_link: false +--- + +August 21, 2018 + + +    + +Pizza sponsored by PathAI (https://www.pathai.com). + +Tonight, a buffet of all Lightning Talks! 5-10 minutes each, on a mixture of topics: + +Sean Harrington: Getting into a Pickle with Multiprocessing + +Itamar Turner-Trauring: Eliot, the causal logging library + +Eric A Moore: A quick look at a pandas DataFrame + +Ethan Strominger: Refactoring and Static Code Analysis with PyCharm + +Andromeda Yelton: What if you did very bad things with integers? + +Patrick Crouse: Estimating Pi + +(plus maybe one or two more...) + + +Meetup link: [https://www.meetup.com/bostonpython/events/251044290/](https://www.meetup.com/bostonpython/events/251044290/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180911-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180911-september-project-night.md new file mode 100644 index 0000000..1dc6f49 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180911-september-project-night.md @@ -0,0 +1,22 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 11, 2018 + + +    + +Pizza sponsored by Twilio (https://www.twilio.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251882400/](https://www.meetup.com/bostonpython/events/251882400/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180926-cffi-and-neural-networks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180926-cffi-and-neural-networks.md new file mode 100644 index 0000000..e7c9370 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20180926-cffi-and-neural-networks.md @@ -0,0 +1,26 @@ +--- +title: CFFI and Neural Networks +sidebar_link: false +--- + +September 26, 2018 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com), drinks after sponsored by Luminoso (https://luminoso.com). + +Two talks tonight: + +Kostya Nazarenko, The magic of CFFI +A gentle applied introduction to the latest, and some would argue hottest, addition to the family of foreign function invocation libraries. If you need to call an existing C library from your Python application and not sure where to start - this talk might help you to make a decision! + +Jared Stufft: Intro to Neural Networks with Keras +In this talk we'll introduce the idea of the Neural Network: what they are, why they're used, and how they work. We'll wrap up with a demonstration and code example using Keras, a neural network API designed for humans. + +We'll head to Meadhall afterwards for drinks! + + +Meetup link: [https://www.meetup.com/bostonpython/events/251882456/](https://www.meetup.com/bostonpython/events/251882456/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181011-boston-python-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181011-boston-python-october-project-night.md new file mode 100644 index 0000000..070c0ce --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181011-boston-python-october-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python October Project Night +sidebar_link: false +--- + +October 11, 2018 + + +    + +Hosting and pizza provided by DataDog (https://www.datadoghq.com/). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/253590690/](https://www.meetup.com/bostonpython/events/253590690/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181023-molecules-and-reproducible-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181023-molecules-and-reproducible-science.md new file mode 100644 index 0000000..1067b92 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181023-molecules-and-reproducible-science.md @@ -0,0 +1,24 @@ +--- +title: Molecules, and Reproducible Science +sidebar_link: false +--- + +October 23, 2018 + + +    + +Two science-themed talks, sponsored by Wayfair: https://www.wayfaircareers.com + +Carlos Faerman, Python Meets Chemistry + +In this talk, I will explain the use of Molecular Fingerprints to describe the properties of small molecules. I'll share a Python script to compare molecules; search for similar molecules in large databases; and describe how this approach applies to drug discovery. + +Graham Voysey, Writing Python for Reproducable Research + +Python is the lingua franca of scientific computing, machine learning, and data science. Regardless of language, research code and scientific computing have special demands placed on the developer that are probably not well understood by other developers at large. At our peril, we write code, generate results, change our code, and then struggle to re-associate which version of our code generated what result. This leads to great annoyance, wasted time, and potentially serious consequences like retractions or production failures. In this talk, I will briefly discuss some reasons why these problems arise. Then, I will offer some practical steps that I use to minimize these problems that form the basis of some best practices for development in these areas. These steps help me consistently generate code that is easy to reason about and produces output that provides permanent provenance, while also making your code easy to share and disseminate. I will provide real examples taken from production code from both academic and industry settings. Finally, I will demo One More Thing: my personal turnkey solution to resolve most of the issues I raise, and seek community input on it. + + +Meetup link: [https://www.meetup.com/bostonpython/events/253168754/](https://www.meetup.com/bostonpython/events/253168754/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181107-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181107-boston-python-project-night.md new file mode 100644 index 0000000..a34f0cb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181107-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +November 07, 2018 + + +    + +Sponsored by Pluralsight: https://pluralsight.com + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests, and work away. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/254163813/](https://www.meetup.com/bostonpython/events/254163813/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181127-november-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181127-november-presentation-night.md new file mode 100644 index 0000000..dc8333f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181127-november-presentation-night.md @@ -0,0 +1,28 @@ +--- +title: November Presentation Night +sidebar_link: false +--- + +November 27, 2018 + + +    + +Hosted at Formlabs (https://formlabs.com), who are also sponsoring pizza. + +Sarah Bennedsen, Sensors + +Prototyping sensing system behaviors and algorithms, and interfacing with sensing and measurement devices using Python. + +Emin Martinian, Statistical Profiling + +Profiling is measuring how often and how long various parts of your program are executed. Profiling is useful to understand what makes your program slow and how you can improve it. After a quick review of deterministic profiling tools and techniques, I will describe how you can do statistical profiling with existing packages or write your own from scratch. + +Statistical profilers occasionally sample what your program is doing instead of watching each line or function. By using a moderate sampling frequency, you can profile your production code with almost no overhead. This lets you find the actual bottlenecks in real use cases. + +The core technical focus of the talk is Python's sys module and how it lets you easily examine a running program. I also describe some tricks to be aware of related to threading, context switches, locks, and so on. At the conclusion of the talk, you will hopefully understand how to use an existing statistical profiler or write a customized version yourself. + + +Meetup link: [https://www.meetup.com/bostonpython/events/255411882/](https://www.meetup.com/bostonpython/events/255411882/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181204-december-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181204-december-project-night.md new file mode 100644 index 0000000..e199b9b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181204-december-project-night.md @@ -0,0 +1,22 @@ +--- +title: December Project Night +sidebar_link: false +--- + +December 04, 2018 + + +    + +Pizza sponsored by Catalant (https://gocatalant.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/254835693/](https://www.meetup.com/bostonpython/events/254835693/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181218-december-presentation-night-advent-of-code.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181218-december-presentation-night-advent-of-code.md new file mode 100644 index 0000000..cea2272 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20181218-december-presentation-night-advent-of-code.md @@ -0,0 +1,20 @@ +--- +title: December Presentation Night - Advent of Code +sidebar_link: false +--- + +December 18, 2018 + + +    + +Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like: http://adventofcode.com. This is its fourth year. Give it a try, the puzzles have a fun Santa theme, and are clever challenges. + +Ned Batchelder will walk through a particular day's puzzle (12/14/2016) with an eye toward explaining the Python features that you can use for your own projects. If you have a puzzle that you especially liked, get in touch! + +We'll also have some giveaways. Join us for a relaxed end-of-year gathering! + + +Meetup link: [https://www.meetup.com/bostonpython/events/255799020/](https://www.meetup.com/bostonpython/events/255799020/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190109-january-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190109-january-project-night.md new file mode 100644 index 0000000..3c40b4a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190109-january-project-night.md @@ -0,0 +1,22 @@ +--- +title: January Project Night +sidebar_link: false +--- + +January 09, 2019 + + +    + +Food and space provided by Catalant (https://gocatalant.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/256488930/](https://www.meetup.com/bostonpython/events/256488930/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190123-boston-python-january-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190123-boston-python-january-presentation-night.md new file mode 100644 index 0000000..89c7e8d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190123-boston-python-january-presentation-night.md @@ -0,0 +1,25 @@ +--- +title: Boston Python January Presentation Night +sidebar_link: false +--- + +January 23, 2019 + + +    + +A handful of talks, sponsored by DataRobot (https://www.datarobot.com/)! + +Yuan Cao, Accumulator Generator in Python +I explore functional programming solutions in Python to Paul Graham's challenge: "Write a function foo that takes a number n and returns a function that takes a number i, and returns n incremented by i." + +Paul Ganssle, Recurrence rules in dateutil +Expressing recurring events is complicated - "the third Monday in January", "15 past the hour between 9 and 5", "the end of the month", but RFC 5545 is here to provide you with a standard way to do so! This talk will cover a few of the ways you can express recurring events using RFC 5545 and specifically dateutil's rrule module. + +Zags Zagorsky, Passing by Reference in Python: Avoiding Bizarre Bugs +About once a year, I stare at a piece of Python code doing something that makes absolutely no sense; the code runs fine, but the output is totally wrong. Every time, this is a passing by reference bug. In this talk, we'll go through what passing by reference is (all the way down to it's underpinnings in C), how to use it well, and common pitfalls to avoid in Python. + + +Meetup link: [https://www.meetup.com/bostonpython/events/257321071/](https://www.meetup.com/bostonpython/events/257321071/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190204-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190204-boston-python-project-night.md new file mode 100644 index 0000000..79f469a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190204-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +February 04, 2019 + + +    + +Pizza sponsored by Quantopian (https://www.quantopian.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/257882588/](https://www.meetup.com/bostonpython/events/257882588/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190221-february-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190221-february-presentation-night.md new file mode 100644 index 0000000..fb573c9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190221-february-presentation-night.md @@ -0,0 +1,24 @@ +--- +title: February Presentation Night +sidebar_link: false +--- + +February 21, 2019 + + +    + +Presentation Night hosted and sponsored by Rue Gilt Groupe + +John Nelson, WiFi Passive Radar +WiFi passive radar uses passive sensing of WiFi signals reflected from objects or persons in the immediate vicinity to learn about the immediate environment. We will describe how we built such a radar using Python-based technology. Python provides many packages to allow sensor based calculations to be put together quickly and efficiently. We used numpy, scipy, and scikit-learn to develop algorithms using supervised learning. The talk will provide a flavor of what can be done using Python in this exciting area of IoT development. + +Matt Fowler, Using C/C++ Extensions in Python +Runtime performance of machine learning algorithms in Python can pose certain challenges. In this talk we'll examine a numerical algorithm that has performance issues and see how we can utilize C++ extensions in Python to improve our algorithm's performance. + +Rue Gilt Groupe is the premier off-price e-commerce portfolio company, connecting more than 30 million members with coveted designers at an exceptional value. Two complementary brands, Rue La La and Gilt, utilize world-class merchandising, technology and marketing to strategically support our brand partners and inspire members daily. Our approach to retail brings excitement to online shopping and the best-in-class experience that today's customers demand. + + +Meetup link: [https://www.meetup.com/bostonpython/events/257225246/](https://www.meetup.com/bostonpython/events/257225246/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190305-boston-python-march-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190305-boston-python-march-project-night.md new file mode 100644 index 0000000..d20cd61 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190305-boston-python-march-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python March Project Night +sidebar_link: false +--- + +March 05, 2019 + + +    + +Pizza sponsored by BitSight (https://www.bitsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzle, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258130518/](https://www.meetup.com/bostonpython/events/258130518/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190319-beginner-python-class-build-a-guessing-game.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190319-beginner-python-class-build-a-guessing-game.md new file mode 100644 index 0000000..4daf161 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190319-beginner-python-class-build-a-guessing-game.md @@ -0,0 +1,30 @@ +--- +title: Beginner Python Class - Build a Guessing Game +sidebar_link: false +--- + +March 19, 2019 + + +    + +Coding Temple is giving an Introduction to Python class tonight. This class is aimed at absolute beginners. Regular attendees: please don't take a space if you don't need to learn these skills, thanks! + +In this workshop, you will learn about the basics of Python programming. Connor Milliken teaches Python and Data Science at Coding Temple in Boston. He designed this class for beginners who have little to no experience in programming but are interested in getting started with Python in a short span of one free evening class. + +In order to accommodate complete beginners, we will start at Hello World, then learn what data types, variables, inputs, lists, and loops are and how to create them. Then you will take everything you learned in this class and build a simple guessing game at the end. + +Seating will be theatre-style, so make sure you bring a laptop that you are comfortable with using on your lap. + +You must have the following installed in order to begin coding at this event. Please install before the evening begins: + +• Python 3.5.x (or higher) https://www.python.org/downloads/ (Python 2.7.x will not be sufficient) + +• PyCharm (https://www.jetbrains.com/pycharm/download/) + +We'll gather at 6:30 for pizza and mingling, and then get started in earnest at 7:00. We look forward to seeing you there! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258503975/](https://www.meetup.com/bostonpython/events/258503975/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190403-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190403-boston-python-project-night.md new file mode 100644 index 0000000..3b04362 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190403-boston-python-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +April 03, 2019 + + +    + +Pizza sponsored by DataDog (http://datadoghq.com) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/258566035/](https://www.meetup.com/bostonpython/events/258566035/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md new file mode 100644 index 0000000..3b40ed7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md @@ -0,0 +1,26 @@ +--- +title: PyCon Rehearsal Night 1 - Generalized Bayesian Testing +sidebar_link: false +--- + +April 23, 2019 + + +    + +PyCon Rehersal Night 1, hosted and sponsored by Amazon + +Tonight we have one rehearsal for a PyCon-bound speaker: + +Eric Ma: Beyond Two Groups: Generalized Bayesian A/B[/C/D/E...] Testing + +Bayesian A/B testing has gained much popularity over the years. It seems, however, that the examples stop at two groups. This begs the questions: should we not be able to do more than simple two-group, case/control comparisons? Is there a special procedure that's necessary, or is there a natural extension of commonly-used Bayesian methods? + +In this talk, I will use life-like, simulated examples, inspired from work and from meeting others at conferences, to show how to generalize A/B testing beyond the rigid assumptions commonly highlighted. Specifically, I will show two examples, one involving Bayesian estimation on click data on a website, and another on 4-parameter dose-response curves. + +There will be plenty of code from the modern PyData stack, involving the use of PyMC3, pandas, holoviews, and more. + + +Meetup link: [https://www.meetup.com/bostonpython/events/259868134/](https://www.meetup.com/bostonpython/events/259868134/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md new file mode 100644 index 0000000..464a45d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md @@ -0,0 +1,30 @@ +--- +title: PyCon Rehearsals 2 - Multiprocessing and Profiling +sidebar_link: false +--- + +April 24, 2019 + + +    + +Pizza and drinks sponsored by True Tickets (https://true-tickets.com/), hosted by iZotope + +Tonight we have two PyCon talk rehearsals! + +Pamela McANulty: Things I Wish They Told Me About The Multiprocessing Module in Python 3 + +If you haven't tried multiprocessing or you are trying to move beyond multiprocessing.map(), you will likely find that using Python's multiprocessing module can get quite intricate and convoluted. This talk focuses on a few techniques (starting, shutting down, data flow, blocking, etc) that will maximize multiprocessing’s efficiency, while also helping you through the complex issues related to coordinating startup and especially shutdown of your multiprocess app. + +Emin Martinian: Statistical Profiling (and other fun with the sys module) + +Profiling involves computing a set of data about how often and how long various parts of your program are executed. Profiling is useful to understand what makes your program slow and how you can improve it. After a quick review of deterministic profiling tools and techniques, I will describe how you can do statistical profiling with existing packages or write your own from scratch. + +Statistical profiling involves occasionally sampling what your program is doing instead of watching each line or function. A key feature of statistical profiling is that by using a moderate sampling frequency, you can profile your production code with almost no overhead. This lets you find the actual bottlenecks in real use cases. + +The core technical focus of the talk is python's sys module and how it lets you easily examine a running program. I also describe some tricks to be aware of related to threading, context switches, locks, and so on. At the conclusion of the talk, you will hopefully understand how to use an existing statistical profiler or write a customized version yourself. + + +Meetup link: [https://www.meetup.com/bostonpython/events/258331662/](https://www.meetup.com/bostonpython/events/258331662/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190520-boston-python-may-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190520-boston-python-may-project-night.md new file mode 100644 index 0000000..e06407c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190520-boston-python-may-project-night.md @@ -0,0 +1,22 @@ +--- +title: Boston Python May Project Night +sidebar_link: false +--- + +May 20, 2019 + + +    + +Sponsored and hosted by CarGurus. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + + +Meetup link: [https://www.meetup.com/bostonpython/events/259193188/](https://www.meetup.com/bostonpython/events/259193188/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190626-making-things-with-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190626-making-things-with-python.md new file mode 100644 index 0000000..6b67484 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190626-making-things-with-python.md @@ -0,0 +1,26 @@ +--- +title: Making things with Python +sidebar_link: false +--- + +June 26, 2019 + + +    + +Hosted by PTC (https://ptc.com/), pizza sponsored by Formlabs (https://formlabs.com/) + +Two speakers, in PTC's amazing showcase of CAD and 3D printing technologies. + +Kostya Nazarenko: Teaching old CAD new tricks with Python + +The experience of integrating Python interpreter into Creo, a thirty-years-old CAD application: why, what, how. + +Bathsheba Grossman: A Rhino, a Python and a Grasshopper Walk Into a Bar (3D Design with Python in Rhinoceros) + +This talk is about what happened when a sculptor decided to stop modeling and start generating. Rhinoceros® is a 3D CAD program with lots of scripting options, including Python and a node programming language called Grasshopper. Bathsheba will talk about some ways to build and manipulate 3D objects with these, and show some art she's been working on. See Bathsheba's work at http://bathsheba.com + + +Meetup link: [https://www.meetup.com/bostonpython/events/261438920/](https://www.meetup.com/bostonpython/events/261438920/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190709-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190709-boston-python-project-night.md new file mode 100644 index 0000000..095e1d0 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190709-boston-python-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +July 09, 2019 + + +    + +Sponsored by edX (https://edx.org/careers) and hosted by iZotope (https://izotope.com). + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/261050158/](https://www.meetup.com/bostonpython/events/261050158/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190723-presentation-night-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190723-presentation-night-science.md new file mode 100644 index 0000000..eec6c7f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190723-presentation-night-science.md @@ -0,0 +1,29 @@ +--- +title: Presentation Night - Science! +sidebar_link: false +--- + +July 23, 2019 + + +    + +Two science talks, sponsored by Indico. + +Jessica Smith: "Designing gene libraries using Python and integer programming" + +DNA synthesis is the "write" of molecular biology, complementing +advances in high-throughput DNA sequencing over the last decade. In +this talk, I describe how to generate diverse libraries of DNA +synthesis products against biologically-relevant constraints using +python and integer programming. + +Nezar Abdennur: "Exploring data at scale: Using HiGlass to browse, compare and share large quantitative datasets" + +Features and patterns in large quantitative datasets are difficult to explore, compare, and communicate. We present the HiGlass web viewer and Python library for interactive and collaborative visual exploration and comparison of multiple multiscale datasets. Using a tile-based API, we demonstrate how data can be dynamically rendered on the client irrespective of its size on the server. For comparison between datasets we demonstrate multiple selectable modes for synchronized panning, zooming and value scaling. Finally, to share interactive views into the data, we store and disseminate the resumable viewer state as a "configuration" of data location, aesthetics and synchronizations. We will demonstrate the use of HiGlass on real data, including massive genomic datasets. +More information can be found on the HiGlass demo page (http://higlass.io), in the documentation (http://docs.higlass.io), or in the list of examples (http://higlass.io/examples). More information of the cooler file format for multiscale genomic sparse matrix data can be found at (https://mirnylab.github.io/cooler/). + + +Meetup link: [https://www.meetup.com/bostonpython/events/259899650/](https://www.meetup.com/bostonpython/events/259899650/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190805-boston-python-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190805-boston-python-project-night.md new file mode 100644 index 0000000..0283ef9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190805-boston-python-project-night.md @@ -0,0 +1,24 @@ +--- +title: Boston Python Project Night +sidebar_link: false +--- + +August 05, 2019 + + +    + +Project night, hosted and sponsored by DataDog. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/260823740/](https://www.meetup.com/bostonpython/events/260823740/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190822-presentation-night-web-scraping.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190822-presentation-night-web-scraping.md new file mode 100644 index 0000000..66c5139 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190822-presentation-night-web-scraping.md @@ -0,0 +1,20 @@ +--- +title: Presentation Night - Web Scraping +sidebar_link: false +--- + +August 22, 2019 + + +    + +Hosted by Wayfair, with pizza sponsored by Indigo (https://www.indigoag.com/) + +Tonight, a deep dive into Web Scraping. Edward Stronge and Isaac Vidas will present a two-part talk about getting data from a web site by reading and parsing the HTML. This is a very popular technique, but there are pitfalls along the way. Starting from the basics, they will get you up to speed on the power of web scraping. + +Directions to Wayfair: https://www.dropbox.com/s/wcxq4nz115xh182/DirectionstoCopley.pdf + + +Meetup link: [https://www.meetup.com/bostonpython/events/260460458/](https://www.meetup.com/bostonpython/events/260460458/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190910-september-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190910-september-project-night.md new file mode 100644 index 0000000..e862eff --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190910-september-project-night.md @@ -0,0 +1,24 @@ +--- +title: September Project Night +sidebar_link: false +--- + +September 10, 2019 + + +    + +Project night, hosted by iZotope (https://www.izotope.com/), pizza sponsored by Pluralsight (https://www.pluralsight.com/) + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/262475747/](https://www.meetup.com/bostonpython/events/262475747/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190924-presentation-night-graphql.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190924-presentation-night-graphql.md new file mode 100644 index 0000000..027377d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20190924-presentation-night-graphql.md @@ -0,0 +1,26 @@ +--- +title: Presentation night - GraphQL +sidebar_link: false +--- + +September 24, 2019 + + +    + +GraphQL.py { query(in: 3){ parts } } + +Hosted, sponsored, and presented by Chewy. + +GraphQL is a new style of API for the web. + +Milos Veljkovic (Senior Engineer, Chewy) will begin our query from the outside in by covering the client consumption of graphQL. A bit of history, a bit of romance, a bit of rivalry and an overview of what's the big deal and why there is no REST for the wicked. The focus will be on the empowerment of the client only needing to ask for what they want - and only getting what they ask for. + +Now, what do you do with it? Jason Walsh (Senior Engineer, Chewy) continues our fable with the ongoing cycle of software from the server's perspective. State, async, fetching, oh my! As well as some basic implementations, he'll also cover things like tracing, logging, validation and the ongoing maintenance cycle of api. + +Jessamyn Hodge (Engineer, Chewy / Maintainer GraphQL-python) wraps things up with a cavort through the innards of GraphQL.py as well as a look ahead to the roadmap for the next major release. She'll cover the nitty-gritty bits like interfaces, unions using another strongly typed specification - geoJSON. + + +Meetup link: [https://www.meetup.com/bostonpython/events/262475756/](https://www.meetup.com/bostonpython/events/262475756/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191003-october-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191003-october-project-night.md new file mode 100644 index 0000000..266c809 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191003-october-project-night.md @@ -0,0 +1,26 @@ +--- +title: October Project Night +sidebar_link: false +--- + +October 03, 2019 + + +    + +Project night, hosted and sponsored by DataRobot. + +Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night. + +You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, just people working on whatever they want to work on. That's it! + +All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it! + +Here are some Python resources to get you started: https://about.bostonpython.com/python_resources + +Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack + + +Meetup link: [https://www.meetup.com/bostonpython/events/264958802/](https://www.meetup.com/bostonpython/events/264958802/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191023-october-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191023-october-lightning-talks.md new file mode 100644 index 0000000..7bb03ae --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191023-october-lightning-talks.md @@ -0,0 +1,17 @@ +--- +title: October - Lightning Talks +sidebar_link: false +--- + +October 23, 2019 + + + +



+ +

Pizza sponsored by Rocket Insights (https://rocketinsights.com/)

Tonight are a handful of lightning talks: quick 10-minute presentations on a variety of subjects:

* Joanna Lowry-Duda: How long will it take? (Progress Bars)
* Mark Brown: Face Detection using Open CV
* Nadia Dixon: Self-Study Python Classes for Archivists
* Jacob Miller: Using FitBit Data to Track Health
* Allison King: Writing a Git Hook in Python
* Joe Jevnik: When is Lunar New Year?

Doors open at 6:00 so you can explore PTC's exhibition space.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/263971510/](https://www.meetup.com/bostonpython/events/263971510/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191105-november-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191105-november-project-night.md new file mode 100644 index 0000000..ce6fd0b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191105-november-project-night.md @@ -0,0 +1,17 @@ +--- +title: November Project Night +sidebar_link: false +--- + +November 05, 2019 + + + +



+ +

Project night, hosted and sponsored by Pluralsight.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table-topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265509862/](https://www.meetup.com/bostonpython/events/265509862/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191119-four-data-themed-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191119-four-data-themed-talks.md new file mode 100644 index 0000000..bd6d315 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191119-four-data-themed-talks.md @@ -0,0 +1,17 @@ +--- +title: Four data-themed talks +sidebar_link: false +--- + +November 19, 2019 + + + +



+ +

Four short data-themed talks, sponsored by Ginkgo Bioworks (https://www.ginkgobioworks.com/), and hosted at DataRobot.

** Andrew Schonfeld, "D-Tale"
A new open source GUI tool for viewing pandas data structures, built with Python and React. https://github.com/man-group/dtale

** Zack Halloran, "Serving a PyTorch deep learning model on the web without a server"
How to set up a web accessible inference service using AWS Lambda and AWS API Gateway.

** Michael Punzalan, "Processing data outside DataFrames with custom types"
It's common to write data pipelines in SQL or objects with a pandas DataFrame-like interface. When it works it's great. But when table- or column-driven processing is an uncomfortable fit for the problem (i.e. iterating through records is a better fit), defining a type and endowing it with the methods you need (dunders and otherwise) can actually lead you to an implementation, make it easier to write correct and reusable code, and -- if you are inclined to write tests -- generate test cases useful for refactoring or reimplementation (in case you really want to have a SQL implementation, write a UDF, etc.).

** Abraham Polk, "Twitter sentiment analysis"
Using NLP and sentiment analysis to predict the sentiment of Twitter tweets based on the words in the tweets, using emojis to train the model. Demonstrates how even relatively simple models can have strong predictive power when combined with good machine learning libraries.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265373222/](https://www.meetup.com/bostonpython/events/265373222/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191203-project-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191203-project-collaboration-night.md new file mode 100644 index 0000000..f82f14e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191203-project-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project & Collaboration Night +sidebar_link: false +--- + +December 03, 2019 + + + +



+ +

Pizza sponsored by Lola.com.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265925587/](https://www.meetup.com/bostonpython/events/265925587/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191217-presentation-night-making-python-faster.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191217-presentation-night-making-python-faster.md new file mode 100644 index 0000000..dd972f6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20191217-presentation-night-making-python-faster.md @@ -0,0 +1,17 @@ +--- +title: Presentation Night - Making Python faster +sidebar_link: false +--- + +December 17, 2019 + + + +



+ +

Tonight, two talks about extending Python with other languages, for speed. Pizza sponsored by Quantopian (https://www.quantopian.com/).

Daniel Williams, Python Optimization Options

A higher level survey of optimization options available for Python. This talk will particularly focuses on C-Family interfaces to Python. Each option is compared by complexity, speed up, and general ease of implementation.

Austin Hacker, Extending Python with Rust

This talk will demonstrate how to build Python extensions using the PyO3 rust library. PyO3 makes building Python extensions easy, allowing developers to combine everything great about Python with the speed and efficiency of Rust. Rust code will be shown during this talk but no Rust experience is required. By the end of the talk, you too will be able to write your own Python extensions in Rust!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265925678/](https://www.meetup.com/bostonpython/events/265925678/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200107-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200107-project-and-collaboration-night.md new file mode 100644 index 0000000..3eea21d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200107-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project and Collaboration Night +sidebar_link: false +--- + +January 07, 2020 + + + +



+ +

Pizza sponsored by DataDog.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/python_resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/265373328/](https://www.meetup.com/bostonpython/events/265373328/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200128-devops-for-pythonistas.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200128-devops-for-pythonistas.md new file mode 100644 index 0000000..66f712a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200128-devops-for-pythonistas.md @@ -0,0 +1,17 @@ +--- +title: DevOps for Pythonistas +sidebar_link: false +--- + +January 28, 2020 + + + +



+ +

Sponsored by Red Hat.

Brian Rossa: DevOps and the opinionated programmer.
I'll cover classic arguments about Python tooling -- packaging, test runners, etc -- and how they impact dev time. Then I'll cover how automation (DevOps) is obviating those old arguments.

Zac Delagrange: DevOps Discipline for Python
Developers will learn about common tools and processes that they may encounter when working on a software project, with a focus on Python. An appreciation will be gained for the devops discipline and what it takes to deliver high quality code to your customers after the code has been written.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/266891391/](https://www.meetup.com/bostonpython/events/266891391/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200204-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200204-project-and-collaboration-night.md new file mode 100644 index 0000000..5458171 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200204-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Project and Collaboration Night +sidebar_link: false +--- + +February 04, 2020 + + + +



+ +

Sponsored by LiveRamp (https://liveramp.com/)

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

Doors open at 6, and we'll get started at 6:30

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/267302425/](https://www.meetup.com/bostonpython/events/267302425/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200226-presentation-getting-started-testing-with-pytest.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200226-presentation-getting-started-testing-with-pytest.md new file mode 100644 index 0000000..e6a194d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200226-presentation-getting-started-testing-with-pytest.md @@ -0,0 +1,17 @@ +--- +title: Presentation - Getting Started Testing with pytest +sidebar_link: false +--- + +February 26, 2020 + + + +



+ +

Presentation night sponsored by Kyruus, hosted by PTC.

Ned Batchelder, Getting Started Testing

Do you want to learn how to write automated tests in Python with pytest? We'll start from the very beginning! See how pytest works, and how to write tests. Once the basics are covered, we'll get into fixtures, parameterization, and coverage measurement. Then we'll do a few more advanced topics: including test doubles (mocks and fakes).

It's a lot to cover, but we'll take our time and work through it. You'll get everything you need to start writing your own tests.

The talk is available now if you want a preview: https://bit.ly/pytest3

Doors open at 5:30 for mingling, networking, and exploring the PTC tech space. The presentation starts at 6:30.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/266720542/](https://www.meetup.com/bostonpython/events/266720542/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200312-online-only-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200312-online-only-project-and-collaboration-night.md new file mode 100644 index 0000000..cb6ddab --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200312-online-only-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online-only Project and Collaboration Night +sidebar_link: false +--- + +March 12, 2020 + + + +



+ +

NOTE: this event is now ONLINE-ONLY. We are taking the current health concerns seriously and making this an online-only event.

Instead of our usual tables, we will be meeting in Slack channels: https://about.bostonpython.com/slack. Join us in Slack, and be online Thursday night with us. We will have people to help you find the right channel and collaborators.

If you have ideas about how to make an online project night better, come talk to us in the #organizing channel in Slack.

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

You don't need to have a project, and you don't have to show anything to anyone! This is an opportunity to work together with like-minded people. There's no presentation, there are no pre-set projects, just people working on whatever they want to work on. That's it!

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/267302459/](https://www.meetup.com/bostonpython/events/267302459/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200331-online-presentation-loop-like-a-native.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200331-online-presentation-loop-like-a-native.md new file mode 100644 index 0000000..160d05b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200331-online-presentation-loop-like-a-native.md @@ -0,0 +1,17 @@ +--- +title: Online presentation - Loop Like a Native +sidebar_link: false +--- + +March 31, 2020 + + + +



+ +

Hey all, I hope you are all doing well with social distancing. To try out online presentation nights, I'll do a repeat of a previous PyCon talk of mine: Loop Like a Native (https://nedbatchelder.com/text/iter.html)

We'll be able to have questions and discussion during the talk. This talk is aimed at beginners, but gets into some more advanced topics as it goes along.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/269736551/](https://www.meetup.com/bostonpython/events/269736551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200409-pycon-2020-rehearsal-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200409-pycon-2020-rehearsal-night.md new file mode 100644 index 0000000..0eaa5fb --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200409-pycon-2020-rehearsal-night.md @@ -0,0 +1,13 @@ +--- +title: Pycon 2020 Rehearsal Night +sidebar_link: false +--- + +April 09, 2020 + + + + +Meetup link: [https://www.meetup.com/bostonpython/events/269018913/](https://www.meetup.com/bostonpython/events/269018913/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200425-online-lightning-talks.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200425-online-lightning-talks.md new file mode 100644 index 0000000..e251462 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200425-online-lightning-talks.md @@ -0,0 +1,17 @@ +--- +title: Online Lightning Talks +sidebar_link: false +--- + +April 25, 2020 + + + +



+ +

Let's do some online lightning talks! Do you have a 5-10 minute topic you'd like to share? Sign up: https://docs.google.com/spreadsheets/d/1NAWtyb6by2PnoNGGxneI1OZSWLyg6q-I1wsMF_lijQ8/edit

If we don't have enough talks, that's OK, we'll do open-ended Q&A. You can add questions to the spreadsheet also: https://docs.google.com/spreadsheets/d/1NAWtyb6by2PnoNGGxneI1OZSWLyg6q-I1wsMF_lijQ8/edit

Maybe one of the questions will become someone's lightning talk...

Thanks to edX for sponsoring.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/270159169/](https://www.meetup.com/bostonpython/events/270159169/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md new file mode 100644 index 0000000..52fcf2e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md @@ -0,0 +1,17 @@ +--- +title: Presentation - Adventures in Python 3 Type Annotations for Data Science +sidebar_link: false +--- + +May 16, 2020 + + + +



+ +

Online presentations!

Brianna McHorse, Adventures in Python 3 Type Annotations for Data Science

Python's type flexibility is awesome, until it's not. With a large and complicated code base, it can be difficult to figure out what's going on (or when you've introduced a bug), especially in the context of data science, where the pandas dataframes sometimes go flying about every which way. This is a talk about the process of gently herding a data science team towards better practices, focusing on how type annotations and static type checking can improve your code, make it much easier to understand the code (especially for new contributors), and safeguard against expensive mistakes. We'll also cover the surprisingly painless process of getting a first round of type annotations up and enforcing type checks, even with no prior experience.

Lightning Talks

Brian Doucet: Great Expectations, a leading tool for validating, documenting, and profiling, your data.

Lee Bernick: special_k is a model serialization library designed to be extensible to arbitrary Python machine learning models. I will explain why model serialization and deserialization can be vulnerable to remote code execution and statistical safety/reproducibility issues, and how the library is designed to mitigate those concerns.

We'll record this and put it on our YouTube channel: https://www.youtube.com/user/bostonpython

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/270513576/](https://www.meetup.com/bostonpython/events/270513576/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md new file mode 100644 index 0000000..82e2dde --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md @@ -0,0 +1,17 @@ +--- +title: Simon Willison - Personal analytics with SQLite and Datasette +sidebar_link: false +--- + +July 22, 2020 + + + +



+ +

A special guest speaker online for July! Simon Willison is a long-time Python creator. His latest big project is Datasette (https://github.com/simonw/datasette/), a tool for exploring and publishing data.

Lightning talks: have you used Datasette, or done other data hacks? Want to do a lightning talk? Send me an email: ned@nedbatchelder.com

Dogsheep: Personal analytics with SQLite and Datasette

Big internet companies collect a bewildering array of data about us - and thanks to the European GDPR law they all have to provide an export button to let us get it back out again.

Converting these exports into SQLite databases lets us start exploring them with Datasette. I've been building a suite of open source tools, called Dogsheep, to gather my personal data from a variety of different sources and analyze them in one place.

I'll demonstrate my personal Dogsheep and show how it combines data from Twitter, GitHub, Facebook, Google, LinkedIn, Foursquare, Apple Health and more to provide a searchable archive of my digital lifestyle.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/271887195/](https://www.meetup.com/bostonpython/events/271887195/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200923-online-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200923-online-project-and-collaboration-night.md new file mode 100644 index 0000000..6be1342 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20200923-online-project-and-collaboration-night.md @@ -0,0 +1,19 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +September 23, 2020 + + + +

Needs a location

+ +



+ +

Online project night on https://congregate.live. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited! Note: the link will be provided soon. The event will say "invite-only" until 6 on Wednesday.

Link is https://social.congregate.live/bospyproj0920

Congregate.live lets us work together at themed tables. Come with a topic, and we will find people for you to collaborate with. There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on-hand help you find the right table and collaborators.

Here's a page about Congregate for attendees: https://www.notion.so/Attendees-049ea882a7a746f7842438adcb632323

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two tables of beginning learners, and helpers for them. Other table topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273367788/](https://www.meetup.com/bostonpython/events/273367788/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md new file mode 100644 index 0000000..8d15fff --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md @@ -0,0 +1,17 @@ +--- +title: Are you ready? - When and How to Land Your First Engineering Job +sidebar_link: false +--- + +October 07, 2020 + + + +



+ +

An online panel discussion in Zoom! Mingling starts at 6:30, panel discussion at 7:00.

These days, becoming an engineer doesn't require degrees and formal education. But there are lots of questions: what is it really like to work as an engineer? If you are self-taught, how do you know when you are ready for your first job? How do you get that first job? This panel discussion aims to answer those questions and more. We'll talk about what you're expected to know, what the interview process is like, what it's like to work on a Python team, and anything else you want to know about stepping into a job as a programmer.

If you're an aspiring junior engineer, or if you've been one, or if you've hired one, this discussion is for you. Bring your perspective, and join the conversation.

Panelist bios:

* M. Jackson Wilkinson is CTO of Project Beacon, facilitating COVID-19 testing across Massachusetts. In the Before Times, Jackson held senior roles at PathAI, Care.com, Kinsights, Posterous, and LinkedIn.

* Kaniah Dunn is a Software Engineer at Wayfair where she helps build integration applications to help onboard new suppliers. In her free time, you can find her coloring, crafting, and putting puzzles together with her joyful 3-year-old.

* Steve Favazza is a Senior Technical Talent Partner at edX. Prior to joining edX, Steve worked for WinterWyman, where he helped IT and software professionals find career opportunities across the Greater Boston and New York City areas.

* Jon Kiparsky (moderator) is an engineer at MassChallenge, where he helps make little companies into big ones, and a mentor at Resilient Coders, where he helps aspiring engineers become senior engineers.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273595000/](https://www.meetup.com/bostonpython/events/273595000/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201021-online-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201021-online-project-and-collaboration-night.md new file mode 100644 index 0000000..5bf9fef --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201021-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +October 21, 2020 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/273923649/](https://www.meetup.com/bostonpython/events/273923649/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201118-intro-tech-talks-with-women-who-code.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201118-intro-tech-talks-with-women-who-code.md new file mode 100644 index 0000000..3e4a3e2 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201118-intro-tech-talks-with-women-who-code.md @@ -0,0 +1,17 @@ +--- +title: Intro Tech Talks, with Women Who Code +sidebar_link: false +--- + +November 18, 2020 + + + +



+ +

This month, we are teaming up with Women Who Code to present three foundational tech talks. All are welcome.

The Zoom link will be added the day of the event, come back to join the event. (Here's the same event on the Women Who Code page: https://www.meetup.com/Women-Who-Code-Boston/events/274418229/)

----------------------------------------------------------

Javascript to Python
Lael Birch, software engineer at edX

This talk will show you how to think like a Python developer when you're coming from Javascript. You will learn about common errors people make when switching, as well as the basics of thinking in classes, using list and dict comprehensions, and basic Python debugging.

I Have a CSV file, What Can I Do With It?
Priyanka G
(abstract to come...)

Introduction to Data Visualizations with Python
Kathleen Nahabedian

Learn to harness Python's ability to create clear and eye-catching data visualizations for your next presentation or paper. We'll talk about some different options for creating plots in Python, as well as some common blunders to avoid. Code examples will be provided so that you can put these tools into practice in your own work.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/274561550/](https://www.meetup.com/bostonpython/events/274561550/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201202-online-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201202-online-project-and-collaboration-night.md new file mode 100644 index 0000000..0d3de04 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201202-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +December 02, 2020 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/274794652/](https://www.meetup.com/bostonpython/events/274794652/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201216-december-presentation-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201216-december-presentation-night.md new file mode 100644 index 0000000..92a6c9b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20201216-december-presentation-night.md @@ -0,0 +1,17 @@ +--- +title: December presentation night +sidebar_link: false +--- + +December 16, 2020 + + + +



+ +

Three presentations tonight:

------------------------------

Peter Mangione: Building a Virtual Rain Gauge

Abstract: How much rainfall has my yard received this week? This seems like a simple question, but often it is not. You might need this information because you are a gardener or want to know if you have to turn the sprinkler on tomorrow. Maybe you are just a curious weather nerd (like me).

Unless you have your own rain gauge, figuring out rainfall can take some work. Airports like Boston Logan and TF Green in Providence consistently record daily rainfall, but you might not live very close to the airport. That's why I wrote a short Python script which collects rainfall data from nearby rain gauges. You provide the address and the dates of interest, and the script does the rest of the work!

Python concepts that will be covered are lists, loops, and dictionaries. This will be a beginner level presentation, although some base knowledge of lists and dictionaries is helpful.

------------------------------

Ruth Caswell Smith: Intro to Pandas Dataframes using the Advent of Code

See how intuitive Pandas dataframes are to use. In this lightning talk we'll explore implementing the solution to a day from the Advent of Code using Pandas dataframes and their methods.

------------------------------

Heather Kusmierz: On Python and Positioning: An Introduction to Working with Geospatial Data in Python with GeoPandas

This presentation will introduce the basics of working with geospatial data including data models, common file formats, and just enough underlying theory to be dang.. er...know what to look out for. Then we'll run through a few code examples demonstrating some of the geospatial functionality using the Python package GeoPandas.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275089088/](https://www.meetup.com/bostonpython/events/275089088/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210105-online-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210105-online-project-and-collaboration-night.md new file mode 100644 index 0000000..9ab6c9b --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210105-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +January 05, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:00, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

If you want to help make the event run smoothly, send me an email (ned@bostonpython.com), or find us in the #organizing channel in Slack (https://about.bostonpython.com/slack).

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275434764/](https://www.meetup.com/bostonpython/events/275434764/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210119-drawing-with-python-drawbot.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210119-drawing-with-python-drawbot.md new file mode 100644 index 0000000..206dec5 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210119-drawing-with-python-drawbot.md @@ -0,0 +1,17 @@ +--- +title: Drawing with Python - DrawBot +sidebar_link: false +--- + +January 19, 2021 + + + +



+ +

Our speaker tonight is David Jonathan Ross, about DrawBot:

DrawBot is a free MacOS application and Python library that helps users create 2D vector graphics with code. As a teaching tool, it offers students an easy way to dive into the Python language and immediately see the results of their work (not to mention the ability to save those results in common formats such as PDF, SVG, PNG, and MP4). DrawBot also gives graphic designers and typographers like me the opportunity to set aside traditional design tools like Adobe InDesign and Illustrator and reconsider what design tools can be outside of the world of point-and-click. In this talk, I will share how I use the application to work out my design systems in code, automating repetitive tasks and generating hundreds of variations on a theme. I will compare DrawBot to other “creative coding” apps such as Processing, and will conclude with a demo of some of the basic features of the app, focusing on drawing and manipulating shapes, text, and images.

David Jonathan Ross draws letters of all shapes and sizes for custom and retail typeface designs. A native of Los Angeles, he currently lives in the woods of Western Massachusetts. He began drawing typefaces at Hampshire College and joined The Font Bureau in 2007 where he honed his bézier-wrangling skills. Now he publishes his typeface designs at his own type foundry, DJR (http://djr.com/), as well as working on projects with Type Network (http://typenetwork.com/), teaching typeface design at MassArt (http://massart.edu/), and developing unusual display faces for his Font of the Month Club (http://fontofthemonth.club/).

We'll open the Zoom at 6:30 for socializing, with David starting his presentation at 7 or so.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275680312/](https://www.meetup.com/bostonpython/events/275680312/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210202-online-project-and-collaboration-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210202-online-project-and-collaboration-night.md new file mode 100644 index 0000000..262b77c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210202-online-project-and-collaboration-night.md @@ -0,0 +1,17 @@ +--- +title: Online Project and Collaboration Night +sidebar_link: false +--- + +February 02, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1toZZBzyGGOtoXSd9J2-EiYNWm6EAefCf1a6xdJeMDlw/edit

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1toZZBzyGGOtoXSd9J2-EiYNWm6EAefCf1a6xdJeMDlw/edit

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/275993669/](https://www.meetup.com/bostonpython/events/275993669/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210217-approaches-to-debugging.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210217-approaches-to-debugging.md new file mode 100644 index 0000000..10f4603 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210217-approaches-to-debugging.md @@ -0,0 +1,17 @@ +--- +title: Approaches to Debugging +sidebar_link: false +--- + +February 17, 2021 + + + +



+ +

Tonight, an online presentation night about two approaches to debugging.

Emily Charles, Debugging without print()

This beginner-friendly talk is an introduction to pdb, the command line debugger built into Python. We'll cover the basics of interactive debugging, demonstrate some of the most common commands, and outline just a few advanced options for those who want to explore further. If you've never used a debugger before, or if you come from the world of graphical debuggers and want to explore command line options, then this is a talk for you!

Rick Landau, Debugging by Printing

Most programs need debugging, but some types of programs do not easily permit interactive debugging with the capabilities supplied by IDEs, Python pdb, and such. For complex or detached programs, the flow of process and data through a program can be followed using highly structured and flexible printing from the program. Such printing can be controlled from the outside without changes to the source code and, if the facility is reasonably efficient, can be a diagnostic tool even in production code. I'll present an overview of my library for non-interactive debug printing.

We'll open the Zoom at 6:15, and we'll get started at 6:30.

The event will be recorded.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276286083/](https://www.meetup.com/bostonpython/events/276286083/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210301-online-collaboration-and-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210301-online-collaboration-and-project-night.md new file mode 100644 index 0000000..a8c22b8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210301-online-collaboration-and-project-night.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night +sidebar_link: false +--- + +March 01, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1h-xFY1Dxe6s7mcjrQRBU3Q5qSyjLSIXvoy94a5XyTJE/edit

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1h-xFY1Dxe6s7mcjrQRBU3Q5qSyjLSIXvoy94a5XyTJE/edit

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276549798/](https://www.meetup.com/bostonpython/events/276549798/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210310-python-study-group-iterators-101.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210310-python-study-group-iterators-101.md new file mode 100644 index 0000000..17813d6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210310-python-study-group-iterators-101.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Iterators 101 +sidebar_link: false +--- + +March 10, 2021 + + + +



+ +

Boston Python is trying out a new type of meetup! This beginner-to-intermediate level study group is structured around the idea that teaching something is sometimes the best way to learn it.

Every session, we'll hear a presentation from a member of the group on a topic they've chosen to learn about. This is a low-key, casual presentation in whatever format makes sense for the topic. Afterwards we'll hold a mini Q&A/discussion period so everyone can get involved. We'll rotate presenters and topics to keep things fresh. If you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

For our very first session, we'll take a look at iterables and iterators, with a focus on the helpful built-in functions that Python provides to work with them. We'll also take a tiny peek at how they work under the hood. No prior knowledge is necessary - we'll build up any supporting concepts during the session.

Hope to see you there!

(Is there a topic you'd like to learn about? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276736224/](https://www.meetup.com/bostonpython/events/276736224/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210322-pytest-from-the-ground-up.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210322-pytest-from-the-ground-up.md new file mode 100644 index 0000000..4ba0c58 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210322-pytest-from-the-ground-up.md @@ -0,0 +1,17 @@ +--- +title: Pytest from the ground up +sidebar_link: false +--- + +March 22, 2021 + + + +



+ +

Tonight, an introduction to testing your code with pytest.

Ned Batchelder, Why write tests?

A short motivation for why writing tests is a good idea.

David Sturgis, Intro to Pytest

An introduction to PyTest with lots of simple, hackable examples. We'll start from nothing, add assertions, write some fixtures, do some parametrization, and mark tests. You'll see simple examples of the power that pytest can bring to your testing.

We'll be online starting at 6:15, and we'll get started at 6:30.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276935212/](https://www.meetup.com/bostonpython/events/276935212/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210324-python-study-group-iterators-101.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210324-python-study-group-iterators-101.md new file mode 100644 index 0000000..9581b40 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210324-python-study-group-iterators-101.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Iterators 101 +sidebar_link: false +--- + +March 24, 2021 + + + +



+ +

**Note** this session will be a rerun of the Iterators session from 3/11. If you attended that one, no need to come to this one!

This beginner-to-intermediate level study group is structured around the idea that teaching something is sometimes the best way to learn it. If you are new-ish to Python (~1 year or less of experience), this is a group for you.

For this rerun session, we'll take a look at iterables and iterators, with a focus on the helpful built-in functions that Python provides to work with them. We'll also take a tiny peek at how they work under the hood. No prior knowledge is necessary - we'll build up any supporting concepts during the session.

Every session, we'll hear a presentation from a member of the group on a topic they've chosen to learn about. This is a low-key, casual presentation in whatever format makes sense for the topic. Afterwards we'll hold a mini Q&A/discussion period so everyone can get involved. We'll rotate presenters and topics to keep things fresh. If you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

(Also....since the size of this meetup is limited, please only RSVP 'Yes' if you're pretty sure you can make it. Thanks!)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/276948551/](https://www.meetup.com/bostonpython/events/276948551/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210331-python-study-group-list-comprehensions.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210331-python-study-group-list-comprehensions.md new file mode 100644 index 0000000..bbeface --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210331-python-study-group-list-comprehensions.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - List Comprehensions +sidebar_link: false +--- + +March 31, 2021 + + + +



+ +

At this study group session, Melissa Cruz will tell us about list comprehensions! After her presentation, we'll open things up for a Q&A/discussion period so everyone can get involved. This session is beginner-focused and no experience is required.

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277012010/](https://www.meetup.com/bostonpython/events/277012010/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210407-online-collaboration-and-project-night.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210407-online-collaboration-and-project-night.md new file mode 100644 index 0000000..b4bbb59 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210407-online-collaboration-and-project-night.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night +sidebar_link: false +--- + +April 07, 2021 + + + +



+ +

Online project night using Zoom. The event will open at 6:15 for chit-chat, and we'll kick off officially at 6:30. Everyone is invited!

We'll have separate break-out rooms in Zoom for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the breakout rooms, say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

This time we'll have an introduction to pytest workshop by David Sturgis, and maybe also a mob programming activity.

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:15!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277289875/](https://www.meetup.com/bostonpython/events/277289875/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210414-python-study-group-dates-and-times-in-pandas.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210414-python-study-group-dates-and-times-in-pandas.md new file mode 100644 index 0000000..0484d1f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210414-python-study-group-dates-and-times-in-pandas.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Dates and Times in pandas +sidebar_link: false +--- + +April 14, 2021 + + + +



+ +

At this study group session, Mathilde B. will show us a project she's been working on that demonstrates how to use dates and times in pandas. After her presentation, we'll open things up for a Q&A/discussion period so everyone can get involved. This session is beginner-focused. While exposure to pandas will be helpful, it is not required!

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277323404/](https://www.meetup.com/bostonpython/events/277323404/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210427-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210427-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..d1304b8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210427-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +April 27, 2021 + + + +



+ +

Online project night using Gather this time! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/i/8E7xsMMl

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277716298/](https://www.meetup.com/bostonpython/events/277716298/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210428-python-study-group-yaml-and-json-in-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210428-python-study-group-yaml-and-json-in-python.md new file mode 100644 index 0000000..3fc4f2c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210428-python-study-group-yaml-and-json-in-python.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - YAML and JSON in Python +sidebar_link: false +--- + +April 28, 2021 + + + +



+ +

This week we'll talk about two common data formats, YAML and JSON, and how to work with them in Python. Mike C. will take us through what he's been learning about these, then we'll have a discussion section afterwards. If you're starting to work with data in Python, come join us!

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277620946/](https://www.meetup.com/bostonpython/events/277620946/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210512-python-study-group-the-python-package-index-pypi.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210512-python-study-group-the-python-package-index-pypi.md new file mode 100644 index 0000000..c90171c --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210512-python-study-group-the-python-package-index-pypi.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - The Python Package Index (PyPI) +sidebar_link: false +--- + +May 12, 2021 + + + +



+ +

This week we're going to hear about the Python Package Index from Anush K. PyPI is an integral part of the Python ecosystem, so if it's still mysterious to you, come join us! No experience is required - we'll build up the topic from the ground up.

This is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/277899182/](https://www.meetup.com/bostonpython/events/277899182/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210525-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210525-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..ff41df6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210525-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +May 25, 2021 + + + +



+ +

Online project night using Gather this time! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/i/t7P6XCi2

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/278297121/](https://www.meetup.com/bostonpython/events/278297121/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210602-python-study-group-lightning-round.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210602-python-study-group-lightning-round.md new file mode 100644 index 0000000..f7b234e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210602-python-study-group-lightning-round.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Lightning Round +sidebar_link: false +--- + +June 02, 2021 + + + +



+ +

We're trying something a little different this week. This time we're going to hear from a number of different presenters in a series of "lightning" talks. Rather than dive deep into one particular topic, we'll get a quick example of a bunch of topics - hopefully you'll walk away with one or two that will help you out! Topics have yet to be decided, but will be posted here as presenter slots are filled (see below!)

*** NOTE *** As of now, I am still looking for people to fill the presenter slots. The choice of topic is pretty wide open: pick a Python feature/library/concept/environment that makes your life easier, and come tell us about it. If this sounds interesting, please contact me via Meetup and let me know!
***

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/278270893/](https://www.meetup.com/bostonpython/events/278270893/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210720-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210720-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..ce52b69 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210720-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +July 20, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/invite?token=dJIHUVIQ

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it! https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/279455357/](https://www.meetup.com/bostonpython/events/279455357/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210728-python-study-group-linting-with-pylint.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210728-python-study-group-linting-with-pylint.md new file mode 100644 index 0000000..22e3ec6 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210728-python-study-group-linting-with-pylint.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Linting with pylint +sidebar_link: false +--- + +July 28, 2021 + + + +



+ +

This week we'll talk about linting (enforcing code style rules) with a specific focus on the pylint package. This is a beginner-friendly presentation, so even if you don't know what linting is, you are welcome to come! We'll take it from the ground up. Hope to see you there!

*** NOTE *** As of now, I am still looking for people to fill the presenter slots. The choice of topic is pretty wide open: pick a Python feature/library/concept/environment that makes your life easier, and come tell us about it. If this sounds interesting, please contact me via Meetup and let me know!
***

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/279431363/](https://www.meetup.com/bostonpython/events/279431363/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210921-python-study-group-intro-to-flask.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210921-python-study-group-intro-to-flask.md new file mode 100644 index 0000000..6c52178 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20210921-python-study-group-intro-to-flask.md @@ -0,0 +1,17 @@ +--- +title: Python Study Group - Intro to Flask +sidebar_link: false +--- + +September 21, 2021 + + + +



+ +

This week we'll talk about getting up and running with flask, courtesy of Mike Combs. This is a beginner-level intro to flask - no prior knowledge is required. Hope to see you there!

In a normal week, this is a beginner-to-intermediate level group that encourages learning by way of teaching. Each presenter chooses a topic that they're unfamiliar with, researches it, and then teaches the group what they've learned. We rotate presenters and topics to keep things fresh, so if you've been looking for the motivation to dive into that one mysterious Python feature that you've seen in the codebase, this might be the group for you!

Hope to see you there!

(Is there a topic you'd like to learn about (and then teach us)? Sign up here to present at a future session: https://docs.google.com/spreadsheets/d/1D1Y1hpRVUr-3Ai5Bn1LWbMMjPq7CsrIphvnkxplF2Og/edit?usp=sharing)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/280451164/](https://www.meetup.com/bostonpython/events/280451164/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211012-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211012-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..13451ec --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211012-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +October 12, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

Invite link: https://gather.town/invite?token=-vcoO62fMw4uPmlju-QPppOWWty_o-pX

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281038124/](https://www.meetup.com/bostonpython/events/281038124/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211027-session-0-boston-python-study-group-planning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211027-session-0-boston-python-study-group-planning.md new file mode 100644 index 0000000..7b47865 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211027-session-0-boston-python-study-group-planning.md @@ -0,0 +1,17 @@ +--- +title: Session 0 - Boston Python study group planning +sidebar_link: false +--- + +October 27, 2021 + + + +



+ +

This is a preparatory meeting to sketch out what the upcoming study group semester looks like. We are going to pursue data science as the high-level topic, but it's possible that we run two or more groups in parallel if there's enough interest and participation.

You should attend this if:
- you are interested in being a core member of the study group
- you want to have a voice in what topics are on the syllabus
- you want to know if this study group is right for you
- you are interested in branching off and running a parallel study group

Hopefully we'll come out of this with a core group identified, a list of topics for each of the sessions, and a schedule for the "semester".

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281569648/](https://www.meetup.com/bostonpython/events/281569648/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211111-solve-programming-puzzles-together.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211111-solve-programming-puzzles-together.md new file mode 100644 index 0000000..daccca8 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211111-solve-programming-puzzles-together.md @@ -0,0 +1,17 @@ +--- +title: Solve Programming Puzzles Together +sidebar_link: false +--- + +November 11, 2021 + + + +



+ +

December is coming, which means it's time to gear up for another month of programming puzzles from adventofcode.com! Get together with your friends from the Boston Python community to collaborate on solutions to problems chosen from the last six years of this annual coding challenge.

Programming puzzles are a great way to stretch your programming skills, to learn about the resources of a programming language, and to keep your programming chops limber. Some people enjoy the competitive aspects - getting on a leaderboard, earning bragging rights - and some people just enjoy the satisfaction of the "aha!" moment when a solution comes into focus. Whichever sort you are, you're welcome to join us for an evening of collaboration and conversation.

This event is open to python users of all levels. Attendees should register with adventofcode.com prior to the event, and ideally try to solve some of the problems.

Please note: This will not be a competitive coding event. We probably won't write complete solutions for any of the problems we talk about! Instead, we'll be talking about how we develop solutions for non-obvious problems, and about implementation challenges that might apply to these solutions (such as processing input, useful libraries, and engineering tips).

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281857824/](https://www.meetup.com/bostonpython/events/281857824/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211117-session-1-setting-up-your-python-environment.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211117-session-1-setting-up-your-python-environment.md new file mode 100644 index 0000000..efa3b6d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211117-session-1-setting-up-your-python-environment.md @@ -0,0 +1,17 @@ +--- +title: Session 1 - Setting up your Python environment +sidebar_link: false +--- + +November 17, 2021 + + + +



+ +

This is the first official meeting of our data science study group term! This session will be led by Matt C., who is going to give us his tips and tricks on setting up a dev environment for working with Python on data science.

As this session will have limited space, priority will be given to "core" group members who have committed to leading one of our sessions. We welcome others, space allowing!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/281965186/](https://www.meetup.com/bostonpython/events/281965186/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211118-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211118-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..3e8365f --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211118-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +November 18, 2021 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

The invite link will be visible here once you RSVP.

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282043032/](https://www.meetup.com/bostonpython/events/282043032/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211201-session-2-cleaning-up-data-sets.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211201-session-2-cleaning-up-data-sets.md new file mode 100644 index 0000000..1b244ce --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211201-session-2-cleaning-up-data-sets.md @@ -0,0 +1,17 @@ +--- +title: Session 2 - Cleaning Up Data Sets +sidebar_link: false +--- + +December 01, 2021 + + + +



+ +

This is the second official meeting of our data science study group! This session will be led by Mike C., who will share some strategies for cleaning up messy or incomplete data sets. We'll start with his presentation and then break out into smaller groups for discussion.

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282279119/](https://www.meetup.com/bostonpython/events/282279119/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211215-session-3-numpy-and-data-analysis.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211215-session-3-numpy-and-data-analysis.md new file mode 100644 index 0000000..92ebaba --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20211215-session-3-numpy-and-data-analysis.md @@ -0,0 +1,17 @@ +--- +title: Session 3 - Numpy and Data Analysis +sidebar_link: false +--- + +December 15, 2021 + + + +



+ +

This is the third official meeting of our data science study group! This session will be led by Glenn, who talk about numpy and some mathematical tools to extract information from your data sets.

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282562939/](https://www.meetup.com/bostonpython/events/282562939/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220105-session-3-overview-of-python-graphing-libraries.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220105-session-3-overview-of-python-graphing-libraries.md new file mode 100644 index 0000000..5766b99 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220105-session-3-overview-of-python-graphing-libraries.md @@ -0,0 +1,17 @@ +--- +title: Session 3 - Overview of Python Graphing Libraries +sidebar_link: false +--- + +January 05, 2022 + + + +



+ +

UPDATED 2022-01-02:
In a bit of a last-minute turn of events, we're not going to do a whole session on Seaborn this time. There will be a shorter-than-usual presentation comparing and contrasting some of the most popular Python graphing libraries, then we'll have a bit of a round table discussion so anyone who wants to can discuss their current interests or projects.

The Seaborn session will be rescheduled, and if you've already RSVP'd, you will receive an email about that shortly. Thanks for your understanding!

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/282918036/](https://www.meetup.com/bostonpython/events/282918036/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220113-aesthetic-python-neurons.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220113-aesthetic-python-neurons.md new file mode 100644 index 0000000..780e742 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220113-aesthetic-python-neurons.md @@ -0,0 +1,17 @@ +--- +title: Aesthetic Python - Neurons +sidebar_link: false +--- + +January 13, 2022 + + + +



+ +

Presenter: Alfred Essa

In this presentation we will study some Python code from both a computational and aesthetic lens. We will write code together for an artificial neuron, using simple functions and then building to a Neuron class. Our canvas will be the Numpy library. Neurons are computationally simple. A single neuron is a simple mathematical function. But it can yield complex models, such as multiple regression and logistic regression in machine learning. Artificial neurons are also the atoms of deep learning. The aim of the presentation is to demonstrate how simple computational patterns can yield complex representations.

Prerequisites: Basic Python

The presentation will be in the form of Jupyter Notebooks. I will prepare MyBinder so you can interact with the code during the presentation. The notebooks will also be on GitHub if you want to download them.

Link to materials: https://alfredessa.github.io/aes/intro.html

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283085024/](https://www.meetup.com/bostonpython/events/283085024/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220119-session-4-intro-to-seaborn.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220119-session-4-intro-to-seaborn.md new file mode 100644 index 0000000..b4f3cd4 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220119-session-4-intro-to-seaborn.md @@ -0,0 +1,17 @@ +--- +title: Session 4 - Intro to Seaborn +sidebar_link: false +--- + +January 19, 2022 + + + +



+ +

At this session, we'll have Jack D. back to tell us about Seaborn! Thanks to everyone for your patience as we rescheduled this event. A typical study group night has a 30-60 minute presentation, a question and answer session, and then some time for unstructured small-group discussion. Hope to see you there!

As this session will have limited space, please keep your RSVP status up to date. If you find that you won't be able to attend after all, please update your status on Meetup to "Not attending" so that someone on the waitlist will have a chance to join. Thanks!

More info available on the Boston Python slack workspace: https://about.bostonpython.com/slack

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283211419/](https://www.meetup.com/bostonpython/events/283211419/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220127-online-collaboration-and-project-night-in-gather.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220127-online-collaboration-and-project-night-in-gather.md new file mode 100644 index 0000000..97102c9 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220127-online-collaboration-and-project-night-in-gather.md @@ -0,0 +1,17 @@ +--- +title: Online Collaboration and Project Night in Gather +sidebar_link: false +--- + +January 27, 2022 + + + +



+ +

Online project night using Gather! The event will open at 6:30 for chit-chat, and we'll kick off officially at 6:40. Everyone is invited!

The invite link will be visible here prior to the event start time.

Gather lets us have a space similar to a physical room with tables. We'll have tables for specific topics: Starting Out, Data Science, Machine Learning, Testing, Web, Hardware, and so on. Let us know what topic you want!

We have a Google Doc for you to see the topics and say a little about what you'd like to do: https://docs.google.com/document/d/1_bBbP5tWXI9RJHwWxvZ2WNGcQOsZ8hMygJziaeBJzkM

There are no pre-determined projects, no presentations. You do not have to show anything if you don't want to. This is an open-ended opportunity to work together with like-minded people.

Hosts will be on hand help you find the right room and collaborators.

Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible interests. Code, hack, teach, learn, meet, laugh, talk: anything goes at Project Night.

All skill levels are welcome. There will be at least two rooms of beginning learners, and helpers for them. Other topics in the past have been Django, Data, Web Scraping, Hardware, Puzzles, Science, Testing, Art. Maybe you have another idea? Bring it!

Here are some Python resources to get you started: https://about.bostonpython.com/resources

Feel free to discuss ideas beforehand on our Slack: https://about.bostonpython.com/slack

We'll all be online starting at 6:30!

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283199193/](https://www.meetup.com/bostonpython/events/283199193/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220209-session-6-python-case-studies.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220209-session-6-python-case-studies.md new file mode 100644 index 0000000..09851f7 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220209-session-6-python-case-studies.md @@ -0,0 +1,15 @@ +--- +title: Session 6 - Python Case Studies +sidebar_link: false +--- + +February 09, 2022 + +



+ +

If you are having trouble getting in, try refreshing the page and clicking on the new Zoom link. If that doesn't, work, please message us in the #study-group channel in Slack (www.about.bostonpython.com/slack)

For this ad-hoc session, we're discussing fun or unique uses of Python in the wild: Wordle solvers, portmanteau generators, chess engines, and the like.

Sample case studies will be provided, but feel free to bring your own! Sit down with like-minded people and discuss the problem at hand, pick apart the solution, or think about how you would build your own.

No experience is required, but enthusiasm is appreciated :)

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283679795/](https://www.meetup.com/bostonpython/events/283679795/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220216-exploring-data-with-python.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220216-exploring-data-with-python.md new file mode 100644 index 0000000..6b90c63 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/20220216-exploring-data-with-python.md @@ -0,0 +1,15 @@ +--- +title: Exploring Data with Python +sidebar_link: false +--- + +February 16, 2022 + +



+ +

Exploring Data with Python - Glenn Lehman

In this presentation, we'll review some mathematical foundations needed to perform detailed data analysis, applied in Python. If you know basic Python, you can join us as we explore data, learn how to use statistical analysis to make predictions, and understand the initial steps of exploring a data set to see what might be lurking there. What makes a data set a valid sample instead of meaningless noise? How can we interpret visualizations to determine the quality of data samples?

Mathematical Topics Covered:

- Population
- Sample
- Categorical and Quatitative Data (Probability Distribution)
- Basic visualizations (Bar Plot, Histograms, Stem and Leaf displays)
- Cross Tabulation - Mean, Median, Mode
- Group Frequency
- Standard Deviation
- Percentiles, Quartiles, Quintiles, Deciles
- Plotting (elementary box plot)
- IQR (interquartile range) - Box Plots (traditional/modified)

Python libraries introduced:

- numpy
- pandas
- matplotlib

Working code will be provided in a Jupyter notebook. This presentation will be recorded.

+ + +Meetup link: [https://www.meetup.com/bostonpython/events/283752347/](https://www.meetup.com/bostonpython/events/283752347/) + +[Back to Past Events Page](index.md) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/index.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/index.md new file mode 100644 index 0000000..2fc36b1 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/past-events/index.md @@ -0,0 +1,354 @@ +--- +title: Past Events +sidebar_link: false +--- + +List of past events: + +- 2022 + - [Exploring Data with Python](20220216-exploring-data-with-python.md) (02/16/2022) + - [Session 6 - Python Case Studies](20220209-session-6-python-case-studies.md) (02/09/2022) + - [Online Collaboration and Project Night in Gather](20220127-online-collaboration-and-project-night-in-gather.md) (01/27/2022) + - [Session 4 - Intro to Seaborn](20220119-session-4-intro-to-seaborn.md) (01/19/2022) + - [Aesthetic Python - Neurons](20220113-aesthetic-python-neurons.md) (01/13/2022) + - [Session 3 - Overview of Python Graphing Libraries](20220105-session-3-overview-of-python-graphing-libraries.md) (01/05/2022) +- 2021 + - [Session 3 - Numpy and Data Analysis](20211215-session-3-numpy-and-data-analysis.md) (12/15/2021) + - [Session 2 - Cleaning Up Data Sets](20211201-session-2-cleaning-up-data-sets.md) (12/01/2021) + - [Online Collaboration and Project Night in Gather](20211118-online-collaboration-and-project-night-in-gather.md) (11/18/2021) + - [Session 1 - Setting up your Python environment](20211117-session-1-setting-up-your-python-environment.md) (11/17/2021) + - [Solve Programming Puzzles Together](20211111-solve-programming-puzzles-together.md) (11/11/2021) + - [Session 0 - Boston Python study group planning](20211027-session-0-boston-python-study-group-planning.md) (10/27/2021) + - [Online Collaboration and Project Night in Gather](20211012-online-collaboration-and-project-night-in-gather.md) (10/12/2021) + - [Python Study Group - Intro to Flask](20210921-python-study-group-intro-to-flask.md) (09/21/2021) + - [Python Study Group - Linting with pylint](20210728-python-study-group-linting-with-pylint.md) (07/28/2021) + - [Online Collaboration and Project Night in Gather](20210720-online-collaboration-and-project-night-in-gather.md) (07/20/2021) + - [Python Study Group - Lightning Round](20210602-python-study-group-lightning-round.md) (06/02/2021) + - [Online Collaboration and Project Night in Gather](20210525-online-collaboration-and-project-night-in-gather.md) (05/25/2021) + - [Python Study Group - The Python Package Index (PyPI)](20210512-python-study-group-the-python-package-index-pypi.md) (05/12/2021) + - [Python Study Group - YAML and JSON in Python](20210428-python-study-group-yaml-and-json-in-python.md) (04/28/2021) + - [Online Collaboration and Project Night in Gather](20210427-online-collaboration-and-project-night-in-gather.md) (04/27/2021) + - [Python Study Group - Dates and Times in pandas](20210414-python-study-group-dates-and-times-in-pandas.md) (04/14/2021) + - [Online Collaboration and Project Night](20210407-online-collaboration-and-project-night.md) (04/07/2021) + - [Python Study Group - List Comprehensions](20210331-python-study-group-list-comprehensions.md) (03/31/2021) + - [Python Study Group - Iterators 101](20210324-python-study-group-iterators-101.md) (03/24/2021) + - [Pytest from the ground up](20210322-pytest-from-the-ground-up.md) (03/22/2021) + - [Python Study Group - Iterators 101](20210310-python-study-group-iterators-101.md) (03/10/2021) + - [Online Collaboration and Project Night](20210301-online-collaboration-and-project-night.md) (03/01/2021) + - [Approaches to Debugging](20210217-approaches-to-debugging.md) (02/17/2021) + - [Online Project and Collaboration Night](20210202-online-project-and-collaboration-night.md) (02/02/2021) + - [Drawing with Python - DrawBot](20210119-drawing-with-python-drawbot.md) (01/19/2021) + - [Online Project and Collaboration Night](20210105-online-project-and-collaboration-night.md) (01/05/2021) +- 2020 + - [December presentation night](20201216-december-presentation-night.md) (12/16/2020) + - [Online Project and Collaboration Night](20201202-online-project-and-collaboration-night.md) (12/02/2020) + - [Intro Tech Talks, with Women Who Code](20201118-intro-tech-talks-with-women-who-code.md) (11/18/2020) + - [Online Project and Collaboration Night](20201021-online-project-and-collaboration-night.md) (10/21/2020) + - [Are you ready? - When and How to Land Your First Engineering Job](20201007-are-you-ready-when-and-how-to-land-your-first-engineering-job.md) (10/07/2020) + - [Online Project and Collaboration Night](20200923-online-project-and-collaboration-night.md) (09/23/2020) + - [Simon Willison - Personal analytics with SQLite and Datasette](20200722-simon-willison-personal-analytics-with-sqlite-and-datasette.md) (07/22/2020) + - [Presentation - Adventures in Python 3 Type Annotations for Data Science](20200516-presentation-adventures-in-python-3-type-annotations-for-data-science.md) (05/16/2020) + - [Online Lightning Talks](20200425-online-lightning-talks.md) (04/25/2020) + - [Pycon 2020 Rehearsal Night](20200409-pycon-2020-rehearsal-night.md) (04/09/2020) + - [Online presentation - Loop Like a Native](20200331-online-presentation-loop-like-a-native.md) (03/31/2020) + - [Online-only Project and Collaboration Night](20200312-online-only-project-and-collaboration-night.md) (03/12/2020) + - [Presentation - Getting Started Testing with pytest](20200226-presentation-getting-started-testing-with-pytest.md) (02/26/2020) + - [Project and Collaboration Night](20200204-project-and-collaboration-night.md) (02/04/2020) + - [DevOps for Pythonistas](20200128-devops-for-pythonistas.md) (01/28/2020) + - [Project and Collaboration Night](20200107-project-and-collaboration-night.md) (01/07/2020) +- 2019 + - [Presentation Night - Making Python faster](20191217-presentation-night-making-python-faster.md) (12/17/2019) + - [Project & Collaboration Night](20191203-project-collaboration-night.md) (12/03/2019) + - [Four data-themed talks](20191119-four-data-themed-talks.md) (11/19/2019) + - [November Project Night](20191105-november-project-night.md) (11/05/2019) + - [October - Lightning Talks](20191023-october-lightning-talks.md) (10/23/2019) + - [October Project Night](20191003-october-project-night.md) (10/03/2019) + - [Presentation night - GraphQL](20190924-presentation-night-graphql.md) (09/24/2019) + - [September Project Night](20190910-september-project-night.md) (09/10/2019) + - [Presentation Night - Web Scraping](20190822-presentation-night-web-scraping.md) (08/22/2019) + - [Boston Python Project Night](20190805-boston-python-project-night.md) (08/05/2019) + - [Presentation Night - Science!](20190723-presentation-night-science.md) (07/23/2019) + - [Boston Python Project Night](20190709-boston-python-project-night.md) (07/09/2019) + - [Making things with Python](20190626-making-things-with-python.md) (06/26/2019) + - [Boston Python May Project Night](20190520-boston-python-may-project-night.md) (05/20/2019) + - [PyCon Rehearsals 2 - Multiprocessing and Profiling](20190424-pycon-rehearsals-2-multiprocessing-and-profiling.md) (04/24/2019) + - [PyCon Rehearsal Night 1 - Generalized Bayesian Testing](20190423-pycon-rehearsal-night-1-generalized-bayesian-testing.md) (04/23/2019) + - [Boston Python Project Night](20190403-boston-python-project-night.md) (04/03/2019) + - [Beginner Python Class - Build a Guessing Game](20190319-beginner-python-class-build-a-guessing-game.md) (03/19/2019) + - [Boston Python March Project Night](20190305-boston-python-march-project-night.md) (03/05/2019) + - [February Presentation Night](20190221-february-presentation-night.md) (02/21/2019) + - [Boston Python Project Night](20190204-boston-python-project-night.md) (02/04/2019) + - [Boston Python January Presentation Night](20190123-boston-python-january-presentation-night.md) (01/23/2019) + - [January Project Night](20190109-january-project-night.md) (01/09/2019) +- 2018 + - [December Presentation Night - Advent of Code](20181218-december-presentation-night-advent-of-code.md) (12/18/2018) + - [December Project Night](20181204-december-project-night.md) (12/04/2018) + - [November Presentation Night](20181127-november-presentation-night.md) (11/27/2018) + - [Boston Python Project Night](20181107-boston-python-project-night.md) (11/07/2018) + - [Molecules, and Reproducible Science](20181023-molecules-and-reproducible-science.md) (10/23/2018) + - [Boston Python October Project Night](20181011-boston-python-october-project-night.md) (10/11/2018) + - [CFFI and Neural Networks](20180926-cffi-and-neural-networks.md) (09/26/2018) + - [September Project Night](20180911-september-project-night.md) (09/11/2018) + - [Lightning Talks!](20180821-lightning-talks.md) (08/21/2018) + - [August Project Night](20180801-august-project-night.md) (08/01/2018) + - [Itertools and Encrypted bytecode](20180730-itertools-and-encrypted-bytecode.md) (07/30/2018) + - [July Project Night](20180710-july-project-night.md) (07/10/2018) + - [Physical Computing](20180619-physical-computing.md) (06/19/2018) + - [Boston Python June Project Night](20180611-boston-python-june-project-night.md) (06/11/2018) + - [Workshop - Foundations of Numerical Computing in Python](20180506-workshop-foundations-of-numerical-computing-in-python.md) (05/06/2018) + - [PyCon Rehearsals - Functions and Dragons](20180503-pycon-rehearsals-functions-and-dragons.md) (05/03/2018) + - [PyCon Rehearsals - Gerrymandering, and Big-O](20180425-pycon-rehearsals-gerrymandering-and-big-o.md) (04/25/2018) + - [April Project Night](20180410-april-project-night.md) (04/10/2018) + - [Tox+Travis+setup.py; and Lightning](20180320-tox-travis-setup-py-and-lightning.md) (03/20/2018) + - [Boston Python Project Night](20180305-boston-python-project-night.md) (03/05/2018) + - [Boston Python Presentation Night](20180221-boston-python-presentation-night.md) (02/21/2018) + - [February Project Night at CarGurus](20180207-february-project-night-at-cargurus.md) (02/07/2018) + - [Lightning Talks!](20180124-lightning-talks.md) (01/24/2018) + - [Boston Python Project Night](20180108-boston-python-project-night.md) (01/08/2018) +- 2017 + - [Boston Python December Presentation Night](20171218-boston-python-december-presentation-night.md) (12/18/2017) + - [Boston Python Project Night](20171120-boston-python-project-night.md) (11/20/2017) + - [Pycon.ca rehearsals - Functions, Descriptors, and Teaching Teens](20171026-pycon-ca-rehearsals-functions-descriptors-and-teaching-teens.md) (10/26/2017) + - [Boston Python October Project Night](20171010-boston-python-october-project-night.md) (10/10/2017) + - [What I Did on my Summer Vacation](20170919-what-i-did-on-my-summer-vacation.md) (09/19/2017) + - [September Project Night](20170907-september-project-night.md) (09/07/2017) + - [Virtualenv, Items, and Attributes](20170824-virtualenv-items-and-attributes.md) (08/24/2017) + - [August Project Night](20170808-august-project-night.md) (08/08/2017) + - [July Presentation Night](20170718-july-presentation-night.md) (07/18/2017) + - [July Project Night](20170712-july-project-night.md) (07/12/2017) + - [June Presentation Night](20170622-june-presentation-night.md) (06/22/2017) + - [Boston Python June Project Night](20170605-boston-python-june-project-night.md) (06/05/2017) + - [Tutorial - Applied Modern Cryptography in Python](20170513-tutorial-applied-modern-cryptography-in-python.md) (05/13/2017) + - [Tutorial - Best Testing Practices for Data Science](20170513-tutorial-best-testing-practices-for-data-science.md) (05/13/2017) + - [PyCon Rehearsal 4 - Testing, Instagram and Library UX](20170511-pycon-rehearsal-4-testing-instagram-and-library-ux.md) (05/11/2017) + - [PyCon Rehearsal 3 - Deep Learning, and Bayesian Analysis](20170509-pycon-rehearsal-3-deep-learning-and-bayesian-analysis.md) (05/09/2017) + - [Tutorial - Complexity Science](20170506-tutorial-complexity-science.md) (05/06/2017) + - [Tutorial - Network Analysis Made Simple](20170506-tutorial-network-analysis-made-simple.md) (05/06/2017) + - [PyCon Rehearsal 2 - Laziness, Mongo, and Immutability](20170502-pycon-rehearsal-2-laziness-mongo-and-immutability.md) (05/02/2017) + - [Tutorial - How to Write and Debug C Extension Modules](20170429-tutorial-how-to-write-and-debug-c-extension-modules.md) (04/29/2017) + - [Tutorial - Intro to DSP (Digital Signal Processing)](20170429-tutorial-intro-to-dsp-digital-signal-processing.md) (04/29/2017) + - [PyCon Rehearsal 1 - Comparing Unicode and Predicting Oscars](20170427-pycon-rehearsal-1-comparing-unicode-and-predicting-oscars.md) (04/27/2017) + - [Boston Python April Project Night](20170405-boston-python-april-project-night.md) (04/05/2017) + - [Jupyter Wearables, and Iteration](20170321-jupyter-wearables-and-iteration.md) (03/21/2017) + - [Boston Python March Project Night](20170307-boston-python-march-project-night.md) (03/07/2017) + - [February Presentation Night - Porting Python to New Hardware](20170222-february-presentation-night-porting-python-to-new-hardware.md) (02/22/2017) + - [CANCELLED - February Project Night](20170209-cancelled-february-project-night.md) (02/09/2017) + - [Rapydscript, Modeling pattern formation, and PyPy](20170123-rapydscript-modeling-pattern-formation-and-pypy.md) (01/23/2017) + - [January Project Night](20170110-january-project-night.md) (01/10/2017) +- 2016 + - [December Presentation Night - Lightning Talks](20161220-december-presentation-night-lightning-talks.md) (12/20/2016) + - [December Project Night](20161205-december-project-night.md) (12/05/2016) + - [Scraping together a dataset to predict Oscar winners](20161121-scraping-together-a-dataset-to-predict-oscar-winners.md) (11/21/2016) + - [November Project Night](20161107-november-project-night.md) (11/07/2016) + - [Brandon Rhodes - The subprocess module!](20161020-brandon-rhodes-the-subprocess-module.md) (10/20/2016) + - [Boston Python October Project Night](20161004-boston-python-october-project-night.md) (10/04/2016) + - [September Presentation Night](20160920-september-presentation-night.md) (09/20/2016) + - [September Project Night](20160906-september-project-night.md) (09/06/2016) + - [Microservices](20160824-microservices.md) (08/24/2016) + - [August Project Night](20160815-august-project-night.md) (08/15/2016) + - [BeeKeeper, and lightning talks](20160719-beekeeper-and-lightning-talks.md) (07/19/2016) + - [Workshop - Plone theming with Diazo](20160716-workshop-plone-theming-with-diazo.md) (07/16/2016) + - [Cris Ewing - Plone's Evolution](20160714-cris-ewing-plone-s-evolution.md) (07/14/2016) + - [July Project Night](20160706-july-project-night.md) (07/06/2016) + - [June project night at Akamai](20160606-june-project-night-at-akamai.md) (06/06/2016) + - [PyCon Rehearsals 4 - Laser Cutters, and Closures](20160525-pycon-rehearsals-4-laser-cutters-and-closures.md) (05/25/2016) + - [PyCon Rehearsals 3 - Graceful Degradation, and Property Testing](20160509-pycon-rehearsals-3-graceful-degradation-and-property-testing.md) (05/09/2016) + - [PyCon Rehearsals 2 - Performance Post-Mortem, and Machete Debugging](20160505-pycon-rehearsals-2-performance-post-mortem-and-machete-debugging.md) (05/05/2016) + - [PyCon Rehearsals 1 - Flask APIs, and Bytecode](20160426-pycon-rehearsals-1-flask-apis-and-bytecode.md) (04/26/2016) + - [Pycon Rehearsal 1](20160419-pycon-rehearsal-1.md) (04/19/2016) + - [Project Night at AKAMAI](20160407-project-night-at-akamai.md) (04/07/2016) + - [Tutorial - Talking to other computers with Python](20160326-tutorial-talking-to-other-computers-with-python.md) (03/26/2016) + - [SciPy ecosystem](20160321-scipy-ecosystem.md) (03/21/2016) + - [Boston Python March Project Night](20160308-boston-python-march-project-night.md) (03/08/2016) + - [February Presentation - Testing Web Applications](20160223-february-presentation-testing-web-applications.md) (02/23/2016) + - [February Project Night](20160202-february-project-night.md) (02/02/2016) + - [Project Basics - Structure and Tests](20160120-project-basics-structure-and-tests.md) (01/20/2016) + - [January Project Night](20160106-january-project-night.md) (01/06/2016) +- 2015 + - [Boston Python December Project Night](20151203-boston-python-december-project-night.md) (12/03/2015) + - [Boston Python November Presentation Night](20151117-boston-python-november-presentation-night.md) (11/17/2015) + - [Boston Python November Project Night](20151105-boston-python-november-project-night.md) (11/05/2015) + - [October Presentation Night](20151021-october-presentation-night.md) (10/21/2015) + - [Boston Python October Project Night](20151001-boston-python-october-project-night.md) (10/01/2015) + - [September Presentation Night - Favorite Libraries](20150924-september-presentation-night-favorite-libraries.md) (09/24/2015) + - [September Project Night](20150903-september-project-night.md) (09/03/2015) + - [Twisted async networking framework](20150827-twisted-async-networking-framework.md) (08/27/2015) + - [August Project Night](20150810-august-project-night.md) (08/10/2015) + - [Intro to Classes and Special Methods](20150721-intro-to-classes-and-special-methods.md) (07/21/2015) + - [July Project Night](20150707-july-project-night.md) (07/07/2015) + - [9 Lightning Talks](20150622-9-lightning-talks.md) (06/22/2015) + - [Boston Python June Project Night](20150601-boston-python-june-project-night.md) (06/01/2015) + - [Boston Python - Open Data Science Con presentations](20150520-boston-python-open-data-science-con-presentations.md) (05/20/2015) + - [Boston Python May Project Night AT AKAMAI](20150512-boston-python-may-project-night-at-akamai.md) (05/12/2015) + - [PyCon Rehearsals 4](20150402-pycon-rehearsals-4.md) (04/02/2015) + - [PyCon Rehearsals 3](20150330-pycon-rehearsals-3.md) (03/30/2015) + - [PyCon tutorial rehearsal - Practical Graph/Network Analysis Made Simple](20150328-pycon-tutorial-rehearsal-practical-graph-network-analysis-made-simple.md) (03/28/2015) + - [PyCon tutorial rehearsal - Statistical inference with computational methods](20150328-pycon-tutorial-rehearsal-statistical-inference-with-computational-methods.md) (03/28/2015) + - [PyCon Rehearsals 2](20150323-pycon-rehearsals-2.md) (03/23/2015) + - [PyCon Rehearsals 1](20150318-pycon-rehearsals-1.md) (03/18/2015) + - [March Project Night](20150304-march-project-night.md) (03/04/2015) + - [NaNoGenMo and Type Hinting](20150217-nanogenmo-and-type-hinting.md) (02/17/2015) + - [February Project Night](20150212-february-project-night.md) (02/12/2015) + - [Engineering, Science, and Art](20150122-engineering-science-and-art.md) (01/22/2015) + - [January Project Night](20150106-january-project-night.md) (01/06/2015) +- 2014 + - [December Presentation Night - Stocking Stuffers](20141211-december-presentation-night-stocking-stuffers.md) (12/11/2014) + - [Boston Python December Project Night](20141204-boston-python-december-project-night.md) (12/04/2014) + - [November Presentation Night](20141125-november-presentation-night.md) (11/25/2014) + - [November Project Night - At AKAMAI](20141110-november-project-night-at-akamai.md) (11/10/2014) + - [Advanced Programming Tools](20141029-advanced-programming-tools.md) (10/29/2014) + - [October Project Night](20141014-october-project-night.md) (10/14/2014) + - [Beer with Harry Percival](20141001-beer-with-harry-percival.md) (10/01/2014) + - [September Presentation Night - Introductory Data Structures](20140922-september-presentation-night-introductory-data-structures.md) (09/22/2014) + - [September Project Night](20140908-september-project-night.md) (09/08/2014) + - [August Presentation Night](20140821-august-presentation-night.md) (08/21/2014) + - [August Project Night](20140807-august-project-night.md) (08/07/2014) + - [July Presentation Night - What I Built at Work](20140722-july-presentation-night-what-i-built-at-work.md) (07/22/2014) + - [July Project Night](20140707-july-project-night.md) (07/07/2014) + - [June Presentation Night - Puzzle Solutions](20140625-june-presentation-night-puzzle-solutions.md) (06/25/2014) + - [June Project Night](20140609-june-project-night.md) (06/09/2014) + - [Raspberry Pi projects!](20140527-raspberry-pi-projects.md) (05/27/2014) + - [May Project Night](20140512-may-project-night.md) (05/12/2014) + - [PyCon Rehearsals 4 - Shelling out and Games for Science](20140407-pycon-rehearsals-4-shelling-out-and-games-for-science.md) (04/07/2014) + - [PyCon Rehearsals 3 - Helicopters and Open edX](20140401-pycon-rehearsals-3-helicopters-and-open-edx.md) (04/01/2014) + - [PyCon Rehearsals 2 - Hy and Outreach](20140326-pycon-rehearsals-2-hy-and-outreach.md) (03/26/2014) + - [PyCon Rehearsals 1](20140324-pycon-rehearsals-1.md) (03/24/2014) + - [March Project Night](20140310-march-project-night.md) (03/10/2014) + - [PyCon tutorial - Getting started with open source development](20140302-pycon-tutorial-getting-started-with-open-source-development.md) (03/02/2014) + - [PyCon tutorial - analyzing science problems with Python](20140302-pycon-tutorial-analyzing-science-problems-with-python.md) (03/02/2014) + - [February Project Night](20140226-february-project-night.md) (02/26/2014) + - [February Presentation Night - Football, Cycles, Red Line](20140220-february-presentation-night-football-cycles-red-line.md) (02/20/2014) + - [PyCon rehearsal - A hands-on introduction to Python for beginning programmers](20140215-pycon-rehearsal-a-hands-on-introduction-to-python-for-beginning-programmers.md) (02/15/2014) + - [Historic Python, and Lightning Talks](20140128-historic-python-and-lightning-talks.md) (01/28/2014) + - [January Project Night](20140120-january-project-night.md) (01/20/2014) +- 2013 + - [December Project Night](20131205-december-project-night.md) (12/05/2013) + - [Data! Good tools, Bad journals](20131120-data-good-tools-bad-journals.md) (11/20/2013) + - [November Project Night](20131114-november-project-night.md) (11/14/2013) + - [Helper Languages](20131029-helper-languages.md) (10/29/2013) + - [October Project Night](20131014-october-project-night.md) (10/14/2013) + - [Fundamental topics night](20130923-fundamental-topics-night.md) (09/23/2013) + - [September Project Night](20130909-september-project-night.md) (09/09/2013) + - [Four talks about Flask](20130828-four-talks-about-flask.md) (08/28/2013) + - [August Project Night](20130820-august-project-night.md) (08/20/2013) + - [Lightning Talks for July](20130730-lightning-talks-for-july.md) (07/30/2013) + - [A project-driven introduction to Python for women and their friends](20130712-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (07/12/2013) + - [July Project Night](20130701-july-project-night.md) (07/01/2013) + - [Machine Learning](20130625-machine-learning.md) (06/25/2013) + - [June Project Night](20130605-june-project-night.md) (06/05/2013) + - [Intermediate Python Workshop 2](20130525-intermediate-python-workshop-2.md) (05/25/2013) + - [May Presentation Night - Kenneth Reitz, Python for Humans](20130521-may-presentation-night-kenneth-reitz-python-for-humans.md) (05/21/2013) + - [May Project Night - DIFFERENT LOCATION](20130506-may-project-night-different-location.md) (05/06/2013) + - [Parsing with PLY *and* LIGHTNING TALKS](20130424-parsing-with-ply-and-lightning-talks.md) (04/24/2013) + - [CPython development sprint for new contributors](20130413-cpython-development-sprint-for-new-contributors.md) (04/13/2013) + - [April Project Night](20130409-april-project-night.md) (04/09/2013) + - [PyCon on the Charles, part 3](20130307-pycon-on-the-charles-part-3.md) (03/07/2013) + - [PyCon on the Charles, part 2](20130227-pycon-on-the-charles-part-2.md) (02/27/2013) + - [PyCon on the Charles, part 1](20130225-pycon-on-the-charles-part-1.md) (02/25/2013) + - [February Project Night](20130205-february-project-night.md) (02/05/2013) + - [PyCon tutorial - Getting started with open source development](20130202-pycon-tutorial-getting-started-with-open-source-development.md) (02/02/2013) + - [PyCon tutorial - Intermediate Twisted - Test-Driven Networking Software](20130202-pycon-tutorial-intermediate-twisted-test-driven-networking-software.md) (02/02/2013) + - [PyCon tutorial - A hands-on introduction to Python for beginning programmers](20130126-pycon-tutorial-a-hands-on-introduction-to-python-for-beginning-programmers.md) (01/26/2013) + - [January Presentation Night - Zipline and Hython](20130124-january-presentation-night-zipline-and-hython.md) (01/24/2013) + - [January Project Night](20130107-january-project-night.md) (01/07/2013) +- 2012 + - [January Presentation Night](20121215-january-presentation-night.md) (12/15/2012) + - [December Project Night](20121204-december-project-night.md) (12/04/2012) + - [Beyond Django - Four other web frameworks](20121115-beyond-django-four-other-web-frameworks.md) (11/15/2012) + - [A project-driven introduction to Python for women and their friends](20121102-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (11/02/2012) + - [November Project Night](20121101-november-project-night.md) (11/01/2012) + - [Intro to Django - *Special Location*](20121016-intro-to-django-special-location.md) (10/16/2012) + - [October Project Night](20121010-october-project-night.md) (10/10/2012) + - [100% Lightning talks](20120927-100-lightning-talks.md) (09/27/2012) + - [Sept Project Night](20120905-sept-project-night.md) (09/05/2012) + - [Giant Robots, and Lightning](20120822-giant-robots-and-lightning.md) (08/22/2012) + - [August Project Night](20120809-august-project-night.md) (08/09/2012) + - [Intermediate Python Workshop](20120728-intermediate-python-workshop.md) (07/28/2012) + - [Building Real Windows Desktop Applications with Python](20120724-building-real-windows-desktop-applications-with-python.md) (07/24/2012) + - [July Project Night - Julython!](20120712-july-project-night-julython.md) (07/12/2012) + - [(June Presentation) Distributed Computing - Star + Egg](20120620-june-presentation-distributed-computing-star-egg.md) (06/20/2012) + - [June Project Night](20120604-june-project-night.md) (06/04/2012) + - [Science - Genes, Satellites, and Lightning!](20120523-science-genes-satellites-and-lightning.md) (05/23/2012) + - [May Project Night](20120508-may-project-night.md) (05/08/2012) + - [Fundamental Topics - Iteration and Classes](20120424-fundamental-topics-iteration-and-classes.md) (04/24/2012) + - [April Project Night, with Designer advice!](20120412-april-project-night-with-designer-advice.md) (04/12/2012) + - [A project-driven introduction to Python for women and their friends](20120330-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (03/30/2012) + - [Django Tools and Crazy Things (New Location!)](20120322-django-tools-and-crazy-things-new-location.md) (03/22/2012) + - [PyCon on the Charles, part 2](20120229-pycon-on-the-charles-part-2.md) (02/29/2012) + - [PyCon on the Charles, part 1](20120222-pycon-on-the-charles-part-1.md) (02/22/2012) + - [February Project Night](20120208-february-project-night.md) (02/08/2012) + - [An evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor](20120125-an-evening-with-jacob-kaplan-moss-frank-wiles-and-alex-gaynor.md) (01/25/2012) + - [Web Scraping Tutorial, and beers](20120118-web-scraping-tutorial-and-beers.md) (01/18/2012) + - [January Python Project Night](20120110-january-python-project-night.md) (01/10/2012) +- 2011 + - [Web Performance Testing, lightning talks, and beers](20111219-web-performance-testing-lightning-talks-and-beers.md) (12/19/2011) + - [A project-driven introduction to Python for women and their friends](20111216-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (12/16/2011) + - [December Project night](20111207-december-project-night.md) (12/07/2011) + - [November Python Project Night](20111107-november-python-project-night.md) (11/07/2011) + - [Lightning Talk Trick or Treat](20111019-lightning-talk-trick-or-treat.md) (10/19/2011) + - [October Python Project Night](20111004-october-python-project-night.md) (10/04/2011) + - [A project-driven introduction to Python for women and their friends](20110930-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (09/30/2011) + - [NumPy & SciPy, plus extras - *** NEW LOCATION ***](20110921-numpy-scipy-plus-extras-new-location.md) (09/21/2011) + - [September Python Project Night](20110906-september-python-project-night.md) (09/06/2011) + - [Alternate pythons - PyPy, Jython, IronPython, plus lightning talks and beers](20110817-alternate-pythons-pypy-jython-ironpython-plus-lightning-talks-and-beers.md) (08/17/2011) + - [Python Project Night](20110811-python-project-night.md) (08/11/2011) + - [Getting Started Testing your Python](20110720-getting-started-testing-your-python.md) (07/20/2011) + - [Python Project Night](20110712-python-project-night.md) (07/12/2011) + - [A project-driven introduction to Python for women and their friends](20110708-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (07/08/2011) + - [Project Night](20110622-project-night.md) (06/22/2011) + - [SQLAlchemy, lightning talks, and beers](20110615-sqlalchemy-lightning-talks-and-beers.md) (06/15/2011) + - [SuperPy](20110601-superpy.md) (06/01/2011) + - [Python Project Night](20110520-python-project-night.md) (05/20/2011) + - [May meetup - Science!](20110518-may-meetup-science.md) (05/18/2011) + - [A project-driven introduction to Python for women and their friends](20110513-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (05/13/2011) + - [Python Hack Night](20110426-python-hack-night.md) (04/26/2011) + - [Education and Community](20110411-education-and-community.md) (04/11/2011) + - [A project-driven introduction to Python for women and their friends](20110305-a-project-driven-introduction-to-python-for-women-and-their-friends.md) (03/05/2011) + - [PyCon on the Charles - practice session 2](20110302-pycon-on-the-charles-practice-session-2.md) (03/02/2011) + - [PyCon on the Charles - practice session 1](20110222-pycon-on-the-charles-practice-session-1.md) (02/22/2011) + - [Updated - Pycon talk 1 - "Contributor Outreach"; and installation chaos](20110119-updated-pycon-talk-1-contributor-outreach-and-installation-chaos.md) (01/19/2011) +- 2010 + - [NLTK - Natural Language Toolkit](20101214-nltk-natural-language-toolkit.md) (12/14/2010) + - [Intro to Twisted - presentation and LAB](20101117-intro-to-twisted-presentation-and-lab.md) (11/17/2010) + - [Processing.py, inside and out](20101020-processing-py-inside-and-out.md) (10/20/2010) + - [Beginner's Night](20100915-beginner-s-night.md) (09/15/2010) + - [July Meetup - Echo Nest Remix and lightning talks](20100721-july-meetup-echo-nest-remix-and-lightning-talks.md) (07/21/2010) + - [Google App Engine at Google](20100615-google-app-engine-at-google.md) (06/15/2010) + - [May Python meetup - Testing Topics](20100519-may-python-meetup-testing-topics.md) (05/19/2010) + - [Discrete Event Simulations Made Easy, plus more lightning talks?](20100421-discrete-event-simulations-made-easy-plus-more-lightning-talks.md) (04/21/2010) + - [March Python Meetup free-for-all](20100317-march-python-meetup-free-for-all.md) (03/17/2010) + - [PyCon on the Charles 2010, part 2](20100203-pycon-on-the-charles-2010-part-2.md) (02/03/2010) + - [PyCon on the Charles 2010, part 1](20100120-pycon-on-the-charles-2010-part-1.md) (01/20/2010) +- 2009 + - [Testing in Python (*NEW LOCATION*)](20091118-testing-in-python-new-location.md) (11/18/2009) + - [October Cambridge Python Meetup - Mobile platform with AppEngine](20091014-october-cambridge-python-meetup-mobile-platform-with-appengine.md) (10/14/2009) + - [September open hack night (Cambridge Python meetup)](20090916-september-open-hack-night-cambridge-python-meetup.md) (09/16/2009) + - [The Cambridge Python July Meetup - Remote Objects with Pyro](20090715-the-cambridge-python-july-meetup-remote-objects-with-pyro.md) (07/15/2009) + - [June Cambridge Python meetup](20090617-june-cambridge-python-meetup.md) (06/17/2009) + - [The Cambridge Python June Meetup](20090617-the-cambridge-python-june-meetup.md) (06/17/2009) + - [The Cambridge Python May Meetup](20090520-the-cambridge-python-may-meetup.md) (05/20/2009) + - [The Cambridge Python April Meetup](20090415-the-cambridge-python-april-meetup.md) (04/15/2009) + - [The Cambridge Python March Meetup - Pycon on the Charles](20090318-the-cambridge-python-march-meetup-pycon-on-the-charles.md) (03/18/2009) + - [The Cambridge Python February Meetup](20090218-the-cambridge-python-february-meetup.md) (02/18/2009) + - [Cambridge Python January Meetup](20090121-cambridge-python-january-meetup.md) (01/21/2009) +- 2008 + - [Python November Meetup](20081120-python-november-meetup.md) (11/20/2008) + - [The Cambridge Python November Meetup](20081119-the-cambridge-python-november-meetup.md) (11/19/2008) + - [The Cambridge Python October Meetup](20081015-the-cambridge-python-october-meetup.md) (10/15/2008) + - [The Cambridge Python August Meetup](20080917-the-cambridge-python-august-meetup.md) (09/17/2008) + - [The Cambridge Python July Meetup](20080716-the-cambridge-python-july-meetup.md) (07/16/2008) + - [The Cambridge Python June Meeting](20080618-the-cambridge-python-june-meeting.md) (06/18/2008) + - [The Cambridge Python May Meeting](20080521-the-cambridge-python-may-meeting.md) (05/21/2008) + - [The Cambridge Python April Meeting](20080423-the-cambridge-python-april-meeting.md) (04/23/2008) + - [The Cambridge Python March Meeting](20080319-the-cambridge-python-march-meeting.md) (03/19/2008) + - [The Cambridge Python February Meetup](20080220-the-cambridge-python-february-meetup.md) (02/20/2008) + - [The Cambridge Python January Meetup](20080116-the-cambridge-python-january-meetup.md) (01/16/2008) +- 2007 + - [The Cambridge Python December Meetup](20071219-the-cambridge-python-december-meetup.md) (12/19/2007) + - [The Cambridge Python November Meetup](20071121-the-cambridge-python-november-meetup.md) (11/21/2007) + - [The Cambridge Python October Meetup](20071017-the-cambridge-python-october-meetup.md) (10/17/2007) + - [The Cambridge Python September Meetup](20070919-the-cambridge-python-september-meetup.md) (09/19/2007) + - [The Cambridge Python August Meetup](20070815-the-cambridge-python-august-meetup.md) (08/15/2007) + - [The Cambridge Python July Meetup](20070718-the-cambridge-python-july-meetup.md) (07/18/2007) + - [The Cambridge Python June Meetup](20070620-the-cambridge-python-june-meetup.md) (06/20/2007) + - [The Cambridge Python May Meetup](20070523-the-cambridge-python-may-meetup.md) (05/23/2007) \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/planning.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/planning.md new file mode 100644 index 0000000..3f8976e --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/planning.md @@ -0,0 +1,14 @@ +--- +title: Planning an event +sidebar_link: false +--- + +We are always interested in ideas for new events. It could be a presentation night on a particular topic, or a new kind of event altogether. Many of our current events were first proposed by members. + +To start planning an event: + +1. Join us in the **#organizing** channel in [our Slack workspace](slack.md). Start a conversation along the lines of "I'm thinking about XYZ," and get a discussion going about what shape the event could take. + +1. Find a [leader](contact.md) to pair with in the planning process. They can help think of all the things to consider, find other people to brainstorm with, and then get the event officially listed on meetup.com. Jon, Emily, James, or Ned are good possibilities. + +1. Stay active in the discussions that happen in Slack. We plan collaboratively. Others will have helpful ideas or tips to make the event successful. diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/requirements.txt b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/requirements.txt new file mode 100644 index 0000000..a46457a --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/requirements.txt @@ -0,0 +1,5 @@ +httpx +bs4 +Jinja2 +lxml +python-slugify \ No newline at end of file diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/resources.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/resources.md new file mode 100644 index 0000000..3a1de7d --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/resources.md @@ -0,0 +1,70 @@ +--- +title: Python Resources +sidebar_link: true +sidebar_sort_order: 600 +--- + +It's often said that the best way to learn to write programs is to write programs. This page lists a number of places you can go for ideas about what programs to write to develop your Python skills. Some sites offer Python-focused problems, which typically are aimed at helping you learn more about the language and how to use it more effectively. Other sites offer challenges that can be solved in any language. These are typically aimed at helping you develop your programming skills and become better at solving problems. + +**NOTE**: This is a work-in-progress. The resources listed have only been lightly curated, and there are likely other great ones that should be on this list. We welcome [suggestions](#edit-page). + +## Places to ask for help when you're stuck + +- The Boston Python [Slack workspace](https://about.bostonpython.com/slack) +- [Stack Overflow](https://stackoverflow.com/) is a good place to find quick answers to specific technical questions, but is usually not a good place for involved discussion about logic or problem-solving. + +## Python-specific exercises + +- [exercism](https://exercism.io/): Crowd-sourced code practice and mentorship for everyone, with over 100 [Python-specific exercises](https://exercism.io/tracks/python). Installing their command-line interface can be a little complicated, but after that the submission system is smoother than many online exercise portals. Exercises are submitted and maintained by volunteers, as a result some exercise descriptions may be incomplete or confusing. + +- [edabit](https://edabit.com/): Learn to code with interactive challenges, with [Python exercises](https://edabit.com/challenges/python3) for all levels. + +- [Practice Python](https://www.practicepython.org/): 30+ Python exercises for beginners. + +- [CheckIO](https://checkio.org/): Coding games to improve your skills by solving engaging challenges and fun tasks using Python. + +- [Python Koans](https://github.com/gregmalcolm/python_koans): A set of exercises for python and test-driven development for beginners. + +- [PyBites Blog Code Challenges](https://codechalleng.es/challenges/): Free form, open ended, mini coding projects designed to take anywhere from a day to a week. Each challenge includes optional instructions for submitting your solution using GitHub. + +- [A curated list of project-based tutorials](https://github.com/tuvtran/project-based-learning#python) + + +## More resources + +- [Software Engineering: Python for Beginners](https://www.mapcon.com/us-en/software-engineering-python) has a list of other Python resources that could be helpful for beginners. + + +## Language-agnostic coding challenges + +- [Advent of Code](https://adventofcode.com/) is a Christmas-themed problem set that has offered 25 new programming challenges every December since 2015. Each set is a collection of well-made problems that challenge your ability to reason algorithmically. Problems range from moderate to difficult. + +- [Rosalind](http://rosalind.info/problems/locations/) is a bit of a hodge-podge, offering a well-curated collection of problems introducing concepts in bioinformatics, a small set of introductory Python problems, and a collection of classical algorithms to implement. + +- [Project Euler](https://projecteuler.net/) is great fun for the mathematically-minded. Over 650 problems which ramp up rather quickly in difficulty. If you've got a strong mathematical background you'll have a real advantage here. If not, you might well acquire one. + +## Sites that cost money + +- [Python Morsels](https://www.pythonmorsels.com/): A short Python exercise every week, followed a fews days later by a number of idiomatic solutions, with explanations of each one. + +- [PyBites](https://codechalleng.es/): Hone your Python skills by coding and verifying exercises in the comfort of your browser. Offers a small number of free exercises, but most require buying a bundle or monthly subscription. Exercises are grouped by skill level (Bites of Py) and topic (Learning Paths). + +## Books + +There are thousands of books on programming in Python. This list focuses on titles helpful for beginners and advanced beginners. Most of the titles are available for free online or through a Boston-area library system ([Minuteman Library Network](https://www.minlib.net/) or [Boston Public Library](https://www.bpl.org/)), as well as for purchase through your favorite bookseller. + +**NOTE**: This list was originally compiled by a non-beginner. If you are a beginner, we will be grateful for your [feedback](#edit-page). + +- [Think Python!](https://greenteapress.com/wp/think-python-2e/) by Allen Downey. This book starts from the most basic programming concepts and works toward a computer-science mindset as well as Python fluency. While no book is perfect for all readers, this one has found broad appeal with many beginners. The website has free PDF and HTML versions. + +- [Python Flash Cards](https://nostarch.com/pythonflashcards) by Eric Matthes. More like a deconstructed book, this box of 101 cards covers the basics of Python in a stripped-down fashion. These are not like traditional flash cards, which present a single concept per card. Each card is more like a quick reference for some piece of the larger Python puzzle. Potentially useful for beginners looking to review their understanding. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3814347). + +- [Automate the Boring Stuff With Python](https://automatetheboringstuff.com/) by Al Sweigart. A practical guide to the sorts of things that you can do with Python, how to do them, and why to do them that way. Recommended for those who have some understanding of Python and want to apply and improve their knowledge. Experienced programmers without previous Python exposure will probably be able to make good use of this book as well. The adventurous beginner might be able to make reasonable progress using the introductory chapter to learn Python fundamentals, but this is probably not an ideal place to start your Python journey. The book's content is available for free on the website. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3867472), [MLN 1st ed](https://find.minlib.net/iii/encore/record/C__Rb3226226), [BPL 1st ed](https://bpl.bibliocommons.com/item/show/6969316075). + +- [Cracking Codes With Python](https://inventwithpython.com/cracking/) by Al Sweigart. Probably less practical than the author's book on automation, this book is a concrete review of Python programming techniques through an exploration of basic cryptography. Recommended for the advanced beginner interested in dipping their toe into the world of codes and information. This book will *not* bring you up to speed with modern crypto, which is extremely math-intensive, but it shows how to write programs to solve well-defined problems. The book's content is available for free on the website. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3685466). + +- [Impractical Python Projects](https://nostarch.com/impracticalpythonprojects) by Lee Vaughan. Somewhat more advanced than Sweigart's books, this book goes deep into Python libraries to do interesting and completely impractical things, such as using NLTK to write haikus, using PyGame to simulate alien volcanoes, or using Pillow to improve your astrophotography. Recommended for the more advanced beginner. If you're comfortable writing standard Python, this book will show you how to use other people's libraries to do cool things easily. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3725372), [BPL](https://bpl.bibliocommons.com/item/show/6971575075). + +- [Think Stats!](https://greenteapress.com/wp/think-stats-2e/) and [Think Bayes!](http://greenteapress.com/wp/think-bayes/) by Allen Downey. These books are aimed at teaching probability & statistics and Bayesian statistics, using Python rather than traditional mathematical expressions to make the concepts concrete. Recommended for more advanced beginners with an interest in the mathematical underpinnings of statistics. The website for both books has free PDF and HTML versions. + +- [Python Tricks: The Book](https://realpython.com/products/python-tricks-book/) by Dan Bader. This is a great book for those who are comfortable with the basics of Python and would like to learn some more advanced tricks, such as decorators, abstract base classes, named tuples, and more. The author runs the [Real Python site](https://realpython.com/) which has a lot of in-depth Python tutorials. A short [PDF sample](https://static.realpython.com/python-tricks-book/Python%20Tricks%20Sample.pdf) is available. Libraries: [MLN](https://find.minlib.net/iii/encore/record/C__Rb3739402), [BPL](https://bpl.bibliocommons.com/item/show/12035076981) diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/slack.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/slack.md new file mode 100644 index 0000000..16ead21 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/slack.md @@ -0,0 +1,33 @@ +--- +title: Slack +sidebar_link: true +sidebar_sort_order: 200 +--- + +Boston Python has a Slack workspace for online discussions. You can use [this link to join][join]. + +☞ [Join Us on Slack][join] ☜ + +[join]: https://join.slack.com/t/bostonpython/shared_invite/zt-tnds065z-Ec_9XymfQFiPIVGXynyCjg + +Once you've joined, there are a number of channels, depending on what you are looking for: + +- **#general**: Questions/ideas/links of general interest to the community. When in doubt, post here. +- **#events**: Announcements/discussion of events that might be interesting to the group. +- **#jobs**: For job postings. They must meet our [requirements](jobs.md). +- **#for-hire**: Where you can announce your availability for work. +- **#organizing**: Discussion about how Boston Python works, and making it work better. +- **#beginners**: For folks learning Python, or people who want to help them learn Python. +- Specific areas of interest, such as **#web**, **#data**, **#science**, etc. + +If you need administrative or moderation help, send a direct message to **@bhrutledge** and/or **@nedbat**. + +To learn how to use Slack, refer to their [Help Center](https://get.slack.help/hc/en-us) guides, such as: + +- [Join a channel](https://get.slack.help/hc/en-us/articles/205239967-Join-a-channel) +- [Find members in the directory](https://get.slack.help/hc/en-us/articles/360003534892-Find-members-in-the-directory-) +- [Message and file threads](https://get.slack.help/hc/en-us/articles/115000769927-Message-and-file-threads) +- [Reduce noise in Slack](https://get.slack.help/hc/en-us/articles/218551977-Reducing-noise-in-Slack) +- [Save notes and files in your personal DM](https://get.slack.help/hc/en-us/articles/219899267) +- [Format posts on your desktop](https://get.slack.help/hc/en-us/articles/209774578) +- [Guide to Slack notifications](https://get.slack.help/hc/en-us/articles/201355156-Guide-to-Slack-notifications-) diff --git a/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/sponsorship.md b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/sponsorship.md new file mode 100644 index 0000000..a14fe22 --- /dev/null +++ b/pr-65/1c7fe3ce4b1463b7669fd2ac5d98fcafc5954491/sponsorship.md @@ -0,0 +1,42 @@ +--- +title: Sponsoring +sidebar_link: true +sidebar_sort_order: 520 +--- + +Boston Python is always looking for sponsors for its events. We'd love to have +you! Sponsoring brings a personal touch to your recruiting efforts. One recent +sponsor commented: + +> Our Boston Python posting got a better response than the company's 'official' + postings in IEEE journals, Monster.com, etc... + +Sponsoring pizza for an in-person event is **$750**. Other kinds of sponsorship are possible, we're open to your ideas. + +On classic **presentation nights**, we have up to 70 people in attendance, sometimes more. Our presentations focus on peer-to-peer technical content. We avoid presentations that focus too much on commercial offerings. + +**Project nights** are unstructured evenings where people group up based on interest, and then work on whatever they like. We have tables dedicated to beginning learners, web development, data science, hardware, and whatever other topics we decide are fitting. The unstructured time means that much more in-depth conversations are possible, which helps with assessing candidates' fit for the roles you are looking to fill. We generally get up to 50 people. + +As a sponsor, you will get a chance to **speak to the crowd** at the event, and +pitch your company (or whatever it is you have to pitch). Sponsors generally +speak for a minute or two. Up to five minutes isn't unheard of, but starts to +feel long. People lose interest if the pitch is too lengthy. + +When sponsoring **pizza**, a Boston Python organizer will purchase the pizza. +You can pay by making a donation to the Python Software Foundation at +. + +The night of the event, we can provide table space for you to put out materials, +or hand out swag if you want, but that is not expected or required. + +## Subscription sponsorship + +We also offer a subscription model of sponsorship. Subscribing sponsors provide +a regular monthly contribution, and are acknowledged at all of our events and on +our online platforms, chiefly meetup.com and our +[sponsors page](our_sponsors.md). This model works best for some organizations' +budgeting models, and we'd be pleased to work with your organization to find an +approach that works for you. + +If you have any questions, feel free to get in touch with the leadership team at +.