Week 11 – Thanksgiving Card and Portfolio

Objective Key Results

OKRs are a pretty interesting and useful concept. I think the most important part to take away from Google’s approach to OKRs is that it helps breakdown objectives into actionable and achievable items. The concept is really centered around being able to accomplish specific goals. Those are useful tools in general not only for our professional lives but even personal. Every big step we want to reach, be it a promotion, a house, or a personal goal can be broken down in to small tasks to be prioritized or and evaluated. Progress towards the goals can be easily measured and evaluated to see how successful or close to that goal we are.

Weekly Learning

This week we worked on updating our IPL with just about every image we have been working on and what we have learned about the IPL. For the lab itself, we had to assignments:

  1. Create an outline of an image by turning the image into a black and white version, and then comparing the luminosity between pixels. If the difference is large enough, we turn the pixel black otherwise, we turn the pixel white. At the end, the resulting image outlines the edges where there is enough contrast.
  2. Create a thanksgiving card out of three different images and have text on it as well. We decided to go a bit more overboard on this assignment and create a dynamic frame that would resize depending on the image that was being processed, and a banner that is auto-centered. The task involved not only chroma key techniques, but also rotating the pattern for the frame and some color adjustments to the main image.

Overall, we were very happy with the results. It certainly worked as a warmup for the upcoming midterm and it helped develop some interesting patterns that can be used later on with other image assignments. I’ll be starting to work on some of the ideas i have for the midterm and that will use some of this very learning, specifically the duplication and copy chroma key techniques.

Additionally, I had to produce my video this week, and it was a longer task that I expected. I have been learning more and more about how to properly make videos. Everything from creating better sound through use of Adobe Audition, to transitions, credits, timing cutting, looping, etc. I think those are very valuable skills and even the little experience I had before let me improve the quality of my video. I was very satisfied with the result!

Posted in CST-205, CSUMB | Comments Off on Week 11 – Thanksgiving Card and Portfolio

Week 10 – Manipulate Pixels

Creative Learning and Failure

All this talks were incredibly interesting. I think one of the most pointed learnings here is that you should not be afraid to try, and even less of failure. In Twilight of Lecture, I found myself wondering about my own learning experience. I am not good with groups, and I’ve always had difficulty having in-class discussions. In this case, online learning has served me well since it allows me to interact with my fellow students, and classmates without the social anxiety. However, on CST300 we had the opportunity to share a lot of our thoughts together on Ethics and other topics, and it was an incredibly positive interaction for me. I do feel that throwing classmates into discussion every session can be counter productive for people like me who do not interact well in person.

Weekly Learning

This week’s lab was a lot of fun! Manipulating pictures into something more creative and having basic concepts like “tolerance” and “distance” explained to key colors was very interesting. I think experimenting with media is a great way to learn new how and why it works the way it does. The videos from demos also provided a lot of insight into what my classmates do and how they approach the problems. I can see how my own solutions are strong or weak and allow me to grow both as engineer and student. I’m both scared to follow some of the great videos they’ve put out and excited to get a shot at creating something as memorable.

Posted in CST-205, CSUMB | Comments Off on Week 10 – Manipulate Pixels

Week 9 – Intro to Multimedia

Weekly Learning

This has been a very busy week. The assignment and the introduction to python were actually pretty useful and easy. The labs were concise and short, with interesting learnings for both setting up the environment and the challenges of pair coding. This is really where the struggle of this lab is. We had to figure out over the week what it means to work as a team on a single file project, how to setup git and learn some basic flows to make sure we don’t step over each other’s toes.

I think it would be so much better if the school had at least a short tutorial on git, if the first assignment was a not a group one, giving everyone the opportunity to setup git, understand some of the flows and get everyone on track for a group activity. Instead, it felt we were thrown into being in a collaborative environment that should have been setup at least weeks in advance and learning all the new flows that git offers.

At the end, it all worked out and we got some interesting learnings out of it, but it certainly was a painful week to coordinate work. Moving forward, it should be far smoother and shorter to setup our work, and hopefully we will not need to worry too much about conflicts or rebasing for a little while.

