Inspired, once again. This was the fifth XOXO Conference & Festival (my fourth, having missed last year).
There’s too much about XOXO 2016 to fit into one "XOXO 2016" blog post. So much that there’s no way I’d finish if I tried.
4-ish days of:
Independent creatives giving moving, inspiring, vulnerable talks, showing their films with subsequent Q&A, performing live podcast shows (with audience participation!).
Games, board games, video games, VR demos. And then everything person-to-person interactive. All the running into friends from past XOXOs (or dConstructs, or classic SXSWi), meetups putting IRL faces to Slack aliases.
Friends connecting friends, making new friends, instantly bonding over particular creative passions, Slack channel inside jokes, rare future optimists, or morning rooftop yoga under a cloud-spotted blue sky.
The walks between SE Portland venues. The wildly varying daily temperatures, sunny days hotter than predicted highs, cool windy nights colder than predicted lows. The attempts to be kind and minimally intrusive to local homeless.
More conversations about challenging and vulnerable topics than small talk. Relating on shared losses. Tears. Hugs, lots of hugs.
Something different happens when you put that many independent creatives in the same place, and curate & iterate for five years. New connections, between people, between ideas, the energy and exhaustion from both. A sense of a safer place.
I have so many learnings from all the above, and emergent patterns of which swimming in my head that I’m having trouble sifting and untangling. Strengths of creative partners and partnerships. Uncountable struggles. The disconnects between attention, popularity, money. The hope, support, and understanding instead of judgment.
I'm hoping to write at least a few single-ish topic posts just to get something(s) posted before the energies fade and memories start to blur.
Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.
- Understanding incremental compilation. Now available in Rust nightly.
- Higher-rank and higher-kinded types explained using a Java-like syntax.
- Designing Futures for Rust. Explaining the core design of Futures library.
- The relationship between async libraries in Rust. How Futures, MIO, and Tokio are different from each other.
- Thoughts on trusting types and unsafe code - by Niko Matsakis.
- Learning systems programming with Rust. Transcript of the closing keynote at the first RustConf.
- Writing GStreamer elements in Rust (Part 2). Read part 1 here.
- A critique of Rust's std::collections.
- Why I’m dropping Rust. (See this reddit discussion thread for responses from the Rust community).
- [podcast] New Rustacean bonus episode 7. Building (and celebrating) all the little, not-so-glorious pieces of the Rust ecosystem.
- Reports of a Trojan written in Rust.
- This year in Conrod.
- This week in Servo 77.
- This week in Rust docs 21.
- These months in Amethyst 9.
- This week in Tock embedded OS 4.
- This week in TiKV 2016-09-12.
- What’s coming up in imag 15.
Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
- [hard] rust: Support Apple app store bitcode.
- [hard] rust: Missed opportunities to eliminate bounds checks.
- [easy] tempdir: make directory removal robust on windows. This bug lets you publish a replacement for the unreliable std::fs::remove_dir_all fn.
- [moderate] rust: Create official .deb packages.
- [easy] rust-www: Better front-page example. The front page example on the website isn't so special. Make it shine.
If you are a Rust project owner and are looking for contributors, please submit tasks here.Updates from Rust Core
84 pull requests were merged in the last two weeks.
- Don't double-count nested struct prefixes in DST size calculation
- Individual MIR passes now show up in -Z time-passes
- Refs to associated sized types no longer result in ICE
- impl Trait now correctly reports the empty lifetime
- Errors in macros now note the correct location
- Suggest self::_ when missing item in current module
- save-analysis changes variable value output
- Item-like imports are no longer reported as unused
- Compiler controllers can now access the Registry
- Macros are now stacklessly expanded
- Cargo is now Macros-1.1-ready
- Accessing external statics now requires unsafe
- Cyclic traits no longer allow arbitrary traits to be synthesized (which lead to unsoundness)
- Rustdoc filters out Dereffed methods on &mut self unless self impls DerefMut
- Jake Goldsborough
- John Firebaugh
- Justin LeFebvre
- Kylo Ginsberg
- Nicholas Nethercote
- Richard Janis Goldschmidt
- Ulrich Weigand
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- mem::discriminant(). Add a function that extracts the discriminant from an enum variant as a comparable, hashable, printable, but (for now) opaque and unorderable type.
- Add a compiler flag that emits crate dependencies on a best-effort basis.
- 9/17. Rustfest Europe Conference.
- 9/19. Paris - Rust Paris.
- 9/20. Rust NYC Meetup.
- 9/21. Rust Boulder/Denver Monthly Meeting.
- 9/21. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 9/22. RustPH Mentors Meeting.
- 9/22. Rust release triage at #rust-triage on irc.mozilla.org.
- 9/26. São Paulo Meetup.
Tweet us at @ThisWeekInRust to get your job offers listed here!Quote of the Week
No quote was selected for QotW.
Like many of us in the design community, I’ve followed along in recent years as seemingly countless companies have undertaken the exciting and often fraught challenge of redesigning their visual identities. A quick glance at the Before/After section of Brand New, the well-known design blog dedicated to the critique of such things, shows 216 projects chronicled year-to-date.
Some redesigns have been well received like Google’s, while others have drawn an enormous amount of criticism from both the design community and the general public, such as Uber’s. These are interesting times for design as the critique of our work has moved from something those of us in the trade might discuss with colleagues over dinner, to something that anyone with an @handle and opinion can weigh in publicly over social media. On several occasions, this public discourse has taken such an extreme tone that Andrew Beck has described it as design crit as bloodsport.
Designing in the Open
Earlier this year I began consulting with non-profit Mozilla to tee up a logo redesign initiative. During that time, Mozilla’s Creative Director Tim Murray proposed the idea of designing in the open. His vision was to build off of the open source principles that are bedrock to Mozilla by applying them to the end-to-end process of an identity redesign. The idea was to be as transparent as possible with the process, the initial concepts, the refinement and the outcome, and to have an open, public dialog with many people as possible along the way. He would engage the typical stakeholders one would expect, such as Mozilla’s senior leadership, as well as Mozilla’s 10,000+ strong volunteer community. But Tim also wanted to reach beyond Mozillians. He invited not only the design community into the discussion, but anyone for whom the Mozilla mission – to keep the internet healthy, open and safe for all – resonates.
Initially, his proposal made me slightly uncomfortable. I felt a mix of caution and curiosity and I had to ask myself: why?
A Mix of Caution and Curiosity
I was concerned that opening up earlier stages of the design process to that kind of public commentary (think stakeholders at scale) would negatively affect the work. And my hesitancy was also rooted in a lack of understanding as to what Mozilla was asking from the design community. I questioned how we as designers could meaningfully participate in a public dialog about design work. After all, by submitting a professional opinion on everything from initial thinking, to design exploration through concept and execution, weren’t we engaging in a kind of spec work?
As for my curiosity, it was piqued by the opportunity to re-examine the methodology by which design outcomes are generated. Would a larger and more diverse conversation upfront in fact lead to a better outcome? And as design crit has gone mainstream and instantaneous thanks to social media, how can we show up in public conversations about design deliverables without compromising our point of view against spec work?
Where Things Stand Now
The identity redesign is now well underway. johnson banks was selected as the agency partner and Mozilla has indeed undertaken a fully transparent, moderated, and public design process. The first round creative concepts were shared a week ago and met with hundreds if not thousands of responses and a full news cycle in the design press.
While the end result of this unconventional approach remains uncertain, we do know that Tim and team created a process that is true to Mozilla’s open source beliefs and the manifesto that guides the company’s conduct. And we know they are willing to withstand the outcome even if it rises to the level of bloodsport. For that, they should be commended.
As for the questions raised about spec work and the Mozilla initiative, if you’re aligned with Mozilla’s mission and choose to provide critique then your participation as a practicing professional is an act of volunteerism. In their words…
“What we’re seeking is input on work that’s in process. We welcome your feedback in a form that suits you best, be it words, napkin sketches, or Morse Code. We simply want to incorporate as many perspectives and voices into this open design process as possible. We don’t take any single contribution lightly. We hope you’ll agree that by helping Mozilla communicate its purpose better through design, you’ll be helping improve the future Internet.”
As for the larger questions raised by increasing public dialog about design, it’s up to each of us personally to determine how we participate and when. But all industries experience change, design is no exception. By at least trying to understand Mozilla’s approach to this project and how it fits within a broader narrative, designers can use this as an opportunity to challenge long-held methodologies, and perhaps pave the way for new ones.
Republished with permission from AIGA SF / The Professional Association for Design
Photo credit: Wikimedia Commons “And Phoebus’ Tresses Stream Athwart the Glade”
Common (excluding Website bugs)-specific: (36)
- Fixed: 603933 – outlook 2007 invitation reply wrong sender
- Fixed: 1009894 – Update internal timezone database from version 2014b to version 2015a
- Fixed: 1070491 – Today pane/sidebar: Month and year always “Jan 5555″ on startup
- Fixed: 1070881 – Running xpcshell tests failing because Lightning directory missing from dist/bin/extensions/
- Fixed: 1083374 – Calendar xpcshell and mozmill tests failing after OS X signing changes
- Fixed: 1095119 – Remove Promise.defer usage
- Fixed: 1101175 – Accepting inviations doesn’t work as expected (403 forbidden)
- Fixed: 1110881 – Google login popup gives no context
- Fixed: 1116227 – String shims are defined incorrectly
- Fixed: 1116305 – Lightning 3.3.2 still speaks only English in TB 31.3.
- Fixed: 1116882 – calRecurrenceRule tries to set a non-numeric BYMONTHDAY rule
- Fixed: 1117339 – Thunderbird 24 doesn’t support using Promise as a constructor
- Fixed: 1117340 – Task lists don’t work for calendar entries without a calendar
- Fixed: 1117341 – Outdated client message shown when using obsolete token
- Fixed: 1117540 – useDefault not correctly set if there are no default alarms
- Fixed: 1117541 – Fix and run xpcshell tests for the provider
- Fixed: 1120163 – Warning: Property contained reference to invalid variable
- Fixed: 1120258 – Saving an item in the event dialog fails with MODIFICATION_FAILED if the item has been modified elsewhere
- Fixed: 1120669 – Details button in imipBar is not always reset
- Fixed: 1121156 – Converting to event broken for locales without an alphabet
- Fixed: 1121373 – “Other month” day label in month view have a different color
- Fixed: 1121415 – Replace timezones.sqlite with a non-binary format
- Fixed: 1123088 – Label for calendar alarm preview button should be “play”
- Fixed: 1123207 – Sea Monkey Calendar has disappeared
- Fixed: 1124152 – Move shims from gdataUtils to shim/ subdirectory
- Fixed: 1124154 – Wait for parsing to complete before completing synchronization
- Fixed: 1124640 – Excessive drop-downs and other widths in Lightning’s options – Calendar pane tabs
- Fixed: 1126338 – Cannot create Google event with addItem() with attendees and no organizer
- Fixed: 1127247 – Typo in timezone JSON property
- Fixed: 1128105 – Meeting Accept/Decline buttons not appearing on incoming meeting invitations
- Fixed: 1128258 – Error in attendee invitation dialog
- Fixed: 1128293 – TEST-UNEXPECTED-FAIL | xpcshell-icaljs.ini:calendar/test/unit/test_alarmservice.js | test_addItems – [test_addItems : 12] false == true
- Fixed: 1129094 – [Error: ics-service doesn’t recognize own tzid: floating] [TypeError: aComponent is null] in calTimezoneService.js
- Fixed: 1129857 – Update timezones to 2015a
- Fixed: 1130841 – Fix the TodayLabel color for systemcolors
- Fixed: 1130902 – Notifications are not sent when modifying events
Sunbird will no longer be actively developed by the Calendar team.