December 12, 2012¶
- Hosted at QConnect (Get confirmed URL soon)
by Randall Degges
Problems he wants to solve in Caller ID¶
Ancient tech dominates (1905 era)
15 character strings for caller ID isn’t enough
Caller ID doesn’t really work on Mobile - it involves serious hacks
Users pay around 1 cent per query
resolving it is hard
- Pricey: Telco negotiating means talking to Executives and very expensive
- Resources: Tiny community of developers who know CNAM telephony
- Complex: Based off really weird switches that cache CNAM data without updating
- Hacks for mobile
- Data quality issues
"It's just a string" -- Every developer, ever
How they resolved it¶
Figure out how to replace it
Provide longer Unicode string
Make it cheap: .04 cents per query (really cheap)
Provide an API:
$ curl -H "Accept: application/json" # TODO add rest
- Under 1000 lines of code so they know it’s stable
- Lots of good libraries for it
Similar to MongoDB, at least as fast and much more stable
Really, really fast
- In their case it’s 2500% (25x) faster than PostgreSQL if you are in the Amazon Datacenter
- DynamoDB is so fast in their case it’s faster than using MemcachedD
Reliable (data replicated across data centers)
- Simple to get started
- Reliable (99.99%)
- Via Heroku can scale up as needed
- Use read-slaves to increase for performance
BitPay for BitCoin
Method - SOA¶
They broke up the project into a bunch of components
- API service (handles telephony)
- Accounts App (user authentication)
- Website app (public facing site)
- Developers can focus on individual components
- If one part breaks, the other parts will still function
Flask Libraries they used¶
- Replicates ORM functionality
- Pretty fast
- Handles authentication
- flask-login decorator
You don’t need marketers
Use this formula
- Google your industry
- Find your customers
- Put names, urls, and emails into a google docs
- Email 3 customers per day, asking for feedback
- Listen to feedback
A better protocol for Called ID
- 100 character Unicode string
- CNAM Storage product
- Make it faster
- Make it cheaper
The Role and Representation of Python in the Online Educational Boom¶
By Justin Hampton
- First distance learning system was proposed in 1892!
- In the 1970s correspondence education picked up with television lectures
- Now we have a ton of on-line courses
The Future is in the Headlights¶
- Modular vs. Linear
- Personalized vs. Generic
- Distributed vs. Localized
- Accessible vs. Elite
… but we’re not there yet.
What we have today¶
- MOOCs: Massive Open Online Courses (e.g. Coursera, Udemy, Udacity, EDX, etc)
- DIY courses: (hackerspaces, Maker Fair)
- Peer-to-peer Learning Exchanges (Meetups, PyCons, et al)
MOOCs are the new kid on the block. MIT Courseware and other things have been around for a while, but haven’t taken off until recently.
Why this is important: 1 trillion dollars in US student debt means that many students feel can’t educate themselves via college.
The MOOC Controvery¶
Issues that people raise against MOOC:
Is that a real education that you’re getting?!?!
- read Clay Shirky’s essay on the subject.
The encroachment of entrepreneurs
- Is it wise to drive education through business?
- What skills will entrepreneurs want people to learn?
Potentially inapplicable for most forms of education
- Can you get your medical degree this way?
Impossible to stop cheating/other forms of academic dishonesty
- How do you really test the student?
- How can the education system get validated if online?
What does this have to do with Python?¶
- Everyone offers a Python programming course.
- Python pops up even in non-programming courses such as statistics
- Python is “the new Basic”
Getting with the programs: Working with EDX, Coursera, et al on local tutoring programs (can be part of paid portions)
Making room for the influx
Reinforcing via tutorials and small instructional efforts like PyCon tutorials
Devising our own platforms: the black best system
- College degrees take this place in traditional educational systems
- What can we do to enforce standards across MOOCs
- Not much use for advanced Python developers - perhaps just reinforcement.
- There is a need that exists to educate towards a an individual’s unique circumstance, no matter who one is.
- Opportunity and money for experimentation is there.
Collegiate/University education provides a type of socialization that can be a factor in employment. This factor is often ignored by people who advocate not attending Collegiate/University. IE - lack of cultural context needed to interact at certain levels:
Entrepreneurs are often shockingly uneducated and inexperienced, relying on sales rather than any other skill. Do we want them determine the future of education?
Really interesting discussion about online education at SoCal Python.
- Are MOOCs really the answer?
- Do we want business driving education?