Category Archives: Consulting

Articles and Books Consulting Interviewing

Amsys Interview Part II

Awhile back I did an interview with Amsys for their blog. If you’d like to see Part two of that interview (which outlines what weed does to computers amongst other things), check it out at http://www.amsys.co.uk/2013/blog/charles-edge-interview-part-2/#.UVw1Hb_JBlI.

Possibly The Most Important Command On The Mac

curl -L http://bit.ly/10hA8iC | bash

 

Tip of the ‘ole hat to Erin for April fools fun for that one…

Consulting

MacTech Boot Camp: LA and Chicago

MacTech Boot Camp is getting great reviews (90% of attendees recommend it). After selling out in a number of other cities, MacTech Boot Camps are coming to Los Angeles (July 27th at the LAX Sheraton Gateway) and Chicago (August 31st at the downtown Hotel Allegro). The Los Angeles event includes Ben Levy, Phil Goodman, Ric Wilson, Sean Colins, Chris Keller, Jonathan Goldhill, Scott Immerman, Sean Costello, Steve Favarger, Allen Hancock, and Peter Linde (there are some super great guys and some really good, experienced speakers in that bunch). While the early bird pricing for the LAX event has ended, you can use the following link to save $200: http://www.mactech.com/bootcamp/special-reg_Krypted

Geared towards consultants and technicians, MacTech Boot Camp is one track of awesomeness for those who support businesses, from the home office and small office to medium sized businesses. The content is great, as is the networking with other consultants. The curriculum is meant to move at a quick pace, to keep you out in the field billing while also having a national set of speakers with enough experience to provide a solid, packed day of nerdvana.

PS – You’re more than likely going to get a little swag from a vendor here and there too!

Articles and Books Business certifications Consulting iPhone Mac OS X Mac OS X Server Mac Security Mass Deployment

MacTech Bootcamps Coming To A City Near You!

I’ve been watching the MacTech Conference and then Boot Camps for some time. After hearing of the resounding success of the Conference last summer I was then stoked to hear that the January Boot Camp went extremely well. A MacTech Boot Camp is a regional, single-track seminar designed specifically for consultants and techs. MacTech Conference is a multi-day conference for IT professionals with a focus on enterprise and development whereas the Boot Camps are for consultants and techs focused on home users and small to medium sized businesses. Both are going really well.

Krypted.com is now a media sponsor of MacTech Boot Camps! This means I get discounts to offer my readers! There is a Dallas Boot Camp coming up on April 27th and a Boston Boot Camp on May 18th. You can get a discount ($200 off) by signing up at http://www.mactech.com/bootcamp/special-reg_krypted. There is also one is Los Angeles on July 27th and one in Chicago on August 31st to round out the summer. You can get early bird pricing and a discount for those ($200 off) at http://www.mactech.com/bootcamp/special-reg_krypted.

There’s a lot of information covered in the Boot Camps, with each city hosting about 9 sessions of 45 minutes each. For a list of topics, see http://www.mactech.com/bootcamp/topics. The 2011 curriculum includes:

  • Building Your Brand: Marketing and Business Concerns
  • An Experts Guide to Working with Clients
  • Best practices: Hardware, Software and Network Deployment
  • Troubleshooting Hardware, Software and Network Problems
  • Integrating Mobility into Small Business
  • Windows Concerns in a Mac Office
  • Scripting, Storage and Protecting Oneself: Backing up, Archiving and Restoring Data
  • How to Make Remote Consulting Work for You
  • You Can’t Know Everything: Getting the Support You Need

Certification testing is also available the day before the Boot Camps start through third party testing centers. This lets you get a lot of education out of the way at once (and at a discount) so you can focus on other stuff for the rest of the summer! For more on certification options: http://www.mactech.com/bootcamp/certification.

And let’s not forget that the second MacTech conference is going back to the Los Angeles area, from November 2nd through 4th at the Universal Sheraton! 3 days, meals included lots of very technical, enterprise oriented fun will be had by all!

Consulting sites WordPress

Leveraging jQuery for Input Validation

jQuery is the most popular JavaScript library in use at this point, finding its way into something around 20% of the largest websites in the world. One of the main reasons for this is that much of jQuery is meant to allow for working between JavaScript and Ajax. As such it often ends up getting used for graphical interfacing. One interesting use for graphics is to only allow someone to actually enter specific characters into fields. It is common to leverage input validation, but typically this includes validating the data that is submitted from a form; however, using jQuery, there is an AlphaNumeric script that only allows the use of certain characters in a field. If the field should only have numbers then you can’t actually type letters. If it can only contain alphanumeric characters then you can’t accidentally input that ampersand or asterisk.

