Skip to content

Instantly share code, notes, and snippets.

View christos's full-sized avatar

Christos Zisopoulos christos

View GitHub Profile
@christos
christos / README.md
Created June 15, 2012 13:26
RubyMotion runtime freeze on syntax error in an `each` block, when called from a callback

Hello everyone,

I've already asked on IRC and no one seemed to have an idea why the following is happening:

I can consistently get the RubyMotion runtime and the device to freeze when running this simple code (https://gist.github.com/2936457) with rake device and then hitting the Cancel button on the UIImagePicker. I am guessing this is related to callbacks in general, but I couldn't come up with a simpler example.

As you can see, the UIImagePicker callback method simply uses each to iterate over an array of strings, but as soon as it hits the syntax error on line 28 (putd) it stops. No exception in the logs, nothing. The process has to be killed to exit it.

Any ideas? Am I supposed to release/retain something? I know blocks are a bit tricky but I can't figure out what could possibly be causing the freeze, even if it was a NULL pointer or a missing reference

@christos
christos / gist:2037118
Created March 14, 2012 15:10
Twitter url shortener mangles iCloud journal urls
The original URL:
https://www.icloud.com/journal/#p=02&t=CAEQARoQIx7SyDPX1G1Fn4_lEqnNoA==&f=/82J93X7T25~com~apple~mobileiphoto/Public/46D1774C-ECAE-4DA5-8EEB-65793AB2EF9A.jb/index.json
...when shortened to
https://t.co/dKSWfYh
...which incorrectly expands to:
@christos
christos / gist:1716942
Created February 1, 2012 13:20
Install ruby-debug19 with the latest ruby 1.9.3
curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
curl -OL http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem
gem install linecache19-0.5.13.gem
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$rvm_path/src/`rvm current`
rm ruby-debug-base19-0.11.26.gem linecache19-0.5.13.gem
@christos
christos / monit.conf
Created December 17, 2011 22:22 — forked from shapeshed/monit.conf
Upstart script for monit on Ubuntu 10.04
# This is an event.d (upstart) script to keep monit running.
# To install disable the old way of doing things:
#
# /etc/init.d/monit stop && update-rc.d -f monit remove
#
# then put this script here:
#
# /etc/init/monit.conf
#
# and reload upstart configuration:
curl "https://raw.github.com/gist/1386087/2f757de4b575a632acc3d59c1224e2134ef7973c/ssh-copy-id" -o ~/bin/ssh-copy-id
chmod +x ~/bin/ssh-copy-id
@christos
christos / profile_options_for_select.rb
Created July 27, 2011 13:59
Profile testing options_for_select
require 'rubygems'
require 'thread'
require 'rails/all'
require 'benchmark'
include ActionView::Helpers::FormOptionsHelper
puts "Using #{`ruby -v`}"
@choices = 700.times.collect { [(0...50).map{ ('a'..'z').to_a[rand(26)] }.join, rand(10000)] }
@christos
christos / jazzfonica.rb
Created June 14, 2011 09:37
jazzfonica
#!/usr/bin/env ruby
# jazzfonica.rb for Mac OS X
# Scans the visible networks for JAZZTEL_XXXX or WLAN_XXXX and calculates the password
# Ported from PHP example at http://kz.ath.cx/wlan/codigo.txt
# Download and execute with ruby (e.g. ruby jazzfonica.rb) from a Terminal
require 'digest/md5'
messages = []
unless !File.exists?('/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport')
#!/usr/bin/ruby -w
=begin
/***************************************************************************
* Copyright (C) 2008, Paul Lutus *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
@christos
christos / cache_with_comment.rb
Created December 30, 2010 12:32
Surround cached fragments with HTML comments (Rails 2.3 initalizer)
module ActionController
module Caching
module Fragments
def read_fragment_with_comment(name, options)
fragment = read_fragment_without_comment(name, options)
fragment && "\n<!-- cache-hit: #{name} -->\n#{fragment}\n<!-- /cache-hit: #{name} -->\n" || nil
end
alias_method_chain :read_fragment, :comment
@christos
christos / etc-init-d-monit
Created November 10, 2010 14:29
EC2 config files
#! /bin/sh
#
# skeleton example file to build /etc/init.d/ scripts.
# This file should be used to construct scripts for /etc/init.d.
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl