Part of my efforts to learn French have been in producing little stories on lang-8. These stories are corrected by native speakers; I then take those corrections and feed them back into my Anki deck.
Production is still quite difficult for me, and I realize that what I truly need is more practice. Thus, after reviewing my daily vocabulary in Anki, I’ve started creating lots of little sentences using the words I reviewed that day. A typical lang-8 post like this will have about a half a dozen to ten sentences.
But creating these groups of words in the Anki browser is a manual task that’s annoying. Wait. An annoying manual task? I’ve written about this in the past:
Automation is good. Performing tasks manually is bad. Performing tasks manually is especially bad when the tasks are annoying. Let’s use a Ruby script to alleviate the pain of an annoying task.
Why manually dig through the Anki browser, looking for words, when I could have the computer tell me automatically? Read More
This past winter I ran an after-school Computer Club for a group of about 40 4th and 5th graders at my local public elementary school. Teaching elementary school kids basic computer programming skills was definitely a challenge, but a rewarding experience and one that I would recommend to any software developer who has kids and likes to spend time with them.
Last week I offered some tips about how to organize and run your Computer Club. In this post I provide a week-by-week curriculum to help you plan what you’ll do at the club. Read More
Last weekend, I lead a workshop on game development at the 12th installment of the Southern California Linux Expo (SCaLE) — a community-run, open-source, free software conference held annually in Los Angeles. SCaLE has grown to 2500 attendees, 100 exhibitors, and 80 sessions and tutorials.
Having attended SCaLE in the past, I had high expectations. This year definitely exceeded them. Being a Linux / general open source conference, SCaLE has a wider variety of technologies and people than most. I met Ubuntu experts from Canonical, engineers from Disney, and even a recruiter at the Apple booth! Read More
One of our latest iOS projects has quite a few view controllers. A few weeks ago, John Fisher wrote about the pain of large storyboards and our solution of using multiple storyboards, but we’ve found an even better solution. This technique is more reliable, easier to use and has less code. Win, win, win! Read More
Who says you can’t teach an old control some new tricks? The
UIScrollView has been around since the beginning of iOS, and there have been many blog posts, Stack Overflow questions, and Apple documentation covering how to set up your content to scroll inside a
UIScrollView with the old springs & struts layout system.
Since the introduction of Auto Layout to iOS, there is a new way you can configure your scrolling content. With Auto Layout, the amount of code you have to write is greatly reduced.
One of the big pain points with the old way of setting up a
UIScrollView was communicating the content size to the scroll view. It was fairly straightforward to calculate your content size if the content in the
UIScrollView was an image. But it was not as easy if your scroll view included a mixed bag of buttons, labels, custom views, and text fields. Lengthy code adjustments were needed to reflect constant changes in device rotations and phone size differences.
In this blog post, I’ll show you how to set up a
UIScrollView with Auto Layout that is responsive to portrait and landscape changes. I will also show you how the scroll view can move your content out of the way of the pop-up keyboard. Read More
In Douglas Adams’s Hitchhiker’s Guide to the Galaxy series, an advanced civilization builds a supercomputer to calculate “the ultimate answer to life, the universe, and everything.” After millions of years of calculation, the computer finally gives its answer: forty-two. Despite being an advanced civilization, it succumbed to the pitfall of getting an answer without first understanding the question.
We often fall into the same trap. I once worked on a development team that practiced Agile programming. Every now and then the team would debate whether we were really practicing Agile, whether we should do more Agile, whether we should abandon Agile altogether, and whether we should adopt some other methodology. The debates centered on personal preferences and impressions of team productivity. Alternatives were suggested based on what the team had tried before and who had what certifications. Never did our conversations start with understanding what problems the various disciplines were designed to solve. Neither did we begin with the most important question: what problems were we trying to solve? We jumped straight to the answers without first understanding the question. Forty-two. Read More
Human-Centered Design (HCD) practices help companies develop innovative product concepts. From my experience, extending HCD practices inward to include a company’s information technology team increases the chances for success.
What is Human-Centered Design?
IDEO (a leading global design consultancy) recognizes that HCD involves viewing solutions through the lenses of Desirability, Feasibility, and Viability and building products that live at the intersection of all three lenses.
Local First hosts its Local Motion awards at its annual meeting each January. These awards honor successful, sustainable local entrepreneurs and businesses in West Michigan.
Atomic Object has sponsored this event for the last three years, and we were the proud recipient of Local First’s Change Agent award in 2011.
Atoms Mary O’Neill and Terri Vruggink at the Local First Awards.
(Photo Credit – James Richard Fry – jamesrichardfry.com)
The 2014 Local First award winners are an incredible group of entrepreneurs and agents of change within our community. They define sustainable local business. Thanks to Local First for sharing their descriptions of the awards and the award winners: Read More
While I’m a software developer by trade, I’m also the mother of two school-aged kids, so one of my pastimes is volunteering in various capacities at our local public elementary school. At some point early this school year, in a moment of temporary insanity, I found myself nodding my head “Yes” when a wiser full-time-working parent would be saying “No”, and next thing you know, I had agreed to lead an after-school Computer Club for 4th and 5th graders.
Something I’ve observed that you may have also: by the time a kid is 9 or 10 years old, they are already incredibly capable of wasting copious amounts of time on a computer. This age group (ok, all age groups?) would happily spend all their time playing computer games — Minecraft being the game of choice these days.
My goal with Computer Club was to get the kids away from just playing games and into creating something with their computers — maybe even creating their own games. After a quick survey of developers with kids and the Internet, I settled on teaching basic programming concepts with a language/platform called Scratch. Read More