Skip to content

Instantly share code, notes, and snippets.

@jirutka
Last active March 7, 2017 15:34
Show Gist options
  • Save jirutka/1d1ddc5512561e562476fda1ef6864fe to your computer and use it in GitHub Desktop.
Save jirutka/1d1ddc5512561e562476fda1ef6864fe to your computer and use it in GitHub Desktop.
Twitter statistics for #InstallFest 2017

Twitter statistics for #InstallFest in 2017

Includes tweets created between 2017-03-03 and 2017-03-06

  • Number of tweets (excluding RTs): 215

  • Number of likes: 724

  • Number of retweets: 186

  • Number of tweeting users: 76

TOP tweeting users

List of most active users sorted by number of their tweets with hashtag #InstallFest.

Rank User(s) Tweets

1.

@seidl_gabriel

18

2.

@JakubJirutka

16

3.

@InstallFest_SH, @krcmar

12

4.

@Oskar456

8

5.

@ExoSpace_cz, @hroncok, @polasek_petr

7

6.

@pdostal_cz, @tomkukral, @vondrak_m

5

7.

@active24cz, @bastlirna, @davidkarban, @turris_cz, @wentasah

4

TOP liked tweets

Rank Tweet(s) Likes

1.

@Oskar456: Letošní #InstallFest se myslím velmi povedl. Díky především @PetrHodac @Silicon_Hill @AVC_SH. Jste nejlepší!

27

2.

@krcmar: Když se během přednášky kouknete na chvíli jinam. @jiripavelka na @InstallFest_SH #installfest https://t.co/VmarPJQy0u

24

3.

@stepanb: Základ na kuřecí tikka masala pro #installfest je skoro hotov. 7 kg zeleniny, 0.5 kg koření a 6 hodin práce. https://t.co/ClpaHrJVvG

23

4.

@stepanb: Kurz @prakul_cz + 7 kg zeleniny + 3 kg masa + 1 kg koření + 1 l jogurtu + 3 l smetany + 3 kg rýže = 60 x kuře tikka masala na #installfest

19

5.

@Sesivany: Myself with @endlessglobal PCs talking on #endlessos at #installfest in #Prague. https://t.co/um1YueW0J9

18

6.

@maja_dvorak: Když člověk potřebuje stůl a @PetrHodac má server navíc…​ #installfest https://t.co/qm5sapfQrM

@FIT_CTU: BAŘINKA! Dnes na @InstallFest_SH vznikl fanklub @flash_sh z #fitcvut. Přidáte se? #installfest #fanklubLB @Rootcz… https://t.co/VocmyxyhX9

@JakubJirutka: Bizár level 4000…​ #InstallFest https://t.co/MFWif4ARTR

@JakubJirutka: @Oskar456: Když je vám nejhůř, tak si představte, že Alza a XXXLutz provedli fúzi a udělali společnou reklamu. #InstallFest

@polasek_petr: I pro @Microsoft se na #installfest našlo místo. https://t.co/oXTtNRopt3

17

7.

@PetrHodac: Vstavat! #installfest

15

TOP retweeted tweets

Rank Tweet(s) Retweets

1.

@JakubJirutka: @Oskar456: Když je vám nejhůř, tak si představte, že Alza a XXXLutz provedli fúzi a udělali společnou reklamu. #InstallFest

11

2.

@Oskar456: Letošní #InstallFest se myslím velmi povedl. Díky především @PetrHodac @Silicon_Hill @AVC_SH. Jste nejlepší!

7

3.

@AdolfValasek: Zpátky do 90. let! Aneb ochudili jsme 3D tisk o jednu osu. #installfest #plotter #Minsk16 https://t.co/1NKS7wHBBN

6

4.

@InstallFest_SH: Jak na #installfest ? https://t.co/e7tl7KBO8a

@stepanb: Kurz @prakul_cz + 7 kg zeleniny + 3 kg masa + 1 kg koření + 1 l jogurtu + 3 l smetany + 3 kg rýže = 60 x kuře tikka masala na #installfest

