it's all about being a self sufficient learner
it's all about knowing how to work as a team
your coding skills mean jack if you can't be a team player
it's all about how much work you want to put into it.
contribute to the project. always learn new stuff. always be committing
MKS, you are one hell of a life experience
All-in on coding
Makersquare cohort #32: Life turned around 180 degrees
Jian Yang!
I was Jian Yang tonight. I had all these great ideas, but I couldn't pitch 'em. What use is that?
W7 Solo Week: Interlude
I don't know which came first -- the loneliness or the depression. Living on my own, away from my parents in Los Angeles has been great: drive 5 minutes down Western Avenue and I have access to all the good restaurants and soju bars of K-town. However the loneliness of being away from my close friends and family has been making me unbearably lonely, and what with all the stress from Makersquare and group projects, I've been struggling internally, with no one to vent or lean onto.
Per usual I turned to videogames to ease my mentality. I ended up binge gaming the recent weeks away, playing for hours and hours whenever I had the chance, only to regret it in the end.
I couldn't help but think about her during these times. She, who said she'd be there for me for the rest of my life. She, who would be there to console me whenever I had a rough day. On one night I dreamed of her and how we got back together in some miraculous way. Happiness flooding through me as I found solace from loneliness, only to wake up with an empty feeling in my stomach and a bad taste in my mouth.
I need someone next to me. Sigh.....
What I did on solo week:
Our group decided to
Per usual I turned to videogames to ease my mentality. I ended up binge gaming the recent weeks away, playing for hours and hours whenever I had the chance, only to regret it in the end.
I couldn't help but think about her during these times. She, who said she'd be there for me for the rest of my life. She, who would be there to console me whenever I had a rough day. On one night I dreamed of her and how we got back together in some miraculous way. Happiness flooding through me as I found solace from loneliness, only to wake up with an empty feeling in my stomach and a bad taste in my mouth.
I need someone next to me. Sigh.....
What I did on solo week:
Our group decided to
W6D1 ~ 2: MVP projects
MVP = Minimum Viable Product
For our first project assignment we were to make a working full-stack (front-end and back-end) MVP using any technologies. The point of the project was to see how efficiently we can utilize whatever we've learned over the past five weeks and come up with a compelling product. The only catch was... we had only 2 days! 1.5days, in fact, since it took half a day for them to kick-start and inform us about the project.
We were told that developers are infamously bad at estimating how long a project would take. Instead of over-promising to our future employees and regretting it later, we should under-promise and leave enough of a time buffer for any kinds of obstacles on the way to completion -- because nothing else matters other than having a completed product by the deadline, according to a former project manager, Bobby.
Makersquare's idea of coming up with a viable project idea:
1. Come up with an idea that you think you can finish by the deadline
Cut that idea in half
Cut THAT in half
You have your viable project idea
We all scurried to think of an idea and start working on our assignments ASAP. I've always wanted to make an app that allows the users to make a personal recipe book online, a personal menu of sorts, to keep record of what they are able to make and show their dinner guests. I chose to use HTML, CSS and the Angular framework for the front-end, Node and Express for the back-end.
I went to work alone in one of the "secret" MKS rooms on the second floor. It was a nice change, not having to pair-program. I reveled in not being around any distractions of being around others, and I was able to get a lot done in that short amount of time.
One of the problems I had was figuring out how to pass factories into controllers.
HEREEE
I was not able to implement a user sign-in page nor deploy my app to the heroku server, but I got all of the MVP functionalities running by the end. My home page was the actual menu itself, with a listing of all the entries that the user has added. The "Add entries" button in the navbar directed the users to a form with the fields of: entry name, picture (I was almost done implementing the picture upload functionality, but time ran out), meal type (drop down list of "appetizers", "breakfast/brunch", "desserts", "entree", "lunch", and "snacks"), country of origin, description, ingredients, and directions. Users were able to add more ingredients and directions as they wanted. Clicking on a individual entry in the menu directed users to another page with all the details of the menu entry, including directions, ingredients, and picture. In the last hour I hurriedly included a CDN (content-delivery-network) of bootstrap (a framework that makes styling easy) and a picture of a chef hat in my main HTML page in a last-ditch effort to make my barebone app look somewhat decent.
For our first project assignment we were to make a working full-stack (front-end and back-end) MVP using any technologies. The point of the project was to see how efficiently we can utilize whatever we've learned over the past five weeks and come up with a compelling product. The only catch was... we had only 2 days! 1.5days, in fact, since it took half a day for them to kick-start and inform us about the project.
Makersquare's idea of coming up with a viable project idea:
1. Come up with an idea that you think you can finish by the deadline
Cut that idea in half
Cut THAT in half
You have your viable project idea
We all scurried to think of an idea and start working on our assignments ASAP. I've always wanted to make an app that allows the users to make a personal recipe book online, a personal menu of sorts, to keep record of what they are able to make and show their dinner guests. I chose to use HTML, CSS and the Angular framework for the front-end, Node and Express for the back-end.
I went to work alone in one of the "secret" MKS rooms on the second floor. It was a nice change, not having to pair-program. I reveled in not being around any distractions of being around others, and I was able to get a lot done in that short amount of time.
One of the problems I had was figuring out how to pass factories into controllers.
HEREEE
I was not able to implement a user sign-in page nor deploy my app to the heroku server, but I got all of the MVP functionalities running by the end. My home page was the actual menu itself, with a listing of all the entries that the user has added. The "Add entries" button in the navbar directed the users to a form with the fields of: entry name, picture (I was almost done implementing the picture upload functionality, but time ran out), meal type (drop down list of "appetizers", "breakfast/brunch", "desserts", "entree", "lunch", and "snacks"), country of origin, description, ingredients, and directions. Users were able to add more ingredients and directions as they wanted. Clicking on a individual entry in the menu directed users to another page with all the details of the menu entry, including directions, ingredients, and picture. In the last hour I hurriedly included a CDN (content-delivery-network) of bootstrap (a framework that makes styling easy) and a picture of a chef hat in my main HTML page in a last-ditch effort to make my barebone app look somewhat decent.
W5D5: ....
What we did today:
1. Toy Problem
Longest Run
Write a function that, given a string, finds the longest run of identical characters and returns an array containing the start and end indices of that run.
If there are two runs of equal length, return the first one. Return [0,0] for no runs.
If there are two runs of equal length, return the first one. Return [0,0] for no runs.
Examples
Input | Output |
---|---|
string: "abbbcc" | [ 1, 3 ] |
2. Lecture: Intro. to Deployment
Deployment = My app running on a remote computer. Essentially, letting our app be available for others to use on their browser.
3. Pair Programming on Deployment
W5D4: Feet
You made a new friend named Michael. Michael has a bad habit of grabbing is crotch every ~15 minutes. You don't judge, so you try to ignore whenever Michael reaches down for the goodies. But it gets embarrassing when Michael does his weird behavior in public. You're not sure if he realizes what he's doing because you've never brought up the topic before. What would you do?
Well, there's this guy in my cohort and he has a problem: his feet smell dank -- and I don't mean dank like they smells good, but dank as in they smell really, really bad. To make his matters worse, he wears the same sandals every single day so that the stank can resonate to full effect, and get worse by the day.
He was my second pair programming partner and I noticed it immediately. As I saw him raise his foot to rest on his lap this was my reaction:
We're almost halfway through the program and I still see him wearing those god-awful sandals. Every time I walked by him or pair-programmed near his vicinity that familiar odor of feet wafted into my nose. I wondered if he knew his feet smelled and why nobody has told him yet, considering how strong the smell was-- I'm sure many cohortmates have noticed.
I felt bad for the guy. The guy always ate meals and hung out alone. We would talk about video games from time to time. He's a pretty nice guy -- just very awkward. I thought it was time someone stepped up to do the dirty work.
After contemplating for hours planning out what to say, I asked him if he wanted to have a talk privately, to which he agreed. We stepped out to the patio, I took a big breath and turned to him.
An awkward silence fell before us but he was quick to recover. He told me he didn't know about the smell and would take care of it. I told him how I started to feel bad that noone told him yet, and he expressed his thanks to me for being so honest.
It felt good, knowing that I helped someone out. While the embarrassment was short-lived, the benefit of this exchange will (hopefully) help him in the long-run. I like to believe that what needs to happen, has to happen... eventually-- and since nobody was addressing the problem, I sacrificed myself for the good of everyone's olfactory senses.
2. Townhall
3. Pair Programming on Angular
This is one of the few sprints in which my pair and I were not on the same page, but in this one in particular, we were on two completely different books. I didn't understand any of the ideas he was suggesting, nor did I agree with any of the changes he was making to the code. It's times like these when I really want to flip the desk and just do the sprint myself.
Here are some important concepts of Angular that I took away:
--Controllers = Where we store logic for the views
--Directives = extended HTML attributes with the prefix -ng. Has many roles, such as:
Well, there's this guy in my cohort and he has a problem: his feet smell dank -- and I don't mean dank like they smells good, but dank as in they smell really, really bad. To make his matters worse, he wears the same sandals every single day so that the stank can resonate to full effect, and get worse by the day.
He was my second pair programming partner and I noticed it immediately. As I saw him raise his foot to rest on his lap this was my reaction:
We're almost halfway through the program and I still see him wearing those god-awful sandals. Every time I walked by him or pair-programmed near his vicinity that familiar odor of feet wafted into my nose. I wondered if he knew his feet smelled and why nobody has told him yet, considering how strong the smell was-- I'm sure many cohortmates have noticed.
I felt bad for the guy. The guy always ate meals and hung out alone. We would talk about video games from time to time. He's a pretty nice guy -- just very awkward. I thought it was time someone stepped up to do the dirty work.
After contemplating for hours planning out what to say, I asked him if he wanted to have a talk privately, to which he agreed. We stepped out to the patio, I took a big breath and turned to him.
"Hey [name], what I'm about to tell you is very personal, and for your personal and professional development I would suggest you take care of your personal hygiene more"With a blank face he gaped and it took him a while to respond
Him: "Oh..... uhh,.. hm, what -- which part specifically?"I was so relieved that he said this as I grabbed the opportunity to get to the point:
"It's your feet, dude, they smell really bad. Maybe you could wear some shoes?"
An awkward silence fell before us but he was quick to recover. He told me he didn't know about the smell and would take care of it. I told him how I started to feel bad that noone told him yet, and he expressed his thanks to me for being so honest.
It felt good, knowing that I helped someone out. While the embarrassment was short-lived, the benefit of this exchange will (hopefully) help him in the long-run. I like to believe that what needs to happen, has to happen... eventually-- and since nobody was addressing the problem, I sacrificed myself for the good of everyone's olfactory senses.
What we did today:
1. Toy ProblemAsync Map
asyncMap has two parameters, an array of asynchronous functions (tasks) and a callback.
Each of the tasks takes a separate callback and invokes that callback when complete.
Each of the tasks takes a separate callback and invokes that callback when complete.
The callback passed to asyncMap is then performed on the results of the callbacks of the tasks.
The order of these results should be the same as the order of the tasks.
It is important to note that this is not the order in which the tasks return,
but the order in which they are passed to asyncMap.
It is important to note that this is not the order in which the tasks return,
but the order in which they are passed to asyncMap.
Once all the callbacks of the tasks are returned, asyncMap should invoke the callback
on the results array.
on the results array.
Example:
asyncMap([
function(cb){
setTimeout(function(){
cb('one');
}, 200);
},
function(cb){
setTimeout(function(){
cb('two');
}, 100);
}
],
function(results){
// the results array will equal ['one','two'] even though
// the second function had a shorter timeout.
console.log(results); // ['one', 'two']
});
2. Townhall
3. Pair Programming on Angular
This is one of the few sprints in which my pair and I were not on the same page, but in this one in particular, we were on two completely different books. I didn't understand any of the ideas he was suggesting, nor did I agree with any of the changes he was making to the code. It's times like these when I really want to flip the desk and just do the sprint myself.
Here are some important concepts of Angular that I took away:
--Controllers = Where we store logic for the views
var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { $scope.firstName = "John"; $scope.lastName = "Doe";});--Factories = Provides properties/methods for the controller to use
var app = angular.module('myApp', []);--Scope = A special javscript object that joins the model with the views. Denoted by the $scope variable
app.factory('testFactory', function(){
return {
sayHello: function(text){
return "Factory says \"Hello " + text + "\"";
},
sayGoodbye: function(text){
return "Factory says \"Goodbye " + text + "\"";
}
}
});
--Directives = extended HTML attributes with the prefix -ng. Has many roles, such as:
- define a bunch of HTML (i.e., a template) to replace the directive
- bind events to this element (or its children)
- add/remove a class
- change the text() value
- watch for changes to attributes defined in the same element (actually it is the attributes' values that are watched -- these are scope properties, hence the directive watches the "model" for changes)
- etc.
W5D3: setInterval(console.log('copy on top of a'), 3600000);
How I feel everyday on the I-10
Go fetch a stencil to shape my twenty-four
everyday the sun rises from the east and sets on the west,
just as how I wake up for the daily races
and fall asleep only to start all over again
Everyday passes how we expect it to pass
The lack of miracles is making me numb
The reason why the first week went so slowly
is probably because our expectations didn't align with reality
But I'm glad I found something I love
something I would sit everyday in traffic for
With coding, everyday is different
The excitement of solving different algorithms or learning new things
is what keeps me going through this mess
What we did today:
1. Toy ProblemBalanced Parenthesis
Given a string, return true if it contains balanced parenthesis
()
.Examples
Input | Output |
---|---|
string: "(x + y) - (4)" | true |
string: "(((10 ) ()) ((?)(:)))" | true |
string: "(50)(" | false |
string: "" | true |
2. Lecture: Intro. to Angular
AngularJS is a structural framework, created by Google, for dynamic web apps. It brings Javascript and CSS to HTML to extend HTML's syntax and provide a slew of useful applications. I already like it better than Backbone.
How Angular is different from Backbone:
-- Less code required
-- No dependencies to get started
-- Very opinionated, meaning there are many different ways to do things
-- MV-Whatever, rather than MVC
-- Automatically synchronizes data between models and views
-- Whereas Backbone and React uses
--
3. Pair Programming on Angular
Deja vu? I was right in the prediction that I can't get too complacent after completing hell week -- because hell continues. For hours me and my pair sat there looking pretty dumb
For this sprint we were to do the same thing as the last, except with Angular and without all the authentication functionalities. We had a lot of trouble trying to visualize how the links are being stored, and how we were to grab those links from storage to show on the views. We ended up writing less than 30 lines of code until we got frustrated and called for help.
4. Townhall
Subscribe to:
Posts (Atom)