Welcome to Werds of The Wass!

Welcome!  If you’re here, you likely already know who I am. I graduated from Wright State University with a bachelor’s degree in computer engineering, and I have been working since.
As such, there are quite a number of things that I have learned in school and at work that I believe would be helpful to others. This site is my chosen medium to pass on such knowledge.  Most of it will likely be tidbits and tricks that I’ve picked up programming here and there, and I’ll be adding more things as time goes on.
Have a poke around. Leave a comment or two.

Moving!

After doing a good amount of research, I have decided to move Werds of the Wass off of WerdPress.com and to GitHub.io.  (BTW, did you know that GitHub can host websites??)  The website will be https://TheWass.GitHub.io.  I’m working on theming  it right now, so there’s not much there.

The advantage for having GitHub host the website is updating the website is exactly like committing to GitHub.  Plus, all of my code (and thus, the website) will be versioned.

The disadvantage to GitHub is the server cannot be modified.  It only serves pages; it cannot process PHP, Python, or any other server side code.

Despite the disadvantages, there are tools which can create a very functional website using only non-server code.  Jekyll is a Ruby program which creates a static site out of markdown content.  Disqus is a service which provides a space for comments.

Have a GitHub account and want to set up your own?  Go to https://pages.github.com/ and follow the instructions.

Werds on WordPress

My one thought was to get the material that I had already written out on the internet as quickly as possible.  Previously, I had all these posts on a Drupal based web server with limited public access.  I decided to migrate the content to a WordPress-based web server since I have some experience working with WordPress plugins.  WordPress.com provides a hosted web server to easily host and quickly create content.  Hindsight: this may not have been the best decision.

Continue reading

Firefox, Xdebug, Notepad++, and You!

Picture this: It’s a dark and stormy Friday afternoon when all of the sudden, the PHP code that you’ve worked tirelessly on no longer works correctly. For some reason, the program is taking correct values and outputting junk. Unfortunately, due to complex requirements, and tight schedule, you didn’t have time to put a verbose logging system into the program, and you’re stuck var_dumping to the webpage.
Has anyone experienced this or something like it? I have, and I swore to put an end to the echoing madness! Continue reading

Iterations: ‘for’ or ‘foreach’?

Those of you who first learned programming (me included) probably started learning with C++ or Java. And with these languages, iteration is typically done with while or for loops. The foreach construct is used for specific object classifications. As you might expect, these constructs may not operate in the same manner. Let me share with you the similarities and differences between while, for, and foreach. Continue reading

Requirements Conclusion

First off, I don’t expect everyone to immediately start using petri nets in their requirements, in fact, I don’t expect to see them at all in my career. Even they are extraordinarily useful, creating an accurate petri net is a royal pain in the @$$. However, there are tools out there to help create them, and in particular, running simulations. Webapps are not typically concerned with concurrent users and multitasking where collisions may occur, all that is handled by the web and database servers. For the case of webapps, the Finite State Machine formal model is quite sufficient. The FSM is very effective with web pages since each page can be a state: very easy to construct, very easy to interpret. Continue reading

Petri Net Analysis

Since petri nets are largely mathematical in nature, they are very accessible to analyze. People are still discovering new and innovative techniques to tap more potential from petri nets. I should warn you, this article is going to be quite math-heavy, delving further into graph and set theory than previous posts. For that reason, I have created an accompanying article on the basics of set theory. Continue reading

Petri Nets

The petri net model is a formal model which models state information a little differently than finite state machines. Petri nets are designed to model asynchronous processes, something that FSMs cannot innately do. Asynchronous processes in this case can refer to many different processes running in tandem, at different times, or even on separate machines. Unlike FSMs, petri nets are non-deterministic, meaning knowing the current state, we cannot determine the next state. These traits should become apparent later on in this post.
Continue reading

Formalisms

Now, onto the fun stuff! Once the written requirements are adequately diagrammed and documented, the final stage in formalizing the requirements can begin. Remember, the reason for formalizing the written requirements is so the developers can prove that the code they develop is correct according to the requirements. This is the step where the actual process is defined, laid out, and formalized.
Continue reading