Get [current, maximum] value pair:
Process.getrlimit(:NOFILE)[1]Set limit:
number = 1000 Process.setrlimit(:NOFILE, number)
Process.getrlimit(:NOFILE)[1]Set limit:
number = 1000 Process.setrlimit(:NOFILE, number)
gunzip filename.dict.dz -S .dzFor ruby You could read it using GZip reader and process as xml using nokogiri.
require 'nokogiri'
require 'zlib'
include Zlib
data = GzipReader.open("dict.dict.dz"){|f|f.read}
doc = Nokogiri::XML(data)
p doc.xpath("k")[0].content
logError: function(error) { console.log(error); }
downloadFile: function(format, file_name, data){
if(!format){
format = 'txt';
}
if(!file_name){
file_name = 'default';
}
file_name = file_name + '.' + format;
if(data.length == 0){
return; // stupid stub
}
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.TEMPORARY, 1024*1024, function(fs) {
fs.root.getFile(file_name, {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var blob = new Blob([data]);
fileWriter.addEventListener("writeend", function() {
chrome.tabs.create({ url: fileEntry.toURL() });
}, false);
fileWriter.write(blob);
}, logError);
}, logError);
}, logError);
},
brew install youtube-dlUpdate it:
sudo youtube-dl -UIf You want to have just mp3 files. Install tools for converting files from http://ffmpegmac.net/ Move all files to bin folder:
cd path_to_unpacked_zip_tools sudo mv * /urs/local/binGet video file:
youtube-dl https://www.youtube.com/xyzGet audio file:
youtube-dl https://www.youtube.com/xyz -x --audio-format=mp3
class Command
attr_reader :name
def initialize(name)
@name = name
end
def run
raise "Implement me"
end
end
class MakeBold < Command
def initialize(text)
super("Make bold text: #{text}")
@text = text
end
def run; puts "<b>#{@text}</b>"; end
end
class MakeItalic < Command
def initialize(text)
super("Make italic text: #{text}")
@text = text
end
def run; puts "<i>#{@text}</i>"; end
end
class MakeSized < Command
def initialize(text, size=14)
super("Make text: #{text} to be size: #{size}")
@text = text
@size = size
end
def run; puts "<span style='font-size:#{@size}px;'>#{@text}</span>"; end
end
commands = []
commands << MakeBold.new("to be bold")
commands << MakeItalic.new("to be italic")
commands << MakeSized.new("to be sized", 20)
commands << MakeBold.new("other to be bold")
# show description for each command prior to execution
commands.each {|command| command.name }
# execute commands
commands.each {|command| command.run }
Output:
$ ruby command.rb <b>to be bold</b> <i>to be italic</i> <span style='font-size:20px;'>to be sized</span> <b>other to be bold</b>
class Iterator
def first; end
def last; end
def next; end
def current; end
def has_next?; end
end
class InfiniteNumbers < Iterator
def initialize
@current = 0
end
def first
1
end
def last
raise "Infinite number"
end
def next
@current += 1
end
def current
@current
end
def has_next?
true
end
end
iterator = InfiniteNumbers.new
puts 100.times.collect { iterator.next }.join(',')
class Component
attr_reader :data
def initialize(data)
@data = data
end
def display
raise "Implement me"
end
end
class ItemsGroup < Component
def initialize
@children = []
end
def add_child(child)
@children << child
end
def remove_child(child)
@children.delete(child)
end
def display
@children.each do |child|
child.display
end
end
end
class Item < Component
def display
puts data.inspect
end
end
group = ItemsGroup.new
group1 = ItemsGroup.new
group2 = ItemsGroup.new
group1.add_child(Item.new('label'))
group1.add_child(Item.new('input text'))
group2.add_child(Item.new('label'))
group2.add_child(Item.new('input password'))
group.add_child(Item.new("header"))
group.add_child(group1)
group.add_child(group2)
group.add_child(Item.new("submit button"))
group.display
module ObserverMethods
def initialize
@observers = []
end
def add_observer(observer)
@observers << observer
end
def delete_observer(observer)
@observers.delete(observer)
end
def notify_observers
@observers.each do |observer|
observer.update(self)
end
end
end
class Entity
include ObserverMethods
attr_reader :name, :description
def name=(value)
@name = value
notify_observers
end
def description=(value)
@description = value
notify_observers
end
end
class TxtObserver
def update(entity)
puts "txt: #{entity.name}, #{entity.description}"
end
end
class TxtConsoleObserver
def update(entity)
puts ">> #{entity.name}, #{entity.description}"
end
end
entity = Entity.new
entity.add_observer(TxtConsoleObserver.new)
entity.add_observer(TxtObserver.new)
entity.name = "Name"
entity.description = "Description"
$ ruby observer.rb >> Name, txt: Name, >> Name, Description txt: Name, Description
class Strategy
def output(data)
raise "Implement me"
end
end
class TxtOutput < Strategy
def output(data)
puts data.inspect
end
end
class ConsoleTxtOutput < Strategy
def output(data)
puts ">> #{data.inspect}"
end
end
class SomeLogic
attr_accessor :output_formatter
def initialize(output_formatter)
@output_formatter = output_formatter
end
def do_some_job
@data = { "some" => "data", "here" => 10 }
end
def print_somewhere
@output_formatter.output(@data)
end
end
txt_output = TxtOutput.new
console_txt_outut = ConsoleTxtOutput.new
# Specify formatter dynamically
logic = SomeLogic.new(txt_output)
logic.do_some_job
logic.print_somewhere
# Specify formatter dynamically
logic.output_formatter = console_txt_outut
logic.print_somewhere
class ReportGenerator
def initialize
@report = ""
end
def output
prepare_header
prepare_body
prepare_footer
@report
end
def prepare_header
raise "Prepare header should be implemented"
end
def prepare_body
raise "Prepare body should be implemented"
end
def prepare_footer
raise "Prepare footer should be implemented"
end
end
class TxtReportGenerator < ReportGenerator
def prepare_header
@report << "Txt Report header \n"
end
def prepare_body
@report << "body \n"
end
def prepare_footer
@report << "footer \n"
end
end
class PdfReportGenerator < ReportGenerator
def prepare_header
@report << "Pdf Report header \n"
end
def prepare_body
@report << "some encoded body \n"
end
def prepare_footer
@report << "encoded footer \n"
end
end
txt = TxtReportGenerator.new
pdf = PdfReportGenerator.new
puts txt.output
puts pdf.output
.... There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"] Stderr: 0%... Progress state: NS_ERROR_FAILURE VBoxManage: error: Failed to create the host-only adapterJust do this:
$ sudo /Library/StartupItems/VirtualBox/VirtualBox restartIt will re-create virtual adapters for VB installation.