Live for Free: StayTraders. Bitmaker Final Project

Last Friday, we had the chance to see some of the final projects from the Bitmaker Summer Cohort. After only two weeks, the result has been some amazing MVPs. From dining deals and reservations to a Github for DJs, it’s amazing what we can build now.

Our Bitmaker project is up online at StayTraders.com. Create an account, play with it, and email me at sing.drew at gmail.com if you have any questions!

If you want to hear about the technologies we used and features of the site, feel free to read onwards.

Screen Shot 2013-08-10 at 9.55.21 PM

StayTraders is an accommodation for skills exchange that allows guests to teach or work for their hosts. In return, they get a free place to stay. Users  can contact hosts listed on the site. If a host has accommodation available, they can then offer it to that person for a maximum of 20 hours of work a week. I’ve always enjoyed traveling and immersing myself in different cultures, which is one reason why seeing the physical MVP online has been so rewarding.

I was lucky enough to work with Eric Szeto. I feel we got along really well, and got into a solid work flow once we understood the goals of our MVP (I highly recommend interviewing him for his full-stack skills, and on top of that, he’s a personable guy who’s quite funny!). We managed our tasks with Asana, and scribbled text on a shared google doc when further notes were required.

StayTraders utilizes Haml, Sass, Sorcery for user authentication, pry for debugging, and bootstrap-sass. Instead of using CoffeeScript, we used javascript to try and cement our js understanding.

A cool gem we found was Figaro, which is used to keep our sensitive keys confidential since this is a public repo. And our site is hosted on Heroku’s handy setup!

For testing, we’re utilizing Rspec and Capybara. Our intention was to use BDD. Most of our views are covered, but admittedly we have fallen behind on the specs and need to spend some time catching up on them.

Carrierwave, mini_magick, and S3 – Our images are hosted on Amazon S3. We’re using the carrierwave gem for image uploads and a Jquery cropping plugin called Jcrop for image cropping. Configuring everything was a bit tricky because for some reason mini-magick wasn’t saving the cropped image coordinates (x, y, w, h). In our crop method, we then open the image and manually write the new cropped image dimensions to make sure it saves and displays properly (see asset_uploader.rb under app/uploaders)

State_machine -To get an understanding of state machines, we used them in our admin panel. We transition the state of a hosting to pending once it has been submitted by a user.
This allows an admin to approve the hosting for display on the site if all the requirements have been filled out.

Polymorphic assets – StayTraders allows multiple image uploads for both Profiles and Hostings. Initially, we set up lis_images and pro_images models and controllers, which wasn’t very DRY and became a bit confusing. We then refactored all our images into an assets polymorphic tree, which can be accessed by both Profiles and Hostings. Our assets table also has a column called “state” (probably not the best name), which is used to label whether an image is the default profile image or not (active or inactive).

Google Charts! – For logged in users, we recently implemented a google chart to display the country location of all hostings and people with a toggle button. Check out our maps_controller.rb for how the data is organized.

Mailers – Test our mailers :-). Upon registration, we’ve set up mailers to send an automatic email to the user. We’ve also implemented a contact form for both hostings and profiles, which automatically is sent to the recipient via email. It allows us to keep emails private until a user has reached out to another StayTrader.

Overall, it’s been extremely rewarding to work on this fun idea. Eric has been an awesome partner. His attention to detail is amazing, and I hope to be able to continue working on StayTraders with him in our free time.

Bitmaker Life Update: Apologies for the vacant blog

Sorry for not posting since week three. It has been a mental marathon. My tweets, blog posts, and life in general have been cut down to maximize my learning over the last 10 weeks (ten because the Bitmaker week off provided an great chance to catch up and prepare for Rails).

Every day I’ve woken up and been excited for lecture to see what new skills we would gain. Some days have been a tougher grind than others. I’d equate the feeling of these days to being lost in the woods without a flashlight. Ramen dinners and late night sessions have become routine, but it has been an adventure. I’ve never ran a marathon or climbed a tall mountain, but I have to think there are some similarities in the mental mindset that is required during these activities of mental endurance. On days where you grasp concepts and make good procress, it feels like you’ve leveled up in an RPG or something. Ahhh, the new found hit points and tools you now have!