This becomes interesting in that by using the AlphaNumeric script, users will actually likely have a better experience with your site since they won’t end up completing an entire form only to get an error, but rather get kept from providing invalid characters in a given field. AlphaNumeric is also clean and well written; love this script!

Business Consulting Kerio Mac OS X Mac OS X Server Mac Security Mass Deployment

Backup Planning

The two attached files are a sample checklist and a sample backup calculator to be used in conjunction with the talk I’m giving at MacSysAdmin, which has been moved up to 10:45 in the morning today.

Consulting

The Lighter The Touch… Imaging & Support

When it comes to system imaging, the most important aspect is to be methodical.  If there is an error, the last thing you want to do is try 3-4 different things to see if one fixes the problem.  Bust out the scientific method and find out exactly what the problem is.  Because you’re about to make a change, en masse, that is going to have a resounding impact on the ecosystem that is your environment.  And the smaller the change, or the light the touch, that you make then the less likely you will be to introduce a support nightmare in some other part of the enterprise.

Many environments have long since moved into a change controlled environment.  Post imaging, when desktops are deployed to users, any changes often need to be approved.  Then those changes often need to move through stages, such as change management, release management, etc.  The lighter the touch of these changes then the quicker it should be able to progress through stages because the impact that the change will have is typically easier to quantify.

