Category: Update

New website for a new year

New website for a new year

Keeping a website up-to-date and fresh can be time-consuming, but they need love. I like to give mine an overhaul about once a year, but sometimes I do it twice a year. Today is the day I decided to give my site a refresh.

I’ve had several posts this year, and they’ve ranged from Creating a Game to the Factory Design pattern. The day I run out of things to write about is the day I have learned everything. Needless to say, this day will never come, and there will always be something to write about.

Each year I look back at the things I’ve learned and accomplished. It always amazes me how much I’ve learned and makes me wonder how I ever got this far. Reflection is good for us, and we should all take a moment to inspect our progress.

I need to make a plan for what I hope to learn this year, what I should write about, and repositories I can contribute. Some programming concepts can be difficult for people (including me) to wrap their minds around. I would like to get a better grasp on some ideas so I can write about them on here and help others learn. I’ve noticed several repositories could use some better documentation, so maybe I can help with that. Writing docs isn’t always the most fun task, but you can’t measure the worth of proper documentation.


I’m hoping to start the Huntington chapter of OWASP. In my eyes, security has always been critical, but lately, it’s become even more so in the eyes of the many. If I can help our community practice better coding standards, then it is definitely worth my time and energy. We would meet four times a year to discuss best practices for development and ideas we have.

Short Post

Short Post

It’s been a little while since I’ve posted anything, so here is a quick update.


I finally pulled the trigger and implemented AMP. All the pages are now Accelerated Mobile Pages. I didn’t have to sacrifice anything, but I also didn’t spend very much time on the design or presentation. I’ll pretend that I was going for a “less is more” approach. Most visitors come from mobile, so they didn’t get to see any of the fancy stuff that was only for the desktops. I hope to post more often, they’ll be a lot shorter, so come back soon.


I continue to write stuff in PHP, C, JavaScript, and TypeScript. I’ve been slowly learning Angular and I like it. I’ve also been toying around with Firebase a bit more lately. Firebase is great for anyone who doesn’t want to deal with servers. Cloud Functions are really neat and I hope I get some more time to write something cool.


I might start finding primes again. The math behind it is interesting and educational.

AMP Conf

AMP Conf

Last week I got to attend the AMP Conf in NYC thanks to Bulldog Creative Services. It was the first time they had a conference and I think it turned out awesome. I got into the city the day before the conference, checked into my hotel, ate some food, and then went to bed really early. The next day I get up early as I usually do and I end up being one of the first people there. Since I was so early I could pick any seat I wanted and I decided to pick one front and center. If you streamed it then you probably saw my head.

The conference was amazing The people were genuine, passionate, and kind. It was really neat to see a representative from Google, Cloudflare, Microsoft, and LinkedIn all on stage discussing how each can help AMP. The people working on AMP want feedback from everyone; they want anyone to help decide the fate of the project. I’m not a JavaScript expert, but I’ve decided to contribute by helping people with issues.

While in NYC I got to meet up with some friends and eat some delicious food. Black Tap Burgers & Beer had some pretty good burgers and an amazing milkshake. The line to get into Black Tap was wrapped around the corner. The next night my friend and I went to Nagomi Japanese restaurant. There were only two people in the place, but you still had to have reservations, luckily my friend did. The sushi was delicious. I couldn’t help but make funny faces of enjoyment while eating it and I think our waitress found them entertaining.

photo of New York City

AMP is the future of mobile websites and I’ll write more about it in another post. When I got back I decided to write some JavaScript and I created a playground for AMP HTML. I got the perfect domain for it as well,, we’ll see if people actually use it.

My PHP Story

My PHP Story

In an attempt to help people understand you won’t learn everything overnight, I would like to share with you, my story. This story starts in the early 1990s. I hope this is a post that everyone can read and understand.

My Programming History

One of my neighbor’s, his dad was a programmer, and they had a computer. We were getting on the internet before a lot of people even heard about it. We were doing this before AOL, CompuServe, Juno, and other dial-up providers. My friend’s dad would also show us how to write BASIC, and we were hooked. They had a book of programs, so we would type them into the computer and play those games. Most of the time we would have a typo and spend our time trying to find it.

