Ari Does Unhackathon 2014 (Live) – DAY 2

Standard

You couldn’t resist more, could you? Welcome back to NYC, to unhackathon, and to my mind.

Check out YESTERDAY.

SATURDAY

00:20 – Settled in my host’s dorm, and taking a break to write up a day summary for yesterday. Yummy food in my belly, and reliable wifi in my electronics: life is good.

00:42 – Just finished a long argument with my hosts about Canadian Thanksgiving, and had to prove that US Thanksgiving is equally as arbitrary. We just have ours earlier because our harvest is earlier (winter is coming, kids).

1:21 – As my writing ability grinds to a halt, I think it’s time for bed. Oh boy, sleeping on the floor time! See you in a few hours, hackers.

7:10 – Hackathon time! My belly’s rumbling and I’m ready to check out the venue (please have food please have food).

9:21 – Opening ceremony swag, we’ve got lots of cool people from all different places and fields. YOU READY? WOOO. GET HYPED!

image

9:26 – We get to colour our own t-shirts? SWAG. Hackers, release your inner artist. Creativity at its finest!

9:31 – Lesson: Vowels are not cool. Ordr > Order. The fact that O is a vowel is irrelevant.

9:59 – Let’s HACK! This is a tight squeeze though; everyone’s going to get real “cozy”. I’m super excited to see what people make. Tweet @arielle_van with your updates!

10:13 – My team’s getting set up and ready to roll in Rails. Backend well underway! How are you doing?

10:19 – You know what sucks? Loading bars with timers suck. “3 minutes, 9 minutes, 8 minutes, 12 minutes, 2 minutes, 5 minutes…” COME ON MAN. That’s not how time works. Figure it out. Can someone write me a script so I don’t see these irritating “time” estimates?

10:44 –

“We have no errors because everything is perfect. We’ll pay for that later.”

10:50 –

“NOBODY touches my database”  – Bloomberg rep

11:44 – My teammates have brought out the redbull. The thing with caffeine: once you start, you can’t stop. Drink up to avoid the crash! When are you starting your caffeine streak?

11:49 –

“We’re all here to learn and f*** up.”

12:04 – My team is almost all set up for backend, gonna jump into ideation and design soon. YAY. You know you’ve made progress when some of your commits are called “Try to fix Jared’s f***up”. Getting hungry; my caffeine-pumped-up body needs some food/fuel sometime soon.

12:21 – Workflow and structure time: all hail whiteboards!

I <3 whiteboard walls.

I heart whiteboard walls.

16:07 – Afternoon Coding Update

This afternoon, my team whiteboarded it up, and got our whole hack planned out. We’re doing a team-matching software in Rails! Really weird to see just how many views and things are involved in even a simple app. Yikes!

I took a selfie, too:

Yay organizers!

Yay organizers!

I learned about all these crazy technologies that apparently exist, like git and trello. Super cool what you can do working in teams.

After, I started working on our basic HTML layout files. This is my first time working with HTML extensively, so that’s interesting. Bootstrap is a life-saver. If I were going to sleep tonight, I think I’d be dreaming in divs…

16:11 – I ate an oreo in one bite.

17:23 – That feeling of satisfaction when you realize that the thing you’ve been working on for hours is being done properly…YAY. Learning so much HTML. The only thing that’s bothering me is the code layout; HTML seems so crowded to me.

17:25 – Red bull has been broken out. Awh yeah. Get hyped! Buzzbuzzbuzzbuzzbuzzbuzzbuzzzzzzzzz. Our team has 36 commits (many of which are fixing failures, but oh well). And, I now know what commit means! I’ve also finished 4/12 preliminary HTML layouts.

18:21 – 9/12 layouts! Changed clothing into a super-huge Bloomberg shirt, no big (well, yes big. Haha. Funny. Not.). Amidst my dreams of divs and Bootstrap, I’m starting to think about dinner. Loving that this hackathon has real food!

Also, we signed up for our T-Shirt Design session! That’s right, we get to paint our own shirts. Such creativity very design much wow.

19:00 – One. More. HTML. Gah. Seriously people, come talk to me about what you’re doing! Save me from the divs! I’ll take a selfie and put it in the blog too!

19:54 – Very happy hacker over here: I finished my HTML layouts! During my breaks, I showed bewildered Americans Canadian money, ate Laffy Taffy (banana yummm), and sang the Canadian national anthem in French to prove that I’m “actually from Canada”. Next up, dinner!

22:13 – Just made my first “commit” ever! :DDDDDDD

Ari Does Unhackathon 2014, Play-By-Play – DAY 1

Standard

Ready for live updates, tweets, late-night insights from Unhackathon in NYC? Of course you are.

FRIDAY

9:44 – On board the train with 2 other McGill hackgirls. None of us have been to NYC, and we have a whole night to kill! Such exploration! But first, 10hr train ride. Rita and Shanna have started brainstorming “super cute” ideas. Looks like a kind of comment feed system?

9:58 – Screaming baby. SOS. Shhhhhhh child shhhh. In other news, Rita and Shanna are arguing about colours in true #hackgirl style.

10:38 – I just found out why my computer was always completely full! Damn “Application Support” files. Just deleted 28 000 files, and now my computer starts up without complaining about how full it is. Ah, 11GB of freedom. I’m gonna work on some personal Android projects for a little bit.

10:55 – Getting ready for the US of A, we roll into customs with our classy Canadian passports. Did you know they smell like maple syrup and moose?

Canadians crossing the border! Watch out USA!

Canadians crossing the border! Watch out USA!

12:03 – Been sitting at customs for an hour waiting for people with non-North American passports to cough up money to get into the country. ‘Murica. Rita is going to eat me if the Café Car doesn’t open soon.

12:30 – WIFI! FOOD! MOVING AGAIN! HYPE!

HYPE!

HYPE!

12:55 – Questionable American train food choices: giant plain-as-can-be bagel, wrap that contains half bacon, and, the kicker, a microwave “processed cheese-product”burger.

The lovely selection.

The lovely selection.

Cheese? Maybe?

Cheese? Maybe?

14:13 – It’s kinda pretty down here. Some nice views from the train:

Still water, Vermont in the background.

Still water, Vermont in the background.

I'm on a boat.

I’m on a boat.

Pretty hackgirl, pretty view.

Pretty hackgirl, pretty view.

14:26 – WIFI! I’m WordPressing, and Shanna is learning Node. The internet goes in spurts of dial-up slow and Google-office fast (I have no idea what Google’s speeds are, but I’m assuming they’re pretty quick). Oh well, at least it’s free?

Working hard, hardly working...

Working hard, hardly working…

15:44 – The train, the view, the food in your belly…a recipe for sweet dreams. It’s naptime. Kids, I have a lesson for you. Don’t talk to your fellow hackers about fonts before sleeping. May cause disturbing images of serif fonts (Garamond ftw) using claws to fight with one another. No, doctor, I’m not crazy. Shhh.

IMG_20140919_154122

Sleep tight; don’t let the serifs bite.

17:00 – The sun is starting to set and it burns my eyes. The curtain (this sucker is straight outta ’59) provides no respite. The struggle is real. In other news, I think we’re near Albany. Wherever that is. Does anyone even live in the rest of the State of New York?

image

The struggle is real. I think I’m a vampire.

17:21 – THEY’RE LETTING US OFF THE TRAIN FOR A BREAK! HALLELUJAH! FREE AT LAST! But wait, when we get back on the train, there’ll be an additional 100 passengers to contribute to the delicious smell and temperature of these cars? Mmmm. Love it. Basking in the aroma of close human contact.

17:42 – During the brief venture into the outdoors, Rita and I ran upstairs to a little convenience store where I wowed the cashier with a hot new technology: credit cards with chips. Seriously America? Keep up! We also took selfies for you:

IMG_20140919_172554

Try to look normal…

...or not.

…or not.

18:00 – Why does SHE get to be the normal looking one???

Maybe it's Maybelline.

Maybe it’s Maybelline.

18:12 – WHAT IS THIS? A bird? A plane? A vertical train? Superman? A beanstalk? A rocket? Am I going to die?

Up up up, can only go up from here.

Up up up, can only go up from here.

18:43 – America: let’s have a chat. Why do you eat so much? Literally every portion size is bigger than Canada. Let’s talk about Twix bars: why don’t you package them by the portion? I could see maybe packing in twos, like we do in Canada, because that’s kinda what your name is based off, twins. Cool. But no, you’re determined to shove 4 SERVINGS in a package, and label it “per serving”. Really? Who needs 440 calories of “cookie bars”? (And if you’re wondering: yes, I ate them all, and yes, they were delicious. No shame.)

Gotta eat 'em all.

Gotta eat ’em all.

19:34 – The “OMG WE’RE AN HOUR AWAY!!!!!!!!!” selfie series:

Cute, but wait...

Cute, but wait…

...nope. Crazy.

…nope. Crazy.

19:51 – HALF HOUR LEFT SELFIE!

We have moustaches because we are better than you.

We have moustaches because we are better than you.

21:00 – We have arrived! We met with our lovely hosts, and the hackathon overlord Jon Gottfried (from MLH). Jon did a fantastic job of saving the hackathon world as we know it while making sure I didn’t get hit by cars while jaywalking.

We're here...let's scream!

We’re here…let’s scream!

