Saturday, February 24, 2018

Week 6

What did you do this past week?
I mainly focused on learning React.js with my team and getting started on the React components of our website. I really wanted to learn more about front-end and React in this stage, and working closely with the front-end team to create components has helped me a lot. I also spent some time writing a scraper to get data for the site and developed some unit tests using postman.

What's in your way?
I do not understand all of the APIs we are using. In particular I have been having trouble with Flickr. I have not been able to pull all of the data I need from Flickr and the documentation on the site seems super sparse and not very helpful. I need to get this information so the front-end developers have dynamic content for the site, and the database needs to be populated.

What will you do next week?
I plan on working on the scraper and also making more React components. I also need to study a lot for the test which is coming up next week, I do not know much Javascript so I think I will need to spend a lo of time working on syntax and recognizing where my weaknesses are with the language and how to deal with them on the test.

What's my experience of the class?
I have not been enjoying the lectures as much as I did in the beginning. Although I still find them interesting, I wish we could cover more technology related to the projects and software engineering in general. All of the small Python syntax details that we are learning are interesting, I just find them to be a bit repetitive and mundane because we have been covering them for a while.

Pick-of-the-week!
This class has increased my interest in writing a solid testing framework. One good tool to use for unit testing a neural network developed with Tensorflow and Python is the Tensorflow unit-testing framework. This library allows you to create a small simulated environment with test and evaluation data so that you can test the coverage and correctness of your Tensorflow implementation in a similar way to the unites library we used in Collatz.
The Tensorflow unittest library can be found here:

Saturday, February 17, 2018

Week 5

What did you do this past week?
I worked with my team to finish the first project for the course. We spent a lot of this week designing our API and outlining our documentation. This allowed us to get a good idea of what we want to do for the project the rest of the semester. I also spent some time learning React and also figuring out the best way to implement the rest of the website with Flask.

What's in your way?
I have been having trouble learning React. It is kind of tricky and I plan to get a book on it so I can get some more formal training. We also need to write a lot of Unit Tests for the next phase of the project. For the first project, we had some misunderstandings between the front-end and back-end teams in getting the website that we had all agreed upon.

What will you do next week?
I plan to write some unit tests for the back-end of our website. Also, we need to get a better workflow to use between our front-end and back-end so that we are more on the same level of thinking and we can better collaborate. This will allow our team to work in pairs without having to be together all the time but still make a cohesive product.

What's my experience of the class?
I really enjoy the class so far! This project has been great and I look forward to continuing the project in future iterations. I really liked the day of class where we acted as programmers and customers to present our work to other groups. That was a very informative experience that gave us some good ideas for the future of the website.

Pick-of-the-week!
I recommend looking at the Darknet for Python and using it with Yolo for object detection. Darknet streamlines the model training process, and Darkflow is a wrapper for Darknet which allows for use with Tensorflow and other Python libraries. Darknet itself was written in C, so the Python Darkflow library is a nice addition because it allows for use of Python.
You can find Darkflow here:
And Find Darknet here:
And the guy that made darknet has a crazy resume lol:

Saturday, February 10, 2018

Week 4

What did you do this past week?
My group and I finally started on project 2! I am very excited to start on this project and do a lot of the backend work! Setting up the environment and workflow with the team was pretty tricky, we finally decided to use Docker and Amazon EC2 to simplify our workflow and publish our app on the internet. We secured our domain name (natphoto.me) and have already started pushing some front-end work onto the site.

What's in your way?
The part of my team that is working on backend needs to sit down and design the models and schematics for what our backend pipeline and data will look like. I have some experience with Flask but will need to spend more time working with it in order to implement the beginnings of our app’s back-end for this project. I would also like to read up on React so that I can help a little bit with the front-end if possible.

What will you do next week?
I plan on reading up on Flask and React so that I know the basics of all the technologies we will be using to create our app. Also, I plan to implement the back-end for project two as soon as possible in order to jump right into some of the project three requirements so that I can get ahead.

What's my experience of the class?
I wasn’t as interested in the lectures this week as I have been in previous weeks. I don’t have as much interest in the very obscure details of python syntax, and that is mostly what we covered this week which is why I had trouble paying attention. Although it is good to know these small syntax details, I think covering more things related to software engineering and web development would help prepare us for the project and keep people interested in the lectures!

Pick-of-the-week!

I have been using Python to do more image and object recognition this week! I highly recommend checking out YOLO for real-time object detection and deep learning for better object recognition results. Here is the link to YOLO: https://pjreddie.com/darknet/yolo/

Sunday, February 4, 2018

Week 3

What did you do this past week?
I spent most of my time finishing the first project for the course. I was stuck failing the final test on HackerRank for a while and was frustrated because, even after implementing the meta-cache and lazy-cache (on top of other optimizations I discussed last week), I was still failing the final HackerRank test. Turns out I just had a part of my code that could result in an infinite loop because I forgot to increment, and this is why my code was timing out on the final HackerRank test. After figuring this out the rest of the project went smoothly luckily!

What's in your way?
I don’t have anything significant in my way going into this week! I just need to review for the upcoming quiz and meet with my team so we can start on the first group project for the course.

What will you do next week?
I just need to review for the upcoming quizzes and meet with my team so we can start on the first group project. We plan to meet on Monday if the specs of the project have been released. We want to get a head start on this project by starting early.


What's my experience of the class?
My experience has been great so far. I felt like I learned a lot from the first project and turned it in expecting full points, so I think that is a good place to be at this point in the semester. I think I will enjoy the course even more once we start the big group projects.

Pick-of-the-week!
My pick of the week the documentation and tutorials on OpenCV for Python! What better way to practice the Python knowledge learned from Software Engineering with Downing than to read about image manipulation, analysis, and recognition with OpenCV and Python? Some of my favorite lessons include image thresholding, image gradients, Canny edge detection, and contours. Combine these topics with the tutorials on feature detection and machine learning using OpenCV and you will have a pretty wide array of new tools to use with Python!

I have been particularly interested in the image processing tutorials available here: https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_table_of_contents_imgproc/py_table_of_contents_imgproc.html#py-table-of-content-imgproc