Line Surfer

Blog ,

Introducing Line Surfer – A new way to visualize a cursor A while ago I had an idea for an extension to Visual Studio Code. The goal was to provide a way to visually see the current line your cursor was on and the context of the surrounding lines above and below. I wanted the current line to pop. I thought it would be cool if the current lines font size was able to be set to a specific font size and the surrounding lines would interpolate down to the editors default font size based on the size of the context. As an example, let’s say that the current line was set to 24pt and the default size of the editor was set to 12pt. If you set the context, or height to be 4 lines above and below, you would get the interpolation from 24 to 12 stepping down on each line until it hit 12. I called this the “Wave”. Having never explored the vscode extension api. I started to figure out how I could do such a thing. Turns out that vscode only allows this sort of manipulation in a custom editor, not the default packaged one....

My Opinion on ORMs

Articles, Blog, Others

Before I learned about the use of an ORM (Object-Relational Mapping), I handled all interactions with the database through either stored procedures or building a query and setting up parameters. It was not the most exciting part of development. When I was introduced to NHibernate, an ORM for .net based on Hibernate, an ORM for java, I jumped right in and started bringing it into my projects. There are hundreds of different ORMs. The goal of most ORMs is to abstract interactions with the database, support multiple databases, and handle mapping. Some implementations also extend the base database functionality by adding caching, lazy loading, and bulk operations, to name a few. The most common denominator of these ORMs is that they generate SQL statements for you. Some do this through their own query language which could be string-based (HQL), or through methods that build the request internally. In the past few years, I have completely moved away from using ORMs in my personal projects and when I have to work with ORMs, I am very cautious. I know SQL well enough to know what good SQL looks like. I’m also always having to work extra hard to ensure that the...

Whiteboarding

Blog, System Design
Featured Video Play Icon

Back when I was in grade school, all we had were blackboards and chalk. Also, it was uphill to school both ways and phones were mounted on the wall. Ugh, I’ll never forget the sound of chalk…or the taste. But, we’re not here to talk about the old days. Nope, we’re here to talk about whiteboards. Well, whiteboarding really. Which doesn’t even have to be on an actual whiteboard. No, today, we are going to talk about whiteboarding as a concept and how it is used in building software. Drawing Pictures What do I mean by whiteboarding? It is the concept of using a medium that can be used to convey an idea, collect information, or facilitate a conversation. Think of it like a tool that can be used in working with others to assist in communication. When whiteboarding, you could be creating a list of things to do, sketching out what a UI might look like for a website, or maybe you’re designing a system using a diagram. You could be doing this alone, with a team co-located, or even online with people on the other side of the world. Let’s pretend that we are tasked with creating an...

Software Lifecycle

Blog, Development Lifecycle
Featured Video Play Icon

Software is alive! It’s born, its built, its tested, then its released. Throughout the life of the software, it is improved upon. Improvements could be new features, bug fixes, cosmetic changes, etc. Each improvement goes through its own lifecycle. The improvement is born, built, tested and released. The life of software is cyclic until it reaches the end of its life. Today we will be talking about the life of software. We call the life of software the Software Development Lifecycle, or SDLC. By the end of this episode, you’ll have a good grasp into the processes that make up the life of software. The SDLC I think the best was to visualize the SDLC is to see it, visually. The image above describes the common theme in the different methodologies. Basically an idea is fed into the SDLC’s Requirement Analysis phase. This is where requirements are gathered and the idea is scoped into a project. From there, business people, developers, etc., design the system. Once a design is completed and everyone knows what is going to be built, it is handed off to a developer to implement. After the developer is finished, it is tested by others to ensure...

Learning

Blog, Dev Life
Featured Video Play Icon

