Welcome to weekly Federated Wiki hangout on August 20, 2014
On today's call
In wiki, page names serve the role of hashtags
- Then need disambiguation?
Group configuration, people using different words
Meetups, with groups that don't crosstalk
David is working on Service Systems Thinking
Paul has been catching up on Express
- A board with a character display
- Has USB hardware on the chip, so can do flow control with C
- Run an interpret -- text with enzyme -- twiddle bits, LED glows
- Write Perl or Java or Ruby scripts to stream data to interpreter
- Has a repeat loop, e.g. do something 10 times
- Series of pulses
- Streaming of programs goes into separate hardware, invoke it, throw it away
- Macro that runs in plugin, formulates programs, send to the microcontroller
- Broke it in refactoring
- Added ability for "string backs"; send a string, plugin then checks if it has a macro with that name
Demo: federated wiki for OSCON hardware showcase
- From fed wiki in browse, can make hardware blink and beep
[Fire drill for Ward!]
Compatibility of Paul's code with Ward's code?
- Had SFW on Github that had the Ruby server, the node server, and the client and the plugins, in separate directories
- Nick split the Node server onto a separate project, about a year ago -- at that point, the versions were the same
- The Ruby version signs in with OpenID, the Node version now signs in with Persona, which seems to be an better solution at the time
- Ward was having problems with OpenID providers disappearing
- At some point, ended up two versions of the client: after the node server was moved to separate project, moved the client server at the same time?
- Some divergence
- Then did massive refactoring with plugins into separate repo
- Ward then started working with NPM to do a separate Ruby-Gems
- Client version has moved on with time, the server versions haven't changed much, it's convoluted
Difference in client versions?
- Just different versions
- When a feature is added, e.g. drag and drop between pages, it won't be on any server that was installed a while ago
- When logging in, the version gets downloaded to the client
- Should have a page that tells what version of the server and client is connected to -- it's not obvious
- There's a server command that does this, but it doesn't do a check
- Could check with Git if there's a new version
OpenID vs. Persona?
- OpenID, when save the identity, saves the URL
- Persona saves the e-mail address
- Ward had been have problems with the OpenID provider
- A risk that Persona could disappear? It hasn't been taken up more widely
- Current problem with people who use Google identities, the OpenIDs won't work
[Fire drill over for Ward!]
Timebomb will be people who signed up with Google IDs on fed.wiki.org
- No SLA, not in trouble if they can't log in
- Ward erased all of the identity information and reclaimed
Speed bump of being technologically savvy to use federated wiki?
Claim a cookie, instead of claiming a site?
HTML5 browser local storage retains the content across reboots
- WebRTC data channels
- A way to open up binaries
- Still need some server to handle the connection details
- There are people working on not having a server connection
What behaviour should we expect if there's content in the local browser storage?
- Try a variety of ways, and then enable the affordance that works
- Original sponsors insisted on the ability to edit in private, and then publish when a group of aticles is approved
- Can do this by having a local version -- a pain in the butt
When publishing, is there a way to subscribe?
- To subscribe, add a site that you care about, it will cause all of the sites to be collected
- You have to ask for it
- Not RSS, call it sitemaps
How to a control-Z?
- Go to the ghost page, fork the page, and then it clears the journals
- Varies between implementations, not all servers do that
- Journal is the undo buffer, visualized
- In the Node version, doesn't do the annotation
Recent refactoring in the Page Handler
- Depending on the fork, different types of behaviours
- Should be unified sometime
Working with Txtzyme, need to find on pages, have to drag in more frequently
- Not meticulous about IDs, could end up with two things with the same ID
- Need to make samples about events
- Shift-and-drag, drop
- Complicated ways to remember original IDs, with aliases -- but too complicated
- Theory: when you finally learn what to do when the software becomes simple, then the design becomes simple
- Luxury to have a few powerful features, and learn what they can do over time?
Simple versus easy: simple isn't easy to do
- Can make something simple to use, but not easy to use
- Wiki was successful because it was simple and awkward to get around the cheesiness that Ward had written
- David has been working backwards from pattern language to understand the context of architectural programming, as used by built environment architects
- Ward doesn't follow a methodology
- Good fortune and trusting colleagues to make something work, surprisingly, and then make it worth of study
- Might be successful only after someone takes the code away from Ward, and makes it valuable
- Research prototype? Wouldn't complain, would be a little hurt
- Nick would do this?
Agile has worked well when you have a well-defined customers
- Works well when you have a good project manager that adds as a surrogate for a customer
- However, there are a lot of good things that can from not agile?
Nick is getting close to feature-freeze
- No official freeze, but have an announce date, can't add much
- Do work with visual designers (user experience), have a lot of influence
- Didn't have much room for that in agile
- Have elevated computer programming from dysfunctional to average
- Now when people report fantastic gains, it was because they weren't getting anything done, now getting things done
- First, physicists, they were used to making things done
Domain-driven design as agile that is closer to object-oriented design
- Ubiquitous language
- Important that developers use the language they're coding, especially if they have a customer using a language
- Eric Evans found this in Smalltalk when doing container shipping -- whole team had to learn a lot of business practices
- Nothing in the book that Ward disagrees with
- More social interaction practices
- The place to begin is on ddd.fed.wiki.org -- the patterns are there
- The best is to buy the book, could ping Eric