For the image manipulation, I thought it was incredibly interesting. It explains a lot about how tools like photoshop work, and what it means to manipulate the image. I wish we were using a more raw version of python rather than JES since it seems to hide a lot of the libraries needed to manipulate the images, so we can use it on our private projects.

Posted in CST-205, CSUMB | Comments Off on Week 9 – Intro to Multimedia

Week 8.5 – Module 0 – Orientation

This is the beginning of CST205. It’s not a python class, but it should be incredibly interesting to work with multimedia, media and sound processing. Those have always been interesting topics for me, but I’ve never had the chance to work or learn on it.

The group work will be interesting as well. It’s the first time we’re going to get to code with each other rather than work on papers. I think Python is new to all of us, to we’re going to be learning on each other’s codes and techniques.

Having to produce video will be interesting too. I know this was a challenge for us, so now going back to this every week is a bit scary but also interesting. It will make our presentation skill stronger, but also it’s a lot of work to put on top of normal class work.

Posted in CST-205, CSUMB | Comments Off on Week 8.5 – Module 0 – Orientation

Week 8 – Presentations

Review Other Teams’ final video projects

The Cap Theorem (Technical)

This was a very good video. The topic is incredibly interesting and relevant to the program as we’ll keep facing issues with CAP and ACID in the future. Knowing, understanding the limitations, and choosing the right solution are key our future. The video is clearly well research and provides an insane amount of information in a very short amount of time. The team did a great job on the music and voice over. Unfortunately, the images flash so fast that it makes it very hard to follow sometimes. They should have instead let the images linger and overlap them whenever possible to let the person catch what is being shown and said.

1. is the topic well covered?
Yes, It was very well research.

2. is the presentation clear?
Very clear! Great amount of information, and the examples make complex topics and ideas very easy to understand.

3. how is the quality of the research?
Excellent. The language is clear and there is a a lot of information but does not feel like a data dump.

4. how is the quality of the video production?
The video is well produced. There are some problems with having too many moving parts. The graphics do a great job explaining the information, but because the images sometimes are only in screen for a short time, it makes it sometimes uncomfortable to watch.

5. is the video engaging and interesting?
Yes. The voice over is very clean, and the images make it fun to watch. It’s not hard to stay engaged and to follow the topics.

6. is the team work evident?
Unfortunately, there is only one voice over. There is a lot of research done which it certainly seems to come from a group collaboration, but there is no evidence otherwise of group effort.

7. is the video appropriate to the audience (either general public or technology professionals)
Yes. The language and information are appropriate for technology professionals.

The Cap Theorem (Basic)

This short version is much more easy to follow visually. The flow of the video, the animations, the tone and and the style are engaging and fun to watch. The research is in depth, and covers some basics, but does not go into unnecessary technical details so a general audience should have enough information to understand but not get either confused or feel talked down to.

1. is the topic well covered?
Yes, It was very well research.

2. is the presentation clear?
Yes, this is super well explained with examples that anyone would understand. There is plenty of good information here that any non-technical person would understand.

3. how is the quality of the research?
Excellent. The language is clear and there is a a lot of information but does not feel like a data dump.

4. how is the quality of the video production?
The video is well produced. The speed of the images exchange is much better and gives the audience time to catch up with what the concepts are. There are a few moments when the images change fast, but otherwise this is very pleasant to look at.

5. is the video engaging and interesting?
Yes. The voice over is very clean, and the images make it fun to watch. It’s not hard to stay engaged and to follow the topics.

6. is the team work evident?
Unfortunately, there is only one voice over. There is a lot of research done which it certainly seems to come from a group collaboration, but there is no evidence otherwise of group effort

7. is the video appropriate to the audience (either general public or technology professionals)
Yes. The language and information are very much simplified for a general audience. The graphics make it playful and engaging and do topic is covered thoroughly but not in depth allowing people to understand without diving into details.

The Internet of Things (Basic)

This is a great topic in general. I think IoT has changed much of how our everyday life works. We’re intrinsically connected to the internet now, and everyday new devices seem to have functionality that depends in one way or another on the internet. However, the video was a bit too plain. The topic is interesting and could have been covered in a more engaging fun way. The voice over and language are very appropriate, but because there is so much static content, it means someone with no technical knowledge, but interest may find it not engaging enough.

