Initial TEDxLawrence reflections

IMG_2075TEDxLawrence. What a day. My brain is far too full. Ever since I attended TEDxOKC four years ago, I’ve wanted to go back to another TEDx event, and was excited to get an invite to today’s event; great job to all the organizers and planners. The amount of work and logistics that went into today had to have been massive.

You might ask, why would I want to attend such an event, when so many of the TED and TEDx videos are online, for free, for anyone to watch?

I attend, because there is power in being in a room during a live presentation, not watching the edited version later. The energy in a TEDx event room is unlike any other event I’ve been at, and the packed schedule forces you to, at length, engage with ideas, some familiar, some unfamiliar, some you disagree with, over and over again throughout the day. It’s not a one-time inspiration, like a keynote or single session might be at a conference. These events force you to examine and connect seemingly disparate ideas, and put them together. As the Socrates quote goes, “The unexamined life is not worth living” (and I still have my college Civ For Life t-shirt). Days like today remind me that I don’t stop working long enough these days, to take the time to engage with ideas at length, write, reflect, and connect, and draw new meaning.

TEDxLawrence was much smaller than my experience at TEDxOKC, but the ideas shared were no less powerful. Ideas around creativity, that your work MATTERS, that there are many different possibility workflows (most important book Pam Grout uses? a 99c notebook), and failure.

I have a lot of notes from today, and will be slowly putting them up online throughout this next week, but I wanted to comment briefly to two talks that I found to be very much connected.

A video of Sally Kohn’s TED@NYC talk, “Let’s try emotional correctness” was shown AFTER Mick Murray’s live talk, “Faith & Science — Healing a Divide”, a very tough topic to tackle publicly, especially in Lawrence, KS.

I wish Sally’s video had been shown before Mr. Murray’s talk. Mr. Murray lost his place in his talk a few times, and there was a lot of awkward silence in the crowd, and seemingly very little support or encouragement as Mr. Murray worked to find his place again in his talk.

For a town that prides itself on being open to ideas, it was as if the crowd was almost gleeful that Mr. Murray was stumbling through his explanation — and gasp — failing, something that speaker after speaker today said was necessary for insight, for success. Mr. Murray may have thought he failed in reaching his audience, speaking to faith and science needing to dialog more — that they are not necessarily diametrically opposed.

Later, someone said she said him slip out of the event, looking very down. I felt terrible when I heard that because, for me, at least, his talk resonated and it resonated even more so, because the pauses forced me to listen more, to look closer at what he was saying, and recognize some of his points go beyond the faith and science debate.

He said, “It’s the dogmatism on one end or the other that prevents us from having a conversation about how the two can overlap.”

This statement holds true for MUCH of our society today, particularly politics. People yell past each other, stay in their comfort zones; don’t stop and listen to one another. As Kohn said later, “we don’t spend enough time talking through our disagreements. We need to find compassion and build common ground.”

Mr. Murray said that we need to “Lay down the religious dogmatism on one end and the scientific intolerance on the other….If we’re suppressing certain conversations from entering society in the name of political correctness, where does that leave us?”

For the moment, that’s where TEDxLawrence is leaving me. Not the much-needed job inspiration as my workplace enters a new era with a new director (Congrats Laura DeBaun!) or the power of partnerships to recreate and revive neighborhood schools — which definitely also happened.

TEDxLawrence challenged me to work to continue to figure out how to get people from different perspectives to stop the yelling, to listen to each other, truly listen to each other, with empathy, with compassion, and see what develops from that. And that’s an idea worth spreading.

Smells Like Teen Systems: DevOps Nirvana

Frank Wiles, @fwiles @revsys  Slides will be online later.

Smells Like Teen Systems: Advice for raising healthy happy systems and getting to DevOps nirvana

People are fearful of change. Must be small at first. Baby steps. Be agile — little a, not big A: be spiritual, not fundamentalist; mandating….just because you read it somewhere, doesn’t mean you must do it if it doesn’t work for your organization. Have ammunition: managers need data, explanations to make decisions.

