Wednesday, October 15, 2014

KSOTD: shift + cmd + [ or ]

I'm going to occasionally post about some useful keyboard shortcut that I'm learning to use to help speed up my workflow.

Today's keyboard shortcut of the day allows me to switch tabs quickly within any application ( iterm, chrome to name a couple).

shift + cmd + [ navigates you to the tab to the left of the currently active tab.
shift + cmd + ] navigates to the tab on the right.

Another keyboard shortcut I knew before to switch tabs within an application is ctrl + tab, but that's a little awkward and you can only go in one direction. With this one, I can put my thumb on cmd, pinky on shift and right pinky to press either [ or ].


PS. In case you haven't figured it out yet, KSOTD stands for Keyboard Shortcut of the Day. I will be tagging future posts with this acronym! I got the idea from another acronym OOTD meaning Outfit of the Day.

That's it for today!
Goodnight~

Bess


Saturday, October 11, 2014

I made my first contribution to an open source project!

Today I was working on my node app and I was looking up how the res.redirect method in Express worked.

 I then found a typo in the deprecate message so I decided to make my very first contribution to an open source project!!! It was a fairly trivial change but I submitted it anyways, it was exhilerating!

Here's what I did:

  1. Forked the repository (I went to https://github.com/strongloop/express and clicked on the fork button)
  2. Clone the repository locally
    > git clone git@github.com:strongloop/express.git
  3. Corrected the typo
  4. Committed my changes and pushed it to my branch. 
  5. Make a pull request! https://github.com/strongloop/express/pulls -- click on the green "New pull request" button! This step is to merge your changes to the main code repository.


That's it!!!
After making the pull request, the automated build (Travis CI) ran and passed (obviously) and shortly after, my changes were accepted. :D

In summary, when you want to make changes to a git repository essentially what you do is fork the project, make changes locally, and make a pull request to get your changes accepted and pulled into the main branch.

This is my very first open source contribution! More to come..
If you're curious...
https://github.com/strongloop/express/pull/2395#issuecomment-58762835

Cheers,
Bess

Tuesday, October 7, 2014

Mongo, Heroku and testing

For my current project (Ephemeral-messages), I'm using Nodejs and Mongo.
The project is being hosted in Heroku right now!
Today I'm going to write about how I set up the database for my app.

1. Login to Heroku dashboard: https://dashboard-next.heroku.com/apps
2. Click on your application
3. Under the Add-ons section, click on "Get more addons.."
4. Choose the service you need -- in my case I chose MongoHQ
 You can use their services for free -- 512 mb for the MongoHQ Sandbox.
 The only tedious part was verifying my account with a credit card.

 Once it's all set up, I was able to access the database from my Heroku dashboard.
 With this add on you can view the mongo documents you currently have stored and run queries too!

Additional notes for running a local version for testing:
When testing the application locally, it is useful to have a local instance of mongo running in my terminal.
Install mongo using Brew:
> brew install mongodb

** another side note: brew --> is Homebrew, a package manager for osx. This is what I used to install mongodb. Here's a link to download: http://brew.sh/

Run mongodb in the terminal:
> sudo mongod

Example of how to start up and query the database in the terminal:
> mongo
> use test
> show collections
> db.ephemerals.find()
> db.ephemerals.remove({})

That's it for today!
Bess

Friday, October 3, 2014

I'm alive!!! And stuff about my new MacBook Pro Retina!

Already 10 months out of school, working full time and I'm still learning lots! When I was young I had this naive idea that once I'm out of school and working for a company with stable pay that will be my life. But nope!

Today I'm going to write about my new dev machine, my MacBook Pro Retina!
Coming from working with both linux and windows, I must say osx is quite slick. The terminal is really easy to work with ( Similar to linux ). I really enjoy the smooth feeling of the trackpad. It's so responsive compared to all of the other laptops I've ever worked with ( Asus, Lenovo ).


Isn't she beautiful? I've already decided the gender of my MacBook Pro apparently. 

After getting my new machine, I began prepping it up for development. Here are a few things I installed and what I think about them:

Sublime text 3
I'm currently using Sublime text 3 and there are many add-ons that that will be very useful for development depending on what I need.
- Package installer for installing add-ons in sublime. All I need to do is command + shift + p to bring up package installer, then type in whatever add on you want to install for your instance of sublime!
- Sublimegit - still have yet to learn more about this tool..

OSX tools
Some tools I installed into my new macbook pro that you should install too:
- BetterTouchTool - The track pad on the mac is so smooth! Better than all of the track pads I've ever used. Take advantage of this great trackpad using this tool. You can customize gestures and add gestures with this application. So far, I have two finger swipe from top edge to close applications, and tiptap right and left for switching between tabs quickly. It's great!

iterm2
- This is a replacement for the default terminal. Has a whole lotta settings you can use if you're using the terminal a lot. Check it out! http://iterm2.com/features.html

Alfred
Search anything on your computer quickly! You can use it to quickly open up applications, define a word, do calculations... There are so many things this app can do I have yet to discover! http://www.alfredapp.com/

That's it for now! Let the programming adventures begin~
Bess

Wednesday, September 5, 2012

Clearing out the spider webs..

Phew.. I haven't updated this blog as often as I'd hoped when I first started it.
Summer has just ended and I am four months into my final co-op term and everything seems to be taking its course... It was a slow first 3 months to be honest but I'm finally doing real dev work for real software in the real world! It really is an amazing feeling! :) I just recently developed a feature for the company's software and wrote (am still working on actually) the tests. I've never really worked on such a large project before with so many solutions to manage and build. I one day that a lot of the work of a developer entails building large projects, debugging, and managing files*** I cannot stress enough how much time put into managing files properly... I guess this was all because I was relatively new to subversion. I've only used it for a couple of semesters in school... At work there are much more clear and strict guidelines to how we should check out our projects and merge in our changes. I am certainly learning a lot!!

 This week was also the start of the fall semester for some of my friends still in school... It feels like I'm still on vacation (technically I didn't really have one since I was working full time the whole four months of summer). I feel like I'm not spending my time productively enough after work when I get home. So today I got off my bum, and looked at a few of the free online courses that are offered by Standford et al.