I’m excited to continue working on my skills. Whether or not I get a position during interview week, I’m stoked to see where I’m at in one month and three months. Analogy wise, I feel I’ve finally learned how to fish when it comes to programming, and the web has all the resources I need to extract the skills applicable to become a dev.

Next post: A summary of our Bitmaker Final Project!

Canadian Government just shut down my rails bootcamp.

I assumed it was going to be a plea to keep the space more tidy. Or maybe we weren’t working hard enough. As all the instructors lined up at the front of the room, I realized this was more important. Once Matt finished speaking, the class fell under shock. Bitmaker Labs (9 week intensive rails course similar to Dev Bootcamp) has been forced to cease operations as of this Monday.

I’ve always had trouble explaining Bitmaker Labs to anyone not in the tech “let’s accelerate education” discussion. I’ll normally say it’s a full time trade school, kind of like one an electrician or plumber would attend, which usually gives folks a vague understanding of what I’m doing. Definitely too vague though, as I was pulled over at the Canadian Border for this unknown “course” I was attending. Luckily I made my flight from Vancouver to Toronto, where I’ve received the most robust education of my life thus far.

Image.

Above: Students studying on their own.

If all goes well, Bitmaker Labs will be up and running in the coming week or two.  The team’s objective right now is to register as a private career college on an expedited basis. Will we have a chance to finish the remaining ⅔ of our course? That is yet to be known. Best case, we’ll get to learn ruby on rails starting next week. Worst case, we will have been the last dev course to live in Canada, until it went the way of the dino due to an education technicality meteorite.

I saw a man in a Canadian Uniform walk by around lunch time today. Must have been the inspector from the MTCU checking up and making sure class isn’t in session. I’m sorry officer, but I will be continuing my education with or without your stamp of approval with my friend Stack Overflow. I may even plan on collaborating with existing students to continue our learning. Throw us in jail for our rebellious behavior. We’re education outlaws causing a ruckus as we build our skills with each commit we push to Github.

Bitmaker Blog: Week 1

And so it begins. Anxious and excited describe my feelings as I struggled to fall asleep the night before the summer Bitmaker Labs Cohort started on June 3rd, 2013.

Beginning a dedicated 9 weeks with aspiring developers is motivating. The eve of our first day, I met with four fellow students, which was great to discuss everything stirring in our minds.

On the 1st day we learned how to use unix, git, github, and how to utilize these tools to collaborate with others. For our group assignment. One person would clone the assigned Bitmaker repository and the rest would clone that user’s repo, updates to the file, then commit and push. It was important at the end for each team member to clone the repo to their own individual github account, which required the use of git clone.

Utlizing git remote -v was important to make sure, when pushing our new repo up, that we were properly pushing to our desired repo. https://help.github.com/articles/changing-a-remote-s-url

During certain periods of the day, I felt I had a strong grasp of the material, but at the same time, there were times were I felt lost and unprepared for the course. 

 

 

The Little Hash Key that Could Answer and Solution – Rubeque

I found this question simple to understand, but difficult in finding how to display the “key” for the min “value”.

def key_for_min_value(hash)
hash.key (hash.values.min_by {|a| a})
end

http://www.rubeque.com/problems/the-little-hash-key-that-could

This code finds the min value, and avoids using a sort_by loop by placing the values method within the hash.key. This allows the key to be printed, while allowing values.min_by to target the smallest value.

http://zetcode.com/lang/rubytutorial/hashes/ – Helpful in learning the very basics of hashes.

Headed to Toronto. Going to dev school.

Apologies for not updating for awhile. It’s been a busy last six months for me debating what skills I want to gain, where I want to work, and what continent I should reside on.

I’ve been accepted into Toronto’s dev bootcamp, Bitmaker Labs, and will be leaving Sydney for Seattle then Toronto in late May. I’ve realized I’ll regret not giving web development a full go since I’ve never been able to help ramp up a product as a non-technical member of a team.

Many of my thoughts the last six months have revolved around my next professional step. This in turn led to me realizing I’ve enjoyed my time working at tech startups before arriving Sydney. Although I’ve never been technical, contributing to the non-tech end has still provided me satisfaction to these teams.

