Jun 7, 2014
General ideas about teaching programming : 'apps' vs. 'programs'
From a certain perspective, writing an app is rather easy. You throw up some buttons, wire the data to the views, and ship it. That wasn't so bad, right? But the amount of knowledge you need to write an app is a bit daunting.
First, you need an idea. You need to be able to clearly articulate the audience, the scope of what the app will and won't do. Second, there's the layout and navigation flow of the app. A poorly designed navigation experience can kill an application. You need coding know-how. What the classes are, how the different underlying APIs work together to make the views happen. To say nothing of the necessary pre-reqs of understanding programming primitives, like variables, control flow, language syntax. Finally, unless you're writing a local app, you need to know how the internet works. What a RESTful API service is, how HTTP works with headers and params. How to get an API key, how to authenticate.
Appery's a low entry point for building a very simple app, and maybe for copying tutorials you could get something a bit more dynamic, but the seams between knowing a very little to knowing pretty much everything there is to know about writing an app are close together and a bit rougher than you'd hope for a tool this simple. There's a lot of places where you fail over into JavaScript, or where you need to know what a web proxy is (so that you're can get around making Cross Domain Requests**.) Writing a mobile app in HTML, CSS, and JavaScript requires a surprising amount of web domain, app, and just plain networking knowledge.
That's asking a lot for new developers. Admittedly, maybe the target market isn't new developers, it's companies that don't have the developers/time/money/inclination to create a native Android/iOS/Windows phone from scratch for each of the platforms. It's significantly easier to throw an experienced dev at Appery and get a workable mobile app than to create a native app from scratch. (Disclaimer: In no way is this an endorsement of Appery's product -- if anything, this experience has only deepened my belief that there's no substitute for a natively written app experience.)
But for a new dev audience (one without an experienced dev who can blunt corners and abstract away the rest of the considerable amount of knowledge that you need to write a native app), Appery seems like a terrifying and frustrating experience. (Though if you know web development, well, then you know web development).
What would be better for young devs to spend a weekend doing? Other than learning wire framing and writing very leakily abstracted apps? They should learn programming. They should write programs, not apps. It could use quite a bit of set up to get going, but I really liked the challenge at the Hackette's Spotify Hackathon they held last year (https://github.com/pbos/spotify-hockey). It basically involves writing a hockey team algorithm. It's a good problem for a weekend project because a) the end product isn't about presenting your ideas (you just load up the different hockey teams and let them have a tournament style show down), b) it'd involve a non-trivial amount of programming, and c) it's kind of fun.
Or maybe that's a bit too advanced for completely new programmers. Something like Scratch (http://scratch.mit.edu/) or even some format for writing text adventure games could be fun. Basically, make it less about building a product, and more about writing a small program, with a code editor and a runtime environment.
/rant
* I work professionally as an Android app developer.
** If you clicked on this link, you just proved my point about needing massive amounts of previous knowledge. Bonus points to you if you now get why CORS is a problem. You're probably in the minority.
May 15, 2014
The Dust Mote
We use everything, he said, gesturing downward at a grease stained sack, where charred bones had once sat. It takes hours, he said, to skin a chicken, to de-feather it, to remove all the innards, and organs. But we do it. Not a thing is wasted. At the end, all that's left is the bones.
What do you do with the innards? I asked. The workshop was small. He was talking massive amounts of slaughter, that would have filled the entire back room.There was nothing back there but an old crate, some dust motes, hazing the light from the gas lamp, and a rough hewn hickory trough filled with blackened bones and a greasy burlap.
We sell them, he said. As he turned toward me, the light from the gas lamp pooled deep in his black eyes. It takes a long time, he said. To truly use a chicken. It's hard work. There's no stopping til it's finished, each one stripped down to just bones. Used up.
Sometimes, he said gazing off at the wall as if at a thing unseeable, a speck of dust gets caught in my eye. It gets caught deep -- it becomes a part of myself. And in it, I know the creature that the dust came from. I know it by that mote of dust, it's how I find them again in the dark, to keep at my work. By that dust, that piece of the hen in my eye. I can't wipe it free until it's over, til they're nothing but bones. By then they're old friends, familiars. I know their stories, where they're headed next.
The dark pools turned toward me. I shivered.
That's where I saw you, he said.
Apr 24, 2014
Ringelnatter
We were in a space ship, intergalactic travel from the earth to an unknown destination. We had a fearless leader who directed us to set down on an alien planet for a picnic lunch. We unbundled ourselves from our tent ships (my sister and I were sharing one, that later I couldn't figure out how to rewrap to make "space tight".) We were boarded up in a makeshift classroom with the two of us on the far end near a closed door. We pulled out snacks, but the next thing I knew there was pain on my hand. A ringelnatter had gotten a hold of my hand, bitten it clean through. It was the skeleton of a Ringelnatter, dangling from its jaws, hinged through me. When I looked up to try and locate the origin of the snake, I noticed a skeletal foot under a door, a few feet from where I was sitting. There was a commotion from the front of the camp and suddenly our base was beseiged. The skeleton foot belonged to an entire race of skeleton people. I left some earrings on the ground which they were trying to take from beneath the door. I passed them over instead of fighting to keep them.
We didn't manage to escape.
Apr 21, 2014
Earthquake. Richter Scale: 10
Everything is different. Different. I feel different. Different how?
My heart feels rounder. Like the edges are those rounded corners squares. Detached, but grounded. Dreamlike reality.
Externally, nothing's really changed. I'm still going to wake up tomorrow morning and go to work. Still going to berate myself for not being perfect. Still worry about all the promises I've made and today's work that I'm putting off until tomorrow. Still going to pick stupid fights and be upset about the tightness I can feel in my lips and the stress that I'm holding in my shoulders. Still going to freak out when I don't know what someone's talking about and worry that I'm leaving something important out. Or that I'll be passed over for a promotion or that someone else is going to steal my cookie. I'm still fearful. I'm still stressed. I'm still a day dreamer. I talk about plans too much, and I don't spend enough time in the trenches.
But it's all _different_.
I saw my future.
Apr 20, 2014
Musings on Motivation
The weirdest thing about working for Etsy is that I like all of my coworkers. Every last one of them. Almost unilaterally. It feels unnatural to be in a group of people that are so genuine and real. And it really has been forcing me to confront my own insecurities of self presentation, my expectations of others, etc. Basically, why do i assume that the whole world is full of backstabbing, sycophantic jerks that really aren't interested in your stories (my stories have gotten worse lately, mostly because ive admittedly lost what little faith I had in my own ability to relate something with another human being and as such I find myself mostly giving it up.
Also strange aside, is it just me or do most engineering women (not all, I'm entirely open to the idea that I'm blinded to the actual proliferation of the stereotype I'm about to put forward mainly on my fascination with it - as in im aware that I'm generalizing something I've seen in a few individuals to an entire group. Guilty. Call me on it). But. Stereotype that I have noticed and am now putting forward as such - higher indice of women engineers that are, well, obsessed with over engineering things. Maybe I'm just sensitive to it because I feel that I don't rigorously plan and then follow through on things. But I find myself, when confronted by a highly planned and organized person (who's using organization as a crutch for motivation) I tend to retaliate by playing unplanned. I feel undermine d, overwhelmed by the other persons ability to force themselves into a thing via a plan. I think its a massive misunderstanding. As in there's some part of my brain that doesn't understand the beauty of setting out a detailed schedule and then following it. Am I undisciplined? Is my issue with people with plans and regulations really just a form of admitted self deprecation?
Self interpretation aside, I feel like this quality of forced discipline is more prevalent in women than in the men I know. Maybe I just make friends with less ambitious men. Maybe I don't have enough men friends to do a survey on. I take issue with it because it feels unnatural. Why do something if you don't enjoy doing the thing that you're setting out to do? Don't use a plan and a detailed short term goals sheet to get you to a difficult goal. Oh that sounds silly when reading it...
This really has to do with running. I enjoy running. I'm decent at it. I set goals for running - I get upset when I don't hit my goals. But I don't really train to hit the goal - I train because I enjoy it. I go for runs because they feel good. I run fast and barefoot because I feel free and powerful and light. Its fucking fun. I run races so that I stay motivated, so there's some discipline to getting up and going - but not enough that I can't just run how I feel. So it pisses me off that others run with a schedule. That they do it with short term plan, that they try and engineer a thing so beautiful as being light and free.
I need to be less selfish. Maybe that's it - I don't want to share my joy with these other people. I want them to fall down a well timed hole and simply disappear.
This was started as a commentary on dfw.
Apr 13, 2014
Talk to them
Yeah, she said.
Make them music. Make them music that makes their souls jump. Make them deep derogatory beats and uplifting chords and solemn sounds, sounds good enough to come out of their laptop speakers.
Make them want to dance. Make them sing along with you in the shower, make them hum you on their way down to the subway in the morning, make them vibrate to your radio pulsations.
=--=-=--=--==--==--==--==--==--==--==-=-=-=-=---==--==--==--==---==--==--==
Apr 9, 2014
Silicone Valley - Episode 1
- None of the characters seemed to be anything bigger than caricatures of roles in tech. I wanted to like at least one of the developers. Or be impressed by them. Or feel like I had met one of them in person. Not a single one of the 10 or so characters mapped to a single developer or person that I know. Or would want to know. Their caricature of the super nerdy, very brilliant software developer that starts a website by himself wasn't like any person that I've ever met. I know a lot of people in software. Albeit, successful people in software. I've also met a lot of people not in software. All in all, they came across as inflated depictions of stereotypes about what people who work in tech and at start ups are like.
- None of the tech dialog really seemed to have any real backing to it. It is not possible to have proprietary algorithms in a website that's posted on Github. If it's on Github, it's open sourced. Open source software means that anyone can read or inspect the code that you have written. By definition, software that is freely published is not proprietary.
- There wasn't a single girl developer. The only women that appear in the entire show are wearing skirts and high heels. Both of the females with speaking roles use their few lines to croon about a male character. Or offer one of them a ride home. Snore. You know what this show needs? It could use a female foil. Or two. Instead of having five geeky men that fit the 'asian, east asian, pony tailed, tall white guy, weird bearded' stereotype, why not throw in a couple of women into the mix? There's episodes, hell even story arcs of entertainment and character sub plots to explore.
Dear writers of Silicon Valley, I sense that you need some suggestions. Here's some ideas for future Silicon Valley episodes:
- An entire episode built around a text editor civil war
- Have the main character struggle with an unexpected homoerotic attraction to his angel investor
- A whole episode about Twitter gender flame wars
- An episode dedicated to winning the top spot on some Hacker Daily website that in the end proves to have been manipulated the whole time (via an authenticity bug in the core security layer) by an AI project being run out of North Korea
- A Halloween episode featuring trolls
- Replace (or augment) some of the *very* bland core developers with multiple female developers characters. The hyper femme who paints her nails in five colors of neon, and won't stop spamming the internal list serve with cat gifs. The punk rebel coder girl who hacked her way into the Pentagon at age eleven and now spends her free time contributing to the Linux file system and talking about unmentionable body piercings. The uber nerd girl that no one wants to sit next to because she has bad breath and a slew of Final Fantasy stickers adorning her laptop. The hyper code bunny who does nothing but check in software bugs and check out the brogrammers at the code conferences. Sure, maybe none of these females exist in real life. To be fair, neither do any of the other characters in the show.
87 ways to die in brazil
There are an infinite number of ways to die. A good majority of those ways can be found in Brazil. I was lucky enough not to directly encou...
-
some days I remember the lies you told me and i laugh at both of us at me, for wanting so badly to believe you at you, for having t...
-
This is my fourth year of writing up a yearly reading review. In time, that's about equal (more or less) to a college education. I'm...
-
Bernard was awake. He glanced at the time -- 4:33. His flight wasn't for another few hours. Awake twenty-seven minutes before his first ...