Skip to content

Instantly share code, notes, and snippets.

require 'net/http'
require 'uri'
# /api/v1/:format/new
# /api/v1/:format/gists/:user
# /api/v1/:format/:gist_id
res = Net::HTTP.post_form(URI.parse('http://gist.github.com/api/v1/xml/new'),
{ 'files[file1.ab]' => 'CONTNETS',
'files[file2.ab]' => 'contents' })
contents
@greenisus
greenisus / file1.txt
Created June 30, 2010 21:25
API Test
this is the first file
this is the first file
@greenisus
greenisus / How I Smoke Memphis Style BBQ Ribs
Created December 29, 2010 21:38
Smoking Memphis Style BBQ Ribs
Things you’ll need:
-A high quality smoker. Cheap smokers don’t hold consistent temperatures, and that’s the most important variable in cooking ribs
-Baby back ribs. In San Francisco, I’ve found Golden Gate Meat Company to be the best butcher around. Wherever you live, try to find the best meat source you can.
-A box or bag of apple wood chips. Apple tastes better than hickory or mesquite, and you don’t have to worry as much about over-smoking your meat. I hear pecan wood is also good, but it’s not readily available in California, so I’ve had no experience with it.
-Saran wrap
-Toothpicks
-A spray bottle
-Apple juice
-Charcoal. I prefer natural lump charcoal.
@greenisus
greenisus / gist:1128276
Created August 5, 2011 19:14
Add/Delete Nodes
- (void)saveButtonPressed:(id)sender {
// we need to compare the previousNodoes list to the current nodes list so we
// can know which nodes to add and which ones to delete
NSMutableArray *nodesToAdd = [[NSMutableArray alloc] init];
NSMutableArray *nodesToDelete = [[NSMutableArray alloc] init];
NSLog(@"previous nodes: %@", previousNodes);
NSLog(@"lb nodes: %@", self.loadBalancer.nodes);
for (LoadBalancerNode *node in previousNodes) {
@greenisus
greenisus / gist:1128319
Created August 5, 2011 19:33
Add/Remove Nodes 2
- (void)deleteNodes:(NSArray *)nodesToDelete withProgress:(ASIBasicBlock)progressBlock {
NSString *endpoint = [self.account loadBalancerEndpointForRegion:self.loadBalancer.region];
__block int deleteIndex = 0;
void (^deleteNodeBlock)(LoadBalancerNode *node) = ^(LoadBalancerNode *node) {
APICallback *callback = [self.account.manager deleteLBNode:node loadBalancer:self.loadBalancer endpoint:endpoint];
[callback success:^(OpenStackRequest *request) {
deleteIndex++;
progressBlock();
- (void)pollUntilActive:(OpenStackAccount *)account withProgress:(ASIBasicBlock)progressBlock complete:(ASIBasicBlock)completeBlock {
if ([self shouldBePolled]) {
NSString *endpoint = [account loadBalancerEndpointForRegion:self.region];
__block LoadBalancerRequest *request = [LoadBalancerRequest getLoadBalancerDetailsRequest:account loadBalancer:self endpoint:endpoint];
request.delegate = self;
[request setCompletionBlock:^{
if ([request isSuccess]) {
LoadBalancer *newLB = [request loadBalancer:account];
self.status = newLB.status;
+ (void)authenticate:(CKResultBlock)completionBlock errorBlock:(CKResultBlock)errorBlock {
NSDictionary *headers = [[[NSDictionary alloc] initWithObjectsAndKeys:@"rackcloud07", @"X-Auth-User", @"secret", @"X-Auth-Key", nil] autorelease];
CKRequest *request = [CKRequest requestWithMap:[CKRouterMap mapWithRemotePath:@"https://auth.api.rackspacecloud.com/v1.0"]];
[request addHeaders:headers];
request.completionBlock = completionBlock;
request.errorBlock = errorBlock;
[request send];
// parsed results from the http response
@property (nonatomic, retain) NSArray *objects;
// detailed error
@property (nonatomic, retain) NSError *error;
// raw HTTP response information
@property (nonatomic, retain) NSDictionary *responseHeaders;
@property (nonatomic, retain) NSString *responseString;
@property (nonatomic, assign) NSUInteger responseStatusCode;