Skip to content

Instantly share code, notes, and snippets.

View edvardm's full-sized avatar

Edvard Majakari edvardm

  • Rakettitiede Oy
  • Finland
  • 16:11 (UTC +03:00)
View GitHub Profile
@edvardm
edvardm / kertausta.rb
Created August 2, 2016 16:42
kertausta.rb
# muuttujat ja lausekkeet
a = 3 + 4 - 20 / 5 # => 3
b = "ohjelmointi on kivaa" # => "ohjelmointi on kivaa"
(b + a.to_s).upcase
# totuusarvot
jokuarvo = a > 1 # => true, koska a = 3
toinenarvo = a < 0 # => false, ks. yllä
jokuarvo || !toinenarvo # => true (ainakin toinen tosi)
@edvardm
edvardm / lompakko.rb
Created August 1, 2016 17:19
lompakko.rb
# Tee ostoskorilaskuri, joka vähentää ostettavan tuotteen hinnan. Hinta luetaan
# käyttäjältä. Jos lompakossa on ainakin yhtä paljon rahaa kuin hinta (= tuote
# voidaan ostaa) vähennetään hinta, ja jatketaan toistoa. Jos rahat eivät riitä,
# tulostetaan "ei voi ostaa".
# Ohjelma tulostaa aina jäljelläolevat rahat, ja nolla lopettaa silmukan.
# tarvittavat tiedot:
# - while, if
# - break poistuu (sisimmästä) silmukasta
# - print tulostaa merkkijonon ilman rivinvaihtoa
@edvardm
edvardm / peli.rb
Last active August 3, 2016 08:57
sanapeli.rb
# Toiminnallisuus tiiviisti: peli lukee komentoriviltä käytettyjen kirjainten
# määrän. Ohjelma arpoo sen jälkeen näin monta kirjainta. Pelaaja muodostaa
# näistä mahdollisimman monta sanaa syöttämällä joko sanan tai pisteen (.) jos
# ei enää kykene muodostamaan sanoja.
#
# Sana pisteytetään vain, jos se löytyy annetusta sanastosta. Pisteyttämiseen on
# annettu valmiiksi oma funktio. Sanan pitää olla ainakin 2 merkkiä pitkä, jotta
# siitä saa pisteitä.
#
# Kunkin syötteen jälkeen ja lopetettaessa peli kertoo, montako pistettä
@edvardm
edvardm / game.hs
Created December 21, 2015 09:10
game.hs
{-# LANGUAGE RecordWildCards #-}
import qualified Text.Show.Pretty as Pr
data Army = Army { name :: String
, units :: [Unit]
, solos :: [Solo]
, warlocks :: [Warlock]
, warbeasts :: [Warbeast] }
deriving (Eq, Show)
@edvardm
edvardm / ruby-tools-install.sh
Created October 5, 2015 10:56
script to install pry and some other nice tools for Ruby
#!/usr/bin/env bash
#
# Simple script to setup friendly environment for beginning Linux/Mac Ruby users
#
echo "installing pry and awesome_print"
gem install -q --no-ri --no-rdoc \
pry pry-doc pry-coolline awesome_print
# Nifty pry config copied from https://github.com/dotphiles/dotphiles/blob/master/ruby/aprc

Olen miettinyt joskus niinkin hassua ajatusta, kuin että mitä jos me parempiosaiset työntekijät (esim. it-ala, johtotason työntekijät jne) järjestäisimme mielenosoituksen sairaanhoitajien puolesta?

He auttavat oikeasti pelastamaan ihmishenkiä. Miettikää hetki. Ihmishenkiä. Läääri ei pystyisi tekemään kaikkea sitä työtä yksin, ja heitä arvostetaan muutenkin jo kovasti. Se näkyy myös palkassa, jonka ansaitsevat.

Mutta niin ansaitsevat sen arvostuksen sairaanhoitajatkin, ja vaikka ymmärrän, että noin sadalletuhannelle ei voida maksaa huikeita palkkoja, niin en ottaisi heiltä yhtään pois. Mieluummin vähentäisin oman alani palkkoja, kuin heidän.

@edvardm
edvardm / buffer.rb
Last active October 1, 2015 07:59
Simple buffer which accumulates items until buf size is met or max time exceeded since last flush
class Buffer
attr_reader :min_buf_size, :min_buf_interval, :last_flushed
def initialize(min_buf_size = 8, min_buf_interval = 1.0, &block)
@min_buf_size = min_buf_size
@min_buf_interval = min_buf_interval
@buf = []
@last_flushed = now
@block = block
end

Keybase proof

I hereby claim:

  • I am EdvardM on github.
  • I am edvardm (https://keybase.io/edvardm) on keybase.
  • I have a public key whose fingerprint is 5AA0 73C5 C626 3A5E 67B8 7A73 D3BC C094 F03A 6502

To claim this, I am signing this object:

@edvardm
edvardm / gilded_rose.rb
Created March 31, 2015 10:15
Refactored Gilded rose kata, in Ruby
class QualityUpdater
attr_reader :updater, :item
def initialize(item)
@item = item
@updater = ItemUpdater.build(@item)
end
### Main code
def update_cycle
@edvardm
edvardm / maybe.rb
Last active August 29, 2015 14:13
Simple maybe for Ruby
# mimic behaviour of Haskell, idea taken mostly from
# https://github.com/tomstuart/monads/
Maybe = Struct.new(:value) do
# map value to monadic context, unless it's already
def self.unit(value)
value.kind_of?(Maybe) ? value : new(value)
end
# maybes = [nil, 1, 2].map { |i| Maybe.new(i) }