These are chat archives for ipython/ipython

3rd
Mar 2015
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:21
@minrk we might have a possibility to come to berkeley next week
when exactly would be a good time?
Jonathan Frederic
@jdfreder
Mar 03 2015 00:23
@SylvainCorlay Monday-Thursday will be our dev meeting.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:23
All-day long?
Jonathan Frederic
@jdfreder
Mar 03 2015 00:23
I'm not sure of the specifics of what we will be doing each day, but I'm guessing @/all could be flexible.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:24
do you have a specific agenda?
Jonathan Frederic
@jdfreder
Mar 03 2015 00:24
Yes we do
Yeah, usually all day long.
let me see if I can find it
it's a hackpad
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:24
ah, great
because if we come, I will need to start arranging the trip pretty quickly
Jonathan Frederic
@jdfreder
Mar 03 2015 00:25
Okay I found it
I'll send you the details
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:26
awesome
Jonathan Frederic
@jdfreder
Mar 03 2015 00:28
You should have an email with the invite
That reminds me, I need to book a hotel too
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:33
awesome
thanks
Min RK
@minrk
Mar 03 2015 00:34
@SylvainCorlay I was teaching a class. If you can come for a bit, that would be terrific. We can plan around you, to some degree. We haven't set anything in stone, and I don't think there's anyone else planning to participate remotely.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:37
Great, I would probably take the occasion to visit San Francisco's R&D office. I will look at the agenda and get back to you tomorrow.
Min RK
@minrk
Mar 03 2015 00:41
I'm not sure we've put much of anything on the Agenda yet, but we can work around you guys if you can only be here for a day.
I don't think there will be too many distinct topics, since the repo restructuring is so complex. I think that's going to be the vast majority of what we cover.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 00:44
In any case, it can be good for us to be aware of what is being discussed
Min RK
@minrk
Mar 03 2015 00:44
Yup, we'll definitely loop you in for the widget and traitlet stuff
and if you are here, we'll save that for when you are.
Scott Sanderson
@ssanderson
Mar 03 2015 00:57
Are those dev meetings on air like the regular weekly ones?
Min RK
@minrk
Mar 03 2015 01:04
No
These are all day every day, everybody in one room things.
Kyle Kelley
@rgbkrk
Mar 03 2015 01:07
It's a secret society where we light candles before we go in and then walk out in stunned silence.
Wrong meeting, sorry! The details are always on a public hackpad.
Min RK
@minrk
Mar 03 2015 01:08
sacrifice small mammals to the gods of funding, etc.
Jonathan Frederic
@jdfreder
Mar 03 2015 01:08
@rgbkrk you're responsible for bringing the lamb
Kyle Kelley
@rgbkrk
Mar 03 2015 01:08
lol
Jonathan Frederic
@jdfreder
Mar 03 2015 01:08
:goat:
Kyle Kelley
@rgbkrk
Mar 03 2015 01:08
too bad I'm not able to come this time... :(
can I order takeout lamb chops?
Min RK
@minrk
Mar 03 2015 01:09
Unacceptable.
@ssanderson previous ones have covered several topics, I don't think we are going to cover much other than the repo split this time.
Scott Sanderson
@ssanderson
Mar 03 2015 01:53
Gotcha. Figured I'd ask since the repo split sounds like a fun/interesting problem.
Min RK
@minrk
Mar 03 2015 01:53
You have an interesting definition of "fun"
Scott Sanderson
@ssanderson
Mar 03 2015 01:53
it's mostly just synonymous with "hard"
Min RK
@minrk
Mar 03 2015 01:54
It won't be streamed, but we'll keep public notes on Hackpad
Scott Sanderson
@ssanderson
Mar 03 2015 01:54
figuring out how to delimit conceptual boundaries of stuff is also more conventionally fun IMO
at least for engineers
Min RK
@minrk
Mar 03 2015 01:55
I think we've done an okay job with most of the interfaces (nbformat, msgspec)
the hard parts are probably going to be the config system (what's IPython-specific, what's generic / Jupyter) and the utils we have accumulated that are everywhere.
and making widgets a package separate from the notebook is going to force us to have a better answer for installing external things with Python + js + css than we have had in the past.
(which is good, but also hard)
Scott Sanderson
@ssanderson
Mar 03 2015 02:00
yeah, I'll be interested to see what you guys come up with for packaging
Min RK
@minrk
Mar 03 2015 02:00
Me, too
Scott Sanderson
@ssanderson
Mar 03 2015 02:01
for qgrid we basically just treated the javascript and assets as package_data
which works well enough
the only hiccup is that the user has to manually do an install step to put stuff in their nbextensions folder
there's support in some of the python packaging infrastructure for distributing separate packages under the same "namespace" right?
I know zope does some interesting stuff ther
s/ther/there
gah, hipchat, muscle memory...
I think flask also has a means of dynamically finding plugins that are packaged in a certain way
so that if you have flask you can get the packages from flask_ext or somesuch
Min RK
@minrk
Mar 03 2015 02:04
yeah, we still aren't sure if we want to use namespace packages or not
they get a lot nicer apparently in Python 3
Scott Sanderson
@ssanderson
Mar 03 2015 02:05
apparently they started using namespace packages and then decided against it and instead setup a magic redirect package
Min RK
@minrk
Mar 03 2015 02:14
Yup, thanks
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:16
Does anyone else have thoughts on #7912? I’m trying to refactor nbgrader a bit — e.g. currently it reimplements almost all the functionality of NbConvertApp, which I’d like to not be the case, but I am blocking on #7912
I suppose I could also implement a new writer for nbgrader, but that would probably also basically just do everything FilesWriter does.
Min RK
@minrk
Mar 03 2015 02:19
relpath's behavior is a bit odd, I don't have a good intuition for its use
What would its value be in nbgrader?
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:20
You have an assignment, e.g.
Min RK
@minrk
Mar 03 2015 02:20
(the general issue makes sense, I just don't have a good sense of whether relpath is the right fix, or if there's perhaps a more general change we should make)
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:20
Sure, let me see if I can explain it better
Min RK
@minrk
Mar 03 2015 02:20
Thanks
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:21
This message was deleted
(Bah, sorry, it keeps sending before I want it to)

