Sunday, November 30, 2014

MVP is done!

Yes. I have accomplished what I set out to do. My Glaze Hub application is running. It's not deployed yet, but it will be soon. Hopefully, by the end of the week.

Now, just because I have my MVP (minimum viable product) done, doesn't mean I am done with Glaze Hub. There area few things left that I want to do:

  1. Add a Facebook/Twitter/Instagram or Pinterest login feature
  2. Allow users to upload photos
  3. Encrypt the passwords
  4. Set up a retrieve password function
  5. Set up PayPal or other such payment system.
Seems like a lot, doesn't it. Honestly, I don't think it is considering what I started with and what the application has ended up being.

In terms of technologies, well, I used what I feel to be very basic tech. Python, JavaScript, JSON, HTML, CSS, Bootstrap, SQLAlchemy. None of this feels very advanced to me, but it was a lot. So many pages of HTML, 4 Python scripts, one JavaScript script. It was a lot.

I think I need to look at my code to see where I can consolidate and refactor, make it prettier and cleaner. Eventually, I'll have to change the code to make it more efficient too. Especially the update function on the recipes.

How am I feeling? Well, I'll have to let you know tomorrow. I signed up to give my presentation first. At 10 am. I have to draw up my data model. Make it pretty and use the Glaze Hub header. Oh, maybe I should screen cap that and write it up. Or, I can do it tomorrow when I get to Hackbright. I'm kind of leaning toward that as I just want to do nothing tonight.

Wednesday is Career Day. I'm not nervous. Yet. I am sure I will be as the day gets closer. But, for right now, I'm not.

I'm kind of wondering what kind of app to make next. Maybe I'll try to make a JavaScript game. That might be fun. I think I'll take my JavaScript book with me to HB tomorrow so I can study up on that and clean up my app a bit. Get a better handle on Bootstrap and such.

Also, I shall start thinking up some designs for some clay. I think I can finally make some new pieces for the next firing this week, especially after Career Day.

I get to do art again. Can't wait.

Sunday, November 23, 2014

Nearing the end...

Project project project. I haven't been blogging because I've been too busy trying to get my project working.

Bits and pieces work. Bits and pieces do not work. Some things are happening (like if I use the same name on a recipe, it remembers what I had before and adds those old components to the new ones. Go figure). So much to debug.

And next week is Thanksgiving. We have 3 days to finish up with the help of instructors. The holiday where I hope to be working on just the cosmetics of my app. Two more days of help with a lecture on salary negotiation thrown in.

No, not panicking yet.

Here's what works:
  • The login/logout
  • The calculate recipe components if you are logged in

What is partially working (like more than 50%)
  • The add recipe and add components page(which is one page)
What is partially working (less than 50%)
  • The calculator page
 What else needs to be done:
  • Adding the price quote
  • Adding an order button
  • Saving the recipe if you are in the calculator page and are logged in. Although, why you would not just be in the add recipe page if you are not logged in is beyond me. I might just not add that save feature
  • Editing the recipe and comments
  • Encrypting the password
  • Debugging the crap out of this app!
 Ok. Some of that I will be able to do tomorrow. I think the price quote isn't too hard. That is all backend. Also, I just need to figure out where to place the quote with the Clay Planet logo... dear God, I hate front end. The rest of it is mostly variations of what is  already there and I need to figure out how to adjust them. I think that once I figure out how to keep the data from the option menus on the Calculate page, I'll be able to get the edit recipe page done. Then, it will be a matter of saving the recipe as a new recipe or overwriting it.

I can do this...
Right?


Monday, November 17, 2014

Project Week 3 Day 1

Today was a Bootstrap day and it was good. I managed to get most of my pages from the crappy looking CSS I had turned into a lovely bit of Bootstrap. The pages look good and less like an early 90s POS.

Even got excited enough to work on it more when I got home.

AND then, about the time I was ready to go to bed, wanted to send some screen caps to Matt and Isabelle... the login started to fail.

And I have NO idea why. It just failed. I traced the problem to the app not logging people in. I bet it had something to do with "session". About 30 minutes to an hour later, the damn thing started to work again. This was after I looked over code again and again, added testing print statements all over the palce, and quit/restarted. Talk about pulling my hair out.

I have NO idea why.

So the postive lesson today: I like Bootstrap
The negative lesson today: stupid things go wrong all the time.

