Posts

Create Google Contact via API and Add To My Contacts System Group

Image
When you create a new Contact via the Google Contacts API , by default it will not appear in the list of contacts on the Google Contacts webpage , however, if you search for the contact there, it will appear. If you then click the "Add to contacts" button, it will appear in that contacts list, and increase your contact count in the top left of the page. There is a way to add new contacts via the API and have them show up in this list, it is just not well documented within the API documentation. The code below demonstrates how to do this is C#. What appears to be a list of all contacts on the Google Contacts page is actually just a subset of all your contacts, it is actually the "My Contacts" System Group . When you create a new contact via the API, you must specify that this new contact is part of that system group for it to appear on the contacts page without searching. Steps:  1. Create a ContactsRequest  2. Get a list of all groups and search for t

Visual Studio 2017 Code Snippet INotifyPropertyChanged

Image
This is an update to the vs2010 code snippet:  https://aaron-hoffman.blogspot.com/2010/09/visual-studio-code-snippet-for-notify.html Code can now be found here:  https://gist.github.com/aaronhoffman/c821acf4bb3b3beb0759e93bbe3a2402 Hope this helps, Aaron

NYSE Historical Stock Price Data From Quandl

Image
Quandl  is a great resource for historical stock price data. I thought I'd pull some meta-data out of the " Wiki EOD Stock Prices " data set in order to help future developers. First, here is the table structure I used to insert the CSV flat file into SQL Server: CREATE TABLE [dbo].[SymbolHistory]( [ticker] [varchar](5) NULL, [date] [date] NULL, [open] [decimal](16, 6) NULL, [high] [decimal](16, 6) NULL, [low] [decimal](16, 6) NULL, [close] [decimal](16, 6) NULL, [volume] [decimal](26, 15) NULL, [ex-dividend] [decimal](22, 18) NULL, [split_ratio] [decimal](21, 19) NULL, [adj_open] [decimal](25, 18) NULL, [adj_high] [decimal](25, 18) NULL, [adj_low] [decimal](25, 18) NULL, [adj_close] [decimal](25, 18) NULL, [adj_volume] [decimal](25, 18) NULL )  Second, here is a list of all 3,194 NYSE symbols in the Quandl flat file as of 2017-11-06, and the min and max dates that they appeared. https://gist.github.com/aaronhoffman/9ef359cbf39f2eefdf5

Generate Random AES Encryption Key

Image
I was looking for a way to quickly generate a random AES key online, but couldn't find anything. I looked into a couple methods using JavaScript, but determined that a C# solution would be better. I needed to base64 encode the key array to store that value in a config file. Here's the code I ended up with: https://gist.github.com/aaronhoffman/09b56f77a95205fe10365bde2f4a02e5 UPDATE Using Visual Studio's "C# Interactive" screen you can generate a key in a single line: var keyArray = new byte[32]; (new System.Security.Cryptography.RNGCryptoServiceProvider()).GetBytes(keyArray); Convert.ToBase64String(keyArray) Hope this helps! -Aaron

Sync Gmail Contacts Between Accounts

Image
For the last few years I've needed a way to easily sync contacts between gmail accounts. The only method previously supported by Google is to export to csv then re-import the contact list . This may work for some, but clearly there is a desire for something else. I finally found some time to dig into the Google Contact APIs  and created a site to perform this sync operation easily, without needing to install any software: https://www.mycontactsync.com/ Steps to sync:  1. Authorize your gmail account  2. Link an second gmail account (up to 5 currently)  3. Compare two accounts to see which email addresses and phone numbers will be created.  4. Click the Sync Accounts button to initiate the sync! It's that easy! Hope this helps, Aaron links: product hunt note: this website was previously named "gmail contacts sync". The name was changed to verify the google api use.