So you have an assignment, e.g.:

teacher_version/
    Problem 1.ipynb
    Problem 2.ipynb
    data/
        arr1.npy
        arr2.npy

You run want to run nbgrader assign (which is just a fancy version of ipython nbconvert —to notebook), which you want to produce:

student_version/
    Problem 1.ipynb
    Problem 2.ipynb
    data/
        arr1.npy
        arr2.npy

However, the way that the FilesWriter currently works, if you do ipython nbconvert —to notebook —FilesWriter.build_directory=student_version —FilesWriter.files=‘[“teacher_version/data/*.npy”]’ teacher_version/*.ipynb, you will end up with:

student_version/
    Problem 1.ipynb
    Problem 2.ipynb
    teacher_version/
        data/
            arr1.npy
            arr2.npy
The only way currently to not end up with that is to run nbconvert from the teacher_version directory
Thomas Kluyver
@takluyver
Mar 03 2015 02:27
@/all if you're coming to the dev meeting, please let us know which days at http://doodle.com/ntxmnrtfbiuz9hhu so we can plan topics.
Min RK
@minrk
Mar 03 2015 02:28
@jhamrick ok, I think that makes sense. It also seems to make sense that the default relpath should be dirname(notebook_file), right?
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:29
Hmm, yeah, probably
I guess there could be cases where you want to pull in files from elsewhere, but those are probably unusual
Min RK
@minrk
Mar 03 2015 02:29
I would think so
and in nbgrader, you want it to be the dir containing the notebook, right?
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:30
Yeah
Min RK
@minrk
Mar 03 2015 02:31
then I think both:
  1. relpath (your PR) makes sense
  2. default relpath should be dirname(filename) for each notebook
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:32
Ok, cool. I’ll update the PR to change the default, then
Min RK
@minrk
Mar 03 2015 02:32
great, thanks
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:38
Hmm, actually, the writer doesn’t seem to have access to the dirname. What’s the preferred way to give it access? Via resources?
Min RK
@minrk
Mar 03 2015 02:39
Either resources, or set it on the writer in NotebookApp
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:39
Ok
Min RK
@minrk
Mar 03 2015 02:39
since the Writer may be called when the notebook isn't coming from a file
but NotebookApp cannot
You could add the full path to resources in Exporter.from_filename
right now, we put a name in with the basename, but not the path
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:42
Yeah, I think that’s a good idea. I was thinking of doing a PR for that anyways because it’s useful for other things, too.
Min RK
@minrk
Mar 03 2015 02:42
makes sense
ok, I'm heading home, but I'll be back on later tonight.
Thanks for working on this.
Jessica B. Hamrick
@jhamrick
Mar 03 2015 02:43
Ok
Thanks for taking a look at it!
epifanio
@epifanio
Mar 03 2015 08:19
is it possible to write a python object to file using %%file magic. or i need to use open(‘file’, ‘w’) … … ?
Thomas Kluyver
@takluyver
Mar 03 2015 17:13
No, %%file writes the cell as a literal string. To write a Python object, you'll need to use open()
Matthias Bussonnier
@Carreau
Mar 03 2015 17:49
I'll be with Fernando from BIDS for the meeting.
Min RK
@minrk
Mar 03 2015 17:51
ok
Min RK
@minrk
Mar 03 2015 18:05
@Carreau technical difficulties, or are you set up?
Jason Grout
@jasongrout
Mar 03 2015 18:46
huh, wonder why it's not showing up.
Maybe we should cut a quick 3.0.1?
Jason Grout
@jasongrout
Mar 03 2015 18:54
oh, wait, the dev meeting is already over, right?
Min RK
@minrk
Mar 03 2015 18:56
it is
what's not showing up?
Jason Grout
@jasongrout
Mar 03 2015 18:59
usually the youtube video is embedded in the chat here. Not a big deal, though.
@kesterTong - Chris's phosphor version of dom-diffing does something like 60fps with 1000+ elements
Jonathan Frederic
@jdfreder
Mar 03 2015 19:01
@jasongrout it's probably a bug in gitter, it's showing on my screen.
You may just need to refresh
S. Chris Colbert
@sccolbert
Mar 03 2015 19:09
Sounds like I should have been in that meeting - just watching the video
A few comments: 1) I think Github made the right decision moving away from React for their editor - a virtual DOM is the wrong model for a text editor (IMHO)
Jason Grout
@jasongrout
Mar 03 2015 19:10
by the way, I've been diving into phosphor and hopefully will be out there next week in the dev meetings. I'm not an expert by any means, but maybe can help educate.
S. Chris Colbert
@sccolbert
Mar 03 2015 19:12
2) I added a virtual DOM implementation to Phosphor to make it simpler to generate content based on data - rather than try to force the user into an "everything is a widget" world. Use widgets for high-level scaffolding and complex performance-critical things (like text editors), use the virtual DOM when you want to generate a bunch of custom content based on some data (file lists, trees, forms, etc...).
Jason Grout
@jasongrout
Mar 03 2015 19:13
also, by the way, @Carreau - I heard about pouchdb the other day. I wonder if we can use something like that in the realtime collaboration/syncing.
S. Chris Colbert
@sccolbert
Mar 03 2015 19:14
3) My virtual DOM is simpler and smaller than Reacts (and hence faster), it's also type safe. I still wouldn't use it for a text editor, but as @jasongrout says 60fps updates on a 1k node tree is possible.
4) There are a couple parts of React's model of which I'm not a fan. The first is that its possible to generate a hierarchy which results in a non 1:1 mapping between a react component and a DOM node, the second is that react implements a full synthetic event system, which I don't feel is necessary in modern browsers.
Matthias Bussonnier
@Carreau
Mar 03 2015 19:16
@jasongrout I'll have a look. Thanks.
Jason Grout
@jasongrout
Mar 03 2015 19:17
I'm just getting to the dev meeting part about babel vs. typescript, etc.
Typescript is a superset of es6. With typing as well.
S. Chris Colbert
@sccolbert
Mar 03 2015 19:18
5) None of this means that you are prohibited using React withing a Phosphor widget hierarchy. Writing a Phosphor widget to host a React component would be exactly as hard as it was to write the Phosphor Widget which hosts a Phosphor virtual element: https://github.com/phosphorjs/phosphor-ui/blob/master/src/elementhost.ts#L37
Jason Grout
@jasongrout
Mar 03 2015 19:18
Typescript really worked hard to have compability and readable js
S. Chris Colbert
@sccolbert
Mar 03 2015 19:20
I (obviously) ditto @jasongrout comments about TypeScript. It is a mature project supported fully by Microsoft and headed by one of the best language designers in the world. The generate Javascript is fully usable from non-Typescript environments.
It certainly not without peculiarities, but it's exceptionally better than vanilla JS, particularly on large projects. The interfaces alone are worth the price of entry.
Jason Grout
@jasongrout
Mar 03 2015 19:27
it seems to have a pretty frequent release schedule, and they are working hard to get es6 features implemented/finalized.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 19:54
@jasongrout and @sccolbert merged. They are completing each other's sentence.
Jason Grout
@jasongrout
Mar 03 2015 21:42
It looks like we might be there at the same time as Kester next week.
(Monday - Wed afternoon)
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 21:42
yeah
Jason Grout
@jasongrout
Mar 03 2015 21:43
@sccolbert said he might come too :)
Matthias Bussonnier
@Carreau
Mar 03 2015 21:55
It the english expression "The more the merrier" ?
S. Chris Colbert
@sccolbert
Mar 03 2015 21:55
Looks like I can make it for a few days next week - do the organizers have a preference?
Min RK
@minrk
Mar 03 2015 22:01
Most of it's probably going to be about the repo split, but probably 1/2-1 day on react/phosphor and real-time, and 1/2-1 day on widgets and packaging extensions. I think we can plan those discussions based on who's available.
Maybe aim for Tuesday/Wednesday for all that stuff?
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 22:02
We were thinking of flying Monday morning and coming back on Wednesday night
(by we, I meant Jason and I)
Min RK
@minrk
Mar 03 2015 22:02
Specific times?
Would you be around Monday afternoon and/or Wednesday AM?
I think we can cover most of that stuff Tuesday + Wednesday AM, if that works best for you guys. I'm not sure if we've heard about Kester's availability.
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 22:04
I can't leave on Sunday night. I don't know how much time it takes to get to Berkeley from the airport (never been to berkeley)
Min RK
@minrk
Mar 03 2015 22:04
SFO or OAK?
S. Chris Colbert
@sccolbert
Mar 03 2015 22:05
probably SFO
Min RK
@minrk
Mar 03 2015 22:05
1 hr + ϵ
Michael Dweck
@mykeylynx
Mar 03 2015 22:16
Hello can someone please help? I have an aws ec2 instance with git on it serving a wordpress directory. I am using my mac and have git setup to a repository on git how can connect to the files?
sorry ley me try again
I want to edit the files on the ec2 instance from my mac
Min RK
@minrk
Mar 03 2015 22:28
@mykeylynx this is a chat room for IPython, are you in the right place?
Michael Dweck
@mykeylynx
Mar 03 2015 22:31
nope sorry
S. Chris Colbert
@sccolbert
Mar 03 2015 22:45
@minrk what's the address of the meeting, for hotel-finding purposes?
S. Chris Colbert
@sccolbert
Mar 03 2015 22:46
cheers
S. Chris Colbert
@sccolbert
Mar 03 2015 23:13
Alright, Jason and I will be there Mon afternoon, all day Tue, and Wed morning
Sylvain is still in prog
Jonathan Frederic
@jdfreder
Mar 03 2015 23:21
Awesome!
:D
Sylvain Corlay
@SylvainCorlay
Mar 03 2015 23:25
same here
same flight
Min RK
@minrk
Mar 03 2015 23:46
Excellent