Fresh Air

I had my first interview with Hack Reactor today. That was awesome. It was a 180 from my two App Academy interviews. Doug from HackR was amazing. First of all, he was on time! I figured that was a good omen. But then he was also funny and sweet even though my Skype was being funky initially. I felt very at ease by the time the initial coding assessment came around. It was actually kinda fun and straightforward and he told me I’d moved on to the take home and technical interview! We scheduled it on the spot and I took the first opening available (next Tuesday). We then chatted a bit more (I learned that they take about 30 students now and had 5 women the last go round).

Basically I’m just really, really excited and beyond glad I decided to focus on just this program. I think it is exactly what I’m looking for.



I Did All the Things

Finally finished up the last 6 Coderbyte challenges. I had planned to finish them on Tuesday but I got home from an all day work “thing”, took a shower and passed out. On Wednesday I had a much-needed pajama party with relatives and watched some old Downton Abbey (season 2, Matthew just got the use of his legs again *sniff*). The last 6 challenges were plagued with me forgetting what variable type I was juggling. Most of my errors were fixed by type conversions. I still believe nothing was as hard as that stupid Array Addition. Everything else I was able to piece together on my own, but I don’t think I would have ever solved that one without a bit of a nudge from other coders. I think I need more math logic. I should probably take a class or find a good book (oh the torture) on the subject. I plan on reading through Professional JavaScript for Web Developers over the weekend and maybe running through all 26 again (no peeking!) on Sunday as prep for Tuesday’s interview. After I get in (I need to tone down the bravado), I want to go back and try the harder challenges. Wish me luck on everything! Also, as always, my Github with the updates. My favorite code this time was MeanMode which checks to see if the mean and the mode of an array are the same. It’s probably my favorite because I literally couldn’t remember what the mode of an array was and had to look up remedial math stuffs. That was humbling.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function MeanMode(arr) {  
  var mode;  
  var modeCount = [];  
  var count = 0;  
  var sum = 0;  

  for (i = 0; i < arr.length; i++) {  
    sum += arr[i];

    if(!modeCount[arr[i]-1]){
      modeCount[arr[i]-1] = 0;  
    }

    modeCount[arr[i]-1] += 1;  
  }  
  for(i = 0; i < modeCount.length; i++) {

    if(modeCount[i] > count) {  
      mode = i+1;  
      count = modeCount[i];  
    }  
  }

  var mean = sum/arr.length;

  if (mean === mode) {  
    return 1;  
  } else {  
    return 0;  
  }  
}

Solver of Problems

I figured it out! Sort of on my own, sort of studying how others had “solved” it in different languages (a few of the “solutions” didn’t seem to work). Array Addition I is now my bitch. Also the next 10 easy problems from Coderbyte are on my GitHub. 6 more to go (well 7 actually, I gave up on ArithGeo, but the solving of Array Addition gives me hope that I will figure it out tomorrow). Problem description: Using the JavaScript language, have the function ArrayAdditionI(arr) take the array of numbers stored in arr and return the string true if any combination of numbers in the array can be added up to equal the largest number in the array, otherwise return the string false. For example: if arr contains [4, 6, 23, 10, 1, 3] the output should return true because 4 + 6 + 10 + 3 = 23. The array will not be empty, will not contain all the same elements, and may contain negative numbers. And my solution: (basically grabs the largest value out of a provided array and it runs through all the possible sum combinations of all the other numbers to see if one of those sums equals the largest values)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function ArrayAdditionI(arr) {
  arr.sort(function(a,b){return a - b})
  var largest = arr.pop();
  var sum = 0;

  for (var i = 0; i < arr.length; i++){
    sum += arr[i];

    for (var j = 0; j < arr.length; j++){
      if (i != j) {
        sum += arr[j];
        if (sum == largest) {
          return true;
        }
      }
    }

    for (var k = 0; k < arr.length; k++) {
      if (i != k) {
        sum -= arr[k];
        if (sum == largest) {
          return true;
        }
      }
    }

    sum = 0;
  }

  return false;
}

Coderbyte and Me

I’ve been practicing my JavaScript for the HackReactor interview on the 20th (wish me luck by the way). They sent around an email saying to be prepared so you didn’t have to reschedule (I’m suddenly glad I couldn’t get an appointment straightaway). They recommended being able to get through all the easy challenges on Coderbyte in < 5 minutes. Yikes? Surprisingly not. I’m having a lot of fun.

There are a couple things I’ve obviously forgotten (I had to look up the regex to keep only alpha characters, I suck at regex), but I’m pretty fast. I’m also realizing just how not amazing I am at the trickier puzzles. There are one or two in there that I still don’t understand, even after I caved and looked up how others solved them (Array Addition I, I’m glaring at you).

There are 26 easy challenges. I’ve decided to run through at least 10 a day, so I finished the first 10 today and uploaded them to my GitHub. My favorite one so far was the TimeConvert, which took a number (e.g. 126) and converted to the amount of hours and minutes (e.g. 2:6). I could have made it prettier by added a preceding 0 in the minutes, but the goal of these is speed and the instructions didn’t ask for that pretty extra. This was my favorite because I just have this weird love for modulus. The code to solve it:

