Here is a link where you can purchase my book, Building Computer Systems for the Internet of Things
Hi! I will be speaking at the Trenton Computer Festival on Saturday at 1:30PM on Track 7. This talk will be about Prototyping using the ATMEL 328P chipset offboard the UNO to complete your own projects and follow through with a Printed Circuit Board (PCB).
My projects would be improved if there was better documentation. The best way I have found to document projects so far has been using a paper binder. However I have also used One Note, the Color Note Android app, and have built my own technical content management system at https://evtechnote.us. Even though it is password-protected I still don’t want to work online.
Something like One Note would really be the best system to use except it is not indexed very well. Maybe I don’t know how to use it properly. If I had a system that allowed all parts of a project to be classified properly these projects might be a better success. Of course there is a system like that: it is called the file system. We do not usually store a lot of metadata in the computer file system, so this is not a good way for us to create an outline of what we have. Metadata are words to describe what we have, so that we can find that content again.
Cloud storage provides a unified file store but the best way I have found to keep track of content is my blog. That is why I think that so many companies expect their employees to write in both a wiki and a blog. I additionally found that using content management systems (CMS) that allow one to store content in the cloud can be very useful. No longer to we have to work about what cloud we are on – the content is on one domain. But when one starts to have a number of different data types on the system, or programs that one uses, using a CMS becomes difficult.
Meanwhile, though I have worked pretty hard on some aspects of the topic of organizing and linking different file systems that are present in my house: Linux, Windows, MacIntosh, the topic of interoperability has proven to be beyond my control. Several times I have succeeded in using SAMBA, an open-source project that is intended to “Open Windows to a Wider World,” namely Linux. I have shared Linux drives with Windows and have been able to authenticate (that is, login) Windows machines with Linux. I have not worked as hard to link Apple with Windows or Linux. Logging into Apple Cloud from Windows 10 proved to be very remedial, so far. More often than not, I am ashamed to admit, I have had to resort to sneaker-net (the use of a thumb drive that one carries around) or emails to transfer files between machines.
Topics that I have not covered in this post include backup and recovery. All hard drives eventually fail and our links to cloud storage can be severed: when this happens a locally available backup might be helpful. The greater file systems are integrated, the easier this backup challenge, but there is a need for security as well. Sometimes it is better not to make data more accessible. All of these things make the goal of greater computer interoperability and availability all the more difficult.
I wasn’t expecting to write about avoiding frustration today. Part of the reason is that I have had better success on my projects lately. I might have to preferred to write about avoiding eye strain! Either way, it is important to take frequent breaks and either look into the distance, look at a relaxing picture or look at flowers.
Sometimes I can be a little bit lazy and not read the help pages in order to figure out what is wrong with software. Other times, no matter what I do, things will not work. When trying again fails it is time, not just for a break but to take a new tack. Be it mastering layers in Photoshop or building Gnome’s graphical toolkit for use with Linux, I find these things to be difficult and when I don’t get it right after a few tries I am ready to give up! Einstein said that “Insanity is repeating the same thing expecting different result.” But these projects are important to me, and failure is not a possiblity!
With computer work, I have found, it is important to pay attention to the smallest details. Maybe a developer mispelled the words in a command you are required to use. Then guess what?! You have to spell it the wrong way too. Computers are not too forgiving (maybe machine learning systems are). The second thing that has helped me time and again is to check the versions of software. We can become disturbed when there are too many versions of the same software package on our machines. What do we do then? Good luck!
I have added two more items to my frustration-blocking list. They are to write in one’s notebook about the problem one is trying to solve and to take a more holistic approach to software development. What is that? Imagine that you are relaxing on the beach at a distant shore resort. Listen to the waves crashing on the sand. There is not a single computer to worry about!
Hi! Sorry that I have not written a blog post for some time! I have been busy programming. I have to tell you about my recent success in Embedded Development.
For some time I have answered posts on the Freelancer websites for work. Finally I received a bid! I was able to create a sketch for an Arduino alarm clock and send it to my client.
The amazing thing was that although he and I discussed the prototype in detail, and also built it; the only thing that passed between us, on upwork.com, was the sketch itself, the schematic, and the parts list. I was amazed that this contract took place in this way and it made me think of additional possibilities.
For some time I have thought that I could provide “Software as a Deliverable.” For instance, if someone needed a custom Raspberry Pi kernel, they could go to my site and custom order it. All that they would receive in return would be the correctly running software, downloadable!
The only problem about this is that I am not SAD. Get it? Software As a Deliverable??! How about calling this man HAPPY instead! Hybrid Professional Available!!
I am writing a journal entry per my recent blog post where I enjoined my readers to keep a personal journal. Doing so helps one to slow down and reflect upon what is happening around oneself. Also it is a great way of providing you with a record of what happened during a particular time. Journal, Diary or Notebook; it is all the same to me!
I credit Mr. Griffee at Princeton Day School in Princeton, NJ for starting me out with a journal or notebook in 8th grade. I remember being upset about having to turn the journal in for a non-graded evaluation. Well I have a lot of comments about my reaction which I will spare you at this time.
A good rule of thumb for things like bookmarks or file folders is that there are not more than six or seven different sections. It’s a lot easier to keep track that way. Sometimes we really are only capable ourselves of counting by our fingers! I have heard it said that birds can only count up to four or five.
However we we have so many different topics to keep track of these days! Not to mention passwords or files on the file system. Sounds like a Data Science challenge in the making.
“There is not a question of if a hard drive will fail. The question is ‘When?'” — Philadelphia Area Computer Society (PACS)
I was doing really well with my projects on an Ubuntu 18.04 desktop until the system crashed. I think that my version of Ubuntu had some problems with memory management. Of course, any time one open 20 browser tabs, one is going to run out of memory! Power user? or slob? A friend of mine had a similar problem with audio buffer overruns on Ubuntu .
I think that some other operating systems might fail a little more gracefully. At any rate, any time one forcibly shuts down a running computer system there is a possibility of data corruption. We have to be ready for that contingency and ready to restore the hardware and operating system and files of the computer to the state they were in within a reasonable amount of time. That is the Recovery Point Objective and Recovery Time Objective.
I had everything working on this system! And it was my fun task to continue to configure the computer. Now I am starting over again. This is not easy without a “roadmap” of steps to take to recover and build a computer system. That is why I am writing this blog post.
The computer had Samba and GTK+ the graphics toolkit and Wireshark all running and configured. Also the ‘alsa’ sound system was working great! There were however no personal files of any importance to restore. Change “Backup and Recovery” to just “Recovery” please!
One cannot fail to be alarmed by current events. While we are all hoping that the Covid-19 pandemic does not turn into a new era (another 100 years of solitude – Gabriel Garcia Marquez) and we are adjusting to the new requirements of social distancing and wearing a mask, we are appalled by recent recurring racist attacks on African-American peoples solely for the color of their skin. But what can we do?
We live in an Immediate Age. People don’t easily greet one another in their neighborhoods in the morning much any more. Instead “walk on by” might be considered to be the norm. So when we read an essay like this on Facebook or in some other social channel, even the newspaper, it is temping to click “Wow”or “Care” (but please not “Hate!”) and move on. For there is little more that any of us, given our present situation can do. And I am no different.
My word for today is “share the love” or at least “share the road.” At least tell someone that you care. My second response to our current Litany of Days is to stop and listen to the present moment. What do I mean by that?? Though we may no longer be a friendly or affectionate people, we are so caught up with the latest “click” that we start to worry about our Mental Health when there is “no activity.” And maybe that is the reason! When people use the expressions “Show me the love,” or “It’s all about the love,” they really mean that they want to feel comfortable in their community. For whether we borrow a dime or a “cup of sugar [and I want you to be clear about that],” we only get through life as a community.
So I would eschew the marches on the Statehouse and would try to click on “Love” as much as possible today. Here are five things I am going to try to do today to help our community to heal:
- Stop and Listen. What do you hear? If there is no activity, is there a bird chirping? Did the air conditioner or fan go on? – The computer is making a noise. The soup smells good.
- Write a journal entry – I guess today a blog post will count.
- Thinking about reaching out to and participating in “the community.” Here is where I think we are stuck. What is the community? As used above it is our streets, our City, our homes and our essential businesses. But how can we participate in that? But just find an activity, be it watercolor painting or needle point or computer coding or guitar or bicycling and guess what? Today there are lots of online forums. I would find forums to participate in. Not necessarily the weird world of the Internet, but apps and websites and discussions where people with your interests can be found. Does it really matter if someone is not just like you ( in so many ways) if they share your interests and can help you with a problem. – I need to think about this one as well.
- Maybe it is time for a new Million Man March – Can I be a part of it?
- You don’t have to agree with someone to avoid conflict. – Have a nice day! We are all trying to move forward!
Hey! You know you’re getting somewhere when your searches on the web on SAMBA on a Saturday night (SAMBA.org – 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 https://medium.com/hackervalleystudio/learning-packet-analysis-with-data-science-5356a3340d4e) 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)?
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: https://stackoverflow.com/questions/35933113/php-deprecated-you-are-retrieving-the-service-locator-from-within-the-class-zft