codestarter
codestarter
Codestarter Blog
58 posts
Don't wanna be here? Send us removal request.
codestarter · 10 years ago
Text
Easier links in ActiveAdmin using auto_link
I both love and hate building admin interfaces with ActiveAdmin. Let’s talk about a thing I like about.
When building an admin interface, it’s inevitable that you’ll need to link to related objects in the system. For example, on an order page, it’s great if you can link to the user who made the order and vice versa. These types of links are really useful, so you will likely be coding quite a few of them.
But coding them can be cumbersome. I always have to grep the routes to figure out the route needed to link to another resource. And calls to link_to often end up being super long and ugly.
It turns out, ActiveAdmin contains a method that completely solves this problem - auto_link. With auto_link you won't have to look up any routes and all your long link_to calls will become much shorter. Let’s look at an example.
This is what I used to write:
link_to order.user.name, admin_user_path(order.user)
Now, I write this:
auto_link order.user
That second example generates the exact same link - awesome!
Link Text
Conveniently, auto_link will often generate useful text for the link using a series of fallbacks. When the default text is not what you want, you can simply provide a second argument to the method like this:
auto_link(user, 'my fancy text')
I found auto_link by browsing the source for the ActiveAdmin demo site; it’s a very helpful supplement to the ActiveAdmin documentation.
1 note · View note
codestarter · 10 years ago
Text
Codestarter Laptops: How we’re making it super simple for kids to get started.
Tumblr media
Now that we've shipped our awesome automated thank yous, I want to explain a bit about how we’re simplifying Codestarter’s onboarding process for kid coders. Since our first laptop delivery on July 20 to CoderDojo NOVA in Alexandria, Virginia we’ve learned tons about what works and what doesn’t when you’re trying to help kids start using their very own computers.
If you want to take a step back, you can read first about How we turn $199 Chromebooks into Ubuntu-based code learning machines for kids.
Onboarding Kids
Version 1:
In Codestarter’s pilot efforts at giving laptops to kids, we worked closely with Partner Coding Organizations to include more kids into their programs. But we focused on the laptops, instead of the kids. We shipped our laptops and Partner Coding Orgs identified high-potential kids and connected them to the laptops we delivered. We created video tutorials for Partner Org leaders and paper handouts for kids, in hopes of making the onboarding process straightforward.
Tumblr media
Partner Orgs took charge of onboarding kids, which included first-run configuration of Ubuntu (selecting language, wifi, time zone, keyboard layout, name, username, computer name, and password), registering the laptop with us (entering serial number, name, email, age), and THEN filling out an intake survey with 20+ questions. Can you imagine what it was like to keep a group of excited, squirmy kids all focused on filling out surveys, getting parental consent forms signed, not pressing the spacebar so they wouldn’t erase Linux, and also not forgetting their passwords? IT TOOK FOREVER. Sometimes kids didn’t have enough time to complete the process. We’re still working to encourage those few kids to finish, and when they do, we’ll send out those thank yous.
Version 2:
We quickly realized that onboarding would go better if we asked kids to apply in advance, including filling out parental consent forms. This shortened the onboarding process a ton. Plus donors could now see the child they were funding, and we could track a donor to a child to a laptop. This felt great!
We also improved the installer so that our laptops automatically boot to Ubuntu instead of ChromeOS. In addition, pressing the space bar on boot no longer wipes out the Linux partition!
Tumblr media
There were still some bumps though. Kids had a terrible time typing in their serial numbers correctly. Those suckers are long! Kids also have a knack for creating really secretive passwords, and then forgetting them. This results in a device that can no longer be used and must be re-installed. Finally, some quirk of the installation process occasionally results in the date of the machine being set to decades in the future. When this happens, it exposes a bug in Ubuntu’s DHCP client that results in the inability to connect to the internet. When the date is corrected, the wifi works again. We must extend a huge thanks to the Seattle CoderDojo for their patience in helping us track down this very strange bug!
Version 3:
In Codestarter’s most recent effort to simplify the onboarding process, we’ve worked from this question: What is absolutely necessary for a kid to do in order to get started coding?
Alex, our Lead Dev, created a fun experience that now looks like this:
Tumblr media
When Salvador receives his laptop and opens it for the very first time, he clicks on a special icon and sees his smiling face. If it’s him (which it should be), then Salvador is prompted to take a photo of himself, which we send to the donors who crowdfunded his laptop.
Tumblr media
On the front end, our Codestarter team has already scanned the serial number and pegged it to Salvador and his application. No more asking kids to enter serial numbers. We’ve also removed the username and password process (a couple of kids shed tears after locking themselves out). Now all computers are set with the child’s first name and a universal Codestarter password. Of course, kids can obviously figure out how to change their passwords as they learn their way around the Chromebooks. That’s part of the fun of having your very own computer, isn’t it?
We’ll continue to refine our process for onboarding, and for getting thank yous to Codestarter donors. We’re always open to feedback, so please keep in touch. And if you want to get involved directly to help us build out new features or refine our process, or to design more delightful materials, drop us a line about volunteering at [email protected].
Check out today’s kid coder who hopes to receive a laptop at https://codestarter.org.
Keep in touch with us on @twitter, @instagram, and @facebook.
Tumblr media
2 notes · View notes
codestarter · 10 years ago
Text
Remember that Codestarter laptop you funded? Here comes your thanks!
by Theresa Preston-Werner
A simple thank you can make the world go around.
At Codestarter, we’ve been busy automating the process that sends out huge thanks from the kids receiving laptops. Since our June launch at Techstars Demo Day, Codestarter has busied itself with accepting donations, sourcing laptops, developing a custom installer script for our Codekits, onboarding Partner Coding Organizations, and delivering laptops to the kids who use them to learn to code. We’ve sent a ton of shout-out tweets and emails about a personalized thank you from the kids, but we were still busy building the process. Now we can finally answer the burning question of ever donor:  
What happened to my donation?
This week we complete the donation cycle by delivering automated and personalized thank yous, like this one:
Tumblr media
When students receive their laptops, they take a photo of themselves using the laptop’s camera. You’ll receive this photo in your thank you, as well as a bit about what he or she likes to study (or doesn’t like to study) and hopes and dreams for the future. Over time, you’ll get to see answers evolve as the students grows, studies more, and develops new interests.
Tumblr media
Sending out the long awaited thank yous has been a weekly discussion at Codestarter. One afternoon our Communications Director, Rheanna, and I threw up our hands and determined that we’d just do it the old fashioned way--write hundreds and hundreds of thank yous by hand. Then we realised it would take weeks. So naturally, our Lead Developer, Alex, presented the idea to write some code and automate it.
My co-founder Tom spent most of December writing a script to automate the thank yous, which involved seemingly unending “If” statements. As we’ve learned what works and what works better for onboarding students, we’ve seen various levels of success with laptop usage. Thank yous had to be written to account for students who took photos of the ceiling or forgot to take a photo at all, or who didn’t fill out the questions correctly, whose information we use to populate the email text. Endless variations. But in the end we have a Thank You 1.0 that we’re excited to share with our donors.
Tumblr media
Many of you are monthly donors and have supported Codestarter from the beginning - and we know you can’t wait to hear about the kids you’ve impacted directly by donating.
I’m glad we’ve had the chance to provide some transparency into the giving (and thank you) process, and I hope you enjoy and share this awesome thank you with your friends and family.
Tumblr media
Next week we’ll be posting about improving our laptops and onboarding process. If, for any reason, you don’t get all of the thank yous that you’re anticipating, this next post will help to explain our Codekit shipping and kid onboarding process a bit more. And we’re still nudging a few Partner Orgs to hand out the very last remaining laptops we’ve sent their way. Sometimes it takes a kid longer to register - so keep an eye out for their thank you coming soon.
Want to fund a laptop for a kid to learn to code? Visit us here: https://codestarter.org
4 notes · View notes
codestarter · 10 years ago
Text
New Funding for Broadband Access In Schools and Libraries Paves the Way for the Future of Education
By Guest Blogger Daniel Fernandez
The Federal Communications Commission’s E-rate program connects the nation’s schools and libraries to broadband. It is the government’s largest educational technology program. Since it was founded in 1996 where only 14 percent of the nation’s K-12 classrooms had access to the Internet, it has grown to ensure schools and libraries have internet access today.
On December 11, the FCC agreed to increase the spending to enable more schools and libraries in poor or rural areas to gain access to high-speed internet. The jump in spending totals $3.9 billion and will open up to the two-thirds of American schools that still don’t have access to fast internet connections.
As we know, the learning experience is continuously changing. There are a number of internet-based digital learning technologies available - a trend that highlights the growing importance of the internet in giving students access to interactive conversations with teachers, peers, the ability to do homework, apply for scholarships and gain basic job skills.
The measures put in place by the FCC highlight the importance of enabling youth to connect online, and hopefully, in time learn to code to prepare for the jobs of the future.
Tumblr media
0 notes
codestarter · 11 years ago
Video
youtube
At Codestarter, we believe that any kid, anywhere should have the opportunity to create something incredible, to one day become the future of tech. And it all starts with having their own computer.
Techstars recently featured Theresa Preston-Werner, Codestarter co-founder and CEO, to share a bit about her background and inspiration:
I’m working with our core team, our volunteers, our donors, and our partner coding organizations and schools to give laptops to kids who want to learn how to code, but can’t afford their own computers. Getting laptops into the hands and homes of underserved kids is a missing puzzle piece in the collaborative race to get more kids learning how to code.
I never dreamed of running my own company, let alone a tech company. After more than a decade working with education-focused nonprofits and researching class, gender, and labor for my PhD, I realized that supporting world-wide access to technology education is one of the greatest ways to enable more people to confront a heterogeneity of problems important to them.
2 notes · View notes
codestarter · 11 years ago
Photo
Tumblr media Tumblr media Tumblr media Tumblr media
Learning to code starts with a computer. Getting those computers to kids starts with AWESOME HUMANS who volunteer their time and talent to image laptops. It takes approximately 13 minutes of attentive work to set up just one Codestarter laptop. No experience? No problem. A passion to help out and join the Codestarter mission is good enough.
Every Wednesday we meet in our San Francisco office from 5-7 to get these laptops set up. If you'd like to join, shoot us an email at [email protected]
Bring a screwdriver and maybe even a friend. We'll provide the music and drinks after! 
0 notes
codestarter · 11 years ago
Text
Putting Tech in the Hands of Kids with ChoreMonster
Tumblr media
Our friends over at ChoreMonster reached out to us in hopes of joining forces this holiday season to get more laptops in the hands of kids. In the spirit of giving, they offered to MATCH every single dollar donated to Codestarter for the month of December. Needless to say, we’re thrilled! But not simply for the donation matching. We’re thrilled because ChoreMonster is an awesome company invested in improving the lives of children (and parents) with technology to tackle pesky chores!
As parents, we love that ChoreMonster combines technology with say, washing those stinky socks, through positive reinforcement. Their mobile app aims to make chores fun and rewarding. Kids can earn points and super cool monster badges by completing chores that they then turn into real life rewards like - ice cream, an hour of Xbox, or even a Disney trip. And parents get to enjoy a hassle free, engaging digital system that takes the tension out of family chores.
Take a moment out of your day to join us and our friends at ChoreMonster by donating here, and then becoming a ChoreMonster yourself! 
Check out their blog, and read more about their decision to partner with us: http://blog.choremonster.com/help-us-give-laptops-to-kids-learning-to-code/
0 notes
codestarter · 11 years ago
Text
Charitweet Features Codestarter for National #GivingTuesday Movement
  Charitweet has chosen Codestarter as the featured charity for this year’s #GivingTuesday, a first-of-its-kind effort that aims to transform how people think about, talk about, and participate in the giving season through the use of social media. This is a huge partnership that highlights the importance of getting technology in the hands of underserved kids, so that even more kids can learn to code and shape the future of tech.
