Announcements

Random Python Creation! - Playing Cards

posted Nov 21, 2017, 10:27 AM by Kevin Melillo

PythonSome time ago, I took part in an online Python programming course.  This course kept me entertained, and also taught me a little something about the language!  I can not stress how fun, challenging and enlightening this course, and the instructor were!  The link is here, and the course is free!  During this course, I learned enough about Python to start experimenting.  I developed a basic card library.  This library allows you to create 52 card decks, name them via variables, shuffle named decks, draw cards, display cards, and move cards to a stack.  It probably can be done MUCH better, but for a beginner like me, it was AMAZING!


For those of you who do not have Python installed locally, there are plenty of resources out there to help you through the process.  For the class, and learning though, you do not need to install anything.  You can experiment, and program right from the web HERE.  You can even save what you make, and get a URL that will point to your code.  Copy that URL, and you can access your code at any time.

You can view and test this code out, and let me know your thoughts. 

Apps Script Addons

posted Mar 9, 2016, 8:42 AM by Kevin Melillo

Apps Script Icon
I have added a small section to the site with my Apps Script addons.  This page will display the name of the addon, and a small description of what the addon does.  It will also have a link to the Addon or Script, so you can experience it for yourselves.  Please feel free to comment on the Addons page HERE.

If you have any ideas about other quick addons I can develop to make your life as a Google Apps Admin easier, please send them my way.  I am always looking to dive deeper into what Apps Script can offer.

Have fun, keep learning.

Disable throttling on Exchange 2007 / 2010

posted Nov 5, 2015, 6:17 AM by Kevin Melillo   [ updated Nov 5, 2015, 6:42 AM ]

Speed
When migrating using GAMME from an Exchange 2007 / 2010 server, there may be throttling on the connections during migration.  The most common indicator of this, is the following error in the GAMME logs.

Failed with 0x80070036, last successful line = 220.

Once this message occurs, you may see a large part of the migration fail, often ending the migration way below the 100%.  In order to alleviate this issue, you must create a policy on the Exchange Server that disables the throttling, and then assign that policy to the user that is connecting for the migration.  



Create and Assign Throttling Policy

How to create and assign a user based throttling policy in Exchange 2010 and Exchange 2007

Use the following steps to create and assign a new throttling policy, replacing <PolicyName> with the new policy name, and replacing <PolicyAdmin> with the Exchange Server 2010 service account:

Log in to the Exchange Server as the Administrator account

Open the Exchange Management Shell
From the Start menu, go to Start > Programs > Microsoft Exchange Server 2010 > Exchange Management Shell.

The location may be different if running Exchange 2007.

Create the Policy
At the command prompt, type the following command
New-ThrottlingPolicy <PolicyName> [Press Enter]

For our migration purposes, it would look like this:
New-ThrottlingPolicy MigrationPolicy [Press Enter]

Set the Policy for No Limits
At the command prompt, type the following command, all on one line.
Set-ThrottlingPolicy <PolicyName> -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null [Press Enter]

For our migration purposes, it would look like this:
Set-ThrottlingPolicy MigrationPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null [Press Enter]

Set the Account to use Policy
Ar the command prompt, type the following command:
Set-Mailbox "<PolicyAdmin>" -ThrottlingPolicy <PolicyName> [Press Enter]

For our migration purposes, it would look like this:
Set-Mailbox "email_admin" -ThrottlingPolicy MigrationPolicy [Press Enter]






Generate Private Key and then a Certificate

posted Oct 2, 2015, 5:45 AM by Kevin Melillo   [ updated Oct 2, 2015, 11:00 AM ]

keys
I recently ran into an issue with a customer involving Google Apps and SSO.  This customer had nobody on staff that knew about certificates.  Usually we leave this in the hands of the customer, but in this case, they did not know how to start.  I also was in the dark on this, as we had never had to provide this information to customers in the past.  

I started researching on Google, and I was able to put together a bit of information.  I am not sure if this is correct, or complete, but here is what I have found.

Creating the Private Key  
In order to start this whole process, you need to generate a private key.  Google offers a small bit of documentation around this, and I wanted to start there, because the whole process began because we are implementing an SSO solution for Google Apps.  So I looked at the few options they had, linux command-line, java based key generation, or using a third party purchased certificate.  The choice for me was an easy one...  I did not want to PAY anything to learn about this, so the purchased option was OUT.  I knew next to nothing about JAVA and did not want or need to install a complicated IDE just to test out creating private\public keys...  I had recently just installed a linux virtual machine.  I also have a bit of background knowledge of linux, so even if I didn't have the proper tools installed, I believed I could get them pretty quickly and easily.  I booted up my linux VM, dropped to command line, and checked if I had openssl installed.  BINGO!  It was there.  

The next step was to generate a private key.  I did this by following the simple instructions that Google has laid out for this.

openssl genrsa -out my_private.key 1024

I had my private key!  I opened the key in a text editor, and saw that it was a long randomly generated string of letters and numbers with a header and a footer that marked it as a private key.  Step one...  COMPLETE.

Creating the x509 Certificate  
Google requires that you either upload a Public Key, or an x509 Certificate.  Since they provide simple instructions on how to create an x509 Certificate from a Private Key I chose to test out this method.  

openssl req -x509 -new -nodes -key my_private.key -days 365 -out my.crt

I now had a certificate file that I believed I could use.  I opened the certificate in a text editor, and saw that it was a long randomly generated string of letters and numbers with a header and a footer that marked it as a certificate.  Step two...  COMPLETE.

