Back to the Server Pharm!

Hey! You know you’re getting somewhere when your searches on the web on SAMBA on a Saturday night ( – Opening Windows to a Wider World) lead to pages of Microsoft Documentation. 

When your FB friends are so bored with you that you have started reading your emails. 

When you open Microsoft OneNote on Firefox on Ubuntu LInux (18.04.1) because that custom webapp that was supposed to do everything just isn’t finished yet 

When you realize that you can’t start another project (monitoring home packets using scapy and Python Data Science tools without thinking  about what you hope to achieve by doing this?!  Afterall, there are no rogue packets here anymore! 

And When you even consider paying a fee to a content channel (what is CDN)? 

You are retrieving the Service Locator!

I used to like coding websites using Zend Framework in PHP. Of course, that is from the good old days of L.A.M.P. (Linux Apache MySql PHP) and before the world got so M.E.A.N (Mongo Ember Angular Node.js). Did I get that right?

Now I have a pesky error in Zend Framework 2 that I can’t seem to get rid of: “You are retrieving the Service Locator from within the Class.” I feel like the computer is speaking about something else but I have no idea what! But whoever came up with the idea of phrasing an error in this way must have been up to something. Blame the new emphasis on Service Oriented Architecture (S.O.A.) I guess.

Here is a very helpful link on Stack Overflow that explains what to do about this problem:

Using Eclipse for the Atmel 328P chipset?

There is a version of the Eclipse IDE out there at that is all ready for the Atmel 328P chipset. It’s name is Sloeber. I am touting its praises even though I am still getting adjusted to using it. Installation was not difficult even though I had to adjust my file paths. The biggest difficulty was telling it not to be too smart. I also didn’t succeed in getting avrdude to work yet. But it handles multiple C++ files just like any Eclipse project and beautifully!

On Reading Technology

Today (Sunday) I am reading a computer book that is on the bookshelf here at home entitled GNU/Linux Application Programming by M. Tim Jones. It is a good-looking imprint by Charles River Media. It’s best for me to stay on-topic with my reading, that is, on Computer Science right now, even if I am just reading for relaxation.

I decided to write about the topic of my technology reading because I finally and literally “picked up” the guide to the ARM Microprocessor (I will provide the reference) that I had purchased special-order and found it to be excellently written. I thought, wow, maybe I could try some other reading that was slightly more complicated or on a different topic within my field. It’s one thing for the reading to be easy, and quite another to use the one’s new book learning in-the-field; although I have found that the easier the reading the better I learn the new material.

Some of these technically-focused books read just like storybooks; others are not possible to read easily. Of course, one usually only reads a book of this sort at all if one has something they need to accomplish. If one is reading about a certain technology and the book is well-written, it’s just like reading mystery or science fiction or some other genre – that is to say, it’s fun!

If one is reading such a book, it’s really helpful to try out the examples, that is, to learn by doing. In my case, I have a lot of ideas for GNU (GNU is Not Unix) applications that I would like to start. I would like to have more helpful desktop applications available to me, once more, on my Linux machine and perhaps my Windows desktop too!

Certainly it is a lot of fun to master the latest technology of the Internet but looking at some of the reasons for using a computer in the first place, one might conclude that an application, Windows or otherwise, the so-called “fat client”, might be preferable.

Back to Websites!

I like working on websites!  I like making the simplest change and seeing that it works.  Then I like to tell everyone I know all about it.  I like to write about technical developments I and others have made, even if they don’t seem so important at all.  I guess that is why I have a blog.   But does anyone actually want to hear it?

Don’t tell my clients, but sometimes it takes me forever to make the simplest change.  For instance, right now I am trying to add responsive design to this WordPress theme.  Changing a design after it is in place is like using a shoe horn to make a larger shoe size.  It can’t be done! Maybe I am finally realizing this.

Keep it Simple Stupid (KISS) continues to be the best strategy for things like this.  I promise that I will go shopping for a new theme rather than try to do things the hard way again!


You might think that I would tire of searching on the Internet for solutions to problems like “Python Error: remove_dead_ref,” or Arduino AVR’s C++ compiler’s complaint … and what was it again, I can’t even remember!

It’s true, but as long as I stay in the tech field I will probably always be tracking these sort of bugs down.  But is there a better way?

Building software like a custom Yocto kernel ( ) for Raspberry Pi or using new features of C++ to program the Arduino ( can be difficult.

Sooner or later (or much much later!) I usually manage track my errors down.  Since I feel that I am not on the “cutting-edge” of technology, very many times I prefer to search for discussions by other people who have faced a similar problem.

I would like to better document how I have debugged many of these issues and catalog those notes.  Because sometimes, after all the effort of finding solutions to compiler errors, and the like, I forget about them altogether.

It doesn’t seem at first worth the time to write down every step along the way of solving one of these problems.  Software seems to breed these sort of issues.  But I am wondering if a knowledge base of the issues I have researched would be of help to others??

The need for good software

I’m thinking about all of the things I need to do to improve my new engineering practice and no matter where I look it all comes down to the software. Seeing that I have spent so much time learning about and improving my software development capabilities I feel that I am the right person for the role of software engineer.  It is tempting however to keep bolting on hardware or even creating big plans for a website, for example, without working on the software at all. Then, when the product comes out it is too late. At this point I am often tempted to run to my laptop and start programming one or more things again. This, however, is to miss the holistic approach by which the best software is written, in my opinion.

Thinking about the function of systems as a whole prior to creating the software is what makes it successful. This is the path that led us back to the drawing board in the first place. Just because form follows function doesn’t mean we can skip writing our functional analysis. To reference an old Dr. Dobbs editorial, the best software is always intended to solve a problem, or as the editorial stated, a “perplex.” We write software chiefly because we are perplexed, confused, by the very many requirements of a complex system, be it a website or an IoT device. Throwing our “heart over the bar,” or rather all of our requirements into our new computer program so that a compiler can handle them; defining our requirements clearly that is, really is our first step to creating good software.

Happy 2019!

Happy New Year!

Right now it is 7Am on Monday January 7th and I am just starting to think about my New Years’ Resolutions.  It seems like this will be the year to patch things up.  By that I mean everything from personal relations to small details about the website.  But, to stay on topic, letś just talk about the website!

I pride myself on being a good PHP developer.  Of course, there are a lot of good developers out there and even better UI/UX people.   Sometimes I wish I were better at design.  But what I am trying to say is that it is sometimes good to be able to look at one’s one work with a more critical eye.

When I took a look at my website on my cellphone, I realized that it was time to make sure that the HTML5 markup really worked properly.  So I guess that is Step One.

Happy New Year!