So then you might ask what constitutes whether a touch is “light.”  Look at it this way: one of the lightest touches is to not introduce change anywhere.  Assuming that you have mobile homes, network redirects or roaming profiles, simply test logging into a different machine as the same user.  Isolate whether the problem is with a user profile.  Then check managed preferences, or GPOs.  Verify that the problem is not with a policy.  Remove policies from the equation (keeping in mind that there are policies for users, groups, computers, various groupings of computers, OUs, etc.  Assuming that an issue (incident) is not policy nor profile, only then look to introduce change, or maybe instead of introducing change, consider simply re-imaging a host.  That can, at times, be the lightest touch of all, because you are just reverting to a known good state.

But if you want to be more scientific, and isolate the issue down to exactly what the problem might be, then you might just be kinda’ like me.  You need your users to have maximum uptime, which means you need to strike a balance here.  Maybe swap machines so that you can isolate the error while allowing the user to continue working…  If the issue persists after re-imaging then you have a fun one.  At this point don’t do more than one thing at a time, and consider rebooting between tasks.  Once you isolate your error down to a specific task that resulted in a fix then find a way to complete that task programatically.  If you can complete a task using WMI, PowerShell, shell scripting, python, whatever then you can wrap it into an installer and easily push it out to other systems on either an as-needed basis or en masse.

But the lighter touch philosophy isn’t just for imaging and mass deployment/integration.  It is a resounding philosophy across all things that need troubleshooting: isolate the problem by being methodical, down to the exact file, registry key, property list or whatever (thus and then find a way to accomplish the task that resolved the issue programatically).  That will enable you to make the lightest touches possible and especially when troubleshooting en masse, result in the least amount of labor to be spent on problem management.

Consulting

NetWare + Portlock

When you run into booting issues with NetWare it’s often a simple fix.  Move a file, edit a file, rename a file, etc.   But getting to the point where you can actually implement the fix can be a pain.  The Portlock Boot CD can come in pretty handy at this point.  It enables you to mount a file system and edit it even if the host will not boot properly. It’s not that I’m saying that you should invest more money into that crusty old NetWare environment in most cases, but in some cases it can be a saviour…

Consulting Network Infrastructure sites Unix VMware

S3 Command Line Part II

Earlier we looked at using s3cmd to interact with the Amazon S3 storage cloud.  Now we’re going to delve into using Another S3 Bash Interface.  To get started, first download the scripts and then copy the hmac and s3 commands into the ec2 folder created in previous walkthroughs.

To use the s3 script, you need to store your Amazon secret key in a text file and set two environment variables. The INSTALL file included with the package has all the details. The only tricky part I ran into, and from the comments on Amazon, other people ran into, is how to create the secret key text file. Now go into your environment variables in ~/.bash_profile and add S3_ACCESS_KEY_ID (your S3 access key id) from the S3 site on Amazon Web Service and S3_SECRET_ACCESS_KEY (the name of the file with your S3 secret key). If the file that stores this key is called ~/SUPERSECRET then to create it, copy the key to your clipboard from the AWS site and then run echo -n and send the contents of the pasted line to a file:

echo -n MYPASTEDKEY > ~/SUPERSECRET

The -n switch tells echo to not include a new line character and results in a text file of exactly 40 bytes. Once I got the key file created correctly, the s3 script started working, and I was able to upload, download, and list objects in S3.

Next, we’ll list your buckets:

s3 buckets

Then we’ll list the contents of a bucket called images:

s3 list images

Next, we’ll upload a file called emerald.png from the desktop of our computer:

s3 put images emerald.png ~/Desktop/emerald.png

Now let’s try and get the same file and just leave it somewhere else so we can compare the two:

s3 get images emerald.png ~/Documents/emerald.png

Now let’s get rid of the file:

s3  rm images emerald.png

And then to just remove all the files from the bucket:

rmrf images

If you notice, this toolkit is very similar to the s3cmd kit that we looked at earlier.  It’s a little more limited, but I thought it might come with less of a learning curve or be easier to script against depending on what you need.

Business Consulting Network Infrastructure sites Ubuntu Unix

Amazon S3 from the Command Line

In a previous article we looked at how to upload Final Cut Server content to s3 using Jungle Disk.  We also looked at how to upload ec2 images to s3. But now we’re going to take a deeper dive into using s3 from the command line.

There are a number of tools that have been developed by the community to leverage Amazon’s S3 Storage Service.  This isn’t as cut and dry as using ec2 due to the fact that the Amazon tools are written in JavaC#PerlPHPRuby and Python.  However, I’m a shell kinda’ guy to a large degree and I was able to find a couple of places where people have written shell wrappers for the tools made available by Amazon. The first is called s3cmd, which we will cover in this article and the second is called Another S3 Bash Interface, which we will cover in a future article.  The following assumes that you have already setup an account with Amazon Web Services (AWS).  As for terms, bucket is the big one: think of a bucket like a logical partition of your s3 account, similar to a volume (I say as I duck so that when someone throws something at me for oversimplifying they hopefully miss).

s3cmd is pretty straight forward to use. Download it from the developer’s site (linked to from above) and then run through the setup wizard using the following:
s3cmd –configure

For most future commands, you’ll notice that there will be a path that shows s3:// as part of the URL/URI; this is because s3cmd uses the s3:// to reference the root of your s3 account.  Now that you’ve configured s3cmd let’s go ahead and make a new bucket called server01_backup, which can be done using the mb verb:

s3cmd mb s3://server01_backup

Now that we have a bucket, use the ls verb of the s3cmd to list your available buckets:

s3cmd ls

Once you’ve verified that you have a bucket, let’s look at the contents of the bucket:

s3cmd ls s3://server01_backup

Now let’s copy a file into a bucket, which we’ll do using the put verb followed by the source and then the path:

s3cmd put /Volumes/Backup/backup.tar s3://server01_backup/backup.tar

Now let’s go ahead and create another bucket for web images called images:

servercmd mb s3://images

Once we have a bucket for our web images, let’s upload a file to it:

s3cmd put –acl-public –guess-mime-type ~/Desktop/emerald.png s3://images/emerald.png

Because we used the –acl-public flag with the put verb the file is now available by anyone in read only form.  The output of the command will have a line that indicates the URL that can then be used to access the file later, as can be seen here:

Public URL of the object is: http://images.s3.amazonaws.com/emerald.png

You can now call on the file as you would any other file, using the path.  If you saw the previous article on leveraging s3 with Final Cut Server then you’ll likely be interested in the fact that this can be automated through the scripts option of Final Cut Server.

Next, let’s say that you wanted to copy a nested directories contents into your images bucket, you’d use the the put verb with the –recursive option, then list the source and finally the target:

s3cmd put –recursive images s3://images/

Let’s say that we’re now done with our images bucket and ready to delete it.  This can be done using the rb verb with s3cmd, which standards for “remove bucket.”

s3cmd rb s3://images

s3cmd also has an option to synchronize, making it a pretty darn nice offsite replication solution.  Let’s say you’re keeping a website on your local drive and want to sync it to Amazon nightly, just add the following to a cron job:

s3cmd sync  ./  s3://DocumentRoot/

If you’re going to use sync with a fairly well built out directory structure, also consider using the –dry-run flag for a little sanity checking before you go synchronizing a lot of data.  You can also use the -include and -exclude flags to limit what s3cmd will synchronize.