@krcmar: Když se během přednášky kouknete na chvíli jinam. @jiripavelka na @InstallFest_SH #installfest https://t.co/VmarPJQy0u

@Sesivany: Myself with @endlessglobal PCs talking on #endlessos at #installfest in #Prague. https://t.co/um1YueW0J9

@JakubJirutka: Bizár level 4000…​ #InstallFest https://t.co/MFWif4ARTR

5

5.

@InstallFest_SH: Nálepky jsou tu! #installfest https://t.co/1JtKigjLlZ

@PetrHodac: Vstavat! #installfest

@Oskar456: „Používat bash v režimu POSIX je jako ustřelit si nohy a pak běžet maraton˝ - @flash_sh na #InstallFest

@orangesunny_cz: Povídání o #TurrisOmnia již za necelou hodinu v rámci #InstallFest Track III. Těším se na Vás! https://t.co/zp4KgttzUY

@JakubJirutka: Uh, on se teď přiznal, že zprvu nepochopil jak funguje modulo… a implementuje vlastní šifrovací algoritmus… #InstallFest

@PavelSnajdr: Kdyz clen @vpsfree_cz potrebuje na chvili odlozit 16TB dat z domaciho Merkur powered NASu #InstallFest #afterparty https://t.co/rxfrXzEos1

4

Previous years


Generated on 2017-03-07 16:23:37 +0100.

Archive of tweets with #InstallFest in 2017

Includes tweets created between 2017-03-03 and 2017-03-06

@4f766365

@AVC_SH

@AdamZoko

@AdolfValasek

@ExoSpace_cz

  • Sat 12:41: #LinuxMarket na konferenci #InstallFest 2017, letos poprvé s #EET. _#babi_š

  • Sat 17:11: Pár obrázků z prvního dne konference #Installfest.

  • Sat 19:30: První den konference #InstallFest máme zdárně za sebou. Těšíme se na vás i v neděli. #ExoSpace a #LinuxMarket. https://t.co/j9BHTix0KC

  • Sun 9:57: Je tu další den konference #InstallFest a i dnes je tu #LinuxMarket a #ExoSpace.cz, i dnes pod přísným dohledem soudruha _#Bure_še :)

  • Sun 11:02: #EET podle #LinuxMarket na #InstallFest; #RaspberryPi připevněný izolepou na staré tiskárně. To jinde neuvidíte :D https://t.co/9PRCA97uQh

  • Sun 11:33: Jsme na fotce i na root.cz. Přijďte se k námpodívat a vyberte si něco v #LinuxMarket na konferenci #InstallFest. https://t.co/byutMkyx1n

  • Sun 14:16: Nenadálá příšera zjevila se z hloubi tmy… #installfest #opensuse #exospace https://t.co/Jjy9AKYymx

@FIT_CTU

@Fjuodorf

@Had_CB

  • Sat 17:15: Tak dlouho jsem odkládal sepsání pojednání o ergonomii a vlivu rozložení klávesnic na výkon, až ho Jiří Pavelka přednesl na #installfest

@HalisCz

@Honza_Bednar

@InstallFest_SH

@JakRub