When I look back though, I’ve had many opportunities to learn how to code. From our college startup Weutt I invested 2 years of college for, to working at Retronyms and Grubwithus, I’ve been able to provide marketing, user acquisition, and pitching value, but never anything on the technical side.

Some may say I should stick to my strengths and experiences, which I feel is a valid point, but in today’s technically evolving world, I believe having a base knowledge of how to code is like being able to read and write. It’s tough to understand the feasibility of product ideas, contribute during the development phase, and have empathy for the tough dev work unless you’ve experiencing it with everyone.

My long-term goal may not be to be the best programmer in the world (don’t know yet until I go through the course). I’ve realized I enjoy the project management side of technology, which this course would allow me to do with my non-technical experience in this space.

I’m 24 years old, which is a great age to be. It’s a time where you can invest in yourself and reap the benefits down the line. This is exactly what I plan to do. So if I don’t post between June and August, know that it’s because I’m working hard to gain the skills of a web developer.

A young, business minded entrepreneur with has gained relevant experience on the non-technical end. On top of that, he’s a full stack web developer. That’s what I’m working toward.

If you have any tips or thoughts on becoming a dev, let me know! @drew_sing.

Cheers,
Drew

Sick of Silicon Valley Startups? Moving to Chile isn’t as crazy as it sounds.

I like startups and I like to travel. But after I ran the numbers, booking a one way ticket to Santiago to pursue startups isn’t as crazy as I initially thought.

For devs looking for a change of pace and who have a bit of South American adventure in them, booking a one way ticket to Santiago isn’t as illogical as it sounds. I’m not arguing that Santiago has the same opportunities as Silicon Valley. I’m just shedding light on an adventurous startup route for those who want to brush up on their high school Spanish.

If you’re interested, please connect with me @drew_sing. It is something I am considering in mid 2013 and would love to get in touch with anyone else interested.

Startup Chile

If you haven’t heard, Startup Chile is a government funded program that plans to give out $40,000 to 1,000 startups from around the world at no equity whatsoever. That’s $40 million in free funding for companies willing to move to Santiago for at least six months.

Let’s do some basic math to prove it wouldn’t be absolutely crazy to move to Santiago.

For the 2013 batch, 105 startups out of 1400 applicants have been selected for Startup Chile. 24% of accepted startups are from the U.S. and 28% hail from Chile and Argentina. This brings the total amount of Startup Chile companies up to 216 (24 2010 and 87 in 2011).

Because the tech ecosystem is being jump-started by the government, there will be holes for talent since Santiago’s tech community hasn’t had time to develop its skilled infrastructure to this level yet. You could equate it to building a world class baseball training facility in a country that has been playing baseball, but not at an all-star level yet. I’m not discrediting the tech scene in Santiago. From what I’ve read, it’s arguably the most innovative hub in South America. More so I’m highlighting Startup Chile because these investments represent Chile’s desire to be an international leader in innovation, putting its money where its mouth is to eventually be on the same playing field as Silicon Valley in the future if all goes well.

This means there’s a window of opportunity for seasoned entrepreneurs looking to join a startup as a co-founder or 1st employee.

But how would you join a startup at a co-founder level?

Paul Graham stated about 25% of YC startups lose a founder, so based on his math there will be 250 startups in need of a co-founder in Santiago. Yes, they may hire out of their home country, but it’s always easier for teams to work from the same location initially.

Now, to the Tim Ferris inspired section of this article.

You can live in Santiago for less than $1000/month (yes, that’s including rent. Take that SF).

• A lunch meal costs around $4.50 AUD
• 3 course dinner meal with wine costs around $17.00 AUD
• Rent for an apartment room around $350.00 AUD
• When you need a break, there is world class skiing 55 kilometers east of the city at Valle Nevado. Four ski resorts are within 160 kilometers of Santiago (I’ve been missing snowboarding since moving to Sydney so had to put in this plug).

Conclusion

Chile is not the answer to joining or starting a successful company, but for a semi-vacation/short term move, Santiago will be a great adventure. To jumpstart your creative juices or get a bolt of inspiration, sometimes you simply need a change of scenery. So if you’re getting complacent with riding the Cal Train to Mountain View while you’re reading Hacker News, why not pick up Rosetta Stone and get cracking on some Spanish. Gracias por leer mi artículo!