Comparing the Two  
The problem our current customer is having is that the logs show that the private key they are using along with the public certificate does not match.  So I needed a way to test to see if the two values generated in the above steps matched.  I did a few google searches, and came back with the following results.

openssl x509 -noout -modulus -in my.crt | openssl md5
openssl rsa -noout -modulus -in my_private.key | openssl md5

The commands will return the md5 hash of both the certificate, and then the private key.  I was able to verify that these hashes did match.  Step three...  COMPLETE.

With the above procedure I was able to generate a private key, create a certificate from that key, and verify that the private key and certificate matched up.  I was ready to move on, and upload the certificate to Google, and install the private key to whatever SSO solution would be implemented.



Google Drive for Mac - Changing the Account Name

posted Sep 24, 2015, 6:35 AM by Kevin Melillo   [ updated Sep 24, 2015, 6:37 AM ]

Google Drive
I had a customer recently that needed to change the account name associated with their Google Drive for Mac client.  The general flow of why this needed to be done went something like this.  A secondary domain was added to the account, because CompanyA.com bought CompanyB.com.  CompanyB.com was then added as a secondary domain to the Google Apps instance.  Then user-one@companya.com was assigned to run Company B, so her login on the Google Apps side was changed to user-one@companyb.com, giving her the alias of user-one@companya.com.  Follow me so far?  

If you are not following, then just consider this.  You have a personal GMail account, and your company has a professional Google Apps account.  You installed the Google Drive application on your Mac to sync with your personal GMail account.  Now you want to change that, and sync files with your companies Google Apps account.  Follow me now?

Whatever the reasoning, you need to change the account that the Google Drive application for Mac is connecting as.  There is no way to do this from the application, because the initial setup of Google Drive locks you into that one account.  If you try and disconnect the account, and set Google Drive up again, it will notice that the other account exists, and not let you proceed with the new account setup.  In order to successfully complete this process, there are a few steps you must go through.

Word of Warning: Following these procedures will remove all settings and data in your current Google Drive account.  You need to backup the files that are in your Google Drive sync folder to a separate location before performing these steps.  BACK UP YOUR GOOGLE DRIVE FOLDER.  Once these files are moved to a different location, your Google Drive folder should be empty.  You can not transfer ownership of Google formatted documents in this way.
  • First you need to shut Google Drive off.  To do this, Control-Click the icon in the Ribbon Bar (Up top on the right) and choose Quit.
  • Open a Finder Window, then press Command + Shift + G.  This will open a Go window and ask you which directory you need to view
  • Type the following (without quotes): "~/Library/Application Support/Google"
  • Delete the Drive folder (right click, choose delete)
Now when you open the Drive application it will ask you to sign in, and walk you through the initial setup.  Once this is complete, you can copy your backup files into the newly created Google Drive directory.




They Will Never Know

posted Sep 3, 2015, 1:59 PM by Kevin Melillo   [ updated Sep 3, 2015, 2:01 PM ]

Tillie
My kids will never know the smile on his face 
will never know the warmth of his haunting eyes embrace 

They will never know the joy that Tillie brought to me 
of the wonderland of sights and sounds, a place called Asbury 

Never know the sounds of the Palace bumper cars 
or the twinkle in the sky at night from a carpet of shiny stars 


They will never know the joy that Tillie brought to me 
the music in the air, the sounds, and lights lovely 

Forever there's no wind, blowing through their hair 
the sun beating down upon their skin, why is life so unfair 

They will never know the joy that Tillie brought to me 
while I ran along the sand on the beach beside the sea. 

I wish I could go back to that oasis by the sea 
where I'd laugh, and play, and listen to every memory 

They will never know the joy that Tillie brought to me 
of being young, and brave, and full of fantasy 

But the Palace is no more, it is a mystery 
Wherever Tillie went, I hope he's not lonely. 

They will never know the joy that Tillie brought to me 
of the wonderland of sights and sounds, a place called Asbury. 

an Original Poem by Kevin Melillo

Python Card Library

posted Aug 27, 2015, 10:32 AM by Kevin Melillo   [ updated Sep 1, 2015, 9:44 AM ]

Python
Some time ago, I took part in an online Python programming course.  This course kept me entertained, and also taught me a little something about the language!  I can not stress how fun, challenging and enlightening this course, and the instructor were!  The link is here, and the course is free!  During this course, I learned enough about Python to start experimenting.  I developed a basic card library.  This library allows you to create 52 card decks, name them via variables, shuffle named decks, draw cards, display cards, and move cards to a stack.  It probably can be done MUCH better, but for a beginner like me, it was AMAZING!


For those of you who do not have Python installed locally, there are plenty of resources out there to help you through the process.  For the class, and learning though, you do not need to install anything.  You can experiment, and program right from the web HERE.  You can even save what you make, and get a URL that will point to your code.  Copy that URL, and you can access your code at any time.

You can view and test this code out, and let me know your thoughts. 







Google Apps Dashboard and Analytics

posted Aug 27, 2015, 10:21 AM by Kevin Melillo   [ updated Sep 1, 2015, 9:40 AM ]

Dashboard
I just added a dashboard to my main website.  Hopefully this can show others some of the power inherent in Google Sites.  The new dashboard uses a combination of Google Sheets, Google Analytics, and Google Sites to create a live view of sessions, locations, and browsers in use.  By live, I mean that it is automatically scheduled to update daily at around 4AM or so.

Please let me know if you like this mini update.  Hopefully there is more to come.

Thank you for your time!








1-8 of 8