@JakubJirutka

  • Sat 13:40: Tahle přednáška začíná (a i tak pokračuje) zajímavě. :) #InstallFest https://t.co/TdeEuZDV5E

  • Sat 15:38: @verosk na #InstallFest https://t.co/JyEby8ovdI

  • Sat 15:39: @verosk na #InstallFest https://t.co/ff7Q6ORAVP

  • Sat 15:47: @verosk: Když je něco v grafu, tak je to určitě pravda. :) #InstallFest

  • Sat 16:01: A už začíná Pavel Tišnovský přednášku o Rustu! #rustlang #InstallFest

  • Sun 12:14: Nenechte si ujít přednášku o @AlpineLinux od @krcmar, od 15.30! Kdo by se chtěl zeptat na cokoli okolo Alpine, odchytněte si mě #InstallFest

  • Sun 13:20: Bizár level 4000…​ #InstallFest https://t.co/MFWif4ARTR

  • Sun 13:33: V tracku 1 už jsme 3 minuty po limitu, může prosím někdo z moderátorů zasáhnout dřív, než nám všechny návštěvníky otráví…? #installfest

  • Sun 13:36: @paulosv Aha, pardon, jsem se v programu přehlédl. Už mám z toho rudé oči no… #InstallFest

  • Sun 13:39: Uh, on se teď přiznal, že zprvu nepochopil jak funguje modulo… a implementuje vlastní šifrovací algoritmus… #InstallFest

  • Sun 13:41: Ok, na tohle vážně nemám, musím to jít vydejchat ven na vzduch. #bizar v tracku 1 #InstallFest

  • Sun 14:23: Za 7 minut začne Petr @Krcmar v tracku 1 mluvit o #AlpineLinux! #InstallFest

  • Sun 14:27: @jakrub No, vidím, proč se předbíhá program? Včera se mi taky dvakrát stalo, že jsem přišel včas a přednáška u běžela. @krcmar #InstallFest

  • Sun 14:40: @jakrub Já jsem vykecával na chodbě, ale jiní třeba byli v tracku 2… @krcmar #InstallFest

  • Sun 15:35: @Oskar456: Když je vám nejhůř, tak si představte, že Alza a XXXLutz provedli fúzi a udělali společnou reklamu. #InstallFest

  • Sun 15:53: @Oskar456 názorně předvedl, jak (mu) na Google hapruje 2FA ověření pomocí Yubikey. Kdyby si to napsal sám… ale to modulo… :) #InstallFest

@JakubPlesnik

@JancickaJ

@LinuxEXPRES

  • Sat 10:08: Jsme na konferenci #InstallFest, probíhá přednáška o _#s_íťování v Linuxu

  • Sun 9:46: @Sesivany na konferenci #installfest přednáší o zajímavém systému #EndlessOS

@MichalProrok

@MozillaCZ

  • Sat 8:53: Zajímá vás @rustlang? Přijďte dneska v 17 hodin na #installfest, kde jej představí Pavel Tišnovský

@Oskar456

@PaulosV

@PavelSnajdr

@PetrHodac

@RadovanIgliar

@Rootcz

@SOITsk

  • Sat 10:13: Pavel Tišnovský o Assembleri v Linuxe #InstallFest

@Sesivany

@Sukovec

  • Sat 0:37: Zítra ráno otvírám Track III na #installfest kecama o zvuku a především světlech v Linuxu. Vhodné pro brzovstávající muzikanty :)

  • Sun 19:49: Přednášíš-li o vztahu hranostajů k české gastronomii 18. století, tak to nevadí. Pokud o šifrování, měl bys vědět co je modulo. #installfest

  • Sun 19:53: Jinak teda #installfest u konce a vlastně mě i trošku mrzí, že moje přednáška nakonec, i přes výpadek mysli uprostřed, nebyla ta nejhorší :D

@TomasHlavon

@VojtaMyslivec

@Wajda_CZ

  • Sun 13:44: už to končí ? pls #installfest

@l_d_j

@active24cz

@bastlirna

@bejzz

@chiptronCZ

  • Sat 11:35: Výborná přednáška o #OrangePi od Petra Stehlíka na #installfest Několik článků o #OrangePiZero boot, I2C, SPI, WiFi https://t.co/cbxIY6hax1

@darnel_cz

@davidkarban

  • Sat 6:42: Chcete se dozvědět něco o #serverless ? Dnes od 16:00 na #InstallFest. Těším se na vás :).

  • Sat 18:54: Po. Na #InstallFest vyhládlo, je čas se najíst :). https://t.co/O8MWAqjuaV

  • Sun 13:26: Wtf? #InstallFest track 1.

  • Sun 13:47: Schneier Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can’t break.#installfest

@elSnupator

@fang_cz

@flash_sh

