Skip to content

Instantly share code, notes, and snippets.

Štefan Ľupták EskiMag

Block or report user

Report or block EskiMag

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
EskiMag / swift_instancetype_problem
Created Dec 10, 2014
How to write 'instancetype'-like code in Swift
View swift_instancetype_problem
import Foundation
import UIKit
extension UIViewController {
class func fromMainStoryboard () -> UIViewController {
var storyboardID = NSStringFromClass(self)
let dotRangeOptional = storyboardID.rangeOfString(".", options: NSStringCompareOptions.allZeros)
if let dotRange = dotRangeOptional {

Keybase proof

I hereby claim:

  • I am eskimag on github.
  • I am eskimag ( on keybase.
  • I have a public key whose fingerprint is D7DF 3426 8D5A 3781 3F8B 5054 7128 89AF 8B9F 420D

To claim this, I am signing this object:

View multi_db.rb
module UseMultiDB
def use_db(db_name, options={})
establish_connection "#{db_name}_#{RAILS_ENV}"
set_table_name options[:table_name] unless options[:table_name].blank?
self.inheritance_column = '_sti_type_disabled' unless options[:sti]
rescue "ERROR unable to establish connection to database '#{db_name}_#{RAILS_ENV}'"
View bishop.rb
# Bishop -- IRC bot for channel irc://
# Source:
require 'rubygems'
require 'cinch'
require 'open-uri'
require 'nokogiri'
require 'rack/utils'
View string_extensions.rb
class String
# "Příšerně žluťoučký kůň úpěl ďábelské ódy".strip_diacritics =>
# "Priserne zlutoucky kun upel dabelske ody"
def strip_diacritics
self.mb_chars.normalize(:kd).to_s.gsub(/[^\x00-\x7F]/, '')
# Little hacks to allow using also decimal comma (used in EU) not only decimal point
# "3,75".to_d => 3.75
# "3,75".to_f => 3.75
EskiMag / gist:627863
Created Oct 15, 2010
Show git branch name in bash prompt
View gist:627863
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
function proml {
local WHITE="\[\033[40;1;37m\]"
local LIGHT_GRAY="\[\033[47;1;30m\]"
case $TERM in
EskiMag / gist:800041
Created Jan 28, 2011
Meter to degrees based on Geographical Latitude
View gist:800041
// Calculates the degree value of 1 meter at given geographical latitude
#define EARTH_RADIUS 6371000
- (double)meterToDegreeAtLatitude:(double)aLatitudeInDegrees {
double aLatitudeInRadians = aLatitudeInDegrees * (M_PI / 180);
return (1 / (cos(aLatitudeInRadians) * EARTH_RADIUS)) * (180 / M_PI);
EskiMag / gist:805853
Created Feb 1, 2011
Cocoa vs. Rails method returning the end of current month
View gist:805853
- (NSDate *)endOfThisMonth {
NSDate *endOfMonth = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comp = [calendar components:(NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
[comp setMonth:[comp month]+1];
[comp setDay:1];
endOfMonth = [calendar dateFromComponents:comp];
return [endOfMonth dateByAddingTimeInterval:-(60*60*24)];
View gist:845240
CGFloat width = 300;
// returns 15
[text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:12.0] forWidth:width lineBreakMode:UILineBreakModeWordWrap].height;
// returns 60
[text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:12.0] constrainedToSize:CGSizeMake(width, 100) lineBreakMode:UILineBreakModeWordWrap].height
EskiMag / NSRegularExpression-Example.m
Created Mar 11, 2011
Prints first match of text in parenthesis
View NSRegularExpression-Example.m
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"id=([0-9]+)" options:NSRegularExpressionCaseInsensitive error:&error];
NSTextCheckingResult *result = [regex firstMatchInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, [str length])];
NSLog(@"%@", [str substringWithRange:[result rangeAtIndex:1]]); // prints 123 for "id=123"
You can’t perform that action at this time.