Hackpads are smart collaborative documents. .

Brian Granger

240 days ago
Brian G
  • Friday, March 24, 2017
  • New Cal Poly interns
  • Two grad students in CS
  • Two junior physics majors+CS minors
  • Two graphic design majors
  • Charnpreet, Elliot, Farica doing other things for the summer
  • Finished The Big Split
  • Working on the conflict resolution for extensions
  • Updating Observables to remove payload and drop the Vector class
  • Cell tools restoration required some thought, but should be intuitive now.
  • Currently working on more completer edge cases
  • A few beta bug fixes
  • Lots of testing of post-big-split codebase + workflow
  • Added universal context menus
  • Released Phosphor 1.0 packages
  • Shifting to work on the datagrid
Brian G
  • I have a few thought on this...we can discuss here...
  • Working on an asynchronous model database for realtime sync that is able to gracefully connect to a server backend without interruption.
  • Cal Poly folks: meeting next week on UI story?
  • Friday, March 17, 2017
261 days ago
Unfiled. Edited by Brian Granger , Ian Rose , Cameron Oelsen 261 days ago
Brian G Real-Time Collaboration Notes
This Hackpad is for notes on Real-Time Collaboration, recorded on Friday, March 2nd, 2017.
  • UX Design
User goals:
  • Complete data science, science, educational work collaboratively with teams of individuals, in real-time and asynchronously.
User tasks:
  • Edit a document at the same time as others and see their changes in real-time.
  • Share a document with a set of users, by email address.
  • How are code cells handled?
  • Same server
  • Users have access to the same kernels, so they would just be shared
  • Different server
  • Each notebook would have a single "Kernel Owner" that runs the kernel
  • Others can edit the document and see output.
  • Kernel Ownership can be requested by any user at any time, and doesn't require approval by anyone.
  • Would the old kernel get killed or just disabled?
  • If a non-owner tries to run code, it would ask the owner for approval.
  • What is the UI/UX for the Kernel Owner to review and approve the requests to run code?
  • How are markdown cells handled?
  • Each user can independently choose which markdown cells they want to edit
  • If other users are editing a locally rendered markdown cell, show a colored bar to the left of the cell and periodically update the rendered content.
  • If multiple users are editing a given cell, show all of their cursors and selections.
Initial Personas are here:
  • Visual/Interaction Design
  • How should multiple users be represented visually?
  • How are multiple users' cursors represented?
  • We like the up triangle cursor used by Page and Dropbox Paper
  • Upon hover, it shows the user's name
Issues related to the visual design of the notebook related to RTC:
  • Implementation
Ian R  Agenda for RT brainstorming
  •  Model structure
* Current approach: hooking up individual strings, lists, maps, etc to a realtime backend.
    - Pros:
        * can have a light footprint on the existing codebase/model implementations
        * simple to implement for simple models.
    - Cons: 
        * difficult to implement for more complex models, especially as they become nested.
        * easy to break signals that may be already hooked up (somewhat mitigated if this is done at model creation).
        * reification is very fiddly.
* Alternative approach: model databases. Define some database interface that models implement.
    - Pros: 
        * easier to reason about.
    - Cons: 
        * a lot of work
        * need to choose the right abstractions.
    - Implementation questions:
       * what types should be allowed at nodes?
       * What should change notifications look like?
## Multiple drives
What is the best UI if multiple drives are available to the user? Not strictly realtime, but comes up with Google Drive integration.
* Current approach: Separate tab in the left area.
    - Pros: 
        * works well with existing abstractions.
        * Makes explicit that this is a different file system.
    - Cons:
        * Does not work well with restore state.
        * Could be confusing to users.
* Alternative approach: enrich ContentsManager with the concept of multiple mounted drives.
    - Pros:
        * Restore state would work well.
        * Only one ContentsManager, DocumentManager.
    - Cons:
        * Different drives may be better with their own ContentsManager, DocumentManager (example: autosaves).
    - Implementation details
        * How to specify the appropriate drive with a path argument?
        * How to handle autosaves?
## User experience
* How to indicate the position of another user?
    - Cursors more or less implemented.
    - What to do about markdown cells?
    - Highlighting active cells in some way?