1
2
3
4
5
6
function TimeConvert(num) {
  var minutes = num % 60;
  var hours = parseInt(num/60);

  return "" + hours + ":" + minutes;
}

Slogging Updates

I got a conditional acceptance from App Academy. I have to do the homework and take one more coding test before they will let me in because I bombed the last coding interview. I’m actually not upset at all. I was worried that I was going to feel obligated to go when I really want to see how my interview with Hack Reactor goes. I understand that App Academy would be a good choice from a finances perspective, but the raw talent that they seem to be churning out of Hack Reactor is really intriguing, especially when Ruby isn’t my favorite language and JavaScript was the first one I ever learned.

Updates as they come! Hack Reactor interview isn’t until the 20th and I probably won’t try to finish up the App Academy homework until around that time as well.


Everyone's On It

I just made something! For the first time ever I made a stupid little ruby program to do something that a PivotTable was giving me fits over at work. I had a spreadsheet like so:

Spreadsheet of Traits

But what I really needed was a text file that I could print and hand out to people like so:

Formatted Strengths

And I did it with the power of Ruby! I was so proud of myself. I’ve never taken a real world problem (from my work no less) and made a tiny bit of code do exactly what I want it to. It just adds to my love of coding.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require 'csv'

contents = CSV.open "strengths.csv", headers: true, header_converters: :symbol
File.open("out.txt", 'w') do |f|
  contents.each do |row|
    headers = contents.headers
      name = row[0]
    strength = {}
      i = 1
    while i < row.length
      if row[i]
        strength[(row[i].to_i)] = i
      end
      i += 1
    end
    f.write("#{name} \n")
    stren = strength.sort_by { |k, v| k }

    stren.each do |k,v|
      f.write("\t #{headers[v].to_s.capitalize} \n")
    end
    f.write("\n")
  end
end

And yes, those are my StrengthsFinder top 5 in the second picture. Everyone at work had to do them and I think mine are very accurate.



Everything Will Be Amazing

Someday I’ll be a better writer of my thoughts. In the mean time, there is a lot to catch up on. My bestest, best friend got into Hackbright! She starts in September. I am so ridiculously happy for her, not in the least because I feel like I taught her most of what she knows about coding currently and I can’t wait to be able to have deep, nerdy conversations when she’s all done with the mind-meld that is programming. It’s a little bittersweet for me as I was the one who initially sent her the link. I’d been thinking about trying for it myself, but the timeline just wasn’t right this year.

Hackbright became my gateway drug, however. I found out they weren’t the only game in town. There are all shapes and sizes of programming bootcamps and after reviewing a lot of them, I’m currently in the process of applying for App Academy. Application and first coding test are a check. I’m literally taking a break from studying for the second coding test to type this up. So second round of coding and then (fingers crossed) a coding interview left to go before I wait with bated breath to find out if I get the best birthday present ever (birthday - Nov 14, start date - Nov 18!).

Besides hopefully an entire life shift I’ve been sticking to my routine of Coursera class. Startup Engineering is at its halfway point and I have a shell of a crowdfunding idea here. Oh yeah, the Code Girls and Octavia are real things, sort of. They are mostly in the brains of the three of us (aforementioned bestest, best friend and my other best friend) but I’ve said out loud to myself that I want a working project within 5 years, so obviously I have to do it now.

Other than that: quietness. I spent two weeks in California earlier this month and spent most of the time falling deeper in love with the Bay Area. I came back and bought myself a Mac (for those keeping score, I now technically own 4-5 laptops, but two have been handed down to my parents, one I received for free and it doesn’t really work anyway, the 4th is a tiny fun Linux netbook and the 5th is the new shiny MacBook Air I lovingly call “Monster”). This Mac represents my promise to myself it is my first true “dev” machine. The first things I installed on it were Ruby and Python and all the little bits that go along with that.

Wish me luck. I think I should probably be studying.


#Hashtag Redundancy

I couldn’t even finish the first Coursera course without starting another one. This time it’s Data Science. Yummy, yummy data that I get to program into submission. We are starting off with a trip through the Twitter API and I finally learned that JSON isn’t as scary as I thought it was when I didn’t know anything about it! Go me! We did a number of things with Twitter and some Python programming. The last part of the assignment was my favorite, the most popular hashtags. Some of my code (for a different section on finding tweet locations):

And my hashtag results from a 10 minute snapshot of new tweets to Twitter:

In theory I understand hashtags. In practice they bug me, especially the ones like the above “#YouWillNotBeTakenSeriouslyIf”. Ugh. Anyway, I actually went wild and crazy and Googled some of the hashtags, because most of them mean nothing to me. I even learned some Spanish! Seamos sinceros = “let’s be honest” which sounds just like another of the type of hashtags that bother me.