Apply metrics mentality to:

  • change requests
  • trouble tickets and bugs
  • deployments
  • outages of the smallest magnitude
  • interoffice political fights
  • approved and denied requests for equipment or funds
  • hires, fires, and quits
  • $$; labor hours, etc

“We spend on average 19 hours per week requesting more information”

Guilt tripping — no other option to keep up.

“Once we put <insert system> in place, we realized we no longer needed that weekly meeting…”

DevOps: Develop Everything Visibly Automate Paranoid Services

DEV: Develop Everything Visibly: “Everything has to happen out in the open”

OPS: Operate/Automate Paranoid Services “Automate everything with ridiculous amounts of monitoring and metrics”

Everything is version-controlled. Log of why things happened.
Everything is tracked. Ticketing; Trello; Bugs; etc.

Even more visibility:

  • Level 1: Team Chat. Like Slack. Email is for outsiders.
  • Level 2: Chat Ops <– mmmmmbot!
  • Level 3: Have some fun <– Fun bots

Chat ops suggestions

  • Deployments and config changes
  • Status summaries: bot check load db3
  • Maintenance: bot start maintenance file-server-1
  • Display Alerts and Warnings
  • Server boot/shutdown messages
  • Ops logs: bot log Upgraded redis to 2.8.19
  • Resolutions: bot resolve ticket #8 Ended up just needing to restart Apache
  • Common actions: bot restart apache on production

