Saturday, March 11, 2017

AutoHotkey: Reprogramming Your Keyboard



By Russell Miles

As technology becomes increasingly customizable, the traditional computer keyboard remains surprisingly restrictive. Keys cannot be easily rearranged, and useful functions are often hidden behind long strings of keys that are difficult to remember. However, this can all be changed with AutoHotkey: a free and easy-to-learn software that allows you to reprogram your computer keyboard in any way imaginable.
Getting Started

After downloading AutoHotkey, the easiest way to create a new script is to right-click on your desktop. Mouse over the "New" menu and select "AutoHotkey Script."


Right-click your new file to select "Edit script" and you are ready to go!



A finished script can be activated by double-clicking it on the desktop, or right-clicking and selecting "Run script." When you are done using your script, navigate to the taskbar to find the green "H," right-click, and select "exit."


Here are just a few things that you can accomplish using this program:



1) Experiment with new keyboard layouts.

Everyone is familiar with the classic QWERTY keyboard, but some people believe that other keyboard layouts are faster or more efficient. Autohotkey allows you to make changes as simple as switching two keys, or as complicated as rearranging your entire keyboard.

To create a new hotkey, enter the key you want to replace followed by two colons (::). After the colons, enter the key's new function. Here is a script that replaces the "Q" key with the "A" key:
Simple, right? Now you can proceed to make any changes you want. This script replaces the QWERTY layout with one that puts all keys in alphabetical order.


Once you have rearranged your keyboard, save your script through the "File" menu just as you would with a Word document. Remember that you have to activate your script to get it to work.



2) Manipulate the mouse.

Placing mouse functions on other keys can make your laptop more comfortable to use during long Internet-surfing sessions. The "WheelUp," WheelDown," "WheelLeft," and "WheelRight" functions allow you to scroll up, down, left and right. "LButton" and "RButton" refer to the mouse buttons. This script allows you to scroll up and down, as well as left- and right-click, with the top four buttons of the keyboard.


You can also experiment with MouseMove, MouseClickDrag, and several other functions for more advanced mouse operations.



3) Replace misspelled words using Hotstrings.

Sometimes, the spell-check in Microsoft Word or Google Docs just doesn't cut it. It's annoying to drag your mouse back to fix a squiggly red line after every typo. By using hotstrings, you can replace a string of keys with other functions. Instead of the single pair of colons following hotkeys, hotstrings are surrounded by two pairs of colons.


While this script is running, "omw" will be replaced with with "on my way." Capitalization is preserved, so "Omw" will give you "On my way" instead. Now you can add a personalized version of your smartphone's autocorrect to your computer.

I used my own autocorrect script while writing this post. With hotstrings, you'll never have to deal with these annoying typos again!



4) Activate a string of keys using a single command.

Here's where things can get really interesting. The "Send" functions allow you to program a hotkey to input a long series of keys. Try out this script that programs the "0" key to type a message:


Most keys can be activated in this way, but some require special codes. If you want to use this
function to press other keys like "Shift," "Alt," "Enter," or "Ctrl," you will have to put them in brackets.


This script holds down and releases the "Alt" and "F4" keys to replicate Alt+F4, a function that closes your current program. If you don't want to give up one of your keys to perform this function, you can create a function of your own.


Now, pressing Alt+X will function exactly the same as Alt+F4. The exclamation point is a code for "Alt" when used in a hotkey. Check the links at the end of this post for other codes.



5) Use custom functions to run programs.

If you want to go beyond the limits of Ctrl+C, Ctrl-V, Alt+Tab, and all the other familiar keyboard functions, you can use AutoHotkey to make your own. The "Run" function allows you to set hotkeys to run a variety of files.


Simply type "run," after a hotkey, then enter the name of a file on your computer. This script sets Alt+T to run Task Manager, Alt+C to run the Calculator app, Alt+N to run the Notepad, Alt+M to run Windows Media Player, Alt+G to run Google, and Alt+S to run the Snipping Tool. Notice that a select few websites, including Google, can be opened using the Run function. Alt+S helped me quickly capture screenshots of my scripts for this post.