@geckon

  • Sat 10:30: "To je nějakých 120 mikrosekund na zpracování jednoho paketu, což je dost času. To si stihnete dojít i na kafe." M. Kubeček na #InstallFest

  • Sat 15:45: "Existuje i v Praze vopruz nebo je to jen brněnská záležitost?" @verosk na #installfest

@h00ked

@horcicaa

@hroncok

@j_uhlik

@jhrcz

@joysfera

  • Sat 10:48: Ve dvanáct ukážu na #installfest moje pomeranče :-) #orangepi

@kaja47

  • Sat 16:01: Na #installfest jsem šel hlavně proto, abych mohl zase sedět v přednáškovém sále na FELu a zase nedával pozor.

@karel_koci

  • Sat 13:06: Přednáším od 14:35 své 3 problémy na #installfest. A za otázky rozdávám slevy na #TurrisOmnia!

  • Sat 15:37: Pro dnešek opouštím #installfest. Pokud máte nějaké otázky na @turris_cz, tak dorazí @orangesunny_cz a také bude odměňovat slevovými poukazy

  • Sun 9:48: Od 11:00 v WS1 @turris_cz #TurrisOmnia na #installfest. Přijďte si Omnii osahat!

@karoldanko

@kecalcze

  • Sun 13:50: jestli takhle vypadá předávkování GNU…​ Track 1 #installfest

@kotheram

@krcmar

@krivochcalek

  • Sun 10:55: Turris omnia. Jediný router na světě, jehož ledky umí svítit černou barvou. #installfest

  • Sun 15:19: #installfest zkuste ansiblem provision windowsí mašiny a dejte @davidkarban vědět, co vše to obnáší

  • Sun 15:53: #installfest kde najdu tu anketu??

@latraxa

@linuxmarketcz

  • Sat 10:11: Na konferenci #InstallFest máme #EET na #RaspberryPi

  • Sun 9:16: Druhý den konference #InstallFest a jsme opět na místě (pod schody). Přijďte se podívat na tučňáky, trička, knihy atd.

@maggie_yorke

@maja_dvorak

@n1djz88

@najsfoks

@orangesunny_cz

  • Sat 16:04: Povídání o #TurrisOmnia již za necelou hodinu v rámci #InstallFest Track III. Těším se na Vás! https://t.co/zp4KgttzUY

  • Sat 18:23: Bylo moc hezké přednášet na FEL ČVUT! Díky @InstallFest_SH za organizaci a návštěvníkům za hojnou účast! Zítra zase na viděnou #InstallFest

  • Sat 18:43: Za chvilku hurá na #InstallFest afterparty! Povídat nejen o #TurrisOmnia. Ale nebojte, kupony mám stále s sebou ;)

@pdostal_cz

  • Sat 7:20: Kluci z @bastlirna připravují na #Installfest​u snídani @ FEL Karlovo Náměstí budova E (CVUT FEL… https://t.co/QQZchtzK1M

  • Sat 15:35: A tady @AVC_SH v akci na #Installfest​u :) @ FEL Karlovo Náměstí budova E (CVUT FEL KN-E) https://t.co/gZeUDB37Q6

  • Sat 16:55: Jestli se chcete dozvědět jak funguje Docker, Prometheus nebo Grafana a jste na #Installfest​u tak za 10 minut track 2 :)

  • Sun 10:46: @tomkukral od jedné hodiny tu bude key signing party! Přijďte, fingerprinty Vám @bastlirna vytiskne :) #InstallFest

  • Sun 11:11: PGP Key Signing Party ve 13:00 - sraz u stánku s club maté #InstallFest #PGP #KSP

@petulko

@polasek_petr

@seidl_gabriel

@smejdil

  • Sat 9:47: Firewall @pfsense on Czech conference #InstallFest 2017 at 4:00 pm.

  • Sat 20:09: Děkuji za možnost se podělit o zkušenosti s #pfSense na dobře zorganizovaném @InstallFest_SH #InstallFest chtělo to jen více času.

