Category Archives: *Technical

Computer or Internet related with very technical or in depth content

Network Redirection: UDP/TCP to a File

I just learned a cool bash trick. Redirecting network traffic to a file.

Open two bash terminal windows.

t1$ nc -l 7777 >> TESTFILE
t2$ exec 3<>/dev/tcp/127.0.0.1/7777
t2$ echo 'Hello World!' >&3
t1$ cat TESTFILE

Your TESTFILE now has Hello World! in it.

There are quite a few ways to do this and similar operations, easy found on the Googles.

*Note: Other shells may work, I used bash. Your shell may or may not have redirection capabilities built into it.

AWS IAM Roles

As I have been developing and testing on Amazon Web Services (AWS) hosting I have made much use of the Identity and Access Management (IAM) feature. In particular, I have found the IAM Roles to be extremely helpful. I can assign a role to a specific instance or even a launch group of instances. When those instances are launched they have all the permissions of the role that I have specified for them. This means that if an instance needs to access files that are on S3, I just add that permission to the role and the instance is able to access S3 files. This is extremely useful for system admin scripts as well as other programming tasks.
Continue reading AWS IAM Roles

AWS 101

An intro to AWS.

I guess I should explain the learning curve bit. When I started learning AWS, I did not really have a mentor and the documentation was either too vague and filled with propaganda for other services or too verbose and not at the level that I needed. An AWS admin can interface with their products through the web console, CLI, or through their API. There are tons of products out there that use their API to make different aspect of interfacing with their products easier. For the most part, most of my interactions with AWS is done through their web console. The learning curve and their new way of thinking is in how they have taken all the aspects of hosting and split them up into different categories and products. They all work together very well, but understanding what is available and how they go together takes some time. Also, using the products is sometimes a different kind of intuitive. In a way, it is like moving from Windows to a Mac. On windows most things are done in a counter-intuitive way. So when you use a Mac and things are done in an intuitive way you are not used to it so it throws you off. There are also tons of options. It can be overwhelming.
Continue reading AWS 101

Developer Alone Time

There is an aspect of programming that is essential to productivity. It is the time it takes a developer to get into their “zone” where they are most productive (much, much more productive than at other times). There are several articles in particular that expound upon this principle.

If a developer or designer has their headphones on and seems to be “in the zone“, try to refrain from interrupting them unless deemed absolutely necessary. Try to email.

Acceptable Forms of “Interrupting”

These forms of communication are “asynchronous”. That means that these forms of communication fit into the flow of thought much more easily. The developer or designer can retain their focus on their computer the whole time.