Tomorrow, we have field trip to Intuit. It's in Mountain View, so I get to sleep in a bit. Yay! At any rate, I have to fix up one more page into Bootstrap, and then I have to start on the Javascript side of things.

  1. I need to check that the component percentages add up to 100 and send an alert if it doesn't.
  2. I need to adjust the weights to lbs/kilos.
  3. I need to adjust the weights in case the percentages do not add up to 100
  4. I need to be able to add more components dynamically instead of having a bunch of dropdown menus
  5. Speaking of drop down menus, I need to get those to be fill-in forms as well as drop downs, but I think I found a help page that will show me how to do that in JavaScript.
  6. I need to get the upload photo thing going
  7. Need to get the comments/notes thing going
  8. Most importantly, I need to get the Clay Planet price quote/message thing going. Uneditable message to CP.
  9. Also, it was suggested that I add in a PayPal or Stripe payments thing going.
  10. Encrypting the passwords
  11. Resetting passwords

9 things to do. One week and about 3 days to do that in of which 2 of those days are going to be "vacation" because of Thanksgiving. And do the testing. Yeah... I can do it.

Not sure if that last bit was sarcastic or sincere...

Oh yeah... a few more things... the italicized stuff above. I should go to sleep before the list grows any longer.

Saturday, November 15, 2014

Project Day... It's Saturday, do I have to count it?

I took a mental health day yesterday and caught up on a bunch of tv shows. Yea, not the best use of my time. However, I did crack open the Bootstrap book and did some of the exercises.

What I have learned so far:

  • "href-"css/bootstrap.min.css" != "href="css/bootstrap.min.css"
  • I make a lot of typing errors when copying code
  • It is very difficult to catch the above typing errors
  • Bootstrap's grid system makes sense to me
  • I like drawing boxes and figuring out what goes in them
  • Also, I realized that I need to figure out how wide each column is and need to calculate that.
So, Bootstrap is ok to use. I need to learn more, but now, I have an idea of how to set things up. Theoretically. I'm at my parents' house where we shall celebrate an early, family-Thanksgiving. I'm reading more about Bootstrap and I can't wait to get to designing/building my app which I think shall look like some old style web page but Bootstrap-y too.

I also think I need to start going to some of these hackathons and see if I can network, get better. Group of Hackbrighters took part in the LinkedIn DevelopHer Hackathon and took 2nd place. Good for them!!!

This week, we shall have a field trip to Intuit. Let's hope I feel more inspired or feel like I'll be able to get a tech job after that field trip.

Wednesday, November 12, 2014

Project Day 8

I didn't post yesterday because I was completely occupied with getting the log in to work. Aaaand, it works!

Today, I worked on getting the password function to work aaaaaaaand, it does! Surprisingly, that part went really fast. It got me worried about my project being too easy and so on and so forth.

But, then, I started working on getting the components of recipes to show up. I also got to listen to two women from Firebase talk about their product. Might be a good way to deploy my app once it's done.  Got the components to show up and then started working on the adjusting the batch size (basically, multiplying batch size by the percentages of the components of the glaze). Yeah... that didn't work by the time I left, but I got it to work when I got home. Learned that if you have set a variable to be a Component(), change one of the attributes in the variable, it changes it in the original component too. Not sure why. Will have to ask tomorrow.

Finally, had to use a list to get the numbers to work right and not change the original percentages.

Didn't use jQuery, only Python and HTML. Frankly, I don't even remember what jQuery even does right now. I think I'll have to read up on that.

But first, Bootstrap. Maybe. I'm just annoyed because my pages look like shit. I must make them look better!!! Cooler!!! and so forth.

I ate a huge breakfast, huge lunch and huge dinner. On top of that, I had lots of candy to stay awake on the drive in. I also bought mini Reese's peanut butter cups and peanut M&Ms... no, not that time of the month yet, but soon, I'm sure.

Got on the scale, which was a mistake and a wake up call. Ugh... Starting Monday, back to trying to do no-carbs and no dairy (except for my morning Mac & Cheese). Also, I'm going to try weaning myself off of coffee again. I'm going to go from 3 sugar cubes down to 2 and then 1. I did buy the unsweetened Almond Milk, so that should help. And yes, I'm going to try to do the no sugar thing too. Dammit, I have all that jam! Well, we'll see what I can do. Hopefully, I can cold-turkey it and figure out what to do with all that lovely jam... No, I'm not going to throw it out. I'm going to eat it somehow. Maybe if I limit the amount I eat. Grrrrrr...

Need more sleep. Tonight, I'm going to have lights of by 11:30 or sooner. If I got more sleep, I wouldn't need as much coffee. So, fingers crossed I can get through this and start losing some weight. Oh, going to try my best to go to the gym tomorrow night. I need it.

Monday, November 10, 2014

Project Day 6

CSS hates me. HTML is slowly coming around. And Sublime, the glorious text editor is a frenemy.

Spent the day trying to get my site to look a bit better. Was having so many issues where the CSS changes I made were not registering on my HTML pages. The reason: Sublime was saving my .css file somewhere else and not where I was linking my html.

GAAAAAAAAH!

