mikeal / nodeconf2014

NodeConf 2014 Organizing and Planning.
7 stars 1 forks source link

Workshopper connectivity / OS and other technical requirements #41

Open rvagg opened 10 years ago

rvagg commented 10 years ago

I don't have a good enough memory of last year and perhaps things have changed, but this might be worth discussing anyway.

Internet: I'm wondering where everyone's at with making their workshopper offlinable and also what the chances are of having enough internet connectivity to do some basic things. I know @timoxley's npm workshop is particularly tricky to do without internet access. How far should we go in making sure they can run without internet access? Also what about installing them in the first place, should we just make complete tarballs + node_modules available that they can npm install -g workshop.tgz off a USB drive or from a static server on someone's computer on the local network?

Network: can we expect IP addresses to be relatively stable across the conference? Do we have any ability to assign a static IP address to a mac address? What about adding local entries to the local DNS resolver?

npm: Are there any plans for a local npm mirror? I have a static mirror on a USB stick but that's probably not helpful!

OS: I've decided to completely give up on Windows support for my workshopper, perhaps I (or someone) will have time for that massive yak shave post-NodeConf. I'm preparing to offer ssh access to a bunch of containerised sshd instances with my workshopper and various Linux editors already installed, on my laptop, for people that can't get set up on their own computers (because they are on Windows or have other technical problems). Do we have any idea of the kind of breakdown of OS we're likely to have at NodeConf from previous years' experience? Mine obviously requires a lot of compiling but so does stream-adventure because it uses ws, was that a big problem with this last year? If you're on Windows and need to compile a native addon then you have to get online to install MSVC, they don't even offer a downloadable ISO of it. How much of a problem is this from people's experience?

rockbot commented 10 years ago

@rvagg: out of the approximately 200 people who came through our session last year, I would say approximately 20 had windows machines. I actually anticipate a higher number this year, as it'll be a different group, and word will have gotten out that NodeConf is super hands-on and worthwhile for newer Noders. Also, I think it's worth noting that Windows users don't necessarily know linux very well...

I say this not to rile anyone up about supporting windows users, but more to prepare everyone for the inevitable "hey, this doesn't work and I don't know what's going on and halllllllllp!!!"

(Last year we had to have windows-specific binaries of johnny-five on a USB stick, and even then not everyone walked out totally successful. :-/)

achingbrain commented 10 years ago

For our regular meetups we've got USB sticks holding installation files for VirtualBox and Linux VMs preloaded with everything they need which we'll bring along.

Windows support is just too painful - we've seen people sink most of their day into installing Visual Studio and other nonsense in the past and none of us use Windows well enough to be able to help in any meaningful way so it's usually better for everyone if they just use a VM.

rwaldron commented 10 years ago

The windows problems were specifically for Serialport, so if you have a prebuilt version of Serialport on a USB, they can "drop it in" (bothe Johnny-Five and Firmata will need it)

heapwolf commented 10 years ago

I believe docker runs on windows; a per built image might be the solution to windows users problems

On Sunday, June 29, 2014, Rick Waldron notifications@github.com wrote:

The windows problems were specifically for Serialport, so if you have a prebuilt version of Serialport on a USB, they can "drop it in" (bothe Johnny-Five and Firmata will need it)

— Reply to this email directly or view it on GitHub https://github.com/mikeal/nodeconf2014/issues/41#issuecomment-47455640.

Paolo Fragomeni Founder, Here is How http://hereishow.to

github.com/hij1nx twitter.com/hij1nx

rvagg commented 10 years ago

I believe serialport now does node-pre-gyp for prebuilt binaries so those partocular problems might go away this time. Unfortunately mine is all about compiling so I need a fully set up environment.

mikeal commented 10 years ago

Yup, the Cylon.js guys got serialport releases prebuilding binaries so anyone who is depending on it should make sure they are depending on the latest version.

mikeal commented 10 years ago

Internet: I'm wondering where everyone's at with making their workshopper offlinable and also what the chances are of having enough internet connectivity to do some basic things. I know @timoxley's npm workshop is particularly tricky to do without internet access. How far should we go in making sure they can run without internet access? Also what about installing them in the first place, should we just make complete tarballs + node_modules available that they can npm install -g workshop.tgz off a USB drive or from a static server on someone's computer on the local network?

Last year the internet stayed up the whole time (as far as I know) but we had assumed it wouldn't and didn't rely on it too much. If we hammer it I bet it'll fall over so we should do whatever we can to make things work offline.

Network: can we expect IP addresses to be relatively stable across the conference? Do we have any ability to assign a static IP address to a mac address? What about adding local entries to the local DNS resolver?

We have very little visibility in to their network setup and the one time we tried to tweak it we actually broke it for a full day (this was back at CouchCamp years ago). Everything is dynamic but the IP per machine should be stable after assignment.

npm: Are there any plans for a local npm mirror? I have a static mirror on a USB stick but that's probably not helpful!

I don't actually know how possible this is now compared to a year ago. The service has changed a lot. Luckily most of NPM Inc engineering is on this repo :) @rockbot @ceejbot @isaacs @othiym23

OS: I've decided to completely give up on Windows support for my workshopper, perhaps I (or someone) will have time for that massive yak shave post-NodeConf. I'm preparing to offer ssh access to a bunch of containerised sshd instances with my workshopper and various Linux editors already installed, on my laptop, for people that can't get set up on their own computers (because they are on Windows or have other technical problems). Do we have any idea of the kind of breakdown of OS we're likely to have at NodeConf from previous years' experience? Mine obviously requires a lot of compiling but so does stream-adventure because it uses ws, was that a big problem with this last year? If you're on Windows and need to compile a native addon then you have to get online to install MSVC, they don't even offer a downloadable ISO of it. How much of a problem is this from people's experience?

This is essentially what the dtrace workshop did last year so that everyone could get on SmartOS and it basically worked. If you are concerned about the wider network going down I can give you an AirPort and you can have a fully localized network to fall back on.

For the most part I'd like people's workshoppers to work on Windows but yours would just be way too much divergence in content because you're compiling shit. I'm curious how the "hack on node" workshopper last year dealt with this /cc @isaacs

rockbot commented 10 years ago

We (aka npm) will bring a local npm.

:-)

rvagg commented 10 years ago

@rockbot can you tell us how it'll work? are you going to hijack DNS for registry.npmjs.org or are people going to have to --registry or config set registry? will it be read-only or will we be able to publish to it and have it sync back to the main registry?

mikeal commented 10 years ago

it won't be that hard to get people to set their local registry config if that is what it takes.

ceejbot commented 10 years ago

Here's what I'm going to do: I'm going to bring a fullfatdb, aka a couchdb with all package info & tarballs. This will give us a local installation source for everything. I can also do something like run caching DNS on it as well. (It's probably going to be a Mac mini with a giant disk hanging off it, so don't go crazy here.)

If we think publication is going to be frequent enough to need a local boost, I can also arrange to have the users db on this host, and do a sync later. But I'd rather avoid that scenario if I can.

rvagg commented 10 years ago

Judging from my personal behaviour delivering new workshoppers, I for one at least will be publishing updates even while delivering the workshop! I guess I'll just do that to the public registry unless there's DNS hijacking going on, presumably your fullfatdb will be doing a sync during the weekend so any new publishes will be sucked on to it so I guess that should work out.

ceejbot commented 10 years ago

Yeah, I'll be setting it up to sync so it stays fresh.

rvagg commented 10 years ago

cool... so just be sure not to publish your workshops without shrinkwrap and you'll be fine with a local mirror!