@stepanb

  • Sat 19:36: Základ na kuřecí tikka masala pro #installfest je skoro hotov. 7 kg zeleniny, 0.5 kg koření a 6 hodin práce. https://t.co/ClpaHrJVvG

  • Sun 8:32: Kurz @prakul_cz + 7 kg zeleniny + 3 kg masa + 1 kg koření + 1 l jogurtu + 3 l smetany + 3 kg rýže = 60 x kuře tikka masala na #installfest

  • Sun 12:36: Zbývá 8 porcí kuře říkala masala, již bez rýže. Najdete nás v 1. patře. Jděte za nosem. #installfest

@studyatctu

@tomcejka

@tomkukral

@turris_cz

  • Sat 11:47: Na #InstallFest je náš @karel_koci a v kapse má slevy na #TurrisOmnia! Za dobrou otázku je Vaše. Samolepky, otvíráky a placky již brzy!

  • Sat 15:52: Kdo na #InstallFest položí @orangesunny_cz otázku, získá slevu na #TurrisOmnia. Otvíráky, placky a samolepky i na r… https://t.co/DS2hdAmtB6

  • Sat 18:13: První den #InstallFest je za námi, stejně tak přednáška @orangesunny_cz o #TurrisOmnia. Děkujeme za hojnou účast a těšíme se zítra #workshop

  • Sun 9:46: Začal nám druhý den #InstallFest a za 15 minut začne i workshop #TurrisOmnia s @ImiskaI Těšíme se na Vás!

@verosk

  • Sun 9:53: Sleduju @tbedrich na #installfest a zjišťuji, že Python click rozhodně chci! Toto využití dekorátorů je rozhodně povedené. #pythonClick

@vimpivo

@vondrak_m

@vpsfree_cz

@wentasah

  • Sun 12:27: Kdo si chce zahackovat (i vzdáleně) na embedded boardu s Linuxem, sledujte od 14h Pavla Píšu. Kdo to hackne první? #installfest

  • Sun 12:59: Hackeři už se scházejí na track II #installfest. Pár informací k hackování na https://t.co/R6KOOuhMrS. IP adresa až za chvíli…​

  • Sun 13:01: Hackujte na: ssh -p 2222 roothttps://twitter.com/147[@147].32.87.251, heslo B35APO #installfest

  • Sun 13:13: Pavla Píšu se momentálně snaží hackovat 15 lidí. #installfest


Generated on 2017-03-07 16:23:37 +0100.