So yea, that was my day today.

Friday, November 7, 2014

Project Day 5 - pt 2

So, Pinterest was fun. But, I left wondering what I'm going to do after Hackbright. Where am I going to work? Oh good lord, Will I even be successful in this?

Ugh...

Project Time Day 5

I can't concentrate. I got to Hackbright early.  I ate mac and cheese(my staple these days), drank coffee, looked at code briefly and went back to surfing the net.

Read a summary of The Time of the Doctor and realized that I really miss a lot when watching TV. I should stop multi-tasking. I also miss a lot when I read. I guess I just don't read things deeply enough.

Yesterday, I realized that I have complete blank spots when it comes to the lectures I've heard and the activities I've done here at Hackbright. I remember doing exercises and I know that I took notes during lectures. However, I have no true memory of any of them.

I did go back over one of the exercises (or the start of one). I can do the exercises with some degree of confidence, so the knowledge must be there. But, I don't have a memory I can grasp and the connections between things are not truly visible to me.

Part of it must be the whole half-asleep or sleep deprived thing I was experiencing during the instruction period at Hackbright. Actually, I think that the lack of sleep is the main reason why I don't remember anything and that the exercises we did helped contribute to some of the "muscle memory" that exists. Going over them again will help me actually remember. I hope.

Today, we have a field trip to Pinterest. I never understood or really used Pinterest. And I don't want to brag but I'm going to. I usually can come up with enough ideas that I don't need to look at Pinterest for them.

Ah well, it will be interesting to see. Maybe I'll get the 'point' of it all.

Thursday, November 6, 2014

Project Time Day 4

Not much to really report today. I went through my HTML/CSS book... the HTML part and was able to set up a bunch of pages. I bet most of them go away by the time I'm done, but well... I'm more comfortable with it.

And I'm still making mistakes with HTML. Silly, stupid mistakes... like setting my route to the wrong page so of course I get a "Method POST not allowed on this URL" message. Ugh... HTML is the bane of my existence right now.

But, that's ok. Tomorrow will be my Jinja day, a field trip to Pinterest (maybe I'll finally understand why the hell Pinterest is so popular, and end the evening with a movie and pizza night.

Oh, after losing weight at the beginning of Hackbright, now I'm gaining. Bleah... Not good. I need to start exercising or something.

Grrrr....

Wednesday, November 5, 2014

Project Day 3 - what I learned

Keep your JavaScript console open so you can see errors... 405 errors usually mean there's a problem in the app.route, not the function... match your stupid single quotation marks and don't have a random double quote in there...

HTML is written. HTML is giving me problems.

AngularJS is cool, but I can't really stop and try to learn that too. Maybe later. Plus, I want to get a handle on JQuery and AJAX because that is probably what is commonly used out there for now.

Also, I really like working in databases...

Project Day 3 - meh

Today, I wasn't as productive as I was yesterday. Today, I spent most of the morning figuring out how to use dictionaries in Python (yes, I forgot a lot) and kept having this nagging feeling that I didn't need to use dictionaries to add components to my recipes...

But, on the other hand, I found out that my relationships work in my data tables. I just didn't know how to request that info.

So, now I have to do what I was avoiding. Using Ajax and Jquery and JavaScript to get my recipe components into my database. I'm trying not to freak out as I'm really weak in understanding this area.

I looked at AngularJS which might be my savior, but I really think I need to learn how to do the AJAX crap. Yes, get 'comfortable' with something I'm not and then work on something easier.

Bleah.

It's all good. I just wasted a day. I have two more hours before I go home. I need to squish some clay and get my mugs to the studio to be fired. Trying not to freak or anything. It'll be fine, I'm sure.

Tuesday, November 4, 2014

Project Day 2, part 2

Katie, my lovely advisor, said to keep a journal, so I'm going to update this blog a lot over the next few weeks.

After getting my database read in and walking around a lot, I tackled writing a controller script so I can eventually add recipes to what I have right now.

To start, I decided to see if I could even get information from my databases. First up was getting the user name from the list of users based on a user ID... check! Got that one in one go. SQLAlchemy with a get (user_id) request. And I hard-coded my user_id... eventually, that will be part of the log in.

Next up was getting a list of recipes submitted by that user (this will help when I get the user specific page going). Well, this one took a bit more doing, but it was essentially an SQLAlchemy request with an "all()" request. Also, I wanted to show off what the names were, not an ID that wouldn't give anyone any info. Well, got that one going pretty well and pretty easily.

Step 3, get the components of each recipe. This one took a bit of doing because the chemical names were referenced as an id in the components. So, I had to start writing the getComponents function. Stop. And then write the getChemicalNameByID function.

Also, I had to stop and adjust my variable names... too many "user_id" variables running about. So, the ones in the controller script because "userID" or "chemID" and what not.