* Who gets execute privelages? Two models:
320 days ago
JamieW January 2017 weekly meetings
Min R General meetings Tuesdays at 9:00 am US Pacific (17:00 UTC during US winter)
Fernando P * To join via Phone:
Dial any of:
1 408 740 7256
1 888 240 2560 (US Toll Free) - meeting ID 6220936068
1 408 317 9253 (Alternate Number)
(see all numbers - http://bluejeans.com/numbers)
JamieW To join via computer,  https://bluejeans.com/jupyter
Copy & paste this number to join via BlueJeans App: 6220936068 
Ana R For the moderator, please share a verbal reminder for YouTube audience that they can go to https://Jupyter.hackpad.com to see all the notes!
Matthias B
  • Tuesday January 3, 2017
JamieW General Announcements:
Matthias B Reminder to try to make full sentences with all the informations you want to give, otherwise it is a daunting task to try to make a written summary on the mailing list. If writing the summary take more than 30min I won't send it. (Matthias)
Brian G Governance
  • We have a draft of trademark policy PR open:
  • Based on the trademark policy of the PSF
  • Brian has created a process document PR for authoring Jupyter related academic papers:
  • One big point to discuss is what level of involvement authors need to have to be an author on the papers:
  • The SymPy model required all authors to actively participate in the editing and writing of the paper. This worked well up to 30 authors.
  • If we wanted to have many more authors (100s) that wouldn't scale well
  • We will initially apply this process to JOSS papers.
  • Fernando has a PR open with a CoC:
  • A ton of people have helped out with this
  • We are finalizing things and expect to merge it soon
thomas@kluyver.me.uk Project management (Jamie)
  • This week I'll be working on creating and curating a Project Mgt GitHub repo 
Grant N Notebook (Grant, Matthias, Thomas, Jason)
Steven S
JamieW JupyterLab (Darian- :speak_no_evil: )
Steven S
  • Most of us were off for the past two weeks.  We will be working in earnest on finishing state restoration (but not yet dock panel layout) and the Abstract Code Editor this week.  We released version 0.12.1 over the break which has compatibility with Notebook 4.3.1.
Jason G IPywidgets (Jason :speak_no_evil: , Sylvain  :speak_no_evil: )
Sylvain C
  • Closing more issues towards ipywidgets 6.0.
  • Kernel-backed widgets as apps. 
  • Iterate on the changelog for a beta announcement
  • Question for jupyterlab team:
Min R JupyterHub (Min)
Released JupyterHub 0.7.1, DockerSpawner 0.6 with fixes for some issues that showed up in 0.7.
 nbdime (Min)
Getting a trickle of feedback, and some fixes for UI and installation / git integration cases. The Jupyter / OpenDreamKit team at Simula is also getting more involved in nbval for testing notebooks.
Michael P nbconvert (Mike) 
• Got some feedback from developer of nbsphinx
Peter P
Sylvain C
  • Michael Pacer Do you want to ask Matthias Geier about the Jupyter org?
Michael P
  • Yes, should I do that on personal email or just via public issues/prs? I'm just going to create an issue on the incubator 
Sylvain C
  • I don't know him personally. Up to you.
Matthias B GitHub Automation (Matthias) :speak_no_evil: 
Matthias B
  • I would appreciate not to have to talk, not feeling well. 
  • Taking shape, nothing worth to report. 
  • (Auto) Backport currently working.
  • Trying to work around some limitation of GitHub (beta) API waiting fixes on GitHub side.
  • Discussed things that automation could do yesterday. Need to write that up.
Michael P
  • Backports to branches
  • friendly autopep8 running into some problems with permissions
  • automatically writing issues 
Brian G Design (Brian)
  • No update
Thomas K Paper (Thomas)
  • No update today
Peter P Services (docker-stacks, nbviewer) (Pete)
  • All of the jupyter/docker-stacks images have been updated to include notebook 4.3 with token auth enabled by default.
  • There were a handful of PRs and issues submitted against nbviewer related to self-hosted instances (e.g., adding modification times to localfiles listing, fixing local notebook download from localfiles mode). There appears to be rising interest in getting more doc about running nbviewer on-premise.
Michael P  • working on nbconvert 5.0 & going forward blogpost
334 days ago
General meetings Tuesdays at 9:00 am US Pacific (17:00 UTC during US winter)
Matthias B Reminder to try to make full sentences with all the informations you want to give, otherwise it is a daunting task to try to make a written summary on the mailing list. If writing the summary take more than 30min I won't send it. 
Project management (Jamie)
  • Brian has submitted materials to a trademark lawyer to pursue initial US based word and logo mark registration.
Matthias B
  • is it ok for this to be public ?
Brian G
  • I think in this context it is fine
  • Brian is working with Fernando on creating a process for writing Journal of Open Source Software (JOSS) articles for our different repos.
Min R
  •  yay!
Matthias B
  • Brian submitted a PeerJ journal for SymPy and liked the process. 
  • Dev Meeting Follow-up - break out group
  • Finding a tool to help manage the work
  • GitHub
  • Creating a Project Management folder on GitHub
  • Aha!
  • Nice UI with useful tools for tracking sub-projects
  • Problematic in that Aha! needs to be the system of record for all inputs (ie things go into Aha before they go into GitHub) - pretty much a deal-breaker, moving on. 
  • Tech writer recruiting - today is the last day to submit leads
  • Scheduling important events
  • JupyterLab - “Silent” alpha in January, Beta in mid- to late-February. 1.0 in June/July 2017
  • Conferences
  • Team events - tutorials
  • Maintaining a solid overview of the project and its partners
  • Data Carpentry - Scheduled for Jan 9-11 @ BIDS
  • Island Avatar project - Overview of Jupyter for Island Avatar Software Dev. in January
  • Berkeley Museum of Vertebrate Zoology - Some folks in January
  • Fiona Box with Aaron Culich
Outreach (Jamie)
  • PyLadies event last week at Bloomberg. Great event overall. Some lessons learned
Carol W
  • Thanks for raising this issue and clarifying for users.
Grant N
  • Grant: I will try to cut a 4.3.1 release by EOD tomorrow
Min R
  • Make a better announcement/blog post.                                                                      
Grant N
  • Investigating the cause
JupyterLab (Darian- :speak_no_evil: )
  • The JupyterLab team is estimating a beta release of JupyterLab for mid/late February
Brian G
  • We are starting to do a big triage pass to better understand what needs to be done for the beta
  • Grant Nestor has created a very nice cookiecutter for custom MIME rendering:
  • JupyterLab output
  • JupyterLab file viewers
  • Classic notebook (requires notebook 4.3)
Grant N
  • :emoji_1f64c: 
IPywidgets (Jason :speak_no_evil: )
JupyterHub (Min)
Min R
  • Working on compatibility fixes for DockerSpawner and 0.7
Carol W
  • Working on updating and testing jupyterhub-deploy-teaching
  • Updating travis to cover Python 3.6
  • Review and fix jupyterhub doc build failure
  • Summary for Matthias: The JupyterHub team is working on compatibility fixes for DockerSpawner and 0.7. We're updating and testing ansible scripts for jupyterhub-deploy-teaching. With the recent release of Python 3.6, we will be updating Travis configurations.
Matthias B
  • Thanks you are awesome !
Min R  nbdime (Min)
 - We made the first release of nbdime: 0.1.
Matthias B  - Lots of low hanging fruits ! Contributions welcome.
  • congrats ! What only 6 of your 8 clones are working ? 
nbviewer (Min)
 - Moved nbviewer to regular server off of carina, due to recent issues.
Carol W
  • Thanks. Seems better on new server.
Matthias B
  • Where is it now ? I missed that.
Michael P • also, widgets! :)
nbconvert (Mike)
• released 4.3 & 5.0 
• broke in memory templates and Thomas Kluyver made a quick fix (waiting on merge)
  • should have a 5.0.1 or 5.1 after that