21:30 – Here beggineth a tour of epic proportions, from Times Square to the Library to Grand Central Station, and finally to a place with food other than microwave cheeseburgers. I won’t bore you with the details and my super-tourist pictures, but I’ll give a huge shout-out to Jon and company from Major League Hacking: thanks for a great hacker welcome! First impression: I feel short. Why are the buildings so tall? I know in Montreal we have limits on height, but I didn’t realize it made THAT much of a difference.

The last supper (before our bodies turn into caffeine-powered coding machines)

The last supper (before our bodies turn into caffeine-powered coding machines)

23:54 – I’ve arrived with my lovely NYU host, Freia, and I’m settling down for the night. Pfft, nonsense. I’m downloading software I might need tomorrow, writing blog posts, and trying to plan how to best budget my time in NYC. Sleep is for the weak. And the week (because hackathons are on the weekend…get it? Haha. Funny. Not funny?).

Check out my DAY 2 post for a continuation.

Live news on Twitter, @arielle_van.

Things You Learn as an Android Noob

Standard

 

I’ve been trying to get my head around Android development for about a month now.

Programming of any kind is notorious for having a steep learning curve, but I certainly couldn’t predict some of the quirks that came up when beginning Android development.

If you’re looking to get started, prepare yourself for some surprises. If you’re a seasoned developer, take the time to look back and laugh.

 


 

1. Getting started is a week-long process.

You might think you’re ready to roll. You’ve downloaded Eclipse and you’re pumped to get programming. But wait, it’s making me download a plugin. Oh, my SDK isn’t up to date. Oh, I can’t use that API. I finally write a program, but I can’t run it without an AVD. And I can’t run an AVD without downloading HAX. Who knew setting up could be so difficult?

The end result (many, many errors later):

Hello, World.

Or even worse, the app doesn’t run (see #2).

 


 

2. Android runs away from its problems.

Got an error?

Unfortunately, MyProgram has stopped.

Thanks, Android. I hadn’t realized that my beautiful app had ceased to run. Your explanation has provided so much clarity as to what type of errors it encountered. I definitely don’t want to throw this device into the nearest wall now.

Nyan Droid?

 

The error logging system isn’t exactly user friendly, and takes some getting used to (read: there’s a lot of cryptic red text). At least the icon is cute:

 

 


 

3. Choosing the correct API Level is an art.

Android recently released API 20 and 21, leading me to believe that these were the newest and best. For newbies, they’re definitely not.

API 20 is for Android wearables. I didn’t put much thought into that until errors starting popping up, and my EditText’s started disappearing into thin air. It makes sense when you think about it: you can’t input text on a SmartWatch. However, it’s pretty confusing to someone who can’t tell Honeycomb from KitKat from Froyo (see #4).

API 19 (KitKat) is a pretty good bet for a working compile target. But once you’ve got that in place, the minimum SDK becomes a whole other problem.

With a minimum SDK of API 8, you’ll hit over 90% of Android users. Cool. Unless you want to implement new features, like tabs, or ViewPagers, or NumberPickers. For some of these, you’ll have to up the ante and set a minimum of API 11, or even 14. Not a big deal, unless you realize it midway through a project and have to traverse the dreaded Manifest (see #5).

 


 

4. Android is hungry.

Ask an Android user what OS version they’re running. I dare you. I bet the response will make your mouth water.

Here’s the versions to date:

  • Cupcake (1.5)
  • Doughnut (1.6)
  • Eclair (2.0–2.1)
  • Froyo (2.2–2.2.3)
  • Gingerbread (2.3–2.3.7)
  • Honeycomb (3.0–3.2.6)
  • Ice Cream Sandwich (4.0–4.0.4)
  • Jelly Bean (4.1–4.3.1)
  • KitKat (4.4–4.4.4)

Cute, they’re even in alphabetical order. The next one to come (which is already released as a developer preview) is “L”. Any guesses on its confectionary name?

 


 

5. AndroidManifest.xml is important, but you’ll forget about it anyway.

Your application’s Manifest file is arguably the most important. It contains version data, general app data, and a record of all activities. But, chances are, you won’t even need to touch it until you try to add an Activity.

Setting up a button that launches a different Activity is an important step in the first few hours of Android development. It involves coordinating your “onClick” setting, a launch method, and a new activity with its own layout. I bet you forgot something.

You have to declare your activities in the AndroidManifest.xml. It’s kind of like a hovering mom: if she doesn’t know about it, it ain’t gonna happen. You can make plans with your friends and have everything organized, but if mom says no, nothing will compile work out.

I guarantee you’ll forget it at least once, and you’ll feel really dumb. I definitely don’t speak from personal experience.

 


 

Have fun in the Android world! I’ll be tweeting more quirks I come across, so be sure to follow me.

Do you have noob stories? Send them to @arielle_van or comment below!