Update plan generator, speakers: add Josef Tetek

This commit is contained in:
tree 2022-05-15 04:00:34 +02:00
rodič c1950e833b
revize f7b78a11fa
5 změnil soubory, kde provedl 74 přidání a 29 odebrání

Zobrazit soubor

@ -21,6 +21,19 @@
- práce
- finanční nezávislost
- id: btc-vs-altcoiny
type: panel
name: Bitcoin vs. altcoiny [TBD]
speakers:
- josef-tetek
- david-stancel
duration: 85
difficulty: beginner
track: btc
tags:
- Bitcoin
- Ethereum
- id: nft-metaverse-panel
type: panel
name: NFT a Metaverse [TBD]
@ -223,6 +236,8 @@
Aneb příběh o tom, jak jsem mohl být BTC milionář, ale nejsem :)
tags:
- Bitcoin
fixed:
stage: rajska-zahrada
- id: kdyz-byl-bitcoin-jeste-divoky-zapad
type: talk
@ -389,6 +404,8 @@
tags:
- regulace
- daně
fixed:
stage: rajska-zahrada
- id: jan-krypto-zmenilo-zabehle-firemni-struktury
type: talk
@ -901,6 +918,8 @@
- finanční svoboda
- volný trh
- soukromí
after:
- eticky-vekslak
- id: bezpecnost-workshop
type: workshop
@ -1030,8 +1049,6 @@
speakers: [ m0xt, petr-klein, radek-svarz ]
duration: 50
difficulty: beginner
after:
- apus
tags:
- půjčky
- DeFi
@ -1046,7 +1063,7 @@
duration: 50
difficulty: beginner
after:
- uvod-do-near
- uvod-near
tags:
- NEAR
@ -1153,6 +1170,8 @@
- Metaverse
- NFT
- VR
after:
- somnium-space-talk
- id: btc-full-node-workshop
type: workshop
@ -1634,7 +1653,6 @@
track: zaklady
speakers: [ vladimir-pinker ]
duration: 30
difficulty: beginner
tags:
- letectví
@ -1643,11 +1661,18 @@
name: Žijeme bez fiatu
track: zaklady
speakers: [ vladimir-pinker ]
duration: 55
difficulty: beginner
duration: 60
tags:
- finanční nezávislost
- id: students-for-liberty-campfire
type: campfire
name: Students for liberty CZ campfire [TBD]
track: spolecnost
speakers: []
duration: 60
tags: []
# Ostatní
# ==========================

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 32 KiB

Zobrazit soubor

@ -952,3 +952,11 @@
Člen týmu firmy ChainKeepers, spolupracuje na tvorbě lineupu technické sekce brněnského blockchain meetupu.
- id: josef-tetek
name: Josef Tětek
twitter: SatsJoseph
bio: Ekonom s dlouhodobým zájmem o podstatu peněz a bitcoin
orgs: |
Bitcoin ambassador @ [Trezor](https://trezor.io/), přispěvatel do [Bitcoin Magazine](https://bitcoinmagazine.com/)
country: cz
tracks: [ btc ]

Zobrazit soubor

@ -9,41 +9,41 @@
- id: sloupcovy-sal
types: [ talk, lightning-series ]
times:
- '1/09:30-13:00'
- '1/09:30-13:30'
- '1/14:00-19:00'
- '2/10:00-13:00'
- '2/10:00-13:30'
- '2/14:00-18:30'
- id: lustrovy-sal
types: [ talk, panel, lightning-series ]
times:
- '1/09:30-13:00'
- '1/09:30-13:30'
- '1/14:00-19:00'
- '2/10:00-13:00'
- '2/10:00-13:30'
- '2/14:00-18:30'
- id: exit-room
types: [ talk ]
times:
- '1/09:30-13:00'
- '1/09:30-13:30'
- '1/14:00-19:00'
- '2/10:00-13:00'
- '2/10:00-13:30'
- '2/14:00-18:30'
- id: knihovna
types: [ workshop ]
times:
- '1/09:30-13:00'
- '1/09:30-13:30'
- '1/14:00-19:00'
- '2/10:00-13:00'
- '2/10:00-13:30'
- '2/14:00-18:30'
- id: white-workshop-room
types: [ workshop ]
times:
- '1/09:30-13:00'
- '1/09:30-13:30'
- '1/14:00-19:00'
- '2/10:00-13:00'
- '2/10:00-13:30'
- '2/14:00-18:30'
- id: campfire-outdoor

Zobrazit soubor

@ -46,16 +46,16 @@ class UTXOPlanner {
stage.timesFull = stage.times.map((st) => this.parsePeriod(st));
}
for (const ev of this.events) {
const haveAfter = this.events.find((e) =>
e.after === ev.id || e.rightAfter === ev.id
);
ev.priority = haveAfter ? 10 : (ev.after || ev.rightAfter ? 5 : 0);
const haveAfter = this.events.filter((e) => {
return ((e.after && e.after.includes(ev.id)) || e.rightAfter === ev.id)
});
ev.priority = haveAfter.length > 0 ? 10 : (ev.after || ev.rightAfter ? 5 : 0);
if (ev.type === "lightning-series") {
let sarr = [];
for (
const sp of this.eventsAll.filter((e) => e.parent === ev.id).map(
(e) => e.speakers
(e) => e.speakers,
)
) {
sarr = sarr.concat(sp);
@ -149,6 +149,18 @@ class UTXOPlanner {
}
eventSlotValidator(ev, slot, stage) {
// check "after"
if (ev.after) {
for (const tId of ev.after) {
const target = this.schedule.find(si => si.event === tId)
if (!target) {
return false;
}
if (target.period.end.getTime() > slot.start.getTime()) {
return false;
}
}
}
// check "rightAfter"
if (ev.rightAfter) {
const target = this.schedule.find((si) => si.event === ev.rightAfter);
@ -210,19 +222,19 @@ class UTXOPlanner {
const rand = Math.floor(Math.random() * events.length);
const ev = events[rand];
const availStages = this.stages.filter((st) => st.types.includes(ev.type))
.map((s) => s.id);
if (availStages.length === 0) {
if (!this.tries[ev.id]) {
this.tries[ev.id] = 0;
}
this.tries[ev.id]++;
if (this.tries[ev.id] > 30) {
this.events.splice(this.events.indexOf(ev), 1);
this.unscheduled.push(ev.id);
return null;
}
if (!this.tries[ev.id]) {
this.tries[ev.id] = 0;
}
this.tries[ev.id]++;
if (this.tries[ev.id] > 10) {
const availStages = this.stages.filter((st) => st.types.includes(ev.type))
.map((s) => s.id);
if (availStages.length === 0) {
this.events.splice(this.events.indexOf(ev), 1);
this.unscheduled.push(ev.id);
return null;