Learning. Gaining Knowledge. Advancing your skills. Leveling up. Getting smarterer? Chances are, you’ve learned something. If you are watching this, you have probably learned how to open youtube. Congrats! You probably already know how to learn about things, but have you ever thought about how to really learn? They say you never stop learning (btw, who are they?). So, today, you’re going to learn…to learn! So…let’s learn! How do you learn? Think about some of the things you’ve learned. How did you learn these things? If you’re a software developer, how did you learn to become one? How did you learn what a software developer is? How will you learn in the future? You have the capacity to understand learning and you can adapt yourself to any given environment. Throughout your career, you will find yourself in a lot of different environments. Each environment is unique. There are similarities that can be found, but that is something I’ll touch on in a bit. Environments can have different languages, frameworks, standards, paradigms, operating systems. To be successful, you must be adaptable. If you can’t or won’t adapt, you can and will get stale. Sometimes, getting stale is okay. Some people thrive...

Standards

Blog, Code Quality
Featured Video Play Icon

I don’t like people telling me how to do my job. I never have. I think of writing code like making music. To me, writing code is an artform. Do artists like to be told how to art? Nope. Well, then why would it be okay to tell a developer how to write code? I’ll be showing you why coding standards exist, what they are and are not, and how they can release the true creative you! The idea of a standard used to be this image I would see in my head where there was a cop handing me a ticket because I was going to fast and not obeying the law (standard). I don’t know why that was the picture I got, but it was. What do you think of when you hear that word? Some think about it in a positive way and others see it in a negative way. I know that American Standard toilets are some high quality toilets. I also know that there are standard pillows and standard cars. Hmmm, does standard kind of mean “the same”? Let me check…  Yes, I actually did just google that. So I guess it’s not all bad...

Life Balance

Blog, Dev Life
Featured Video Play Icon

What would you consider a balanced life? I consider a it as a state in which you are getting the right amount of time devoted to the important aspects of your life. So what are these “aspects”? Well, I call them segments to simplify things. It is my opinion that there are three important segments of one’s life. These segments are Work, Personal Time, and Sleep. I’ll go into detail on the different aspects of each of those a little later on, but knowing we have three distinct segments, we can start talking about life balance. In your career, you will most likely have a job that is 5 days a week. That may change in the future, but for now, that is considered the “norm”. So given we have 5 work days a week, we can look at the three segments and fit them into a given day. If each segment is 8 hours, we have a balance (Math Time: 8 + 8 + 8 = 24). If any segment is not 8 hours, we have imbalance. Imbalance happens all the time. Few people can have a work life that puts these three segments into place, but being aware...

Resumes

Blog, Soft Skills
Featured Video Play Icon

Back in my day, when dinosaurs didn’t have feathers, the idea of putting together a resume sounded as fun as getting my front teeth pulled out. I’ve never had my adult front teeth pulled out, but I like how it illustrates how much I hated resumes. With a resume, you must make it, which usually involves hours of tweaking and starting over. With your front teeth, you either must do it yourself or you go to a dentist, sit in the chair…they pull, you bleed, and then you leave. Cool, now we have a resume and missing front teeth! Guess what? Now we must modify our resume every time we want a new job and we must either deal with our missing front teeth or get fake ones put in. Never mind. I tried to make a connection and failed. Failing is okay! I’m not sad I wrote that paragraph above, even though it failed to capture how I felt about resumes. Sometimes we must fail to get better. I could change what I wrote above, but I’m not going to. It’s going to stay right where it is. Someday I could change it, but today is not that day....

Introductions

Blog, Others
Featured Video Play Icon

Devsplained? What? Although it’s a made-up word I came up with, it represents what this project hopes to accomplish. The goal of this project is to help mentor you and others on what the real world of software development consists of. All explained through both positive and negative experiences I’ve had along my own journey. This project will consist of two major elements working in harmony and discord. The core element will be the episodes published on YouTube. This blog will act as the second element. Working together, an episode will explain the subject matter I hope to present and explain, and the blog will back up the episodes with additional thoughts and greater expansion on the subject of the episode. At the end of this series (if there even is one), my hope is that you will understand the core aspects of what professional, “real world” development looks like. But first, let me introduce who I am. How do you introduce yourself to the development community at large? It’s kind of a strange concept, but it is one that we should all be familiar with. Remember your first day of school? Well, I know I don’t, but from that...