1. is the topic well covered?
Yes, the topic was both interesting and well covered. I think the team could have covered more about how and why it works, or dive more into a single sample to provide a better idea of why IoT is important, but otherwise, it was a very interesting topic.

2. is the presentation clear?
Very clear.

3. how is the quality of the research?
The research does not go very much in depth. It covers the topic through samples, and talks about the convinces, but does not cover how it works, or how it’s changed every day task, or impact to the internet or the world.

4. how is the quality of the video production?
Basic, but good. The slides are easy to look at and match the voice over nicely. There is a lot of static text which makes kind of hard to keep attention.

5. is the video engaging and interesting?
The video and topic are interesting, but not very engaging. The team did a good job at providing examples, but because the video is just static slides, it makes it more monotonous than the topic should be.

6. is the team work evident?
Yes. There are clearly multiple voice overs, and the topics well coordinated between the multiple members.

7. is the video appropriate to the audience (either general public or technology professionals)
Yes. The language is simple and the topic has been centered around how IoT is applied to every day life without diving into much detail.

Weekly Learning

End of class. This has been a long journey, which I realize is only the beginning. There is a lot of work still to be done before we’re done with the program but completing this first step is very meaning full.

This class, and specially this week has been very challenging. It’s a test of communication, and coordination and it means a lot to be able to complete the presentation project in such short amount of time. We delivered, and I’m proud of my team for having been able to pull it off even though we faced some pretty big problems a long the way with essentially 2 team members out.

Posted in CST-300, CSUMB | Comments Off on Week 8 – Presentations

Week 7 – Ethics Final

Final Research Video Project Planning

This project is a pretty challenging. The main constrain is time. Even though we’re good at coordinating, and work well as a team, the fact that we have to produce 2 videos seems pretty daunting. 

We already started the research and we’re going to start working on power point presentations and scripts soon. The topic so far is: Why should we teach kids to code at an early age.

Review Ted.com Presentations

3 Principles for Creating Safer AI

AI is an interesting problem that as software developers we will continue both developing and encountering. Machine Learning and AI are the key components of how the internet and technology will continue to develop. It’s important to us as developers to understand how it works, and how it can be safely and responsibly developed. The 3 new principles which don’t follow the original Asimov rules, are an interesting take on what the future bring. I think the last one is really the key to truly compatible human-AI. Learning from human behavior, and values. It’s like teaching a baby to become a responsible being. But it poses the interesting question, if a machine then is entirely driven by human behavior and values, can it achieve some sense of humanity?

Stuart Russell is a fantastic presenter. His pace and language makes following his talk easy. The slides are small minimal and don’t interfere with the presentation. He injects both facts and humor to drive important points. He keeps the language and examples simple and easy to understand so anyone can understand why his ideas are important.

What’s Next in 3D Printing

Avi is a great speaker. He is engaging uses colorful language an examples which makes the presentation fun an engaging. He tries to emotionally connect to the audience with personal and heartwarming stories.

For me, 3D printing is both a hobby and a passion and I hope I can some day turn into more of a career. This presentation for me is pretty special because it validates some of the feelings about 3D printing that I’ve already had. 3D printing has been in the last few years undergoing a silent but impressive revolution. Quality of printing has been increasing while costs have been dropping making it accessible to more people but also bringing more talent into the 3D creation space.

Presentation Skills Reading/Video (60-75 Minutes)

A. What not to do in powerpoint:

There are some important take aways from this. Powerpoints can be a great tool to deliver information to an audience. But as speakers we have to be mindful of how powerpoint affects our presentation. Too much data can be overwhelming or distracting and can pull away audiences from the message. So, keeping slides simple, and on point is far more effective than delivering all the information.

B. Toastmaster 12 tips for 12 public

There are some interesting tips here. The one that I’m most interested in is mannerism. I tend to have a few nervous ticks and over-exaggerate my hand gestures. Making sure they’re controlled, and rehearsed but natural is an skill I need to practice.

C.  Examples of Great Presentation Design