“#GivingTuesday is a counter narrative to Black Friday and Cyber Monday because it reminds us that the spirit of the holiday giving season should be about community and not just consumerism,” said Kathy Calvin, CEO of the UN Foundation. “The most meaningful gift we can give our children, loved ones, friends and neighbors is the commitment to work together to help build a better world.”
In the next 7 days leading up to #GivingTuesday (Tuesday, December 2) - Charitweet will feature Codestarter, harnessing the power of twitter to spread the word about our mission and encourage giving back. It's a simple, and powerful, way for us to get more laptops in the hands of kids waiting to learn to code.
All you need to do is send out one tweet from here or tweet a dollar amount including @codestarterorg and @chrtwt, like this:
Join me @chrtwt and @codestarterorg to give $10 towards a laptop for a kid who wants to learn to code. Pls RT #futureoftech #GivingTuesday 
The magic is in the RT. The more support people show on Twitter through RTs, the more donations that come in. 
Join Codestarter's #GivingTuesday initiative with Charitweet to get more laptops in the hands of kids wanting to code: https://www.charitweet.com/codestarterorg
Tumblr media
0 notes
codestarter · 11 years ago
Text
I am a Codestarter
by Alex Okolish
Today is my second week at Codestarter! I am super excited to join Codestarter as their first programmer.
Tumblr media
I was first exposed to programming in a class I took one year before I graduated from college. Even though we made very basic and ugly desktop apps, the class totally changed my life. I immediately fell in love with programming.
Despite growing up with computers, I basically thought they were only good for playing games and doing some boring work things.
It took 24 years for me to be exposed to the idea that I could create my own programs for the computer to run. I often wonder what I would be doing today if I had started programming at a younger age.
By this point, I might have already:
written a few programming languages
come up with a better scripting language for Vim
made shell scripting easier
I love programing and I am excited to share it with kids who would otherwise not have access to it.
1 note · View note
codestarter · 11 years ago
Text
30 Days of Laptops!
Tumblr media
This holiday season, we’re bringing together companies and the kids that make up the future of tech.
We’ve launched #30DaysofLaptops to encourage companies to pledge a $250 donation that will provide a laptop for a kid that wants to learn to code, but can’t afford a computer.
Companies are challenged in a giant game of tag. Once tagged, they have 24 hours to pledge, share on social, and tag another company to do the same. With enough companies signing on, we can make some major dreams come true for kids waiting to get started in coding.
Want to learn more and see which companies have donated? Check out 30daysoflaptops.codestarter.org
  For more information, contact Communications Director Rheanna Martinez [email protected]