Tools: This is how we do it

  • Python: scripting language {relatively easy to learn and readable; libraries for talking to everything} Lots of libraries: Fabric highly rec’d, shell scripting on steroids
  • SaltStack: master & and then salt (minion) code. as simple or as complicated as you want; fast communication even among hundreds of systems (zeromq +aes); extensible via python; ability to return data to the master for monitoring or metrics purposes; simple to crazy complicated orchestration between systems. Examples of uses: Targeting (/srv/salt/top.sls); Pillars (/srv/pillar/* (config differences as data such as); templating
  • Consul: service discovery and monitoring: health checks; discover services via DNS or HTTP REST apis; deadman health checks.
  • ELK: Elastic Search/Logstash/Kibano <– fast log searching for when you don’t.
  • “Logs that aren’t centralized are rarely checked and logs that aren’t searchable are never correlated” -Frank Wiles
  • Graphana: for metrics visualization; pretty graphs.
  • Don’t capture exceptions in your inbox; put in a system. Exception.io; Rollbar. Rollbar also tracks deployments.
  • What to capture? As much you can store.
    • general collectd system stats
    • logins/signups/emails sent
    • failed login attempts/emails bounced
    • run time of crons and batch jobs
    • backup run times and file size(s)

Resistance. Route around it. If you don’t work with the process….

Maverick Ricardo Semler {1993}

Turn resistance back on others, sometimes so it’s so cumbersome that it burdens their way of thinking.

Open Source and Scale at Twitter

Keynote at 2015 Kansas Linux Fest, hosted at Lawrence Public Library

Dave Lester @davelester

OSS Advocate at Twitter, Inc.
Apache Mesos and Aurora PMC Member

A lot of metadata are in tweets.

Twitter is a big proponent of Open Source — see their website. Some are on Github; some are not.

Front-end developing — Bootstrap; typeahead.js

Dave focuses on key infrastructure projects at Twitter: finagle, scalding; analytics and infrastructure

1. How is Twitter scaling?

What is scaling? See Wikipedia entry. Reaching beyond your current capacity — social and technical solutions.

Twitter numbers (2014):

  • 500 million tweets /day
  • 3.5 billion/week;
  • 6000+ tweets/sec (steady state)

Twitter is “the pulse of the planet”. Can sometimes predict spikes (live, popular events, like the World Cup); sometimes can’t. Could throw 10x the servers at the problem OR improve scalability.

Remember the Fail Whale?

Previously, Twitter: ruby on rails, 200 engineers pushing code; needed a solution to isolate failure and isolate feature development

During 2010 World Cup — lots of issues keeping Twitter up; 2014 after scalability and OS projects, much more stable.

Breaking up monolithic applications into microservices. Common pattern among companies; see Groupon talk, “Breaking up the monolithic

Today, building a distributed system.

2. Twitter’s Open Source infrastructure

  • “Twitter Stack” including Apache Mesos, Aurora, Finagle
    • Mesos: top-level software at Apache; began as research project at UC Berkeley; layer of abstraction between machines in a datacenter and applications that run: cluster manager & resource manager. Mesos actively monitors what’s happening across the cluster (Zookeeper). Addresses the problems of fault tolerance and resource efficiency and utilization.
      • Design Challenges: each framework may have different scheduling needs; must scale to tens of thousands of nodes running hundreds of jobs with millions of tasks; must be fault-tolerant and highly available
      • Master-Worker architecture + Zookeeper cluster
      • Marathon scheduler
      • A lot of #klf15 scalability preso is going over my head, but I do wonder what #kohails project could “get” from Mesos/Aurora scalability
  • Why care about resource utilization? Fewer machines; less human resources.
    • How to best reuse idling times? Early research
    • Quasar — users specify performance target for applications instead of typical resource reservations; machine-learning used to predict resources usage and for cluster scheduling; research by Christina Delimitrou and Christos Kozyrakis at Stanford
    • Google Borg — Google’s cluster management solution; AMP Lab, and John Wilkes spoke at MesosCon 2014.
    • Aurora provides deployment and scheduling of jobs; rich DSL for defining services; health checking; one scheduler to rule them all: can manage both long-running services, as well as cron; can mark production and non-production jobs; production jobs can pre-empt non-prod jobs; has an additional priority system. Aurora has executor features — responsible for executive code on individual worker machines, sending status to Mesos when a task completes.
  • Hundreds of separate services with different owners
  • Managed by Site Reliability Engineer (SRE) teams

3. How and why OSS?

“many parts building on and amplifying each other” -Gordon Haff, Red Hat

Building an ecosystem.

Frameworks

Services: Aurora; Marathon; Kubernetes; Singularity

Big Data: Spark; Storm; Hadoop

Batch: Chronos; Jenkins

Framework bindings — C++, Java, Clojure, Haskell, Python, or write your own.

Resources for writing mesos frameworks — his slides will go online with links to this info.

Community > Code. Very very much true.

Let’s Scale in the Open: increased speed of innovation; more-reliable software; more-visible contributions and impact; broader peer group and sense of community.

Out with the Old, In with the New (KLC Closing Keynote)

Awful Library Books @awfullibbooks

slides

Holly Hiber and Mary Kelly, authors of Making a collection count : a holistic approach to library collection management

People come to libraries to get the materials that meet their needs. We need to have the right info for them, that is correct.

Continue reading

Getting CLASSy with Lifelong Learning

Morgan Davis, Salina Public Library, Community Learning Coordinator
Outreach Department. Has a background in PR and communication. Job is a great way to be infused in the community.

Library’s mission statement: “Connecting people to information, learning, and culture.”

CLASS: Community Learning and Skill Sharing

Each semester CLASS has 50-60 classes. Instructor are community members who have been found to teach the classes.

People who come to classes, never stop learning.

What is CLASS? A program of non-credit classes offered by community members at a low-cost and with low-commitment. Chose not to offer certification or for-credit courses, so the library doesn’t compete with other community organizations.

1.5 hrs 1 time, up to 6 week-classes. Most expensive class is a beginning Spanish class, for $89, 20 hours over five weeks, includes a textbook.

“programs” library programs are typically free to attend and may serve a specific purpose or present a specific point-of-view

“classes” lifelong learning classes require a course fee and are broadly educational in nature, and make sure there’s a value-added take-away from the class.

Are instructors paid? $15/class hour offered or volunteer time. This is built into the class fees. The library makes no money off this program.

From the beginning:
Grassroots: Learning for Life began with 6 people and a vision for community learning. 410 people in first semester. Learning for Life was a trademarked name, so it had to be change.

Non-profit status: In 2004, CLASS was granted non-profit status.

Move to the library: After CLASS reached out to the library board, they were allowed a trial run for the fall 2005 semester. Library director was one of the original creators of the program.

Today: our semesters average 700 enrollments and are almost entirely self-sustained.

Program website: www.salinapubliclibrary.org/class

Think through registration process, including simple approaches at the beginning.

Signup registration software. Switching to CourseStorm for credit card processing. Can add cash & check registrations on the back end.

Close registration a week before the class. Have a course-enrollment minimum set, and if that minimum isn’t met, cancel the class and let registrants know.

LERN is the bomb! http:www.lern.org International learning organization that the library belongs to.

Community support is critical for this program. If the community isn’t willing to invest time, money, interest, buy-in and more, the program won’t succeed. Financial support is only a small part of what makes CLASS successful.

Positive word of mouth keeps CLASS going. Friends sign people up for gifts, surprises. Invest in the people.

Have a liberal refund policy for people. Registration refundable if a participant cancels a week before.

How can you afford to offer classes?

How to price course:
Course fee involves: instructor fee, staff time, room use fee, materials, library supplies, (monetary value — will this class be worth the fee set). Divide the total cost to run the class divided by the course minimum, to then determine the course cost.

One course may have a surplus, but one may not. It all evens out in the end.

Program called Pass the Buck, for people to contribute toward a scholarship fund for people who can’t afford classes. Someone who asks for a scholarship will attend a class at half-cost.

Is there a dedicated space for classes? Community learning center has 2 classrooms, but also find spaces in the community to host the classes.

Offer classes in the best venue for the class. Community kitchen. Cabinetry company has kitchen as well. Schools. Churches. Main library building used. Some of these do charge for the space.

A week before the class, a reminder email sent, including map to the class location. If they don’t email, a phone call will be made.

Do people object to going outside of town for some classes? Every now and then, someone does say that, allow people to drive attendee out to the class location.

Sounds great, but who’s going to teach?
*Teachers will come to you (credentialed and passionate teachers)
*Students will come to you (“I want to learn x…” who can teach that?)

But if they don’t come to you, check these places for people and topics:
*Newspaper
*Facebook
*Community calendars
*Art center, museums, or libraries
*Schools
*Colleagues and friends

This helps you find topics and attendees and teachers, but it also helps you know which dates to avoid (especially the school calendar).

Teachers that receive negative reviews….ask the instructor how s/he thought the class went, let the instructor read the evaluations, and that opens the door for further conversation. People usually know, they’re good at self-evaluation.

Usually asking someone to teach, it’s a compliment to them, encouraging to them.

If library staff teach a class, it’s voluntary time, still have to go through the application process.

The numbers part
Statistics will differ with each library the type of information you need to track.

Good things to know in building your program:
*Attendance
*Income
*Expenses
*Marketing reach
*Types of payment being taken

Always get participant and instructor feedback via evaluations

Talk to people! If they have to pay for something, they won’t be afraid to let you know whether they thought it was worth their time and money.

Course catalogs mailed to people who have taken classes over the last 3 years. Also sent to three-targeted carrier routes. And left in common community spaces. — track where people hear about classes.

Targeted course catalogs cheaper than newsprint.

Staff attend beginning of first class, to make sure things go smoothly. LERN suggests leaving sticky note with “feel good” message for instructor.

Challenges: inter-departmental relationships. Library departments and communication. Have conversations with library staff often. Understand what other library departments do, their time, their challenges…that helps communications.

Future:
*CLASS 4 Kids! 10 classes targeted at kids + family classes
*New demographics
*Increased participant input
*Stronger online presence

If 50 percent classes go the first time on a new approach, that’s a good success rate. Try things twice, two different times of year, day, venue, etc.

@morgandavis2011