This is a great presentation! The visual style is fun, makes for engaging slides with useful information. I think this i ideal for a long presentation because every slide becomes a surprise to the audience. Data is then embedded with big letters so consumption is easy. Clearly, it’s not something you want to use for every presentation (although this specific presentation contains fantastic advice on how to build good ones). But for our short video for general audience, this is certainly something I’d like to try.

These are more in line with a long professional presentation. I think it will be a better delivery mechanism when talking to our peers since they are engaging but can also be packed with lots of good information.

One thing these all have in common is that they have engaging visuals with big fonts and as little text as it’s possible to get away with. We should aim for that.

D. Where Great Ideas Come From

This style of presentation is very popular. It does require a lot of skill and editing. It makes the presentation engaging, and fun. The pacing of both drawing and speaking are key. Too slow, and the drawing process is boring, but too fast will make each drawing have less impact as ideas will overwhelm the audience. It would be interesting to try to push for this sort of skill, but with limited time, skill and knowledge of editing, it can be a real challenge.


Posted in CST-300, CSUMB | Comments Off on Week 7 – Ethics Final

Week 6 – Career Development

CSUMB Career Services

I have to say this turned out to be a create little trip down the CSUMB website! Fortunately, I already have a job and my career choice has so far been successful. However, I have to admit putting together a resume, and cover letter are things that I find very challenging. I have often run those through several friends to get their opinion and verify that what what i’m doing is attractive to employers. I was pleasantly surprised by the depth of the website, and how much CSUMB works to help students achieve their goals.

I know I have struggled in the past, and I had to do a lot of this myself. I honestly wish I had this support network back then.

I actually really liked this site: https://whatcanidowiththismajor.com/major/majors/. I will be passing around to several friends that seem to struggle placing themselves in a field they actually enjoy!

Job and Internship Search

I know from personal experience on feedback provided by my employers as well as an interviewer that communication skills are incredibly for a career in software engineering. As a developer, people often think that interactions with others are very limited. However, a good engineer needs to master all the skills listed. Gathering requirements, conveying ideas, and persuading others (including management) are crucial to be successful and move upwards. Working hard is very important, but the reality is that working hard can only get you so far in any industry. A good communicator and team player bring far more value to a company as those are essential skills to grow. Those people tend to be already flexible and good learners as they are more likely to seek out support when needed.

I strongly encourage others to also take some public speaking class or events. The thought process and methodology behind public speaking are very similar to the skills required to present a good argument to management, and help develop confidence to network effectively.

Teammates to Develop Capstone Ideas

I think we as a team we’re leaning more into the original idea that we created for our intro to the class. VASC9 as an escrow application. The idea is pretty good, but we need to figure out how feasible and how much work there is actually to do for an idea to be presented to the class.

For my personal idea, i still think the family circle is probably the safest choice, but the team seemed pretty good about the IDE to create bots. I’m not even sure how I’d go about creating one, so I’ll need to take some time to think it over, and break down the components.

Weekly Learning

This has been an incredibly busy week. The paper really took most of the time, and then peer review was also very intense. My teammates papers are actually very interesting. But to me that means i need to step up my paper as well to make sure it’s up to their standards.

To me the most interesting part was the TED talk on privacy. Greenwald makes some very good points. I’m very much in the fence about privacy on the internet. I understand why individuals need to be able to be free to express themselves, but to some extent, anonymity has brought up the worst in us. Having a measure of consequence is healthy. It forces people to be responsible with what they say and do.

Study Time

Posted in CST-300, CSUMB | Comments Off on Week 6 – Career Development

Week 5 – Capstone Ideas

Teammates’ Goals



Possible Capstone Ideas

I’ve been thinking a lot about capstone ideas and I want to make sure I hit a couple of points with mine. I realize not all ideas may meet the requirement, but ideally it hits at least two of them:

  • I want it to be more service oriented.
  • I want it to have community features.
  • I want it to showcase some technology.

So this are some of the ideas I’ve been bouncing up and down.

Family Circle: A facebook like service but for families specifically. The goal is for you to create your family circle with whom you share pictures, comments, locations, events etc. Each person can belong to multiple circles, but each circle is private and exclusive.