#!/usr/bin/env ruby
#
# Quick & dirty script to generate some Twitter statistics for events.
#
# Usage:
# 1. gem install twitter
# 2. Register your “app” on https://apps.twitter.com/apps and set OAuth
# credentials here.
# 3. Profit!
#
# License:
# Creative Commons CC-Zero This file is made available under the Creative
# Commons CC0 1.0 Universal Public Domain Dedication.
# https://creativecommons.org/publicdomain/zero/1.0/deed.en
#
# Author: Jakub Jirutka
# Version: 2017-03-07
require 'ostruct'
require 'twitter'
require 'yaml'
######## Configuration ########
HASHTAGS = ['#InstallFest']
DATE_FROM = '2017-03-03'
DATE_TO = '2017-03-06'
USERS_LIST_LIMIT = 7
FAVORITES_LIST_LIMIT = 7
RETWEETS_LIST_LIMIT = 5
CACHE_FILE = 'data.yml'
client = Twitter::REST::Client.new do |config|
config.consumer_key = 'YOUR_CONSUMER_KEY'
config.consumer_secret = 'YOUR_CONSUMER_SECRET'
config.access_token = 'YOUR_ACCESS_TOKEN'
config.access_token_secret = 'YOUR_ACCESS_SECRET'
end
year = DATE_FROM.split('-').first
######## Functions ########
def top_tweets_by(field, tweets)
tweets.lazy
.group_by { |tw| tw.public_send(field) }
.sort.reverse
.map { |count, tweets| [count, tweets.sort_by(&:created_at)] }
end
def top_users_by_tweets_count(tweets)
tweets.lazy
.group_by(&:user)
.map { |user, tweets| [user, tweets.count] }
.group_by(&:last) # group by number of tweets
.sort.reverse
.map { |count, tuples| [count, tuples.map(&:first)] } # extract users as value of the entry
.map { |count, users| [count, users.sort_by(&:screen_name)] }
end
def title(level, text)
puts "\n\n#{'=' * level} #{text}\n\n"
end
def table(headers, data, &block)
lines = ['|===', '| ' + headers.join(' | '), '']
data.each_with_index do |item, idx|
(yield item, idx + 1).each do |col|
lines << "| #{col}"
end
lines << ''
end
lines << '|===' << ''
puts lines.join("\n")
end
def format_tweet_text(text)
text.gsub(/@(\w+)/, 'https://twitter.com/\1[@\1]')
.gsub(/(#\w+)/, '_\1_')
.gsub(/^\./, '')
end
def format_date(date)
date.strftime('%a %k:%M').squeeze(' ')
end
format_user = ->(user) { "#{user.uri}[@#{user.screen_name}]" }
format_tweet = ->(tweet) { "@#{tweet.user.screen_name}: #{tweet.uri}[#{tweet.text}]" }
######## Main ########
tweets =
if File.exist? CACHE_FILE
YAML.load(File.read(CACHE_FILE))
else
client.search("#{HASHTAGS.join(' OR ')} since:#{DATE_FROM} until:#{DATE_TO}", result_type: :all)
.reject(&:retweet?)
.tap { |tweets| File.write(CACHE_FILE, YAML.dump(tweets)) }
end
users = tweets.map(&:user).uniq
favourites_count = tweets.map(&:favorite_count).reduce(:+)
retweets_count = tweets.map(&:retweet_count).reduce(:+)
top_users = top_users_by_tweets_count(tweets).take(USERS_LIST_LIMIT)
top_favorites = top_tweets_by(:favorite_count, tweets).take(FAVORITES_LIST_LIMIT)
top_retweets = top_tweets_by(:retweet_count, tweets).take(RETWEETS_LIST_LIMIT)
# Print report in AsciiDoc
title 1, "Twitter statistics for #{HASHTAGS.join(' and ')} in #{year}"
puts "_Includes tweets created between #{DATE_FROM} and #{DATE_TO}_\n\n"
puts "* Number of tweets (excluding RTs): #{tweets.count}"
puts "* Number of likes: #{favourites_count}"
puts "* Number of retweets: #{retweets_count}"
puts "* Number of tweeting users: #{users.count}"
title 2, 'TOP tweeting users'
puts "List of most active users sorted by number of their tweets with hashtag #{HASHTAGS.join(' or ')}.\n\n"
table ['Rank', 'User(s)', 'Tweets'], top_users do |(count, users), idx|
["#{idx}.", users.map(&format_user).join(', '), count]
end
title 2, 'TOP liked tweets'
table ['Rank', 'Tweet(s)', 'Likes'], top_favorites do |(count, tweets), idx|
["#{idx}.", tweets.map(&format_tweet).join("\n\n"), count]
end
title 2, 'TOP retweeted tweets'
table ['Rank', 'Tweet(s)', 'Retweets'], top_retweets do |(count, tweets), idx|
["#{idx}.", tweets.map(&format_tweet).join("\n\n"), count]
end
puts "\n\n''''"
puts "_Generated on #{Time.now}._"
title 1, "Archive of tweets with #{HASHTAGS.join(' and ')} in #{year}"
puts "_Includes tweets created between #{DATE_FROM} and #{DATE_TO}_\n\n"
tweets.sort_by { |tw| [tw.user.screen_name, tw.created_at] }.group_by(&:user).each do |user, tweets|
title 2, "@#{user.screen_name}"
tweets.each do |tweet|
puts "* #{tweet.uri}[#{format_date(tweet.created_at)}]: #{format_tweet_text(tweet.text)}"
end
end
puts "\n\n''''"
puts "_Generated on #{Time.now}._"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment