Categories
My Ramblings

Organization

Organizing is a concept that many people struggle with and eventually kinda sorta figure out down the line. I know its something that I struggle with daily, either physically or on my computer’s file system. Taking a look at my file system, all I know is that everything is everywhere and there once was a semblance of organization before I got lazy and started to not put files in their right place. There are some things in my file system that are in their correct place, basically only my school files just to make sure that I don’t spend too long searching for a critical file for class.

When it comes to physically organizing my space, its been a ride. I moved in to my first apartment with my fiancĂ© back in May and only last month in December did we finally have a sense of organization in our place. The office was in a constant state of “it’ll be fixed soon” until then and only finally was the office and rest of the apartment organized. But unfortunately, I change up my desk setup every so often because I need a refresher of it. Thankfully it looks like now I’ve gotten the final set up with cable management and a more cleaner looking desk and this looks to have a lot more staying power than any of my previous setups.

While I spent a lot of time talking about my trying to organize an already disorganized thing (be it files or room), I want to talk about why organizing your file structure and code for a project from the get-go is so much more important than you might assume. Recently, one of my teammates decided to reorganize the project repo in order to have a clearer structure of what file does what and where things should go. While not revolutionary, it was really crucial to how our development will go in the future. Now knowing that the file called “gmaps.dart” is where the Googe Maps screen lives makes it easier to find and fix any potential errors and even test the errors/fixes that you make on it.

Having an asset folder is also crucial as you can dump your images (and give them descriptive names!) and then quickly add them to your screen without much issue. He has set this up at the best time: the beginning of the project because its so much easier to organize a few items instead of 15 different items.

On top of that, the actual code itself needs to be organized in a way that makes sense too. When designing code, if the language you are using has an entry point (the main function in Java, Dart, etc), you have two options for where to place it: the beginning or the end. There are pros and cons for each, which seem to be more about how you work personally. I rather have it at the top because its the entry point for the code, but having it at the bottom makes almost the same amount of sense.

When it comes to functions, having functions that call other functions close to each other is also good organization as you can more easily see what the function does and make sure that you pass/return the correct things in order to make the function work. Of course there are some exceptions to this rule, but by and large, having functions close to each other when one calls another makes it easier to compartmentalize your code.

There’s also the option of outsourcing your functions to other files in order to not muddle your main file and have different files for different operations which is hugely beneficial, especially if you have a bigger project.

Overall, there’s much to talk about when it comes to organization. Attempting to organize something utterly disorganized is a task in of itself, but rewarding at the end, but having something be organized from the get go is even more rewarding since you don’t need to go through that work to organize it. But it all comes down to if you are able to keep it up. Probably the hardest part about organizing is the simple idea of keeping up your organization, and while it may seem easier, you might slip up and forget and undo all your hard work to organize.

Start organizing your things in order to help clear yourself of time of finding things and to give yourself a nice feeling of knowing where everything is and not feeling anxious about the place around you.

-Gianluca

Categories
Capstone

My Desk Setup

My capstone project is just beginning basically. I’ve been tasked to create a preliminary draft and continue to iterate a UI for the app we are making but I discussed most of my thoughts on UI in my previous post. So today, I’m going to talk about something that I interact with literally every day, unless I’m on vacation: my desk.

My desk!

So there’s a lot to unpack here that’s for sure! First off, yes I have 4 monitors. I’ve found in the past few days that I don’t necessarily use all my monitors so I’m doing to down size to just 3 which should still be more than enough for my needs. In regards to the setup of 4 monitors, it took some trial and error to get to this style. I hadn’t ever had a vertical monitor before and decided that it could be of use, especially for programming, but I have yet to use it for that simply due to it being to the side. If it was in front of me it would be used a lot more than it currently is.

For what’s powering the monitors, to the right of my desk (standing desk from Fully) I have my PC hooked up. It has an AMD 3700X CPU, 32GB of RAM and the Nvidia 3070 GPU, which I had to pay an arm and a leg for in the current market where everything is way above MSRP. I built my first computer back in 2016 and slowly upgraded the components to the point where the only things from my original PC are my CPU cooler and the storage. The rest is all new and upgraded from their original.

Continuing on my desk you have my keyboard which is the Glorious GMMK Pro mechanical keyboard that I “built” a few months ago. The “built” is the fact that I didn’t have to do any soldering like I would with other keyboards, mainly because I don’t trust myself to do that as well as I don’t know how to just yet, but maybe soon. I also have a split keyboard (put away here) that I use for work where I switch up my monitors to the laptop dock input for work.

Speaking of work, you can see my work laptop in the far left of the picture where it is hooked up to a dock in order to connect to 3 of my 4 monitors for work.

