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 / behaviour.ex
Last active Sep 5, 2019
Behaviour vs. Protocol in Elixir
View behaviour.ex
defmodule Counter do
@type t :: %__MODULE__{count: integer()}
defstruct count: 0
def transform(counter, %transformation_module{} = transformation) do
transformation_module.transform(counter, transformation)
defmodule Counter.Transformation do
View moje_riesenie.ex
#! /usr/bin/env elixir
defmodule Ranges do
def run(indexes, length) do
ranges(indexes, length, nil, [])
# private
View FloatingViewController.swift
import UIKit
class FloatingButtonController: UIViewController {
private(set) var button: UIButton!
required init?(coder aDecoder: NSCoder) {

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:

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 {
View gist:2502822
#! /bin/bash
# Provides: gitlab
# Required-Start: $local_fs $remote_fs $network $syslog redis-server
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: GitLab git repository management
# Description: GitLab git repository management
View gist:2502581
upstream gitlab {
server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket;
server {
listen YOUR_SERVER_IP:80;
root /home/gitlab/gitlab/public;
# individual nginx logs for this gitlab vhost
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"
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 / 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)];
You can’t perform that action at this time.