• spent time trying to figure out why docs were breaking (there were at least 3 reasons) 
Matthias B GitHub Automation (Matthias) :speak_no_evil: 
  • I would appreciate not to have to talk, not feeling well. 
  • Taking shape, nothing worth to report. 
  • (Auto) Backport currently working.
  • Trying to work around some limitation of GitHub (beta) API waiting fixes on GitHub side.
  • Discussed things that automation could do yesterday. Need to write that up.
Michael P
  • Backports to branches
  • friendly autopep8 running into some problems with permissions
  • automatically writing issues 
Brian G Design (Brian)
  • Students making another pass on the brand guidelines to address feedback at the team meeting
  • Cameron, Farica and Charnpreet are working on a Jupyter Sphinx theme based based on the Alabaster theme. We looked at the RTD theme, but it is a nightmare to customize
  • In JupyterLab master we have moved to using SVG based icons
  • Allows us to use Material Design icons at any size without artifacts
  • Also makes is really easy to create custom icons (no mucking around with custom icon fonts).
418 days ago
  • New approach: put a minus (-) next to your name if you would NOT like to audibly share progress during the meeting. The moderator will start at the top of the Hackpad and call out those without a minus next to their name. 
  • Would like us to discuss this technical topic all together during this meeting
Matthias B
  •  let's spawn a different meeting for that, unless there is time.