I have 3 macro pads here (one on the right and 2 on the left), mainly for small macros but haven’t really thought of things to automate just yet, but I’m willing to hear any ideas you may have!

Above the monitor are 2 cameras, one for work and one for personal computer. Could have used just one but it is a pain to reconnect the cable each time I have work thus I have one for each for now. And above the left monitor is a key light which helps me stay in good lighting for my work calls.

In regards to the applications I use the most on my computer, it’s mainly the Vivaldi browser, KeePass XC for my passwords, Steam (game library), Discord, Spotify, Windows Terminal (from the Microsoft store for access to Powershell/Windows Terminal/WSL in the same window), Everything (file search that’s faster than the built-in one) and Visual Studio Code where most of my coding is done.

So that’s my setup! I’m usually found here during the day and night either doing work, doing homework, or playing video games. It’s something that I have put a lot of effort to being a place where I can be for hours on end.

Like I said above, this blog isn’t as much as a capstone post this week since I talked about my first part of the project last week, UI, but next week we should have more to talk about the project and my thoughts on the process for working through the draft process and any other part of the capstone that I do. Hope you enjoyed my post about my setup! Let me know if there’s any questions you may have about either the setup, the project or anything else in general!

-Gianluca

Categories
Capstone

The User Interface

Designing a User Interface (or UI) is something that I consider an art of sorts. There’s such a thin line between the UI being too cluttered (functionality) and being too minimalistic (aesthetic). Sometimes one element makes that difference, while sometimes its the size of the elements. Walking that line can seem easy before you start, but when you really start to design the app, you notice how hard that is. It can start off with an innocent want of adding a button at the bottom of the screen simply because its such an important function that the user needs to needing to have all functionality of the program in the main screen. I’ve struggled with this many times, from making a web application for class, working on a desktop UI for a personal project, or redesigning a form for work where you have to meet the needs of the client. I haven’t found the secret to making a good UI, but looking at different UIs from around the internet (web apps, phone apps, desktop apps, etc.), I’ve noticed that the most important aspect of a UI is great User Experience (or UX). User experience can be broken down into many factors like loading times, but I’m only going to focus on the UI here.

When you look at the UI of different popular apps, you can see why they are so popular. They just are intuitive to use. Take a look at Twitter’s UI below

From Google Play Store

Thankfully its a nice app to look at, and the UI really drives forward the notion of it being really easy to use. Look at the bottom row for example. Four icons which are universal in many other applications. The home button to take you back to the home screen (in this case your timeline), the search button to search, the notification bell for notifications and the email icon for your direct messages. Above that last button is the create Tweet button. And all of that takes up so little space and gives so much more for the timeline you have created for yourself.

Twitter’s app is just one of many, but notice how much the UI lends itself to having a great experience with the app. Your focus is on the main timeline, but can quickly switch to a different panel as needed with the tap of a button. It is something that we must strive to do in our own UIs for the capstone. UI design is not easy, usually you would go through many types of designs in order to find the right one that fit the requirements of the client, but once you do you still have to refine it to the point where the UX is great and the user is not frustrated with how your app is laid out. And this is all before even beginning to start the actual coding of the app and its functionality. Design takes the longest and gives the most reward to your app since it can be the reason a user keeps coming back to your app to use it.

In the end, UI is arguable the most important aspect of an application simply due to how it can take an app from mediocre to a daily used one. There still is always a fine line to walk between functionality and aesthetics, but if you can hit it correctly (like Twitter has in my opinion), the app becomes something that you try to emulate in your own projects down the line.

Now to work on the UI for the capstone!

— Gianluca

Categories
Capstone

The Start of a Journey to Cap Off My Time at OSU

Starting off a blog is always something I struggle with. I’m not the best writer, but I know that my writing will improve over the next 10 weeks simply because the more practice I have, the better I’ll get at it. Blogging to me is an art form that I just don’t get how to create. Sure, I’ll read blogs from time to time, but starting one is daunting. You need to learn the ins and outs of search engine optimization, market yourself well, and so on. There’s so much to start on for the capstone blog, but for now, a simple introduction should be perfect.

My name is Gianluca and I’m a 24 year old who’s graduating from Oregon State’s post-baccalaureate program in June of 2022. I’m super excited to finish the program because I’ve learned so much more than I ever could have without this program since it brings the structure that I need for learning a new subject entirely. I have many hobbies but if I were to list my top ones they would be video games, soccer, board games, biking, and learning about new technologies.

I know this seems fairly short, but there’s not much to say about the capstone yet since we’re just starting out, but over time I’m going to get more in-depth about my progress and how my team is moving along in getting our project to completion. As well as hopefully improving my writing skills. I’m so excited to have you join me in my journey to completing this degree! Andiamo ragazzi!

-Gianluca