earth-828518_1280.jpg


These are just a few of the things you can accomplish with AutoHotkey, but the possibilities are endless. AutoHotkey's online database is extremely useful, as it has pages for every function. If you are interested in experimenting with AutoHotkey, read the useful tutorials here and here for more information.

Happy Hotkeying!

5 Easy Steps to Painting Your 3D Printed Model


By Tom Jeffrey

16935791_1217084228408902_1060952381_o.jpg 3D Printing opens up a whole new world of potential for scale modelers.  No longer do we have to wait around for some company to create a model of a vehicle for us to buy.  We can dream, design, and print our very own, bringing a whole new meaning to Revell of Germany’s slogan, “I Made That!”
For this project, I will be using a model of an Armored Personnel Carrier that I designed using 123D Design and inspiration from the Fallout game Series.  

The list of required tools may look to be quite extensive, but in reality, is quite simple.  If you are interested in modeling, a collection of paints, brushes, and glues can be gathered over time as you need them.  When used sparingly (as you will learn is a virtue in modeling), they can last for many projects.  

16990525_1217121488405176_950997181_o.jpg
  • Your choice of hobby knives
  • Your choice of small-detail paint brushes.  These do not have to be fancy, just small!
  • Paint thinner.  This can help with thinning the paint if you so choose, for added effect (more on this later), or simply cleaning brushes.  A good multi-use supply.  
  • Your choice of model paints.  There are many brands, from the commonly found Testors to brands like Tamiya and Humbrol.  Generally speaking, cheaper paint has a shorter shelf life, and will produce less satisfactory results.  But remember, a little goes a long way!
  • A toothpick to stir those paints.  Shaking the paint is okay, but can cause issues like drying the cap shut and degrading the paint.  
  • A tissue or other painting rag.  You can wipe up excess paint, wipe off brushes, etc. A generally good item
  • Spray on primer
  • Super Glue or plastic modeling glue.  I find that super glue dries much faster and can be sanded just as easily as traditional model glue.  It is all up to personal preference.  
  • Masking tape
  • Sand Paper
  • Modeling clay.  Used to patch up mistakes in the print
  • Trash Bags. (Not Pictured) This is used for covering up surfaces that you do not want to get paint.
  • Model Stand.This is used to suspend your model in the air and make it easier to spray paint.  Optional, depending on the project.  
  • Proper Work Environment. (Definitely not pictured!)  Wherever you paint needs to be well ventilated.  This is mandatory.  These materials are not the non-toxic craft paints we all grew up with.  If breathed in in large volumes or daresay ingested, serious harm can be done.  Modeling is a fine hobby, but not without it’s risks.  However, if we take the proper precautions, there is nothing to worry about!

Step 1:Initial Printing and Setup

The first essential part of finishing your plastic model is to make sure that it is worth finishing to begin with.  Proper precautions need to be taken to ensure that the print is the right size for your display.  If it is too big or small, it will look awkward, and in either event, valuable material will have been wasted.  
Print in as fine detail as possible, to maximize the appearance of small pieces.  Also, make the judgment for what percentage infill you want for your model.  If printing say, a helicopter, it may be wise to increase the infill so as to increase the strength of thinner pieces that may come under stress later on.  
In summary, it is always worth it to take the extra time to make sure that what you are printing is actually what you want.  That is the key with model making: Take your time.  You will be surprised with the results you can get!

Step 2 : Post-Print Assessment of the Model

Using the blade of your choice (my preference is a thin, well sharpened blade with a medium length handle), scrape away the structural supports and “flash” on the model that can’t be gently broken off with your fingers.  Smaller pieces can even be slowly filed down, even with a regular nail file.  

16930821_1217317605052231_450763234_o.jpg

This is also the time to repair any imperfections in the print with the modeler's clay.  This synthetic clay will not dry out, crack, and shrink over time, maintaining your desired appearance indefinitely.   Within my experience, if you only expect to handle your model lightly, and the patches are small enough, nothing more needs to be done to the clay.  It can be sanded, painted, and sanded again, and hold up quite well.  An optional step is to paint over the clay several layers of white glue, and then sand it all flush.
 16935591_1217317755052216_1652831002_o.jpg