Peter P
  • Count me in.
  • Where to track custom mimetypes:
  • Proposal to send all payload to output in our frontends (jupyterlab, notebook)
  • IPython kernel has a flag that does this (let's also change the default)
  • nteract already doing this
Min R Min RK
  • Testing JupyterHub 0.7 services, auth API, getting ready for release
  • We've never had *good* support for lists on the CLI, though you could cram them into list literals, e.g. `--Class.list_trait="['x', 'y']"`. This paves the way for proper list aliases, etc., but it will be hard to do without breaking the old, clunky way.
Dan A Dan Allan -
  • in conflicting meeting, just leaving some notes
  • jupyter/jupyterlab-extension-cookiecutter is usable -- feedback welcome
  • JupyterLab extension for integrating JupyterHub links in progress
  • Proposal to enable connecting to external kernel from notebook server (akin to `ipython console --existing`) jupyter/notebook#1786
  • Testing and documentation on JupyterHub 0.7, configurable-http-proxy, and spawners
  • Working on docs for upgrading JupyterHub
  • New Sphinx alpha 1.5 - will work with Mike to review the changes in this release
Matthias B
  • Does this theme have documentation version selector ?
  • Follow up question from PyData Carolinas: folks were interested in using Dashboards (jupyter/enhancement proposals#20). Are we planning to graduate this from the incubator?
Gino B
  • Will be in class and unable to attend meeting
  • notebook: Working on PRs related to issues triaged from past weeks
  • ipywidgets: Triaging all issues with no milestone
  • Got a conflicting meeting... will miss
  • Highlights are the new `explore` function to visualize and query any DataFrame
  • Posted the blog post about ipywidget security release. 
  • Had seminar at UC Merced. Some researher seem interested at switching to Jupyter & Python. Education was the selling point, as the effective cost to switch from matlab is still high. 
  • Migrated custom tools to backport PR to GhPro. Matplotlib is looking at having a similar workflow.
  • Blasting JupyterLab design issues in preparation for Strata talk tomorrow
  • Nice way of organizing issues for a short sprint like activity
  • Wrote dask labextension
Matthias B
  • I'm curious of having someone how woudl someone  who never touched JupyterLab achieve that . Sorry Computer Freeziing hard to type. Hapyt o see it took you 1h, that's great.
Brian G
  • Yeah, that will be a great test to do once we get the cookie cutters written. 
Peter P
  • I think i volunteered indirectly to be the lab rat for this experiment last Friday. Once there's a bit more than the vanilla cookiecutter, I'd like to sit down and try to add something as simple as a ... button? menu item? ... and see how far I get. I probably could use what's there, but I'm sure I'd start struggling as soon as I wanted to do more than console.log.
  • New conda-forge packages of nbexamples, jupyter_cms (tnx Dan and Eric)
  • Some PRs against nb_conda and nb_conda_kernels
  • General support / PR merges in docker-stacks, kernel_gateway
  • Not feelling well, listening in
  • JupyterLab sprint - documentation and cookie cutter around third party extensions
  • Added workflow for attaching a console to to text editor and running code
  • Added a new workflow for creating a new file:
  • Fixed a bug where console clear wasn't working
  • Fixed a bug with console foreign cell styling
  • Working on using activity monitor to throttle Markdown rendering
Michael P Michael Pacer :speak_no_evil:
  • nice! 
Michael P
  • also "<colon> speak no evil< colon>"  :see_no_evil: 
Matthias B
  • "See" or "say"
Michael P  - Following up on last week 
  •  - researching CJK and foreign language support via different routes
  •  - small issues with docs, going to be working on the custom exporter docs
  •  - Matthias asked me to look into dynamically defined templates (for easier customization)
  •  - Should address CJK; custom script exporters will need a different solution
Matthias B Back to MinRK 
  • demo-driven-development for strata demo.
  • jupyter-server work
446 days ago
August 2016
1 888 240 2560 (US Toll Free) - meeting ID 6220936068
Ana R
  • JupyterDay HI - October 15, plans to announce via blog post next week Ria Baldevia
  • DevMeeting venue research, will have more to announce next week
  • Newsletter to publish this week
Min RK +
  • Back from EuroSciPy
  • I want to be conservative with traitlets releases, since it's the underpinning of everything.
Sylvain C
  • Nice. It is a good bugfix release
Documentation Resources 
Link to PyCon posters on Building Documentation: https://www.dropbox.com/sh/58j31yokefdp8tm/AACNCmKZQxuhUnvBRW2TnCM7a?dl=0
Documentation tracking site: http://www.iheartjupyterdocs.org/
  • Refreshed JupyterHub docs
  • Meeting with Michael Milligan and some of his team at Minnesota Supercomputer Institute on Friday for them to share how they are using JupyterHub
  • Still working on a couple of issues left to release declarativewidgets 0.7.0
  • Putting together my piece of the Pydata Carolinas tutorial
  • Busy on other unrelated work
  • Not feeling well, may just listen in
Carol W
  • Feel better soon. The future depends on you ;-)
Sylvain C
  • was thinking the same thing. What is the "Cold factor" of jupyterlab?
  • It looks like a combination of a WebPack plugin and a RequireJS plugin will get us where we need to go.
• Continuing to move forward on getting nbconvert to 5.0
• Worked with Matthias on getting pypi-legacy and warehouse to play nicely with the new python-requires info
  • Triaging outstanding issues
  • Fixed broken examples (all of them had regressions and runtime errors)
  • Starting process of moving to phosphor data structures and some console tests
 - ANN: Release of 0.0.5 of jupyter-incubator/traittypes. Working on rtd documentation. Migrated bqplot over to it.
 - work on nbextensions. PR coming to notebook master
   see issue jupyter/notebook#1706
 - discussions with Opendreamkit folks at sage days Paris. Mostly about conda. jdemeyer is working on moving sage's interact over to ipywidgets.
  - some work on downstream widget libraries.
  - introduce Abel Allison who started an epic rework of pythreejs' javascript.
Damián A Damian Avila
  • We have ipywidgets available from defaults channels at repo.continuum.io
Damián A
  • Looking into Jlab third-party extension discussion
  • Answering several reported issues with some popular nbextensions
  • Tech writer
  • Community guidelines/Code of Conduct
  • JupyterCon
  • Postdoc opening for HPC workflows with Jupyter @ LBL, October
Matthias B
  • Yeah ! (I think I might know SO) 
Peter P
  • conda/conda#3294 has the info about per-environment condarcs (thank Eric Dill for finding it)
Matthias B
  • Also apologies if I interrupted you but it was hard to follow because of the jumping around. 
  • Tech writer SOW, CoC, JupyterCon, Nov dev meeting
  • CSS/Less refactoring in JupyterLab
  • Final have a clean design
  • Will probably break Jason's and Chris's excellent proposal for third party extensions :-(
  • Each plugin has an index.less
  • Where to put less files in each plugin?
Min R
  • we need to have a very strong reason to use LESS instead of much bigger standards like PostCSS/Myth, especially if it's an API and not an implementation detail, and I don't think we have one.
Brian G
  • We haven't ruled that out, but we didn't want to delay using CSS variables any longer. Less is an iteration in the right direction
Min R
  • Agreed. We should just make sure we look at it before we get close to a release. The principles of the design shouldn't be substantially different. Starting with LESS to get the ball rolling makes sense.
Brian G
  • Also, I am trying to use very simple aspects of less that would be supported by basically any less preprocessor. The "API" aspects of our CSS are 1) class names (which won't change) and 2) the variable declarations (which will be a few dozen lines). But those things should be stable through major versions of JupyterLab
Matthias B
  • + for PostCss/Myth, it's the standard in JS world now. 
Min R
  • Not at all opposed to starting with LESS, just want to make sure we don't forget to look at moving to standard things once the sketch is worked out.
Brian G
  • Working with CP students
  • There is a request to post a release schedule to the dev meeting notes each week - let's do this!!! (see below).
  • Work on third-party extensions (thanks again to Chris Colbert for an excellent proposal!)
  • general keep-up on jlab issues
  • Merged a tensorflow-notebook image contribution to docker-stacks
  • Submitted PR to fix Jenkins Windows test errors in the new bundler API on notebook master
  • Planning to cut a release of kernel gateway 1.1 with some fixes that have been sitting in master for a bit
488 days ago
  • Jess and I met with Demba Ba from Harvard at SciPy and talked at length about his use of notebooks and wearables for teaching biomedical electronics. He's willing to be interviewed for a future newsletter piece.
Peter P Peter Parente
Gino B
  • Working on explorer widget for DataFrames. Currently created the widget under a new repo in incubator. 
  • Screencap coming soon!
JamieW Chris
jupyter/jupyterlab#424 - from Dan Allen @ Brookhaven National Labs. Created during the sprints. 
  • JHub workshop this Friday!
  • Gone next week, vacation!
  • New exposure to JupyterLab means new issues, so this week I'll be resolving bugs.
  • I'd like to come up with a more elegant solution to the tooltips in the console because they seem to be getting in users' way.
  • More tests
  • I'd like to get IPython 5.1 out, to fix something we broke in ipykernel
Matthias B
  •   Yes sorry I need to get back to that, did not had a enough time. 
Thomas K
  • No worries, I know the feeling. I've just been unsure who's where at the moment, so I haven't been prodding too much
  • Also trying to deal with Python packaging to make pip respect declared Python compatibility, so we can make releases for Python 3 which will be skipped by Py2.  python/peps#56
  • Putting more polish on JupyterLab, and working on cleanup and consolidation in jupyter-js-services
  • SciPy was intense, **a lot** of things happen, didn't had time to actually write code for JupyterLab, but the reception from the SciPy attendees were really good, and we had quite a bit of contributions. 
  • Well try to dig up some things from memory, should have taken more notes. 
Matthias B
  • Both talks are already online and Katie White might have time to add them to the newsletter. 
  • Really nice to meet and bond with everyone. 
  • Lot of users went through user-testing of Lab, and got a (new) Jupyter T-Shirt. 
  • Stuart Geiger & I created a map of Jupyter contributors during the sprints - working on exporting to web format for Jupyter website
Matthias B
  •  link ?
  • Continuing work on feature-parity issues, bugs, feedback, helping new contributors come on board, etc.
  • SciPy was really great
  • Just got home 5m ago, gonna take a nap and unpack
  • Digging out of email
  • SciPy was really fun and productive
  • Had a fun day at the lake with everyone on Sunday
  • Jake and I released Altair 1.0
  • from altair import tutorial; tutorial()
  • Outputs creating other MIME types on the fly
  • What is available to the JS output?
Matthias B
  •  this also open the question of reproducibility/trust that output are coming from input. 
  • We were discussing with Jason Grout about doing a COW output, were the "raw" output from the kernel ils always saved and the js "modified" one is optional. That would be in a new notebook version. 
Brian G
  • Cal Poly students did 30 in person user tests at SciPy, will post videos on YouTube and summarize everything for us.
  • We have merged 64 PRs on JupyterLab this last week! Top trending TypeScript repo on GitHub!
Matthias B
  • can we do online user testing for Jupyterlab by asking people to record their screen ? 
Brian G
  • Yes, the students are planning on following up with them as we fix things
Matthias B
  • OK. I'll have a lag on my side you answer appeared with a 30 s delay. 

Contact Support

Please check out our How-to Guide and FAQ first to see if your question is already answered! :)

If you have a feature request, please add it to this pad. Thanks!

Log in