My love for programming continued into middle school and high school. In high school, I started learning ASP and helped a friend program the school’s website. It was an AccessDB driven site using OBDC to connect, and it was awe-inspiring.

ASP was okay, but I wanted to learn more, so I started learning PHP.

Starting PHP

I started with PHP 4, and I’m still using PHP today. Don’t worry; I have upgraded since then.

At first, PHP seemed rather confusing and complicated, but I kept writing. I’m sure my PHP was terrible then, but that didn’t matter; it was important that I kept writing it. I probably did everything the way you shouldn’t do it, and that’s okay. Write it, so you understand it, and if it works, that is awesome!

I occasionally found myself trying to write PHP that would write my PHP. Or I wanted to make it way too dynamic. I think these are common signs that you are making it more complicated than it needs to be. There is usually a rather simple elegant solution; it’s sometimes hard to see it, so you may need to take a break if you’re stuck.

PHP Today

PHP has come a long way. It has come further than I ever imagined it would. Don’t take that as a poke against PHP; it felt as if it slowed down a little bit for a little while, but it has picked up the pace.

A lot of the sites I work on that are in production are running PHP 5.6, some are running PHP 7.0, and some are running PHP 7.1. There haven’t been very many functions deprecated in the new versions, but it can still be difficult to upgrade all your sites to the latest version. While anything may be possible, not everything is feasible or ideal.

The community has pulled together to improve every aspect of this beautiful language. We have some great frameworks, package management, and some helpful resources for learning. I imagine more things are to come, and I’m excited to see what they are.


Covering CompuServe and Juno brought back some memories. We had CompuServe as our ISP, and we would use Juno for email. We would dial into BBS’s (Bulletin Board Systems) and send each other messages or play games. In my lifetime we have gone from 56K dial-up modems to gigabit internet at home. To give you a better idea, 56K would download at 56,000 bits per second and gigabit internet will download at 1,000,000,000 bits per second.

I’ve learned other programming languages along my journey, and I encourage you to do the same once you feel comfortable with one. While learning another language, it helped me change the way I think and improved my overall programming skills.

I’ve had a couple of programming mentors while I was learning to program and it helped, but it can also hold you back. If you don’t try, and immediately ask for help, you won’t learn as fast as you can. Don’t rush, make mistakes, and learn from those mistakes.

Of course, if you need help, please feel free to email me. I’ll do my best to help you.



The new design is up and running. I still have to pull the data from the old pages; I’ll probably do that tomorrow. I’ve been a little under the weather, so I’ve been resting most of the day, but I did manage to get this almost finished. I did all the HTML/CSS, as you can probably tell.

I’m using Silex, Twig, and Doctrine. I’m not sure how I can get the ‘here’ class added to the page you are currently on using this setup, but I’m sure I’ll figure it out.

I’ll eventually put up a link to the previous site with the old blog pages. I don’t want to move them over to this site. I’m afraid they may have several grammar mistakes.

This blog will hopefully serve as a way for me to share my knowledge with other people. I’ll be adding tutorials as well as a few other things.

I’m Back!

I’m Back!

Welcome to 2017! I have been working on my PHP DigitalOcean library. It has come a long way, and it uses some interesting design patterns to solve some common challenges. It will work as-is, but I have not completed all the possible features. I had written a lot of the code before I decided to restructure the library to make it more organized. The library documentation still needs to be written, as well as the PHPUnit tests.

Since my last post, I have lost the project I was working on using Laravel. I have also learned more about the framework and some other frameworks, such as SlimPHP, Symfony, and Silex. I will probably redo this site using Silex since it is a lightweight version of the Symfony framework, it should work well. Laravel feels like overkill for this website. I will have to redo the HTML/CSS, eek.

I am also working on some PHP packages that will utilize the DigitalOcean library. Deploying servers is something I have been interested in learning more about and how it can happen automatically. Some online services will handle this for you, and they work fairly well, but I plan on creating one that anyone can use on his or her own. You will have your control server, and it will control your other servers and websites.

Get ready for more posts this year. Hopefully, they will be more useful and exciting.

“Don’t get it perfect; get it done.”