*drumroll please* I will be working on the web development course cs 253 offered by udacity!! I've always been interested in web dev, and this will certainly be a great way to start. I plan to work on the assignments and homework throughout the span of the next four months before I start school again next year January! By writing it down here I hope I'll be able to hold myself accountable and finish at least 2 units a week. Possibly write a few thoughts down here if I feel like it. Looks like we'll be developing a web application focusing more on server side stuff in this course. Also a plus, we will be using  google web app engine which I have some experience with in my cs 310 course just this year's January. (I'll write about that later..)

CIAO!

Sunday, March 11, 2012

Hackathon continued...

I managed to fix up storing and retrieving data for the application!
Deployed it in appspot and users are now able to write reviews and view them even after they close and reopen the browser! (ha-ha) It's still barely presentable and the hacked code needs some serious cleaning up.

List of to-dos:
- refractor!
- error handling
- pagination for reviews
- get the background to display
- make the menu bar prettier
- display markers on the map as we load the reviews
- associate markers with the reviews
- marker click handlers to show the addresses

For now, I'm putting this project on hiatus!
I need to work on some course work now!


Saturday, March 10, 2012

White day Hackathon

Today I participated in my very first Hackathon!



It was hosted by A Thinking Ape and Silicon Sisters. 
The Hackathon was aimed at promoting female developers and the turnout was great! There was  a mixer the previous evening to meet other developers going to the hackathon today and tentatively formed a team with another aspiring developer who also has amazing experience in design. She went to Emily Carr and is amazing at front end web development! Talked to a whole bunch of developers whose enthusiasm inspired me immensely. 

The day of the hackathon, I teamed up with the developer I met at the mixer the previous night and an ambitious computer science friend from UBC! I was really blessed to have these two on my team. We decided to work with GWT with GAE because I was most familiar with it and we had a basic idea of what we wanted to make for our web application. We wanted to build an application where people can post up reviews of chocolates they've eaten around the world. They're able to mention things like location and price of the chocolate they want to review. Most of the time I was working with data persistence - keeping the reviews in datastore and the other two were working on front-end UI. As I was working with maps in my current cpsc 310 class, I just slapped on the code that I was working on previously to add in the feature of displaying locations of chocolates that were reviewed and posted on the web app. Unfortunately, after I got persistence working on my machine, I ran into problems pushing my changes onto github so I ended up not adding it to our final product. We had to use dummy data, and adding data was erased after you close the browser. I plan on probably fixing this and deploying it just for future reference. During the hackathon I had a lot of sugar, I'm worried for my health. More hackathons like this and I could develop diabetes O_O *knocks on wood*

At the end of the day, 18 teams presented their hacked together application and all were pretty amazing. There were web applications and games. One of the games involved two robots in space - one female and one male. The goal of the game was to tag the female robot and gain points. It was really adorable the way they floated around haha. I won't go into detail for the other ones because I don't know if it's confidential! Go try out for a hackathon if you wanna see all of the amazing ideas people have!

If ever there is another hackathon being held, I would definitely participate if I had the time. A great opportunity to learn, share ideas, meet new people and practice coding!

P.S I do have a version of our app deployed right now but I'd rather not share it until I have the data persistence and CSS fixed. Until then, here's a picture of two of us and our scribbled UI plan for the web app.