Skip to content

Instantly share code, notes, and snippets.

View snatchev's full-sized avatar
🎏
worse is better

Stefan Natchev snatchev

🎏
worse is better
View GitHub Profile
@snatchev
snatchev / ringbuffer.rb
Last active December 15, 2015 17:10 — forked from eerohele/ringbuffer.rb
class RingBuffer < Array
attr_reader :max_size
def initialize(max_size, enum = nil)
@max_size = max_size
enum.each { |e| self << e } if enum
end
def <<(el)
if @max_size && self.size >= @max_size
@snatchev
snatchev / routes.rb
Last active December 16, 2015 07:09
DRYing up your Rails API routes. Rails' routing gives you the ability to add multiple contraints and scopes to routes. These conditions are and'ed together. Meaning all conditions must be true for the route to match. If you want to or them, to have any condition match, you are left with duplicated code. In this example, I wanted both http://api.…
Rails::Application.routes.draw do
def api_endpoints
controller :api do
resources :widget
post :register
get :help
end
end
@snatchev
snatchev / SafariApnController.rb
Last active December 30, 2015 20:39
An example Ruby implementation using ZeroPush to send Safari Push Notifications
class SafariApnController < ApplicationController
# When a user allows permission to receive push notifications, a POST request is sent to the following URL:
# webServiceURL/version/pushPackages/websitePushID
# post '/:version/pushPackages/:website_push_id' => 'safari_apn#package'
def package
#return the push package
send_file(File.join(Rails.root, 'public', 'pushPackage.zip'), type: 'application/zip', disposition: 'inline')
end
@snatchev
snatchev / gist:9792858
Created March 26, 2014 20:38
Disable Java SOCKS Proxy in OS X
Java will use the system SOCKS proxy by default, but it will not bypass the hostnames such as *.local, localhost, 0.0.0.0, etc.
The Java PrefPane also does not disable the SOCKS proxy even if you choose "Direct Connection". The best way to disable JAVA from connecting over a Proxy is to set the options with no values:
JAVA_OPTS="$JAVA_OPTS -DsocksProxyPort -DsocksProxyHost"
thanks to: http://mxw.pl/blog/?p=4
@snatchev
snatchev / ios7.css.scss
Created July 16, 2014 04:07
iphone in CSS with ZeroPush push notification
.ios7 {
-webkit-font-smoothing: antialiased;
font-family: 'HelveticaNeue-UltraLight', 'Helvetica Neue UltraLight', 'Helvetica Neue', Arial;
background: #3F505E;
padding-top: 20px;
font-weight: 300;
line-height: normal;
position: relative;
::selection {
#!/bin/bash
# Run this in the same location as your .xcodeproj file
plutil -convert json -r -o - `xcodebuild -showBuildSettings | grep PRODUCT_SETTINGS_PATH | awk -F ' = ' '{print $2}'` | grep CFBundleIdentifier | awk -F ' : ' '{print $2}' | cut -d'"' -f2
@snatchev
snatchev / zeropush.js
Last active August 29, 2015 14:13
cloudcode-zeropush.js
/* simple API wrapper for Parse Cloud Code and ZeroPush */
ZeroPush = {
authToken: 'your-server-auth-token',
verifyCredentials: function(){
this.request('GET', '/verify_credentials');
},
register: function(params){
this.request('POST', '/register', params);
},
@snatchev
snatchev / AppDelegate.h
Last active August 29, 2015 14:13
register VoIP push notifications with ZeroPush: https://zeropush.com/guide/guide-to-pushkit-and-voip
#import <UIKit/UIKit.h>
#import <PushKit/PushKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, PKPushRegistryDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
@snatchev
snatchev / gh.fish
Last active May 22, 2022 06:57
a fish-shell function to open the current git repo/branch in a browser
function gh --description 'Open the webpage for the current github repo/branch'
set -l fetch_url (command git remote --verbose show -n origin ^/dev/null | command grep Fetch | cut -c 14- )
#did we get an exit status?
if [ $status -gt 0 ]
echo 'Not a git repo.'
return 1
end
if [ -z $fetch_url ]
@snatchev
snatchev / index.html
Created July 11, 2017 18:36
remote debugging
<html>
<head>
<script src="https://jsconsole.com/js/remote.js?snatchev"></script>
</head>
<body>
@snatchev
</body>
</html>