09 10 / 2011
Editing online courses like modern browser development
After watching the first videos released for Stanford’s AI Course, it is clear the course is still quite rough. Traditional problems both in Academia & online courses are pervasive throughout the short clips. However by just following modern browser development, like Google Chrome’s release strategy, I think the AI course can remedy most of these issues.
Here are the problems as I see them :
- Some people will think a non-native English speaker is hard to understand
- The video quality & editing wasn’t very sharp
- The experience wasn’t fluid - ex. the quizzes did not auto-progress after the right answers were submitted
These are bugs that are definitely easy to overcome - and that is where the 100k+ students can help. We should be able to help contribute towards the content - like browser testers already do with Chrome. Instead of releasing one final version of the course, Stanford should release the unedited video & let the community help test & polish it.
Following the Google Chrome analogy:
- Canary - the unedited film
- Dev - A crowd-sourced, edited version (better audio?)
- Beta - A bit of polish, editing, and effects added
- Stable - Final version intended for public consumption
This would alleviate much of the burden from Stanford on editing the course material while also producing a more polished end-result.
What do you guys think?
Permalink 11 notes
09 9 / 2010
Liked the Google Logo?
Inspired by Google’s bouncing ball logo a few days ago…
Mark Brenig-Jones and I threw together a little app with Rob Hawkes’ effects. Mark did all of the heavy lifting, I just used my free time to build the letters. Pretty cool!
26 7 / 2010
13,000 readers later - Lessons from Blogging
It has been 1 week since I quit my job, and jumped 100% into learning how to program.
This morning I received an email from a reader asking:
Questions:
- How many people came back organically?
- Did “narrative” posts work better than “technical” posts?
- Anything else I should know about how to leverage the experience?
Answers:
- Total 13,000+ (Yeah, it has blown me away too!) 300 per day organically.
- I am not sure. It seems people are interested in the blog for a few reasons.
Quick survey - Why do you read this blog?
- Interested in my story
- You want to quit your job or change careers too
- Are a programmer looking to help
- Other?
Please leave the answer in the comments! Thanks!
And to the final question- there is a lot to ‘leveraging the experience!’ Here are the lessons I’ve learned:
- Google analytics doesn’t automatically track outbound links, ex. to Twitter. Solution here
- #3 on Front Page of HackerNews brings over 7,000 visitors. Anywhere on the front page brings about 1,000 visitors
- Make a link to your Twitter account very prominent - http://twitter.com/emilepetrone
- There is also a Twitter account for just blog posts, but I do not highlight that account on the blog - http://twitter.com/proudn00b
- Track RSS feeds with Feedburner
- Things will break, just roll with the punches
- Taking a big leap, does bring big traffic.
- After a link on HackerNews gets a lot of traction, you will have a big drop in traffic. 90% do not return.
- Track your analytics with Ego (iPhone App $1.99)
- People need to understand your blog instantly. Have a short description in the header.
- Get into a posting rhythm - same time of day, with a certain frequency.
- People will contact you in every possible way (Twitter, Email, Facebook, Linkedin, Comments, etc). So have all of those accounts up to date!
- As for learning how to code- you will have interruptions. Just roll with them and go with the flow. (Friday got totally wrecked after Borders made me go all the way to Palo Alto to just return a book bc I didn’t have the receipt. Goodbye day!)
- Breaks are good for (required) reflection. Took this weekend off to decompress & analyze the traffic, feedback, and take stock of where everything is. Changes to the design are coming & bought the CSS Cookbook for just that.
- Get out of the house! Go to grab some lunch or meet up with friends after a long day. Not having to go to the office, is a good & bad thing. You miss the social interactions that comes with.
- Selfcontrol is a required app. It will keep you focused.
- Setup multiple inboxes in Gmail to filter out messages from Twitter, Facebook, Linkedin, etc. It will keep your inbox organized when a post suddenly takes off.
- Tweetie is great for maintaining multiple Twitter accounts & the @ messages to them.
- Random lesson, but I go to the grocery store much less frequently. I am out of food!
- If you can’t post from your laptop, make sure you can post via your phone. Only for emergencies..
- You will get haters. Just brush em off, and ignore their comments.
- I wish there was a way I could track my blog comments, HackerNews comments, @ replies all in the same place. Any recommendations?
- On learning, start with what you know. Get very broad & slowly work your way down to a niche. It will give you a base of knowledge, and open you to new ideas you hadn’t explored (or even knew about!)
- If you don’t know something, just ask! IRC #python & Twitter have been great for fast answers.
- Stay organized! This is critical. Ex. I have a folder for links, throw everything in there & read them at the end of the day.
- Disqus is pretty great for managing comments.
- Design is critical. Initially I heard a lot of noise on the font used & way I displayed links. I learned that lesson! More changes on the way…
- Blog posts take about 3 hours to write, review, and rewrite.
- 1% of your readers will follow you on Twitter. Out of 13,000 readers, I’ve seen a bump of about 130 followers.
- Strangers are awesome - if they find you, they will help.
- If you are wrong, readers will let you know! Just learn each time!
- Figure out a structure for each post. I haven’t figured that out just yet, but that is the goal.
And on that- yesterday I posted I will not be posting daily. After all of the feedback, let me make a small correction to that policy. I will post small, technical updates daily & save longer posts for maybe once a week. Smaller posts will hold my feet to the fire, and keep me focused. The longer posts just take too long to do on a daily basis.
So there you go- I think 32 lessons is a good place to stop. Thanks guys for an awesome Week 1! Here’s to you guys! Oh, and if you could also answer the survey question too, I’d appreciate it :)
Follow me on Twitter here: http://twitter.com/emilepetrone
Permalink 1 note
23 7 / 2010
#begin #writing #code Day 5 - Learning to Code
Yesterday was a busy day. Tumblr got in touch with me (less than 12 hrs after I put in the request!) on getting the backend of proudn00b backup. With at least 15 emails back and forth, their engineering team is on it- so hopefully there won’t be too many more posts via my iPhone (with proper formatting). I am super impressed with their responsiveness, so I owe it to the Tumblr team to stick it out, and not move the site to another platform. Thanks again guys!
I also had some interesting reading recommendations.
http://twitter.com/jsuntheimer sent me a link to Paul Graham’s “Beating the averages.” If you haven’t read it, do it today! The main takeaway was learning different languages will open your thinking to the options available for solving a specific task. Definitely something that is now burned in my memory for future reference.
Article: http://www.paulgraham.com/avg.html
http://twitter.com/Venthor commented I should read the “Pragmatic Programmer.” I have just scratched the surface with the book, but the preface highlighted the Japanese concept of ‘Kaizen.’ Having taken 5 years of Japanese in high school & college, this really hit home. Kaizen is the idea of continuously making small improvements that will lead to big changes over time. Basically what I’m doing! The book looks great and I can’t wait to read further today.
Kaizen: http://en.wikipedia.org/wiki/Kaizen Book: http://www.pragprog.com/the-pragmatic-programmer
Coding:
However I did learn a good lesson: Not all tech books are written equally. Yesterday I said I was going to crank in ‘Python Programming for the absolute beginner.’ I can say with unwavering confidence- DO NOT BUY THIS BOOK. The first sign something was off was when the link on page 12 did not have the supplemental files. I had to call the publisher who routed me to the right URL - with files that had errors when executed. ex. input() when it should have been raw_input(). So that killed that book!
I did discover a great replacement- Using Google App Engine by Charles Severance (O’Reilly Book- http://amzn.to/aW8fg6). I found it first online @ Safari Books. However I cannot read a full book on my laptop- it’s just a terrible experience.
Any recommendations on Mac desktop apps for reading PDFs?
I got through the first two chapters: ‘Programming on the Web’ & ‘HTML & CSS.’ Some things I learned:
HTML ‘alt’ for alternative text id vs class - classes are designed to be repeated, ids aren’t CSS:
XXXX { } is for an id attribute
em units were derived from “the width of the capital ‘M’ in the currently used typeface”- http://en.wikipedia.org/wiki/Em_(typography) Box Model- http://www.w3.org/TR/CSS2/box.html Font family - http://www.w3.org/TR/css3-fonts/
CSS question: Why do people include ‘margin: 0;’ ?
And with this book, I’m going to continue down the route of using Google App Engine. It seems like the best way to go since I won’t have to worry about the servers, and can focus more on the ‘building the app’ part. In the spirit of Kaizen, I’ll save learning the server piece for later on.
So what am I trying to build?
A mobile, browser app that lets you connect to your Facebook friends and tag them on a map.
I’m not trying to go too crazy here, but the main thing is just getting something to RUN! I have read enough books to finally realize it is time to just jump in and get dirty. As http://twitter.com/duncanlock observed & recommended:
””” ‘If you want to learn a new skill, it is fine to read books & find solutions online. But nothing will ever replace being able to talk with an expert one-on-one. If they are your roommate, even better!’
I’m sure this is true. I’m also sure, from 15 yrs experience, that nothing - nothing that you do - will be as effective as just making stuff. If you want to learn how to make things, the only real way to do it, is to make things - lots of things. Type in every code example you see in your reading - actually type it in - any mess around with it. Extend it, try different things, mix it in with the previous one; take a break from what you’re reading, build a little toy thing that uses the new code, play around with that, then go on with the reading. Make your learning as exploratory and as practical as you can.
You should leave a trail of hundreds of tiny .py/.js files in your wake.
Fortunately for you, this has got hugely easier since I did it 15yrs ago - python, HTML, CSS, JS - they all support this style of learning really, really well. I suggest that you take maximum advantage of this and get stuck in! Remember - exploring is more fun that just reading about exploring :) “”“
Thanks Duncan for the nudge! :) Today, code is getting written and saved!
Question: What are good sites / resources for good site planning?
Last but not least…
“We who cut mere stones must always be envisioning cathedrals.”
—Quarry worker’s creed —-Pragmatic Programmer
21 7 / 2010
#listen #google app engine Day 3.
listen Day 3.
To be just frank & humble, the response so far has been nothing short of amazing. I think yesterday must have been what it feels like to be Scoble for a day. The only problem, I’m not Scoble haha. I tried to reply to all of the comments, @messages, and emails I got - some may have snuck by, sorry for that! But yesterday will be the last day I try to reply to everyone. It takes too much time away from coding/learning :/
First a thanks to the people who helped me out in the last 24 hrs. Thanks guys, I really appreciate it!
@sasha @jsuntheimer @griffinlacek @cypherer @jonrohan
A few lessons so far for other self-learners:
Do not listen to the haters. Focus on the activities that put you one step closer to your goal. Ignore the detractors. Your ears will deceive you. Make sure you are listening. Pay attention to your diet, health, and physical wellbeing. Naps are a good thing. Mentors are a must. Sharing what you learned will help you better understand the material.
On to the Coding: Because my friends use Django, I thought that would be the best place to start. I already know those people well, and can ping them when I am stuck. However I also kept hearing about Google App Engine- especially ‘Django can run on GAE!’ This hits at my point above- your ears will deceive you. I heard this about 3 or 4 times, but didn’t LISTEN. I am sure only time & more experience are the only solutions for this, but listening to the right parts of a conversation is critical! I guess I focused on the ‘Django’ & glazed over the part ‘can be run on GAE’. I think this may be the route I take… Anyway, today I installed the SDK, and messed around with their tutorial.
http://code.google.com/appengine/
http://code.google.com/appengine/articles/django.html
http://code.google.com/appengine/docs/python/gettingstarted/
In the Python tutorial, you run through Hello, World & a Guestbook in a couple variations. I was able to get the Guestbook up, but it breaks at the /sign page. I keep starring at it but maybe you guys can help?
http://emiletesting.appspot.com/
helloworld.py : http://gist.github.com/485404 index.html : http://gist.github.com/485400
Stay Healthy!
After the last 48 hours, physically & mentally, I was shot. Yesterday I was particularly dumb- coffee when I woke up, responded to posts all day, and then beer at the Simplegeo party last night. Luckily I did grab 2 pieces of pizza after, but that isn’t exactly a recommended diet. This morning I woke up with a sore throat and a groggy body. Sitting at my desk was just out of the question. So I propped my laptop up on my bed and watched Guido’s talk at Stanford on Google App Engine with a bag of cough drops.
http://www.youtube.com/watch?v=QaRcUWdwztg
The key is, for me to be able to use each and every day of this 11 weeks, I need to stay healthy and not get sick. So to combat this bug & protect my wallet, I made some Carrot Soup. Actually pretty good & got me back in action for my afternoon with Google App Engine.
Carrot Soup:
8 cups of water 3 Knorr Chicken stock cubes Tons of diced carrot (like 10 carrots…I went overboard) Thyme Rosemary Red chili flakes Pepper
My recipe for an afternoon of learning code on a chilly San Francisco day.
On a side note, one resource that I continue to turn to when I have a question is Youtube. If you have a problem, look it up on Youtube- there is probably a video that will walk you through the steps you are having trouble with. For auditory learners like me, it is great to see & listen to someone explain what is going on (instead of just read it on some website).
http://www.worldwidelearn.com/education-articles/how-do-you-learn.htm
And last, but not least…Quote of the day:
An investment in knowledge pays the best interest. - Benjamin Franklin
What did you learn today?
Permalink 11 notes