After a few boo boos, where I was getting the wrong names (yes, there's a difference between comp.id and comp.chem_id... one is the component ID number and the other is the component chemical id... totally different numbers!

Well, once I got that fixed, I was able to go back and get the getComponents function to work and now my controller script is happy!

BUT... not done yet haha. I need to see how to add a new recipe. Which is a pain in the ass. I mean. It's easy to add a new recipe because it only has the attributes of id, user_id and recipe_name. But, getting the right components in there is going to be the fun part.

First up, get chem_id from chem_name... Functions are fun!

HB Project Day 2

The most important thing I learned today: One cannot get information... like a piece of data in a list, if the original data file, the csv, is empty. One will get an out of range error.

Basically, I created the .csv file at the start of creating my data file and forgot to save it after I filled in all the data.

Today's success: my model.py is happy! I got my data tables filled up and now I have to test the relationships between them and I need to try to get a page set up so a user can add new recipes.

That part is sort of overwhelming, so I walked... I took a walk up and down the street, three times. And I tried on a pair of boots. Namely, these. I like them. I want them. When I graduate from Hackbright, I am going to get them.

Ok, a nap is what I would like to have. Instead, I'm going to surf the net a bit more and then try to do the whole testing and adding items to the recipe table/component table and such. Maybe I'll add a new user too.

Good times.

Monday, November 3, 2014

Hackbright, Project time, Day 1 - yes, we're in week 6

Ok, so I had a plan on what I was going to do/work on each week and almost down to each day for the first week. BUT, my dear advisor, Katie, suggested that I not do what I thought I should do and do something else instead. Le sigh... and so it goes. Haha... oh well.

Today, I mostly worked on database/schema stuff. Getting the idea of what the tables should hold, what each table should have as an attribute, how each table is connected to other tables... all done on glorious paper. I even took a break around noon to go to Walgreen's to buy graph paper and some highlighters. Plus, I couldn't resist write-on post-it book mark thingies. Talk about fun. I made my second Kanban board too. Pictures of that later this week.

Julie came over today and asked me about math stuff... dot products, you know... stuff I haven't thought about in over 30 years. Still, it was cool to talk about it and to discuss other ways of approaching her problem.

Oh, my issue for today with programming. I got my data tables set up, but for some reason, I couldn't get the stupid things to read into a database. So, I left Hackbright and went home. Problem #1 was that I didn't have it committed to a session(figured out this in the bathroom visit prior to leaving Hackbright). Problem #2 was that I was scanning the ratings exercise readme instead of actually reading it. So, I wasn't quite comprehending what I needed to. So hard to concentrate sometimes. I think I need to sit somewhere else tomorrow. Also, it was at the end of the day (Excuses, excuses). Problem #3, I have no idea why, but I deleted all my .db files, revised, double checked and checked my code again and again. Re-ran things according to the readme and combining it with later parts of the exercise. Magically, it worked. I have no idea why.

Next up, getting some data for recipes and users and components.

Oh, in getting my data tables set up, I added an extra one in that was completely unnecessary. It's a convoluted sense of logic that I was trying to work through and like always, I was making things more difficult that I needed to. Fortunately, Joel was there to stop me from going to far down the rabbit hole and it got all squared away.

Tomorrow, writing data tables for the above classes (recipes, users, components). Testing the hell out of those and then maybe getting them onto a web page... the main page of my glaze calculator.

I fully expect my emotions to be on a roller coaster ride, screaming along side my confidence.

Saturday, November 1, 2014

Hackbright Academy... Project Time has come!

I'm quite excited about this. It is kind of cool to see a idea come to fruition. I mean, I had this idea for an online glaze calculator back in January. And now, I'm finally going to make it.

Today, I looked at the online glaze calculator that exists. I mostly wanted to see how he made the fields with the chemicals. Basically, he programmed it all in HTML with a bit of JavaScript. I haven't created an account, so I have no idea what that looks like. I'm ok not knowing for now. At any rate, it's pretty ugly code. Can I just say, "OMG! I can read code! I can understand what is going on here. Holy Crap! I've learned something!"???

So, I'm pretty happy about that. I'm also pretty happy that I've gotten quite a few of my errands/chores done today. It's not all done, but mostly done. Tomorrow will be a JavaScript fun time. Mostly, I will be working on the game programming and see if I can program a quick little game. We shall see.

The poopy part of today is that I woke up feeling like I have a cold. Coughing, funky throat, chest congestion and some nose congestion. Stayed in bed pretty late. Bleah. I still feel pretty crappy.

Oh, I did a presentation on image formats and a bit about compression. It went pretty well and it was fun. I got a nice reaction of my Hail Ubermelon image. Fun times.