RSSAmplifier

Blog

Brain Food

Enrich your brain with the musings of Brian Chang.

brianchang.infoRSS feed ↗10 posts

Latest posts

Immutable Objects

“Perfection is immutable. But for things imperfect, change is the way to perfect them.” Owen Feltham Given this, can we also say that immutability is perfection? In the world of programming, I’d like to think so. When things are immutable, they become easier to analyze, reason about, and plan for. The Misused JavaBean Unfortunately, most of the objects that programmers create are not immutable.…

Chip Card Basics

The specifications powering chip and PIN credit cards were first published in 1996. The vernacular for this set of documents is the EMV Chip specifications, named after the three organizations that originally authored it: E uropay, M asterCard, and V isa. Credit cards that support this are easily recognizable by the gold-plated contact pads featured on the card. Underneath these pads lies the…

Software Developers Will Become Obsolete

To become a respected professional in software development today requires a high level of expertise in a variety of skills. At the very least, you need to be able to translate your English solutions into software implementations. Not only does it need to be technically correct, it needs to be commercially viable. Therefore, it doesn’t hurt to have a solid understanding of business. This enables…

Hackathon Be Gone

Last weekend I attended the MHacks: Refactor hackathon on behalf of my company. I acted as a representative of my company as well as a mentor for the hackers. I saw a lot of amazing projects and helped a lot of students. The energy of the students and their output was phenomenal. Needless to say, the entire experience was rewarding. However, the more of these events I attend, the more disgusted I…

Progressive Web Applications

Everywhere you go, progressive seems to be all the rage. Progressive politicians, progressive relationships, and of course progressive web applications. What are progressive web applications, and why should you care? What Are Progressive Web Applications? Progressive web applications seem to have hit the mainstream in late 2015. They are applications that progressively morph to provide you a more…

Taking Out The Trash

Suppose you have in your freezer, a lovely frozen burrito wrapped in flexible plastic. After you unwrap it to be microwaved, you’re presented with a choice. What should you do with the wrapper? pick it up and place it in the trash can. I run a clean house! just leave it on the counter. Someone else will take care of it. And there you have it, you’re halfway there to understanding the two styles of…

Issues With Common Software Quality Metrics

One of the goals of every business is to maximize profits. In the software world, this is done by minimizing development, testing, and operational costs. Companies are beginning to measure every aspect of the software lifecycle to identify areas for improvement. Collecting metrics is a great thing. However, they’re often misinterpreted and result in misguided efforts. Let’s take a look at two…

How to Future-Proof Your Code

Computer code is much like written literature. The excellent ones are kept around to be studied and revered by generations to come while the remainder are sentenced to obscurity. Perhaps you’re working on a coding project of Shakespearian importance. What steps should you take to make sure your ingenuity and forward-thinking are preserved? The Difficulty of Future-Proofing It’s hard to anticipate…

Object-Oriented Developer

Becoming an Object-Oriented Developer Given that object-oriented programming is the best thing since sliced bread, we should all strive to incorporate it into our lives. However, I’m not talking just about learning a language like Java or Ruby, I’m talking about incorporating this phenomenal invention into our everyday lifestyle. Don’t be a God Object A God Object is one of the most despised…

Can Code Be Profound?

It isn’t unusual to see adjectives adorn the word code . Clean, testable, spaghetti, ravioli , and maintainable are some of the most common that I’ve seen. But what about profound? Can code be profound? What makes profound? Something that is profound contains significance and meaning far below its superficial one. For example: “It does not matter how slowly you go so long as you do not stop.” -…