lördag 30 juni 2012

Euler 4

def palindrome(n1,n2)
  best = 0
  n2.downto(n1) do |i|
    n2.downto(i) do |j|
      if i*j > best then
        s = (i*j).to_s
        best = i*j if s == s.reverse
      end
    end
  end
  best
end

def assert(expect, actual)
  puts "#{expect} != #{actual}" if expect != actual
end

start = Time.now
assert 9009, palindrome(10,99)
assert 906609, palindrome(100,999)
puts Time.now-start
30 ms.

söndag 12 februari 2012

Sned könsfördelning inom open-source

Kraven på att kvinnor kvoteras in på de högsta nivåerna i samhället hörs högre och högre. Detta är oerhört tragiskt, enär alla kvinnor som återfinns på dessa nivåer kommer att misstänkliggöras för att inte ha kommit dit för egen maskin.

Som alla andra pyramider i världshistorien byggs de starkaste strukturerna underifrån. Genom att hoppa över ett antal nivåer kommer dessa kvinnor att sakna stora erfarenhetsblock och därför göra misstag som kommer att slå tillbaka utvecklingen mot det jämställda samhället, tyvärr.

Här är lite statistik från några open-source projekt. Det handlar om de personer som bidragit till källkoden.

Ruby        188 personer varav 1 (transperson)
MongoDB      58 personer varav 1 (hetero kvinna)
Sinatra     131 personer varav 0 kvinnor
Haml         84 personer varav 0 kvinnor
Coffeescript 69 personer varav 1 kvinna


Som synes är det bara två kvinnor som deltagit i dessa projekt med totalt 540 deltagare. Ska bli mycket intressant att se hur feministerna tänker kvotera dessa frivilliga sammanslutningar. Om man synar vad de få kvinnorna bidrager med är det ytterst sällan programmering. Det handlar oftast om läroböcker, hjälpsidor, manualer eller releasehantering.