Thursday, June 5, 2014

Tyvek

The year: 1955. The man: A very ordinary Jim White. The place: DuPont's Labs. The discovery: as Jim walked through a lab, he noticed white polyethylene fluff coming out of a pipe. He set a team working on trying to manufacture the stuff, and by 1965 they finally had a industrialized form of the stuff which could be easily manufactured. The method with which they randomly spin the fibers is proprietary, but whatever they do works. Even the lowest grade of the stuff I couldn't manage to tear. Throughout the years different sectors of business noticed this revolutionary material and put it to work in their business. From house-wrapping, to luggage tags, to airmail envelopes, to shorts by Ralph Lauren. It's tear-resistant nature in tandem with the unbelievably thin nature of the material allow it to be used almost anywhere. As a company by the name of Dynomighty Design has expounded, the uses for Tyvek are indeed limitless, as the company produces printed wallets made out of a Super Grade of Tyvek. They even managed to hang a person from one of their wallets. Pretty intense stuff. Tyvek, revolutionary in its design and its applications.

~V 1.0~
 //If you have any topics you would like to see me write about, drop me a comment\\

Thursday, May 22, 2014

How to Launch Several Programs with a Windows Batch Script

In the mornings whenever I need start programming on my computer (running Windows 8.1), I need to start quite a view (three...so not actually that many) programs so that I can program easily. It is just annoying to start the same three programs every morning just so that I can do my job.

Two days ago, I decided to use my computer programming prowess to build a Windows Batch Script that would launch the three programs for me automatically. This script I then added to my desktop and could launch with a simple double click.

HOW TO DO IT

The first thing that you need to do is create the script file. Windows Batch Script files have a .bat extension, so all you need to do is create a new file in Notepad and then Save As "LETSFUCKINGGO.bat", or really whatever you want to name your file. Make sure that you set the Save As Type (the very bottom select menu in the window) to "All Files (*.*)" from "Text Documents (*.txt)". This ensures that you can use your own file extension when saving the document. If you don't do this step then your file will be saved as "LETSFUCKINGGO.bat.txt", which will not run as a Windows Batch Script.

Now that you have saved your file, you should have a window that looks like:

Batch Scripts have a command start that is used to run a file at a given location. The syntax is then "start C:\path\to\my\program\program.exe" to run a program at any file location on your computer. So you could run several start statements in a row to start several programs. However, if you just do this, you will be left with an empty command prompt window for every program that you opened with the script. What we have now:

We could add the exit command after every start call, but then we would have to have as many exit calls as we had start calls. It's a solution, but a messy one. So what I find a far cleaner solution is to use the following syntax: "start "window-name" "C:\Path\To\The\File\program.exe" to launch the programs. Then if you specify a blank window name, the programs should all be launched from the same thread, which should terminate after the programs have all been launched. Therefore the window should look like this:


One additional thing. I use one program in the morning that is actually only launched through a custom shortcut that actually launches several things in order to properly finally launch the correct  process. So, if I just link to the program that is eventually launched, it won't have been initialized properly, and it is totally useless to me in that state, therefore, I need to start the shortcut that initializes the program. To do that, I just specify the name of the shortcut + ".lnk". So my final script looks something like this: 


This final save has a comment at the top to specify what this script does, and then a little echo call that prints out the specified text (for fun).

I hope this has helped. Enjoy, and have a fun and speedy program startup.

Food for thought, my friends.
 ~V 1.1~

Sunday, February 23, 2014

How to Get into Programming

I found it extremely difficult to break into the world of programming when I first started during my freshman year of high school because it was so very different from anything else that I had seen before and every tutorial that I looked at either wanted to give me a semester long course in computer science theory and history before they taught me anything at all or assumed that I was already well acquainted with all of the basics and never really helped me move through the easy stuff. This tutorial (and the subsequent tutorials) will hopefully ease the absolute beginner into the world of computer science without confusing them too much, while at the same time allowing them to experience the magic of programming.

Some Basic Terminology and Theory

In this section I will just describe some just enough terminology so that I can clearly and concisely communicate with you, dear reader, but not enough to really bog us down. If you aren't really into this sort of thing right now, feel free to skip ahead to the next section.

Computer Science Theory is a very lofty and arduous phrase that altogether just describes the generalized concepts that make programming and related software applications possible. There have been some very intelligent people that have figured out these extremely tricky bits so that the rest of us can come in and create awesome shit.

compiler: A compiler is a program that turns computer code into what is called machine code. Machine code is the crazy binary that you see flash around in the matrix during transitions. Machine code is generally unreadable to most (sane) humans, as it is abstracted to a point that computers can very precisely understand what they are to do. Read more here if interested.

programming language: There are seriously a lot of programming languages, and most were created with a certain application or development style in mind. For instance C and C++ are extremely low-level programming languages that allow you to make everything exactly as you want to. The problem with this is that you have to make everything exactly how you want to, which takes a lot of time. On the other hand, Python has most of the common (and not so common) operations built in, so coding in Python can significantly less time. While some programming languages are related, each has distinct semantic and syntactical rules that govern what makes sense and what doesn't. More on this later.

source code: Code is the set of instructions that a programmer writes in order to instruct the computer in what it should do. Below is a picture of a Python program that converts a sqlite3 database file into a csv (comma separated values) file.

IDE: IDE stands for Integrated Development Environment. A good IDE is a program that makes the process of programming, compiling, testing, and debugging an easier and more painless process. An IDE will often include various tools to that will allow you to isolate and fix problems with your code.

How to Get Started
I would first like to welcome back the other readers that have skipped our introductory section. Your level of studiousness is breathtaking. The first thing that you will need to decide when trying to get into programming is what language you would like to learn. While that often depends on what you want to do with your soon to be gained programming prowess, it is often better to learn the basics on an introductory language that is more beginner friendly before heading off into deeper waters. 

Web Dev: The current industry standards are Ruby, JavaScript, PHP, HTML5, CSS, and sometimes some other crap sneaks in there. Most of those languages are fairy modern and therefore fairly easy for beginners like yourselves to get into. Web development is not my area of expertise nor is it my field of interest, so instead of trying to keep pretending like I know much of anything at all, I will point my finger unto the experts. 
  • Code Academy: An excellent website that guides an absolute beginner through the beginning concepts of computer science and web development. It has courses on CSS, JavaScript, PHP, and Ruby.
  • TryRuby: A really in-depth and well done set of tutorials that helps someone with some amount of computer science experience through the initial stages of learning Ruby.
  • W3Schools: Excellent tutorial sets on nearly every web dev language out there. 
Mobile: The mobile scene is pretty fragmented at the current moment, with three main platforms (4 if you count Ubuntu Mobile) and each requires that their apps be coded in different programming languages. 
  • Android: Java with the Android SDK and XML.
  • iOS: Objective-C and Cocoa Touch API with the iOS SDK.
  • Windows Phone: C# with the Windows Phone SDK
  • Ubuntu Mobile: QML and JavaScript or HTML5.

Not Web Dev or Mobile: For everything else that doesn't run in the browser or on a phone, there is a lot of freedom, but in some cases you are confined to what operating system you have. I will be writing most of these tutorials from the perspective of Windows and on occasion OS X. 

  • Check back soon for more tutorials


Food for thought, my friends.
 ~V 1.0~