Wednesday, July 3, 2013

A Change of Scenery

As some of you know, I like to make the code and notes used in my videos public. Up until now, I've been using my DropBox account and that has worked fairly well. But I think that it's time for a change of scenery. Over the past few days I've been moving the stuff from the old place to Github. Github offers a more centralized means of storage, a better UI, and a better way of interaction. If you want the latest notes, you just have to pull the latest repository. I still have quite a ways to go to have everything up to the level I want, but I thought I should share this change with you now.

Almost every series on my YouTube channel, the series that actually have code and notes, has its own repo and each episode has it own section therein. I also have a section for my own projects that I want to share with the code and additional documentation. I'm also working on a few extras that I don't want to reveal just yet, but if you look, you'll find them.

https://github.com/humanHardDrive

Monday, June 24, 2013

Why You Should Buy A RaspberryPi

In case you don't already know, the RaspberryPi is an extremely cheap, credit card sized, full capable computer. I was one of the first people to order it when it went on sale and it is easily one of the most capable devices I have ever purchased. What you get is a computer capable of running Linux, networking capabilities, television output, and over 15 GPIOs with various capabilities. For the cost of the Arduino, you can have that and so much more. If that hasn't convinced you, let me go into the rant I have prepared.

This little computer is cheap. Really cheap. For $30, you can have a personal computer, provided you have a television. It's really great as a child's first computer, or as second computer, or even a little file server. But while it can be used for those traditional, almost boring things, there's something better. 

Again, it's cheap. So cheap you could probably afford to put one of theses almost anywhere. I have two Pi's of my own. The first one I bought turned my normal TV, into an internet enabled entertainment center. By using the Raspbmc image, I have a TV that I can stream YouTube, music, movies and even pictures from my computer, phone, or  iPod. I want to use my second one to run my smart dorm when I go back to school next semester. Any place you have ever thought, "Gee, if only there was a computer here", with the RaspberryPi you can actually make it happen. There is almost no limit to what the RaspberryPi can do.

Tuesday, June 11, 2013

NEWS!!

Okay...I may have been a little too optimistic when I said that my employment this summer wouldn't interfere too greatly with my video schedule. I have probably never been so wrong. I'm not used to working 8 hours a day, every day, so it's going to take me some time to get adjusted to my new schedule. I guess that it shouldn't be much longer than a week to get back into the rhythm of things. I'm still doing some of the things mentioned in my last post, and I do have an interesting project I have been working on in my free time. While I am getting reset, you can still get into contact with me via my email, humanharddrive@gmail.com, if you have any immediate questions, because it's far easier than trying to talk through YouTube.

Now that that is sorted, I have a request of any of my readers who may be artistically inclined. You may have noticed that YouTube has changed how they present channel pages. Since the change, I've felt as though my page is somewhat lacking. Thus I ask those of you blessed with good color sense and a steady hand, if you could create some channel art. I would be very grateful for your contribution. I can't guarantee any sort of reward, but I may be able to find something.

Sunday, April 7, 2013

Future Video Plans

With midterms and the semester coming to an end relatively soon, I think it's time to reveal plans for future videos. Hopefully I should have more time between midterms and finals to put up a few more videos. Then come the summer months where my employment shouldn't interfere with my plans too much.

I've published 15 Arduino tutorials thus far, and I feel that there are only going to be a few more as I feel I've covered everything that can be done with the native device. That being said, I do want to do some more videos exploring some of the interesting things that can be done with shields and extra libraries. I'd also like to explore the Arduino Due, given the time to procure one.

I'm still going to continue on with the AVR-C tutorials, along with Electronics 101 and 201. The Minecraft Redstone tutorials may require some rethinking, but that should continue as well. The "On A Breadboard" videos will continue as soon as I can gain access to some better testing equipment, specifically an oscilloscope and a LLA. I have some other video ideas that I want to put up that don't fit in any specific category, that will appear periodically, as well as some project videos.

Finally I have 2 new series to announce. First is moving to a different architecture microcontroller. I'm going to start doing videos using the ARM Cortex-M4 microcontroller built into the STM32F Discovery board. The second series is something a few people have requested. It's a series based around learning assembly with the Z80 processor. This series will have 2 purposes; one being to introduce assembly to interested programmers, and the second is to cover building an entire system around a microprocessor, rather than a microcontroller.

I hope you all enjoy these new series. Remember that I am always willing to take topic suggestions.

Monday, March 25, 2013

The Importance of Assembly

There's a commonly held belief among programmers: if you want to be a great coder, write something new everyday for a few years. While this may be true, I find that it tends to settle a programmer into a particular language. Doing so, almost closes the mind to what one is actually doing, entering in line after line of code. I feel that it makes a coder lazy. Sure laziness can be a good thing; who knows what the world would be like if someone hadn't invented the methods copy and paste. But laziness can make programs inefficient and heavy. I believe that if developers encouraged more efficient means of coding, computers of today wouldn't need to be anywhere as powerful. The problem with higher level languages is that they use higher level commands, copying and pasting snippits of lower level code that have a general use, and a general efficiency. Most programmers will never know the complexities of a command as simply as print.

I am someone who can program in assembly. Not for any big processors, like x86 or x64, but I know my way around ARM, AVR, and Zilog. Writing a small amount of code completely changes how you look at other projects. In assembly, you have to be cognizant of every line of code, because you want to squeeze every ounce of power out of what you're writing. It encourages writing specific bits of code in specific ways, for specific purposes. Every piece of code is purpose specific. Every problem requires a creative solution. If you want to be a great programmer, learn a little bit of assembly. It goes a long way.

Wednesday, March 20, 2013

Learning from Datasheets

As a computer engineer, one of the most important things to learn is how to read a datasheet for every piece of information it can offer. Everything in a datasheet outlines, quite literally, every detail of its subject. By now you've probably gone through quite a few datasheets for various ICs to pull out some quick information like the pin-out or basic circuit configurations. But there's more information there. Take the 555 chip for example. In its datasheet, not only does it have several basic circuit configurations examining different modes of operation, it also has example values, timing formulas and waveform outputs for each of them. There are also notes detailing what you should be cognizant of, and general suggestions.

The real skill of reading a datasheet is being able to sift through something as dense as a controller datasheet. The sort of thing that details the operation of microcontrollers,  processors, LCD devices and sensors. A lot of information about how to get started with, or how to implement is contained within these documents. Microcontrollers and processors will often have example code, or something close to, specific to various components of the device. LCD controllers will have timing information for how to communicate with the device and what output that will result in. Sensor datasheets will often have formulas for calculating real life units from data, and what will produce certain output.

Datasheets are a powerful tool, but it takes patience to realize their true potential.

Saturday, March 16, 2013

The State of Things So Far

I realize that it has been several months since my last post. I fear that what this blog is going to devolve into is just a series of posts apologizing for not having more to write. So here's a general update. With school, lack of equipment, and general laziness, my posts to the YouTube channel have been some what sporadic. I recently past 60 uploads and over 2,000 subscribers! I hope that over the coming week off, I can upload some more videos and begin chipping away at the list of suggestions I have accumulated. 

One of the great things about having this blog and the YouTube channel is the people that I  come into contact with. Recently I've been in contact with a student studying astrophysics, requesting help for an Arduino controlled light spectrum analyzer; here's hoping that his experiment goes well. I have also been in contact with two missionaries, looking to use microcontrollers to aid in their field work. Helping people is one of the biggest reasons I started my channel and this blog, and it's a great feeling to know that I am actually accomplishing that.

Thanks to all of my subscribers and readers.