Step 3: Sanding

This is a relatively straightforward step.  Even if the print was set to fine detail, there are likely to be small lines that can be seen all over.  Lightly sand away at the plastic, being sure not to erase any small detail.  Sand as you see fit.
16880721_1217317808385544_1161639318_o.jpg
This is a far more simple alternative to the popular Acetone Vapor Bath, which is both considerably more effective and dangerous.  I will cover how to best use this method on ABS plastic in a future post.  

Step 4: Priming

In order to prime your model, set up your painting station either outside, or in a well ventilated room.  My own personal preference is inside the garage, with the door open.  Wash your model with hot soapy water to remove dust and oils.  
Set up your trash bags around wherever you expect to paint.  A floor covering and one wall covering is sufficient.  Place your model on your stand.  For this model, I used a miniscule amount of modeling clay to attach the model to the top of the stick.  This allows for maximum coverage.  I can simply turn the stand around to get at different sides of the model.
 16935920_1217317845052207_1529614871_o.jpg
Specific to this model, I will be putting a communications antenna onto the back before I paint.  This is because the small hole that the wire goes into is likely to get filled with paint.  
Tips for painting: Go in long, thin coats.  Start spraying off to the side of the model, and quickly run the spray along the model.  In order to get the best finish, with no drips, try very thin layers.  In my experience, two layers creates a satisfactory base layer that does not eliminate detail.  
Optional: If you are planning on “weathering” your model, which means to put artificial wear and tear on the finish, try substituting your last layer of primer with a silver coat.  Later, you can scrape off the finish paint in select areas to get that worn paint look.  


Step 5: Finish Painting Your Model

This is by far my favorite part of the process, besides the initial design process itself!  This is where your creativity can really shine.  
I recommend by first setting up your painting station.  Again, set up in a well ventilated area that you do not mind getting dirty and or irreparably harmed (in this case, painted).  Do not paint on hardwood surfaces!  
Second, sand away any excess buildups of your priming coat.  This can be done after a lengthy drying period.  Within my experience, I like to let the model sit overnight.  
For this model, I will do a base coat of olive drab green, but will also touch up with black, mud, and rust, along with scraping away paint to reveal the silver underneath.  
I recommend using as little paint as possible.  Again, go for thin coats.  You can always put more paint on, but it can be hard to take paint off in a uniform fashion.  Detail on these models is very small, and it can be easy to cover it up with too much paint.
Finish off your model with a quick spray of clear coat and you’re good to go!
  
Optional: Dilute your paints using a small amount of paint thinner.  This can be used to “wash” over the base coat.  This can be used to effectively make your piece look rusty or dirty.  In reality, the possibilities are endless.  

17237024_1232357980214860_2105089466_o.jpg

One coat of olive green paint


17230086_1232357956881529_376486548_o.jpg

Two coats of olive green paint


17236829_1232357943548197_841295168_o.jpg

Black details


17193841_1232358146881510_67300477_o.jpg

Use a hobby knife to scrape off paint, revealing the silver coat beneath.  Try along edges or raised portions, for example.  Go for small details as opposed to large scrapes, as I accidentally did here.  


17199905_1232358143548177_1453014123_o.jpg

Mix light brown and red to make a spectrum of rust colors.  Dot this where you see fit, if you desire a worn look.  



The last step is to let your model dry well, (24+ hours), and then give it a sealing clear coat to protect the paint.  

Supplemental links for further reading and tips:




Thursday, February 16, 2017

Python: Why Everyone Should Already Know It

