Skip to content

Instantly share code, notes, and snippets.

View mvidner's full-sized avatar

Martin Vidner mvidner

  • SUSE
  • Prague, CZ, EU
View GitHub Profile
@mvidner
mvidner / command-quiz-all-in-one.rb
Last active May 31, 2017 07:42
What do these files do when you run them with Ruby?
#!/usr/bin/ruby
# Ruby Gotcha Quiz, by Martin Vidner
# Aimed at people who have written something in Ruby already
def command(s)
system(s)
end
command "echo A"
@mvidner
mvidner / RUNME.sh
Last active June 20, 2016 14:11
ruby-lint loading definitions of overlapping namespaces
#!/bin/sh
ruby app.rb
ruby-lint -c cfg-top.yml app.rb
ruby-lint -c cfg-nested.yml app.rb
exit
# the definitions were made like this
rake -r project-base generate:definitions[Project,.]; mv project.rb defs-project.rb
rake -r project-ui generate:definitions[Project,.]; mv project.rb defs-ui-top.rb
rake -r project-ui generate:definitions[Project::UI,.]; mv project.rb defs-ui-nested.rb
@mvidner
mvidner / gist:94b7bbf77ee5a09b0ca5
Created March 1, 2016 15:59
bootloader proposal specification by jreidinger
#propose
proposes timeout to 8 seconds
proposes gfx mode to auto
proposes to disable recovery boot entry
proposes empty distributor entry
proposes serial console from its usage on kernel command line
os_prober proposal
on s390
disable os probing
on Power PC
@mvidner
mvidner / makebigfile.rb
Created February 3, 2016 15:07
generate a file that will not parse with parser-2.3.0.2
#!/usr/bin/ruby
# parser-2.3.0.2 fails with fatal: unterminated string meets end of file
# ruby makebigfile.rb && ruby bigfile.rb && bundle exec ruby-parse --23 bigfile.rb
SIZE = 14500
header = <<EOS
#!/usr/bin/ruby
# encoding: utf-8
From 1cb40243b120b86057688d64d88a23384d234a91 Mon Sep 17 00:00:00 2001
From: Martin Vidner <mvidner@suse.cz>
Date: Thu, 17 Dec 2015 14:20:27 +0100
Subject: [PATCH] Factored out pipe juggling more readably.
---
lib/cheetah.rb | 45 ++++++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/lib/cheetah.rb b/lib/cheetah.rb
#!/usr/bin/ruby
# https://lists.luon.net/pipermail/ruby-dbus-devel/2015-November/000500.html
require 'dbus'
def dbus_get_service_prefix path
bus = DBus::SystemBus.instance
service = bus.service path.join('.')
service.introspect # othewise cannot walk dbus namespace
root = service.root
prefix = root
/* scroll down to see an explanation in insane-tty.md */
/* gcc -Wall -o insane-tty insane-tty.c */
#include <stdlib.h>
#include <sys/ioctl.h>
#include <termios.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
@mvidner
mvidner / call_whitespace.rb
Created June 9, 2015 09:39
ruby whitespace is significant
def upcase_all(strings)
strings.map(&:upcase)
end
puts upcase_all (["You", "can", "use", "YOU"]).uniq
puts upcase_all(["You", "can", "use", "YOU"]).uniq
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-06-02 14:53+0200\n"
"PO-Revision-Date: 2015-06-02 14:53+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"