Discord Bot IDE: A scratch-like idea that allows users to easily create bots for Discord. The goal is to lower the entry level for creating bots. It would be a cloud base service similar to “if-this-then-that” design to be completely agnostic.

D&D Digital Board: A hexagonal or square box that allows a dungeon master as well as a group of players to play the Dungeons and Dragons game. It should provide the DM with the ability to add tokens, create encounters, move/hide/display tokens in the map. Players should have a limited set of actions, and should only be able to move their character. Additionally this would have an encounter planner and tracker that makes managing a given adventure much easier.

Weekly Learning

This week has been about fallacies and capstone. For the first, I’ve always enjoy learning about fallacies. In today’s political and social climate, knowing how to build a better argument seems like a fundamental skill, and it’s so easy to fall prey to name calling or slippery slope or hyperbole. It seems like we need to do and be better, and that means understanding what it takes to build a proper argument. Writing the ethics paper has helped me do some introspection on what i consider ethical as well. My position hasn’t shift much, but I do have better arguments as to why I believe it to be the right choice.

Capstone, on the other hand, has been a more challenging task. I’m not super convinced about any of my ideas. I do believe they’re good and achievable. But I think i need to spend more time refining them, and making sure they are something I’m excited to work on, that I’m proud of, and that showcases my skill set.

Study Time

Posted in CST-300, CSUMB | Comments Off on Week 5 – Capstone Ideas

Week 4 – Ethics and Goals

Education Goals

The easy part here is I want to get through this class. It’s a small goal, but it’s a first step and I realize I tend to give up when I set my self goals that are far and beyond. So my motivation for now is to start the program in the right foot, put the time and effort and get an A in my first class.

Beyond that, I believe my most important goal right now is graduating. This has been a long journey, and I cannot wait to be able to walk down to get my diploma. I ‘m looking forward to rounding up my education. So far, most of my knowledge has come from experience, which while invaluable has been limited to what assignments, or work has required.

Career Goals

I want to work doing something very specific. I want to plan the architecture of monetization strategy tools for a company that helps the community. I look at Twitch, or Patreon, or even YouTube, and this places have specific internal tools, with internal costumers that help them monetize, and continue being viable businesses. Yet, they bring a lot of value to the communities they serve. I want to be the person that architects the success of a company like that.

Percentile ETS

I actually feel pretty comfortable with taking this test. Looking the questions, I realize some of this is just careful studying of the wording and making sure your logic is sound. The test is not daunting and that’s what’s to me most important. Some of the questions are a bit harder because I either don’t have the knowledge yet, or I’ve forgotten the theory from previous classes. If I was to take it right now, I’d give myself maybe a 70% passing grade, but I can do much better. I know if I apply myself, and actually study, on graduation I can do 95% or better.

Weekly Learning

This week has been a bit rough. I’ve always found ethic dilemmas interesting. I’ve always enjoyed playing devil’s advocate and I do like debating. However, my knowledge of ethics was very basic, and discovering both the depth, and philosophies behind decision making is incredibly compelling. I’ve been reading and learning more about utilitarianism. It seems really like most people consciously or unconsciously live by this framework which offers the greatest flexibility for what is “right”.  It makes sense. People, including me, look for a pragmatic solution that benefits them and their love ones over everything else. It doesn’t have to be as hard as “steal bread to feed your family”. But rather, the smaller things: “Ditch work early to spend time with your kids”, or “skip a tasty pastry to help your wife keep her diet”. Those moral dilemmas we face everyday, and the answers are easy when you realize that the benefit is to yourself by virtue of your loved ones.  Maybe utilitarianism is in big part about egoism in realizing that your happiness in greatly tied to those you love.

This was a very interesting module, though I have to admit the paper outline was very difficult. I had a really hard time making sure my arguments made sense for each side, and that i was being fair, and logical to what each actor should do.

Study Time

Posted in CST-300, CSUMB | 2 Comments

Week 3 – Ethics

Computer Science Major

I think it’s hard to argue on the individual points that Professor Might makes in his blog post. Even with my limited experience as a software engineer, I can appreciate the usefulness of knowing multiple languages, or being able to trace a packet, or having a basic knowledge of the unix command line. However, I think the main problem with Professor Might’s post is that it is not a practical nor achievable goal for an undergrad, and touching in passing most of those requirements would be a disservice.

The solution i think is what we currently have in most curriculums: Students receive a focus on the ones that matter most (architecture, network, algorithms, exposure to a few language, graphics and group work), and allow the students to further specialize in the remaining points (which are quite a few). At the end, like medicine, people most specialize in certain areas to provide a better service, and while overall the scope of knowledge layed out should be the goal of every engineer, it should be a goal over a professional life time, rather than school. The process of that continuous learning should a skill taught and reinforced on every class.

Project Management

Critical Path: I think this is an important concept that is incredibly important and not always followed in projects. In my experience, projects can often get bogged down in details that are not that relevant to the critical path. What ends up happening is that projects are often delayed because inevitably the details pushed tasks which should have taken precedence. Even identifying the critical task is an important skill. Knowing what tasks are actually relevant and separating those from the “nice to have” tasks can be a challenge when working with multiple people who have different priorities.

Mythical Man Month: This really stroke a chord with me. It’s not a new concept for me, but I didn’t know the origin of it. It’s such a common to have people ask you to provide an estimate followed by “what if we add more people”. Reality is that some tasks can be parallelised and we should aim to maximize those areas. Specially with in teams where having the experience and knowledge of a product should be spread out. But that doesn’t mean time is automatically cut by half. On the other hand, adding more people can increase the quality, so even if the project slows down, the trade off of a better product can be well worth the increase in delivery time.

Capturing and Documenting Requirements: I often feel this is the hardest skill for both Project Managers and Engineers to master. It’s easy to make assumption on what a system should and should not do, or what the customer ultimately wants. The lack of communication or worse, the lack of common language between both parties can really hinder a product development. It’s not uncommon for developers to try to go above-and-beyond by adding features, over-optimizing, or conversely by missing features or working on features that do not match the specifications. The idea of having a questionnaire and doing an “interview” is fantastic! Reaching consensus (which really goes hand in hand with solving conflicting requirements) is also critical. Having a glossary of terms for a project is also a good way to create a common language.

Time Management and Study Strategy

Reading over the tips for effective studying, I think I just realized I’m a little of a haptic learner which I didn’t know it was a think until now. I get easily distracted, and it’s  not that I lose focus on the task at hand, but that I get bored with it. I tend to push to and force myself, but because I’m bored, I see myself often multi tasking to keep my interest up. I may study multiple things at once, or change music every few seconds, or even take breaks to feel rewarded between short study bursts. It makes studying take much longer than it should.

I really like the advice of embracing it and rather leveraging that to my advantage. I mentioned on the forums I love diagrams and arrows and relating ideas graphically which I found is actually effective for this type of learning. I’ll do more of that. I think I’m going to have other things around me to help me study this way, like a cork board to physically pin tasks and keep lists of distractions. I don’t have a standing desk at home, but I like the idea of printing my work and reading while pacing around the house. I actually feel a bit better now knowing I don’t just have a hard time studying but rather that I have a different way of learning.

Weekly Learning

Ethics are interesting. I think the main take away is that it rarely is a simple as right or wrong. The exercise on Snowden’s actions to me was a great way to see to how hard it is to apply ethics to any given problem. In that particular scenario, you could see each student’s interactions and how they justified it one way or another. How creative arguments for virtue, egoism, deontological or even beneficence were applied to a problem that up to this point I considered was very black and white. I’m also surprised by some of the answers my classmates gave. They were incredibly well thought arguments that I had not considered before and helped me better shape my own.

The main problem with ethics is that they are entirely subjective, even when we believe they are not (say a Kant’s take on law, or deontological framework.). Instead, we apply them fluidly. We justify our way of thinking according what what it suits us best at any specific and given situation. We may consider someone unethical for doing the exact same action we did, if we feel that person was unjustified, or harmed us.

I think it will be interesting to learn more about how this affect us as students and people at a professional setting. Where there are both moral and economic obligations that may contradict each other.

Study Time

Posted in CST-300, CSUMB | 1 Comment