Skip to content

Instantly share code, notes, and snippets.

@svoboda-jan
svoboda-jan / dice_betting_game_js_int.rb
Created January 18, 2025 20:53
A dice betting game using Opal Ruby to Javascript source-to-source compiler with JS interaction
# Dice Betting Game, https://opalrb.com/try/
require "native"
bank = 100;
while bank > 0 do
bet = $$.prompt("Place your bet").to_i
dice1 = (rand * 6).ceil
dice2 = (rand * 6).ceil
outcome = dice1 == dice2
@svoboda-jan
svoboda-jan / calendar3.rb
Created January 18, 2025 20:48
Console calendar in Opal
# https://opalrb.com/try/
# Console Calendar
DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
CURRENT_DAY_HIGHLIGHTER = " ✅"
HIGHLIGHT_CURRENT_DAY = true
def days_in_month(month)
return 29 if Time.now.month == 2
DAYS_IN_MONTH[month]
@svoboda-jan
svoboda-jan / unix_timestamp.rb
Created December 20, 2024 02:52
Generate an Unix timestamp in Ruby
# Generate an Unix timestamp in Ruby
# If you don't want to use:
Time.now.strftime("%s")
# or
Time.now.to_i
# Then you can also alias the to_i method:
Time.alias_method :unix_timestamp, :to_i
@svoboda-jan
svoboda-jan / dice_betting_game.rb
Created November 3, 2024 19:50
A dice betting game using Opal Ruby to Javascript source-to-source compiler
# Dice Betting Game, https://opalrb.com/try/
bank = 100;
while bank > 0 do
bet = `prompt("Place your bet")`.to_i
dice1 = (rand * 6).ceil
dice2 = (rand * 6).ceil
outcome = dice1 == dice2
bank += bet if outcome
bank -= bet unless outcome
puts "Numbers are: #{dice1} #{dice2}"
@svoboda-jan
svoboda-jan / calendar2.rb
Last active January 18, 2025 12:58
Example code for a console calendar in Ruby
# Console Calendar
DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
IS_LEAP_YEAR = Time.now.year % 400 == 0 || (
Time.now.year % 4 == 0 && Time.now.year % 100 != 0
)
HIGHLIGHT_CURRENT_DAY = true
def days_in_month(month)
return 29 if Time.now.month == 2
@svoboda-jan
svoboda-jan / print.html
Created October 27, 2024 13:03
Print command for JavaScript
<script>
// Creates a Print function as an alias for console.log
// Usage Print("Hello World");
function Print(v) { console.log(v); return v };
</script>
@svoboda-jan
svoboda-jan / czech_name_days.rb
Created October 3, 2024 18:34
Current Czech Name Day
# Current Czech Name Day
require "base64"
name = ""; name_next = ""
Base64.decode64(DATA.read).each_line do |line|
name_day = line.split(" ", 3)
if name_day[0].to_i == Time.now.month && Time.now.day == name_day[1].to_i
name = name_day[2].strip
name = name[1..-1] if name.start_with? "|"
require "socket"
class Pt32
class Status
attr_reader :temperature, :program, :boiler_on
def initialize(temperature, program, boiler_on)
@temperature, @program, @boiler_on = temperature, program, boiler_on
end
end
@svoboda-jan
svoboda-jan / curl.md
Created June 20, 2024 06:18 — forked from subfuzion/curl.md
curl POST examples

Common Options

-#, --progress-bar Make curl display a simple progress bar instead of the more informational standard meter.

-b, --cookie <name=data> Supply cookie with request. If no =, then specifies the cookie file to use (see -c).

-c, --cookie-jar <file name> File to save response cookies to.

@svoboda-jan
svoboda-jan / smstools-eventhandler.sh
Created June 9, 2024 10:56 — forked from x-magic/smstools-eventhandler.sh
SMS Server Tools 3 event handler script (mainly used for converting messages to UTF-8 encoding, for example, those messages with CJK characters included)
#!/bin/bash
#
# This script processes events from smsd.
# It mainly will converts SMS encoded with UCS2 encoding to UTF-8 format expected by many other applications.
# To use it, edit your /etc/smsd.conf and add the following line:
#
# eventhandler = /path/to/smstools-eventhandler.sh
#
# When a new message is received in /var/spool/incoming/, message files with following header line will be converted:
#