By Tim BartoŇ°
Image result for python
While tech companies whiz around the global economy at a lightning speed, most consumers have become used to the advancement of technologies surrounding the computer industry. For decades, these companies have been developing and advancing technologies which have expanded our capacity to work, buy, live, and even exercise. For the most part, these technologies come from one crucial mechanic: computer programming. While this technology has opened thousands of doors in the job sector, up-and-coming startups find a critical lack of adequate programmers, a problem which has led to an enormous increase in computer education. However, interest in computer programming among crucial groups like females and middle-aged workers remains incredibly low. With less than 5% of the American population knowing how to code, it’s time that the U.S. learned why coding is so important, and why it is so easy. In this post, I’ll be telling you 5 reasons why you should be picking up Python, right here, right now, and why you can do it with nothing to lose.
  1. It’s easy to learn.
If nothing else, Python 3.0 has, by far, the simplest syntax (fancy word for how the code is written) of all the common programming languages, especially for a beginner. With a simple knowledge of algebra, learning the basics of Python is so easy, most comprehensive courses range from 3-6 months. For the very basics, however, some “crash” courses can teach you in just about an hour. As an example of the simplicity, even someone who has never read a line of code can comprehend the basics of the code below:
  1. It’s powerful
Now, most skills don’t often find beginner methods/strategies common amongst the most experienced, but computer programming is quite the opposite. Python, as simple and easy to learn as it is, is found in top-level online businesses like Google, YouTube, and Instagram. This comes down to the variety of modules (bits of code than can be “imported” and used within another bit of code) that allow for Python to be able to work online, offline, and on almost all systems. Combined with its simplicity, Python can be a job opportunity in waiting at any level of programming.
  1. It’ll help you be more productive in other fields.
While most people associate computer programming with the fields of computer software and hardware, it is impossible to ignore the invasion of computers into other fields, from office work to mechanics; from management to art. The truth is that many of us, even the most tech-savvy can always find better ways to work. For example, a short program written in Python can convert any number of file formats into one; another could even automatically reformat images or spreadsheets. Python poses the perfect answer to the grueling, near-manual labor that computers sometimes force their users to do, especially with large amounts of data. While the digital revolution may have put the average worker on par with the computer, code is the only way to finally put the computer fully to work for us.
  1. It’s free, and widely used.
Unlike a lot of things in the 21st century, Python is free, readily available, and safe for any learner. Because of this, Python has rallied dozens of sites dedicated to every detail you could possibly learn about it. Whether you choose to partake in a course or learn by yourself, the amount of resources are endless when it comes to Python, especially basic Python. Chances are that if you make a mistake, thousands have made the same mistake as well. As a consequence, Python has a whole online wiki and Stack Overflow, which contain many useful solutions to common problems in Python (http://wiki.python.org and http://stackoverflow.com/documentation/python/topics). Such cannot be said for many, many other working skills.
  1. It’s easy to transition to more advanced languages.
While I did say top tech companies do use Python, different sectors of the computer software market produce many different products. For certain applications in science, some niche programming languages are employed for easy calculations of laboratory math. For video games, more advanced languages integrate with graphic elements and online networks. Since Python teaches the basic mechanics and structure behind programming, it is incredibly easy to go from an intermediate knowledge of Python into learning another language, like Java. As a consequence of learning Python, many realize they enjoy the creative outlet that Python provides, which may put some towards an opportunity to enter a well-paying field which awards creativity. If you try out Python, you might just have a talent in coding. If you do, the opportunities are endless.


To conclude, I hope that at least one of these reasons has convinced you to at least search some basic Python tutorials or guides. Maybe a select few have even downloaded the free development kit (https://www.python.org/downloads/) from the official Python website. Hopefully, everyone in the world will have an opportunity to at least try Python at one point or another.
Here’s a few final places to look for a place to start your adventure in coding!:
https://wiki.python.org/moin/BeginnersGuide/NonProgrammers - Guide for beginners seeking to learn programming, who come from a non-programming background
https://docs.python.org/3/ - Comprehensive documentation of nearly every function and detail of Python 3 (the current version). Not a good place to start, but a great place to find specific tutorials.

Citations:
Official Python logo. Digital image. Wikipedia. Wikimedia Commons, 30 Oct. 2008. Web. 10 Feb. 2017. <https://commons.wikimedia.org/wiki/File:Python.svg>.