0 notes
codestarter · 11 years ago
Text
Joining Codestarter as Communications Director
By Rheanna Martinez
I was in high school when I got my first computer. As a kid that loved to write, I remember being so thrilled about typing out long stories and seeing the words in front of me on that screen. I could care less that it was a big, boxy, outdated hand-me-down.
I'm not much different from the kids served by Codestarter. I come from a low-income household. We couldn't afford anything beyond the essentials. I was also the first generation in my family to graduate from college. I had a lot of dreams growing up, and even though I didn't have the resources, I knew no barriers.
I imagine most of the kids served by Codestarter are the same. They're excited to learn, and determined to accomplish new things; regardless of whether or not their family can provide the means necessary to get there.
I joined Codestarter because I see a bit of myself in the kids we serve. And I believe that all kids deserve the opportunity to learn and the means to pursue their dreams.
I love that we're giving these students something concrete and something that they own, to learn and grow in their interests. The demand pouring in from interested kids is astonishing - and it proves that there's a need for what we do.  And frankly, I love that ultimately we're personifying the future of tech.
I've previously worked as a manager to a US Senator, Marketing Director to an education-based nonprofit, and Communications Strategist for Hipstamatic. I'm determined to make Codestarter a global name, one campaign at a time, creating change for kids everywhere.
Keep an eye out for dynamic photo-stories of the kids we're working with, and snippets of their hopes and dreams. We've got big things planned!
Tumblr media
2 notes · View notes
codestarter · 11 years ago
Text
Codestarter in Dublin: Web Summit
by Tom Preston-Werner
For the last three days I’ve been attending Web Summit in Dublin, Ireland. This year, more than 22,000 attendees crowded the presentation halls and roamed through countless exhibit booths, excitedly inquiring into the latest startups looking to make it big. I was honored to be a speaker on the Builder’s Stage, and told the story of Codestarter and our mission to get a laptop into the hands of every kid that wants to learn how to code but can’t afford their own computer. I explained that as a nine-year-old growing up in Iowa, I got my first computer, a Radio Shack TRS-80, and it changed my life.
Tumblr media
Photo credit: @Rogerh1991, http://code-love.com
I was able to spend countless hours with this machine, typing in long lists of BASIC code from magazines, one letter at a time. Every time I ran a program and got the computer to transform those instructions into a running program, I got the thrill of my life. I next asked the crowd to stand up and posed a simple question: how old were you when you got your first computer? Then I told them to sit down if they were thirty years old or older when it happened. I didn’t see a single person sit down. Twenty-eight or older. A handful sat. Twenty-five. Twenty. Eighteen. Seventeen. Sixteen. Fifteen. Fourteen. Still 75 percent stood. Thirteen. Twelve. Now the crowd began to thin. Eleven. Ten years old when you got your first computer. A full 50% of the audience still stood. I don’t think this is a coincidence. It’s not hard to see how years, sometimes decades, of practice with a computer can result in a huge advantage when it comes to studying computer science in university, landing a tech job when entering the work force, or having the confidence to create an internet startup. Unfortunately, not every kid has the chance to get a computer when they’re ten years old. And that’s a shame, because the power that comes alongside tech expertise is immense, and can change a lot of lives for the better. At Codestarter, we’re working to give that same opportunity to every child that shows an interest in programming.
1 note · View note
codestarter · 11 years ago
Text
Codestarter now gives laptops to kids internationally
We’re excited to announce that on November 1 Codestarter began accepting applications for partnerships with internationally-based organizations and schools that teach kids to code.
Since Codestarter launched only 5 months ago, we’ve received nearly a dozen inquiries from organizations around the world asking for our help. Many of these organizations have no way to support kids who don’t already have their own computers. Many more requests for laptops come from software developers who have dreamed of helping local kids learn code, but they haven’t been able to do so because of lack of hardware. Contributions from Codestarter will allow existing organizations to include a wider diversity of students, and make it possible for brand new organizations to launch around the globe!
On Tuesday, November 4, cofounder Tom Preston-Werner will hand-deliver 10 laptops to the first 2 internationally-based organizations, CoderDojos in Dublin that support underprivileged kids, many of whom have faced domestic violence. We’ll be sure to keep you updated on the event and the kids as they learn to code. Thank you so much everyone for your support!
If you want to get involved, we’re always looking for gifted volunteers. Email us at [email protected], subject: Volunteer.
Otherwise, dive in and support more kids learning how to code here: https://codestarter.org.
As always, keep up to date with Codestarter’s work and the kids we support on Twitter and Facebook.
0 notes
codestarter · 11 years ago
Text
Codestarter delivers laptops to San Francisco 6th graders
Last week Codestarter delivered our first set of 36 laptops to the 6th graders at St. Paul’s School in San Francisco.
Tumblr media
Until now, Codestarter has only partnered with after-school and extracurricular programs, including CoderDojo and Mission Bit. Our partnership with St. Paul’s marks Codestarter’s first involvement with schools. In many ways, we view this first year of operation as an exploration of which types of partnerships will enable us to fulfill our mission best.
At St. Paul’s, we knew immediately that Irene Nolan, the school’s technology teacher, would be the perfect ally in our mission to empower more kids to build their futures through learning to code. In her application letter, Irene explained, “Many of the students are old San Francisco families, whose parents and grandparents went to the school, but have been forced out the the area due to high rents.” She estimates the student population to be 45% Hispanic, 35% Caucasian, 15% Asian, and 2% African American.
Irene continued, “Technology is rapidly changing the neighborhood. The google bus and other tech buses drive by our doors each day.” These are students who see the benefits of technology all around them, and want to be able to participate. Irene has worked with her students as best she could with limited resources, and was proud to share, “I have engaged students in diverse projects, from making fabric and paper card circuits to making robots. Our school was the only elementary school in the Bay Area with an exhibit booth at San Mateo's Maker Faire.”
On the day our Codestarter team delivered laptops, students ran into the school’s library and sat at tables like wiggly puppies in front of the boxes they would soon get to open. Ripping open of boxes soon commenced; cardboard and papers flew, and squeals of delight rang across the normally quiet library. One girl cried out, “My laptop has a sharkey!”--referring to the shark sticker on her laptop, which was generously sponsored by Digital Ocean. Techstars and Code Climate also donated laptops for this classroom’s batch. Other laptops were paid for by individual donations through the Codestarter website.
Tumblr media
What stuck me most during this 90-minute period (45 minutes per group of students), was the extreme willingness of the kids to help one another. We worked together as a group to set up the language preferences, wifi, serial numbers, and take photos to send to donors, but over and over I noticed students leaning over to their classmates and saying, “Here, try this!” Or, “Let me read the serial number, and you type it.”
Tumblr media
One shy boy stood over to the side of the room. He gingerly pressed keys, worrying that he would mess up. “I don’t want to break it,” he confided. I spoke with him quietly, talking through each step, and he slowly entered his name and location and then took several photos, redoing each one that didn’t quite suit him. At the end, he asked if he would get to keep the laptop. “You’ve already applied and received this laptop on loan,” I reassured him. “Play with it. See what you can learn. In a few months if you still want to keep learning to code, you can take it home, and it’ll be yours to keep,” I said. “It’s that easy?” he challenged. “Yup!” I said with a wink, and I turned to help another student.
Tumblr media
Nearly every student at St. Paul’s in 3rd through 8th grade who qualified for financial aid has applied for a Codestarter laptop. So far, Codestarter donors have already supplied 5th and 6th graders but we need more help from the tech community and other interested supporters in order to get laptops in the hands of the remaining students. If you’d like to help with a donation, go here: https://codestarter.org.
Tumblr media
How can Codestarter best reach kids who are interested in learning to program - like those at St. Paul’s, but who can’t afford their own laptops? We track all of our laptops and follow up with students quarterly, so that over time we’ll be able to understand better which educational settings result in students’ continued interest in coding. Look for that data to be published on our website as we collect it!
We’re always on the lookout for talented developers, designers, and writers, so email us at [email protected] if you’d like to get involved.
1 note · View note
codestarter · 11 years ago
Text
How we turn $199 Chromebooks into Ubuntu-based code learning machines for kids
By Tom Preston-Werner
At Codestarter, we're on a mission to put a developer-friendly laptop into the hands of every kid that wants to learn how to code. Since we rely on donations to make this happen, the less expensive the laptop, the more of them we can deliver.
With this in mind, I set out to find a laptop that was both low cost AND high quality. My goal was to find a computer that I wouldn't mind using as my own primary development machine. That meant it had to have an excellent keyboard, good trackpad, solid build quality, fast processor, at least 2GB of RAM, and a nice screen.
After a bit of online research, an unlikely contender emerged: Chromebooks. At first glance these machines didn't seem suitable, as they run ChromeOS, a browser-based operating system. They also tend to have very little storage space, on the order of 16GB. But they're cheap. VERY cheap. $199 cheap. That's enough to warrant a second look. Kids don't really need a ton of hard drive space, and the specs on some of the machines looked pretty good. What if you could install Linux on these machines? That would leave a few gigs of space free and solve any problems that ChromeOS presented...
A few hours later I was at Best Buy, staring down at a $199 Acer C720 Chromebook (the least expensive model available). It's a small laptop, only 2.75 pounds, lighter even than my 13" Macbook Air. Picking it up, I expected to find a flimsy, plastic thing, but it felt quite solid in hand, even holding up nicely to a bit of torsion exerted upon the base. The keyboard is eerily similar to an Apple keyboard, so the keys felt quite familiar. The trackpad, while small, is unexpectedly smooth to the touch, and the integrated button is also reminiscent of a Macbook's. The 11.6" (1366x768 pixel) display is sharp and bright. The familiar HDMI, USB 2.0, USB 3.0, and SD card slots are all present. It even has a built-in camera. With an Intel Celeron 2955U 1.4 GHz processor and 2GB RAM, I was given no reason to think it would be sluggish for common programming tasks.
Tumblr media
Here was a $199 laptop that, for its build quality and feature set, could easily have cost twice that. Previous research had shown that others had successfully installed Ubuntu on the C720, and so we embarked on a journey to discover whether we could turn a Chromebook into the perfect learning machine for a kid coder. After perhaps a hundred re-installs of Linux, countless hours reading Stack Overflow posts, and a roller coaster of triumph and failure, I'm proud to say that we've landed on an Ubuntu installation script that meets our needs and makes it trivial for us (or you!) to create a Codestarter laptop.
Here are the requirements and what we did to make them possible:
It must run Ubuntu.
Chromebooks fresh from the factory are heavily locked down for enhanced security. But the ChromeOS team members are hackers at heart and have been thoughtful enough to provide a "developer mode" that allows adventurous developers to replace ChromeOS or set up a dual-boot system by enabling "legacy boot" which gives you access to a Coreboot/SeaBIOS setup.
Quite conveniently, ChromeOS is a variant of Linux. When put into developer mode, you gain access to a terminal and a variety of low-level command line tools. With root privileges, you can now partition the SSD to make room for an Ubuntu installation, enable legacy boot and even run a different Linux distribution using `chroot`. This is exactly how we install Ubuntu, and you can find the entire automated process in our open source Ubuntu Chromebook Installer script:
https://github.com/codestarterorg/ubuntu-chromebook-installer
The installer is a fork of eyecreate/ubuntu-chromebook-installer with a bevy of improvements and customizations that transform standard Chromebooks into our Linux-based learning machines right out of the box.
Tumblr media
If you're a savvy developer looking for an inexpensive laptop to travel with, or you know a code-curious youngling in need of their own computer, feel free to use our installer to mint your very own Codestarter laptop.
It must have Google Chrome as the default browser.
Google Chrome is a great browser, and if we're going with Chromebooks, then it makes sense to keep a consistent browsing experience across operating systems. Chrome also ships with Adobe Flash pre-installed and stays up-to-date as Chrome's auto-updater runs. Flash support is required for many kid-friendly online coding tools (Like MIT's Scratch). Google provides Chrome for Linux as a .deb, which can be installed with dpkg.
See how we do this with our installer.
It must enable kids to learn to program even if they don't have access to the internet at home.
One of the most popular "languages" for beginners is MIT's Scratch. The latest version (2.0) is only available online, but an older version (1.4) can be installed on Linux and used offline.
Tumblr media
We ship our Codestarter laptops with that version, which produces program files that are still compatible with the online version.
See how we do this with our installer.
It must have a great, local code editor.
Coders spend a lot of time in their code editor, and as kids get into web technologies and text-based programming languages, they'll need something that's easy to use. We install Geany, a simple but powerful open source editor.
Tumblr media
For completeness, we also install Vim and Emacs. If we get enough donations from proponents of one side or the other, we'll remove the losing editor from our laptops. Just kidding! Maybe.
See how we do this with our installer.
It must be as easy as possible to try out a large variety of programming languages.
A lot of time is wasted at learn-to-code programs just getting a development environment set up. An hour can easily go by as kids try to get Ruby or Python installed. We decided to pre-install Python, Ruby, Node.js (plus npm), and Java. Both Python 2.7 and 3.0 are available, and while we only ship with the latest 2.x Ruby, new versions can easily be installed with `ruby-install` and selected with `chruby`. If another language is needed, the Ubuntu package manager makes hundreds of others available with a few simple commands.
See how we do this with our installer.
It must support Minecraft.
Kids LOVE Minecraft. Sure, it's a game, but Minecraft encourages an engineering mindset where kids use their computer to build whatever they can dream.
Tumblr media
And, yes, the Acer C720 can run Minecraft smoothly with just slightly reduced quality settings!
See how we do this with our installer.
Commonly used programs should be prominently featured.
By default, Ubuntu's launch bar (on the left-hand side of the screen) is filled with applications of little utility to a young developer. Luckily, it can be customized by through the use of dconf overrides. For our Codestarter laptops, we feature Chrome, Geany, Terminal, Minecraft, and the Software Center.
See how we do this with our installer.
"Function" keys must work as advertised.
Chromebook keyboards are optimized for ChromeOS, and the F-keys are labeled with commands such as back, forward, reload, full screen, brightness, and volume. These keys should do something appropriate in an Ubuntu environment. With a combination of xbindkeys, xdotool, xbacklight, and pactl, all of the F-keys can be mapped to reasonable actions in Ubuntu.
See how we do this with our installer.
Challenges.
While the above setup gives us a compelling developer machine at an incredibly low price, not everything is quite perfect yet. Both Linux and ChromeOS have some limitations that we've had to work around for the time being. In the future, we hope to smooth out these bumps to create a seamless user experience for young developers.
Booting to Ubuntu by default and disabling "SPACE-to-wipe-Linux" require removing the bottom cover of the laptop.
When placed into developer mode, Chromebooks display a scary warning screen when powered on. Here's what it looks like on the Acer C720:
Tumblr media
On this screen, you can hit CTRL-D to boot into ChromeOS or CTRL-L to boot into Ubuntu. Sadly, the screen doesn't tell you any of this. In fact, if you follow the advice it gives (to press SPACE to re-enable OS verification), it will disable developer mode and wipe out the Ubuntu installation!
To prevent this from happening, it is possible to flash the BIOS with new settings that do the following:
Boot to legacy partition by default (Ubuntu).
Only show the Developer Mode screen for one second.
Prevent SPACE on Developer Mode screen from doing anything.
Unfortunately, this requires unscrewing the bottom of the laptop, removing a BIOS write-protection screw, running a script to flash the BIOS, and then replace the bottom cover. Which is not the end of the world, but it's time consuming and voids the warranty by cutting through a sticker that covers one of the screw holes.
Despite the downsides, we now do this to every Codestrater laptop that we ship, since it so drastically improves the user experience. If you want to do the same, you can follow these instructions:
How to boot to Ubuntu by default on an Acer C720.
Help us make an even better code-learning laptop.
If you have ideas about how to improve our Codestarter laptops, I'd love to hear them. Email me directly at [email protected]. I'd especially love to hear from you if you work on the Linux kernel and can help get the Chromebook module patches merged into upstream, or if you work on the ChromeOS team and can help find a way to present a custom boot screen on startup.
A kid with their very own laptop is a kid with opportunity, and a chance to drastically alter the course of their life. For only $250 we can get a Codestarter laptop into the hands of a child that's already expressed interest in programming by attending a learn-to-code program like CoderDojo. If you'd enjoy helping to give this opportunity to a great kid, head on over to https://codestarter.org and donate right now. We, and the recipient of the laptop, will be forever grateful. Thank you.
--------------------------------
Edit 2014-08-21 - We're now installing the open source Geany editor instead of Sublime Text. After using it for a little while, Geany has turned out to be an excellent beginners editor and ships with a comprehensive set of syntax highlighters. It should be perfect for beginners and eliminates the concerns that have been expressed about including payware on our Codestarter laptops. Thanks for the feedback, everyone!
--------------------------------
Edit 2014-09-15 - All Codestarter laptops now boot to Ubuntu by default, only show the Developer Mode screen for one second, and prevent SPACE on that screen from causing any damage. To do this we flash the BIOS using the process documented in the main article.
--------------------------------
Edit 2015-01-08 - We are now installing the 3.17.6 Linux kernel which includes the necessary drivers to support the Acer C720's trackpad and other hardware. This means we can stop pinning the kernel!
129 notes · View notes
codestarter · 11 years ago
Text
First delivery of Codestarter Laptops!
We did it! Last weekend Codestarter flew to Springfield, Virginia to deliver the first 35 Codestarter laptops to CoderDojo NOVA. Thomas Debass, the organizer, has put together a four-class summer course on robotics (NXT bots, 3D printing, Arduino, mobile apps), the first of which was held on Sunday.
Tumblr media
Just before the session started, the room was abuzz with excited kids, about 45 of them, almost all between the ages of seven and twelve years old. About half were boys and half were girls, primarily from the local area, but one seven-year boy old attended from Caroline County, over 90 minutes away!
Tumblr media
When we asked how many kids did not own their own computer, three-quarters of the kids raised their hands! It was an incredible feeling to hand laptops to kids who were taking time out during their summer vacations to learn robotics and programming. Many thanks to our first donors who helped us get these laptops in the hands of such great kids. We'll be posting more info soon!
Tumblr media
CoderDojo NOVA is the just the beginning. Over the coming weeks Codestarter will be rolling out to CoderDojos in Chicago, Seattle, and Orlando, to name just a few! Our mission is to ensure that every kid that wants to learn how to code has their very own laptop. If you want to join our cause and give a laptop to a great kid, go here: https://codestarter.org.
Tumblr media Tumblr media
  Want to follow the progress of these kids and see the impact of giving laptops to kids and teaching them how to code? Follow us on Twitter!
2 notes · View notes
codestarter · 11 years ago
Text
Demo Day at Techstars NY is here! Cheer us on today @codestarterorg!
We made it! After three months in the Big Apple, lots of dumpling soup delivery, very late nights at the Techstars office, and only one walk in Central Park, our team has finally arrived at Demo Day. We’re exhausted, but we couldn’t be happier with our time spent at Techstars at the first nonprofit. It’s been a blast, but we’re also getting excited to enter the post-Techstars era, in which we anticipate glorious days of unscheduled time, endless Mission burritos, and yes, shipping a lot of frickin’ laptops to kids.
Tumblr media
Demo Day at Techstars is a big deal. I never realised how much of a big deal it was until I had to face it myself. The pressure to pull off a flawless pitch is immense, compounded by the knowledge that everyone around you has somehow magically been able to pitch perfectly for weeks. But I guess that’s what happens when you pivot more than halfway through the program. It just means that our team has had to work that much harder!
Tumblr media
For us, the best part of Demo Day will come immediately after. No longer tied to the stage and under the glaring lights, we will be able to talk one-on-one with attendees about the kids who will receive donated laptops from Codestarter. We will have a special demo booth set up, so if you’re an attendee, we hope that you stop by. Tell us how old you were when you got your first computer and learn how you can get involved with supporting some really great kids learn to code.
Check out our website, which launched TODAY: https://codestarter.org.
Follow us on twitter @codestarterorg and on instagram @codestarterorg.
0 notes