3,211,411 events, 1,552,804 push events, 2,383,912 commit messages, 185,310,099 characters
Update README.md
UVOD
Týmto chcem, aby ste knihe našli všetko, čo tu hľadať budete samozrejme, že tu nájdete aj zle veci, ktoré, ale, aj to dobré, čo sa mi živote prihodilo každý z nás zažil smútok plač alebo radosť a smiech tuto knihu som sa rozhodol napísať s dôvodu, aby moje priezvisko bolo ešte počuť v mojej rodine a moji synovci Peter a Ivan, aby na svojho strýka aby som nezabudol môjho ocina, ktorý ma opustil v roku 2012, ktorý bol, aj štart nového začiatku a vydať sa, cestou ktorou ma, aj smeroval a navigoval každopádne Ďakujem každému členovi z rodiny, aj kamarátom, ktorí ma neustále motivujú nezdavať sa a žiť svoj a dostať na samotný vrchol v tejto knihe sa dozviete môj život, ako prebehal prajem vám príjemné ničím rušene čítanie. JONNY
- Kapitola Kdo som a aby som sa vám trochu predstavil z budúcnosti
Zdravím tak, aby sme malí v tom jasno momentálnych mám 26 rokov je 25.12.2020
pracujem žijem s maminou jednej domácnosti v Nitre volám sa Matej Palkvoič,
čo ste aj vyčítali z autora knihy tento rok vám nechcem moc rozpisovať a chcem, aby ste
si knihu pečlivo v kľude prečítali, aby som vám to všetko nekazil tak už to nebudem dlho
napínať a, aby ste dostali kľudnému čítaniu
POĎME NA TO
1.Kapitola
Rok 2012 jak to všetko začalo
1.1.2012 začínal pekne všade bol snéch pekná zima čo mam najradšej mal som vtedy 17 rokov aj keď v škole sa mí nikdy nedarilo tak som sa snažil učiť čo to šlo večinou som sa poflakoval s chalnmí dediny bol som v tom čase ešte miništrant tak asi viete kde moje cesty viedlí každu nedelu ano spravne do kostola ale aj som bol dosť neposlušny som dostal pubertu druhu ale povec me si uprimne každy z nás ma pubertu skôr či neskôr tak s mojou najlepšou kamoškou Kikou sme chodily kade tade po opustenich budovach pili sme ano boli sme mladistvy prespavali sme jeden u druheto ale bol som dosť do nej zamilovany ale ona ma tak či tak nechcela tak sme malí svoj pekný vzťah kamarád taky rad to asi nemusím vysvetlovať čo to všetko obnašalo. Bolo to pekne len stoho nemohlo byť nič viac nič menej. PS. podotykam tento rok trochu viac preletím 1.2.2012 tak sme si uživali počuvalí sme si pesničky od skupiny Nightwish, Within tempation ktore bolí našímy srdcovkami keď že som bol ten chalan čo sa rapu vyhibal nemusel som taky druh žaneru počuvať.tak som sa snažíl 14.2.2.2012 jej viznať svoje citi ako ju lubím no čo myslite ako som prešiel neuspel som žralo ma to ale s neuspechu som si vždy vyhladaval ako na to a čo preto spraviť a ano nevedel som baliť baby čo už. 1.3.2012 Blížilo sa pomaly ale isto koniec školskeho roku a moje znamky moc neukazovali že by som prešiel do dalšieho ročnika tak som sedel pri knihach a zošitoch ale aj tak do mňa neišlo keď že som mal problem s učením a strách že prepadnem ešte večší. 1.4.2012 April bol taký pekný moja mamina aj s ocinom a s najlepšou kamoškou malí narodeniny tak polovici aprila sme postavily našu terasu ktoru sme spoločne ako rodína aj moja najlepšia kamoška postavily a sme to aj oslavily vitaznou grilovačkou kde sme sa neskutočne pobavily a v ten mesiac sa my podarilo aj neskutočne s naj kamaratkou trouch viac z bližiť bolo to pekne som myslel v ten mesiac že som najštastnieší človek sveta.
1.5.2012 už tu je koniec školskeho roku a ja som stale prepadal tak som stale sa učiťl chodil po vonku až na pokom zaznelo spravaách že 12.12.2012 sa bliží koniec sveta mi s naj kamoškou sme uživali každy jeden moment čo sa dal a ja som sa dal do reči s jednym pekným chalanom Kika bolo polosmiechu či sa my nebodaj pačí a ja som odpovedal ano pači. PS. V tejto chivily som začinal počinať s tým že sa mi asi pačia chalaní tak aj tomu bolo a bol som Bisexual 1.6..2012 Kamoška ta nás chcela dala dať dokopy ale on ani ja sme sa nechceli aj keď došlo par bozkom ale bolo take nepoznane až jeden deň 12.6..2012 spoločne s týmto chalanom sme spoločne opily ja som sa zmieril že som prepadol stanovali sme našej dedinke pilí sme vino a počuvali skladbu nedvedovci Banska Bystrica spivali sme si to a popijali vinko červene až začal refren chitil ma za hlavu a povedal tieto pekne slovka ktoré si stale pametam. MAŤO JA VIEM ŽE TO JE MOŽNO OSUD MOŽNO NAHODA ALE MILUJEM ŤA. Tieto a dalšie pekne slova čo mi povedal boli neskutočne romnaticke tak som sa rozplakal ako male dieťa a začala pekna noc spoločna a ničim nerušena a tento večer mam tak zapisaní že nik mi nedostane z hlavy. 1.7.2012 bližili sa moje 18 narodeniny ktoré som sa neskutočne tešíl keď ich oslavim s mojou polovičkou a s naj kamartkou aj s mojou rodinou už sa naší zmierily stym že som prepadol a budem na komisialnich skuškach len haček bol v tom že nikdo nevedel iba moja najlepšia kamošaka že mam priateľa a u nás na terase som sa neskutočne musel držať aby som ho nepobozkal. 1.8..2012 po peknej noci by bolo a s naj kamoška dostala napad nevíspime sa spolu tak aj došlo a moja polovička si to moc neuživala a vicitila že kedy si som miloval ju tak s pekneho vztahu sa dostalo k rozchodu a začalo to najhoršie prepadol som do 2 ročnika na strednej kamoška ta ma snažila udržat aby som sa nezrutil potom nám s nemocnici oznamily že ocino není v tom najlepšom stave a som si myslel že sa rutí cely život nechcel som byť s nikím nikoho som nechcel vidieť až ma to nakoniec prešlo a začinal som nový život.
1.9.2012 Začal som sledovať rozpravky anime a sledovať ešport čo ma už 2 roky bavilo a neskutočne naplnalo kamoška ta ma chodievala naštevovať najhošich časoch mojich a začalo opeť kamaradstvo s vyhodama lebo obaja sme malí nedostatok sexu nebudeme si klamať. 1.10.2012 Začali sme sa s kamoškou bať koniec sveta ktorý mal nastať už o dva mesiace rozmišalli sme kde budeme a čo budeme robiť ocinovi sa zlepšovať stav čo ma neskutočne potešilo a chcel ale to že o 2 mesice bude koniec sme si ani jeden nedokazali predstaviť. 1.11.2012 A začal ten najhorší scenár čo sa mohol diať ocino je opäť nemocnici a my s najkamošou sme objavily skupinu HIM začinali sme si ju vyspevovať konkretnu skladbu baby join me in death. Čo bola neskutočne smutná a striedalí sme sa slohe po slohe ale potom došiel osudoví deň 11.11.212 v ten deň ocina zobrala sanitka ja som najlepšiu kamošku poslal domov že chcem byť sam a potom som upadol do hlbokeho spanku a musel som stavať do školy ak sa mi snivalo ako vídim svojho ocinka svoje najkrajšie spomienky čo som s ocinom zažil na cestach po Českej repubike v Taliansku a mnohých krajnach a na konci my povedal ocino dve veti nikdy nestracaj smer ktorým sa vidaš a smeruj vždy svojmu cielu lubim ťa a daj pozor na rodinu lubte a vždy budže spolu. Preto som si zaril do pamätí a mam v srdcí kompas a ktory si chcem aj nasledne vytetovať ako na pamiatku svojho milovaneho ocina ktoré každy miloval zomrel 12.11.2012.vo veku 49 rokov na zvečenie srdca ktoré malo 4.2. kg ktoré bežne ma 250g až 300g a toto lekarí zabduli od sledovať. 1.12.2012 Už sa to blíži koniec sveta necele dvá týždne a ja sa začínam modliť či je to ozaj koniec sveta taky aký ho poznáme 10.12.2012 som išiel tej tuhej zime minul posledne drobné aby som išiel za polovičkou ale polovička už mala niekoho iného tak mi pred dverámi zavrel dvere. Tak som sa rozhodol že kašlem na to tak som išiel domov Mamini som sa pytaľ či je to fakt koniec ona s kludom ukludnovala. A došiel deň osudoví deň 12.12.2012 a 12:00 hodina ale necitíl som už koniec ani nič tak som si povedal že idem od nového roka začnem.
NOVY ŽIVOT NOVA KAPITOLA ŽIVOTA
2.Kapitola 2013 Nový život nova kapitola života 1.5.2013 som hladaľ 4 mesiace kde čo budem tak som začal kuzliiť s kartami a robiť rôzne triky bavilo ma to ale stale som sa nevedíl zmieriť zo strateneho vzťahu s polovičkou tak som neustale počuval. Bacila Zachraň ma ale dalšia kapitola opeť začala zo školy pochopily že som psychicky na dne tak ma necháli prejsť. Do Tretieho ročnika začal som chodiť na herne akcie ale aj AnimeShow kde som spoznal neskutočne dobrých ludí tak samozrejme sme si všetci vymenily facebooky už som sa moc s Kikou nestretaval a našiel som si iních dvoch najlepšich kamošov Miňa a Mareka alias Deadface a Diamonda. Diamond bol môj dobrý spolužiak na strednej a Deadfaca som spoznal na Anime zrazoch v Nitre. 1.6.2013 Bližil sa pomalý bližil ComicSalon kde som sa tešíl na svojích kamarátov že ich opeť po dlhej dobre uvidím a to bolo zo všelijakych kútov Slovenska a Česka tak som rozmyšlal že aky Cosplay ( Kostým ) si vymislím tak som začal rozmyšlať a baviť sa s ludmí nech ma zoznamia s OTAKU ( Človek čo ma rád annime a Japonsku kultutu ) tak som došiel k tomu to nemusí byť tak tažké. 1.7.2013 Bližíli sa moje 19 narodeniny tak asi viete ako to dopadlo s kamošami sme zapijali a smutne ukončily polovičku prazdnin to sa pisal už 31.7. 2013 Tak už pomalý som sa pripravoval na další tretí ročnik. Na strednej škole.
PS. Vidíte kde sme už došlí už sme skoro trištvete roku 2013 a vy stale moc neviete ale nebojte budu dobre aj zle pasaže. Není všetko ružove jak sa prví pohlad zda. 1.8.2013 Tento mesiac nebol zrovná najlepší keď že sme sa s naj kamaratkou Kikou odlučily a každý išiel svoujou cestou a ano bola to moja voľba ktorý ju poslaľ že nech sa vída cestou sama. Som si povedal šak bude ComicSalon tam mam svojích dobrych kamaratov. 10-20.9.2013 tak nejak bol ComicSalon kde som sa svojou partiou kamošou kde sme sa opeť ako vždy opily a spominali ake to bolo na AnimeShow v Marci tak ma pozvalí na svojú akciu na Galacon ktorý sa konal v Decembri v Trnave. Pozerrám tak si nemôžem nenechať ujsť. 1.10.2013 U nás Nitre oznamíly že bude Zombie pochod kukám že toto nie akcia za akciou som si povedal že musím isť ale nikdo nechcel isť všetcí bolí z daľeka tak som napisal na Event že kdo by išiel s 19 ročním chalanom na zombie pochod tak mi napisala jedna osoba a viete ako sa volala? Kika kukám to není snaď nahoda ale čo som ešte nečakál že sa staneme aj najlepší kamaratý ale o tom potom to je dlší pribeh tak sme si pisali že nech dojdem kním na privat kukám že okey že kde a jako tak mi poslala adresu. Tak sme si pisalí že kdo jaku masku bude mať a čo musíme zohnať tak zobral svoju dobrú kamošku Dianu ktorá bola lesbička. 1.11. 2013 Ako som spoznal Kiki tak som sa začal viac o nu zaujimať kdo je skade ale nikdo netušíl že o par rokov sa staňe moja najlepšia kamaratka ktorú strašne mam rád za nič by som ju nevimenil ale nebudeme predbiehať všetko
10.11.2013 Zombie Walk začínal zombie walk a my sme sa s Dianou vidali na ten privať Kika nás privitala a zo svojou spolu bivajucou Niky tak sme boli trí baby a jeden chalan hovrím toto voubec není špatne tak sme sa začalí malovať fotiť spoznavať kdo sme čo sme a čo mame radí. Jak sme skončily rozhovor tak sme sa presunuli na zombie pochod ktorý začal na železničnej stanici v Nitre tak išli ako skapaty do jedneho baru a tam sme začali piť a potom začlí hodnotiť masky najlepší zombiek a viete čo bola sránda že ja a Kiki sme obsadily prve a druhe miesto ja som obsadil za mužov druhe miesto a Kika prve miesto tak sme oslavovali pili až sme išli na privat sa odmalovať všetcí sme sa kupali tej istej vode a istej vaňe čo bolo komicke a mňa debila ožrateho napadlo si na stoporení penis dať uterak a išel som za kikou a viete čo som povedal. (Kika pozrí dal som uterak na vešiak ) a ano take sproste hovedo som bol svojom veku. Tak sme sa rozlučily ráno každý išiel svojou cestou. Tak som si začal aktivne pisať s Kiki. 1.12.2013 Pomalý sa bližil GalaCon a ja som sa tešíl že uvidím svojich kamarátov po štvrť roku tak ma učily čo všetko dobrý zraz organizovať Samozrejme aby nebolo malo hrať profesionalne LoL League of Legends a Hearthstone zaroveň ešte toto ale aspom život nebol nudný a bol plní elanu.
3.Kapitola Ako som sa stál OTAKU 2014
10.1.2014 Tak som sedel premyšlal ako spraviť dobrý zraz tak ma napadlo prečo to ne s organizovať na moje menini 24.2.2014 aj pekný datum to bude tak že prečo nie spravil som udalosť a začal planovať pozval som všetkych svojich OTAKU kamáratov čo prekvapilo kde sa nás stretlo prebiežne 10-15 ludí čo som bol neskutočne štastný že sa mi podarilo niečo take z organizovať tak sme sa tam veľa ludí spoznali začal som aktivne organizovať Anime Otaku Zrazy a potom Diamond a Deadface my oznamily že bude TopFest 2014 kde bude najlepšie skupiny ako bolo napriklad EUROPE ja pozerám dobre toto si nemôžem nechať ujsť tak som si na hneď kupil listok.
1.3.2014 som žil obyčajní študenský bez starostný živoť počkat napisal som bez strarostný život tak asi nie a viete čo ho som mal starosty že zas asi prepadnem lebo som začal byť strašne leniví a sustredil som sa iba na kamaratov a neučil sa. A ano taky to Jonny bol hlupý a to som si aj prizanl že sa neučím sam pre seba samozrejme.
1.4.2014 Tento mesiac začal v pohde švagor ma zobral na Hokej čo som moc nemusel. Ale predsa som išiel trochu ma to aj chytilo ale som musel trenovať v Hsku ak som sa chcel stať profesionalom v tej hre. S kikou sme začali už lepšie spoznavať tak som často chodil na privaty a potom na intrak sme malí každy measiac taky opilacky vždy sme našli dôvod prečo piť proste študentsky life. Len koniec mesiaca nebol taky fajn išiel som s kamoškou Naty do baru a pozerali sme kdo by sa nám pačil a začali sme hodnotiť ale asi jedna banda započula náš rozhovor. Tak s Naty sme sa rozlučily a zrazu mi niekdo šlahol pohar chrbte a ano štipaloto chytili za rameno že s Bukvičakmi. Sa nebudu baviť takych čo tu mame meste a ohovarať nás boli 3 a asi jak to dopadlo dobili ma ako psa ja som došiel cely rozbity domov na druhy deň cely modrinovi ale naši si na štastie nič nevšimly. Ale aj to patry k životu že dostaneš bitku alebo sa milím?
1.5.2014 Tak a mame tu Máj čo som objavil Twitch a narazíl som tam na jednu streamerku čo bola s mojho okolia Sabrina560 hrála lolko tak som sa snu cez to zoznamoval ked ma nakoniec zavolala nech si idem snima zahrať ešte s dvoma ludmi Pravnikom a Psychom čo boli neskutočny blazni tak sme si zahrali spoznavali po pri hre ale čo bolo najhoršie Jonny zas prepadol ja už ani nebudem pisať prečo lebo to už každý z vas vie.
1.6.2014 tieto 2 mesiace rychlo preletím neboli ničim takým špecialnim len som organizoval zrazy a brigadoval miestnej pekarní tak čo poviete na to ešte mame aj tak pred sebou dlhý príbeh.
1.8.2014 A bol tu skvely topfest 2014 na ktory som sa tešil tak sme sa višantili s deadfacom diamondom a ja som opeťspoznal nových ludi s vychodu a zistil som že su to neskutočny blazni ale koniec koncertu sa skončil tom najlepšom stretol som tam svoju kamošku a jak dohrali Europe tak mi naznačila či sa nejdem snou do sprchy ked sme boli spoteni a mokry od piva tak sme teda išli a ten sex v sprche je nezabudnem burka a akurat vystupovala kapela Kabat. A ešte k tomu taká silna burka že odfukovalo staní len škoda že potom každy sme išli k sebe spať. A chcel som ju pozvať niekde až na pokom som zistil že ma chlapca len v ten večer sa snim pohadala.
1.9.2014 Som začal spoznavať s jedným peknym chalanom bol dosť atraktivny začali sme sa tajne stretavať lebo iba malo ludí vedelo to čo skutočnosti som viete ako bisexual nechce te moc s rovnakým pohlavim behať k sebe ani moc po vonku potom koncom mesiaca že to skusíme dať dokopy.
1.10.2014 Ale nečakal som že to bude taká kratka laska ja som ho lubíl ale ničomu viac nedošlo lebo. Chalan zistil že ho vlastne nepriťahujem. Ale čo už ale som mal svoju kamošku Jaju čo počuvala metal tak ako ja bola to taka ticha osoba tak sme sa bavili že ako idu vztahy atd.
1.11.2014 Už to bude 2 roky po ocinovej smrťi a ja som stale nechcel tomu veriť že odišiel ano je to tažke sa s niečoho takeho spametať preto hovorím lubte svojich blizkych aj ked vám to zakazuju ale oni to voubec nemislia zle.
1.12.2014 Ale zaroveň si aj uživajte svoj život ako by bol posledny na to je dobrý song 30 Seconds to mars Do or Die lebo nikdy neviete čo pride a ako to bude dalej tak tento mesiac som sa rozhodol že budem každy jeden moment a už nebudem depresivny lebo čo sa všetko živote udialo už nevratie nezmenite buď už to zle alebo aj dobre ale život mame iba jeden tak sme aj s kiki oslavovali pekny nový rok život je iba jeden tak si ho treba poriadne užiť a uživať pokiaľ možeme.
18.12.2014 Som mal mať fušku ako čaašnik našej metskej Drevarni ako čašnik bola to sice fuška ako prasa ale bavilo ma to komunikovať s ludmi a spoznavať ich keď že drevareň bola ako pre krčma pre mladých každy s každym sa poznal a bolo to skvele skončil som o 3:00 rano a dostal som 40euro a piva som mohl vipiť kolko som vladal.
Metska Drevareň (*Pipo *Jonny)
28.12. 2014 Ešte pred novým rokom došla naštiviť Lucka moja tiež dobra kamaratka čo sme si tiež mohli čokolvek povedať a ide to snami do konca naších dni ale to tu knihe moc nebudem spominať to su trochu aj osobne veci ja viem že radi by ste to počuli ale viete tajomsta si treba stražiť a uchovavať a to drží to prave kamaratstvo.
U mňa doma (*Jonny, *Lucka )
4.Kapitola Ako som začal spoznaváť dobrych ldui na okolo 2015
1.1.2015 Som travil doma a rozmyšlal ako pekne vyšperkovať zraz ktory sa ma konať o 10 dni tak ma napadlo forúm mladých čo bol skvelý club pre mladých kde si mohli zahrať ping pong biliard a veľa roznych atrakcii
11.1.2015 Forum mladých NR
28..2 2015 Dal som si chvýlu pauzu od zrazov lebo som musel skoro stale robiť v drevarňi ako išiel čas tak som si myslel že možno som spoznal svojú buducu priateľku ale nie bola to jedna dobra osoba ktorá letela o par dni do Japonska začať nový život tak som jej poprial prijemný let veľa štastia a hadám sa ešte uvidime mala všetko rada čo ja čo ma nesmierne pritahovalo leteť sňou ale povec me si uprimne let do Japonska a 10dni ti nevistači ani 3k euro čo ona išla od toho večera sme si spravili fotku ako spomienku a od vtedy som o nej nič nepočul.
11.1.2015 Metska Drevareň NR
1.3.-1.5. 2015 Sa moc neudialo bol to taky pracovni život animeshow robota všetko sa kopilo veľa roboty povinosti staľe som hraľ ale už potom Hsko kde som nasadil poriadný tryhard čo ma neskutočne začalo baviť
11.6.2016 Kapitola sama o sebe Event Y-Games 2016 kde som začal spoznaváť tych najelpšich l udi na svete
"Live Preview" submit as you type
Let's review! At this point, our end-users can draft an Article
, and
can preview their changes by clicking on a Preview Article
button to
request the server-rendered HTML version.
Let's enhance that experience even more by cutting out the need to click
the Preview Article
button.
One of the three pillar of the Hotwire ecosystem is Stimulus. Stimulus Controllers are enable our applications to transform browser-side events into method invocations by routing them as Stimulus Actions.
We'll start by declaring a form
controller to augment our <form>
element. To utilize the form
identifier, we'll declare the
app/assets/javascripts/controllers/form_controller.js
file:
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
}
To grant direct access to the <button>
element's HTMLButtonElement
instance, we'll make our form
controller aware of it by declaring
[data-form-target="preview"]
attribute on the on the <button>
:
--- a/app/views/articles/_form.html.erb
+++ b/app/views/articles/_form.html.erb
<div class="actions">
<%= form.submit %>
<%= form.button "Preview Article", name: "_method", value: "post",
- formaction: previews_path(render_into: "article_preview") %>
+ formaction: previews_path(render_into: "article_preview"),
+ data: { form_target: "preview" } %>
</div>
<% end %>
In our controller, we'll add support for accessing the
HTMLButtonElement
instance through the previewTarget
property by declaring "preview"
as a [Stimulus Target][]:
--- b/app/javascript/controllers/form_controller.js
+++ b/app/javascript/controllers/form_controller.js
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
+ static get targets() { return [ "preview" ] }
}
Whenever the contents of <input>
, <select>
, or <textarea>
elements' values change, browsers fire an input event. To route
these as Stimulus Actions, we'll declare
[data-action="input->form#preview"]
on the <form>
element:
--- a/app/views/articles/_form.html.erb
+++ b/app/views/articles/_form.html.erb
-<%= form_with(model: article) do |form| %>
+<%= form_with(model: article, data: { controller: "form", action: "input->form#preview" }) do |form| %>
<% if article.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(article.errors.count, "error") %> prohibited this article from being saved:</h2>
Whenever any <form>
element descendant fires an input event,
Stimulus will respond by calling the preview()
method in the form
controller (as instructed by the directive declared in the
form[data-action]
attribute).
The preview()
action handles the event by finding the Preview Post
button, and clicking it on the user's behalf.
--- b/app/javascript/controllers/form_controller.js
+++ b/app/javascript/controllers/form_controller.js
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static get targets() { return [ "preview" ] }
+
+ preview() {
+ this.previewTarget.click()
+ }
}
In the spirit of progressive enhancement, we'll always want to render
the Preview Post
button when JavaScript is unavailable. However, when
JavaScript is available, changes made by the end-user will cause the
<form>
to submit automatically. This affords us an opportunity to hide
the <button>
element.
During the connect() phase of our controller's lifecycle, we'll hide
the <button>
by annotating it with the hidden attribute:
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static get targets() { return [ "preview" ] }
+
+ connect() {
+ this.previewTarget.hidden = true
+ }
preview() {
this.previewTarget.click()
}
}
For example, if we might want to guard against flooding our clients and servers with extraneous requests whenever a swift keyboardist quickly enters text, it would be worthwhile to [debounce][] preview submissions:
diff --git a/app/assets/javascripts/controllers/form_controller.js b/app/assets/javascripts/controllers/form_controller.js
index ca07dee..6c831c4 100644
--- a/app/javascript/controllers/form_controller.js
+++ b/app/javascript/controllers/form_controller.js
@@ -1,8 +1,13 @@
import { Controller } from "@hotwired/stimulus"
+import debounce from "https://cdn.skypack.dev/lodash.debounce"
export default class extends Controller {
static get targets() { return [ "preview" ] }
+ initialize() {
+ this.preview = debounce(this.preview.bind(this), 300)
+ }
+
connect() {
this.previewTarget.hidden = true
}
preview() {
this.previewTarget.click()
}
}
We've built an Article drafting experience that provides end-users with a preview of the final version, live as they type. The experience relies on Turbo Streams and Stimulus to progressively enhance concepts built directly into browsers, and will gracefully degrade to HTML and HTTP when JavaScript is unavailable.
Our implementation is light on JavaScript code, never encodes our
Article
records into JSON representations, and doesn't include a
single call to XMLHttpRequest or fetch, despite relying on the
server as the source of all HTML structure and data.
That's all baked into the value proposition of Hotwire. Turbo,
specifically, helps us realize that <form>
elements are inert and
declarative HTML alternatives to Asynchronous JavaScript and XML (AJAX) invocations, and
are ready to be executed at a moment's notice by end-users.
Applications' <form>
elements serve as the bedrock for any and all
Hotwire-augmented end-user experiences.
tying up yer MOM hah hah gotem please dont leave i have no friends
-updated all the existing bap freight stock with the new:tm: bogies -imported the fixes from eternal and hariesh for the skinlimit, its no longer 20 -minor tweaks to stuff -added some additional skins -updated a few skins -the GP49 has an expiramental mod, it can remove snow blocks like the snowplow can (screw the snowplow its too slow) -improved the rendering for a number of freight cars, thus making the ladders render the way they were originally designed to (yay) -i know you can read my thoughts boy, meow meow meow meow meow meow meow meow meow -its ready for bugtesting
Anytime Anywhere Electricity Bill Generator
Inspiration
The year 2020 was a bizarre situation for the world and there was a major setback that happened in all fields we started to live indoors, many regular jobs went remote, financial instability is a few of the many challenges that we have faced. As social gathering and working in a closed atmosphere started to create an adverse effect on the spreading of the pandemic, job nature also changed. Companies started to establish work from home strategy as a part of a business continuity plan in both the private and government sector. A commonality in all this is the lack of mobility for people to complete their day-to-day activities. This created a serious impact in sectors and processes where human or manual interventions are required, especially in the sector of electricity Bill generation. Electricity bills started to show a considerable amount of variation due to the absence of manual works and the bill was generated based on the previous billing cycles, which is not precise. Domestic, commercial, and industrial sectors started to pay huge amounts of bills with no proportion to the number of units consumed, so we decided to come up with the finest solution for this enigma.
Why do we need
Majorly there are three categories of meters for measuring electricity, Electromechanical induction type energy meter, Electronic Energy Meters, and Smart Energy Meters. Talking about Electronic Energy Meters, there are millions of meters which are functioning all over India. These electronic energy meters show the number of units consumed and the manual calculation of charges will be done accordingly. An individual from the government sector specifically from the electricity board needs to visit every property and record the units which are later entered into the portal for calculation. This is always a tedious task to do and there are many setbacks for this manual process such as tiring travels to the isolated location, wrong bill amount due to incorrect meter reading, and risk of spreading contagious diseases such as COVID-19, Dengue, Malaria, etc. Here we come up with the innovative thought using the tool Automation Anywhere who pioneered RPA solutions. All we have to do here is Snap the image of the energy meter measurement, Send it to the email id, and Pay your electricity bills. All these manual efforts can be replaced in just a click-and-send button and we call it ‘SNAP IT SEND IT Pay IT’. For the Prototype study, we took Tamil Electricity Board. The total area covered is around 130,058 square kilometers and the population of the area covered by TNEB is 624 Lakhs approx. TNEB caters to a total of 200 Lakhs consumers and has a total of around 70000 employees currently. Total revenue collection for the year 2020 – 21 was Rs, 2,24,739 Crores, and revenue collection efficiency was 98 %(values and figures are subject to change based on the current survey). As per the recent reports, India is losing 100,000 crores in unbilled electricity, and the End- End solution of electricity bill generation, we bring up to overcome this issue will resolve all this huge loss. Also, it saves a lot of time rather than visiting the places for noting the units later the calculation and entry to portal, considering the number of employees and manual effort behind the bill calculation we can reduce the FTE used for the process, its cost-saving for both the customer and sector and more-over there will be a work life balance for whom does that all manual work.
How we built it
The End- End Solution for EB bill generation is built on A360 and also integrates with various other technologies and application. • IQ bot • Python • Google vision OCR • Machine Learning • Microsoft Access • TNEB Bill calculator(https://www.tnebnet.org/awp/tariffMaster;jsessionid=j2w0O5CkqEarl3ff1vCe+o8Y?execution=e1s1)
The entire calculation of the bills is based on the Image send out by the user of the units consumed. This image is sent out to a particular email Id which is the first and foremost thing the consumer needs to do. When the bot is triggered, it reads the email and pushes the image of meter reading to IQ bot as input (Bot only accepts email from registered email ID). IQ bots do scrapping of units using the Google vision as OCR and the bill is calculated on the TNEB website.
For predictive analysis of the electricity bill, we used simple linear regression for modeling the relationship between each month (independent variable) and units consumed (dependent variable). This Machine Learning model will give a close predicted output to the observed values given. But how does this helps us? The answer is, it will check whether the calculated units based on the meter reading and the predicted output don’t have a greater difference. We have set a threshold value of 20 percent as the deviation whether positively or negatively. This will help to capture any fraudulent images send out or any errors in calculation. When we observe a greater deviation (which we set as 20%) then discrepancies will be reported to the administrator in the amount and in that case a person from the electricity board can visit the consumer to the credibility of the meter reading.
Create convention_check_list.md
Attending conventions is a fun and rewarding affair, but can also be immensely stressful and time consuming. With so many small elements to remember, planning ahead is not always possible and it's easy to let a few elements slide which can lead to many headaches down the road. Following multiple convention showings for Arelite Core and Tech Support, I decided that establishing a handy checklist would be very useful for my process.
The purpose of this list is twofold. First, it can help you properly plan your convention and ensure that you get the most out of it. Second, using this checklist can help you avoid forgetting anything as you travel, first from your studio to the convention, then on your way back. It casts a wide net, so it can be equally used for a large convention like PAX or Gamescon, down to your local convention. Simply check off elements as they're complete and accounted for, and again when departing the convention to return home.
The essential convention checklist
Accommodations
These are the essentials of your trip and will answer all of those "Where" questions.
Convention space
The first step to attending any convention is securing your place in the convention itself. These events will always have limited space and the more high profile the convention, the faster these spaces will go. It's important to keep on top of when you can apply and never delay.
Conventions can also be very expensive. If you can't afford booth fees, consider some alternatives. The Indie Megabooth offers space at a discount, while other conventions may have contests which can yield discounted space and other benefits. Keep an eye out, you never know.
Lodging
Hotels can rapidly run out of vacancy during large events, regardless of if they're officially sanctioned or not, so be sure to book your reservations as soon as you can. Alternatively, you can find other accommodations such as AirBNB or even friends who are local to the event.
Lodging will also impact how you travel to and from the convention, which may incur additional costs. Some conventions will provide buses which tour certain hotels to pick up and drop off attendees, which can save you extra fees and hassle. Be sure to keep informed of all the conveniences the convention offers.
Traveling
Will you be driving to the event? Taking the bus, the plane? Your method of traveling will likely impact what you bring along. Although there's always a bare minimum you need to carry, more bulky items like screens and computers may not be as easy to manage, may influence your means of traveling and what you actually choose to carry along, as opposed to acquiring on location. Likewise, if you're driving across a long distance, you may need to make additional stops for food and sleep, which will influence your budget.
Further tips are provided in the electronics and furniture sections of this event.
Side events
Many non-sponsored events are often planned in addition to the main convention, such as meet and greets, game launches and other parties. These are a great opportunity to meet people but can also have limited availability. Be sure to find them ahead of time and RSVP accordingly. The convention's official forums will often provide you with an initial starting point, but the bigger, more prestigious events may require knowing someone on the inside. As you network within the industry and engage with different circles, you'll likely have access to these opportunities more frequently.
Marketing
Among the most important aspects of your convention experience, your ability to brand your game, put the message out there and ensure that convention attendees have a memorable time. The devil is in the details here and a bit of creativity can go a long way.
Booth
Your booth will be your home base for the duration of the con and can be an extension of your game. You can choose to customize it extensively to give it flavor beyond the expected banners, such as custom plush toys or items which are reminiscent of your game. I saw a game about moving boxes which had a bunch of boxes spread about. Having an distinctive booth can bring in a greater audience as well.
Because you'll be doing a lot of standing, consider having a cushioned carpet as well. This can help make your con more comfortable, as well as add that extra touch for the attendee who's been walking all over the place for several hours.
Banners
These include self standing banners, hanging banners and any signage towards your game. Be mindful of your booth space when getting these produced, as sometimes you'll be limited and will not be able to display as intended. Also, try to frame your game logo high on the banner, which will help attendees see it when crowds are forming.
Promo cards
These are printed cards for distribution, which will provide all the relevant information about your game. At the least, it should include the name of the game and a link where people can find it. You can also include social media links and company logos, along with any promotional elements you deem necessary like screenshots and text.
I recommend less text and more punchy blurbs. Give people a message which will be easy to remember and will stick with them in the sea of other games they'll see that day.
SWAG
Any gear that you'll be giving away to promote your game. This includes T-Shirts, pins, or anything else you may conceive of. Keep in mind that SWAG can get very expensive, and that it's ok to limit how many buttons you put out so that you have some for the entire event. Also make sure that you always have articles ready for the influencers who may later come back and review your game.
Branded clothes
The clothes you'll be wearing over the course of the convention, often t-shirts with your game's or company's logo, but you can also get creative like having some cosplay representing one of your characters, or anything else which will stand out in a crowd and draw people to your booth. Anything distinctive will give attendees a reason to give your game a second glance.
Business cards
These won't be distributed as openly, but always keep a good amount on yourself as you travel to different events and during the convention. This gives influencers and media a direct way of getting back to you, but can also help with your networking and preparing future business plans. Also, be sure to get other people's business cards in general, which will enable you to do direct follow-ups if needed.
Mailing List
Mailing lists allow you to keep in touch directly with your audience. Although social media like Facebook and Twitter can be powerful tools, you can never be assured that your message will reach them since not every message gets properly delivered. Because mailing lists belong to you, you have a higher degree of control and will have an easier time getting your fans onboard.
Game copies
If your game is out, you should be selling copies of your game on location. Simply print a series of codes and try to get those sales in. Because attendees will go home with plenty of different trinkets and promo cards, it's easy for your game to be lost in the fray, but a sale on location is an assured thing.
Electronics
This section is more focused towards the traveling portion of the convention and ensuring that all of your required electronics are brought along. Remember that although sometimes you can rent some equipment at the convention itself, it can be very expensive to do so. Buying electronics can sometimes be a less expensive alternative, and you can even return it at the end of the convention.
Computer
This includes laptops or desktop computers. You may be bringing several setups, including one to do some on the fly development should the necessity arise. I've been known to update demos between convention days to account for bugs attendees have found, or even to implement a quick feature which I've realized was necessary.
Game console
If your game is console bound, you'll want to bring that along as well.
Monitors / Televisions
Other than allowing attendees to play the game, you can also set a second display to always showcase the game trailer, or even set it in a different vantage point to show the current player and draw a crowd.
VR Headset and other displays
Other displays which may be necessary for your game. I once saw a display which used a painting as their base with a projection overlay which was the actual game.
Exhibitor Tablet / Mobile phone
These are for showcase purposes if you're presenting a mobile game, or if you have an app to take down player emails for a mailing list or other promotional purposes.
Power bars / Extension cords
There never seems to be enough power bars for everyone, often making it difficult to plug-in all of your devices. Be sure to bring enough for your needs.
Speakers
Great for drawing attention, but remember to heed the rules of your convention concerning noise, you might not be able to blast your game at full volume.
Headphones
An easy way to get people immersed into your game, and making them noise canceling is always a plus. Ideally provide audio controls for the player, as many will want to talk with the dev while playing.
Laptop charger
I once lost the charger to my computer, which left me in a frenzy to purchase another one. Unfortunately, my laptop requires 180W which isn't sold in most stores, leading to a 3h chase just before the con was set to open on the same day. I make sure not to forget it anymore.
Game Controller
XBox Controller, PS4, flight stick, whatever your game requires to be played.
Mouse / Keyboard
Likewise very useful to play the game
Cables
Power cables, HDMI, but also those pesky USB cables we always seem to forget.
Furniture
Sometimes the convention themselves will be providing tables and chairs, other time you'll need to bring them yourself. Like electronics, though you can rent some of it from the convention, it can be more advantageous to buy them externally and bring it back afterwards, or sometimes even throw it away.
Tables
It's likely you'll need a table to set up your game, but you also will need to consider your presentation. Will you need a table cloth? How much space will you need for your set up, including computers and play space, promotional items and others? Also, don't forget to account for the space you have been allocated for the convention. You may need to move behind the table, or allow attendees to move around it.
Chairs
Almost just as important as tables, be sure to have chairs for the attendees playing your game (if your set up allows for it), but also for yourself over the course of the event. This can be as simple as a foldable chair, but you can also bring bean bags or even a couch. It all depends on the experience you want to provide your players.
Software
Game demo
This may be obvious, but a lot of developers seem to wait until the last moment to prepare their demo, which can create more stress than needed. I try to prepare game demos a month or two in advance, knowing that even if it isn't the most updated build, my perspective as the developer will be entirely different from the attendee.
Make sure that your demo is as impactful as possible, but don't get bogged down in the small details which will be ignored by most. I only keep one code base and add tags in my code which allows me to switch between demo and full game mode, so every update is always applied to the demo if needed, and if I can also include any an improvements to the demo directly to the full title as well.
Ideally, make the gameplay at most 10 minutes to ensure a good rotation of players, and end on a high note. Be prepared for periods of down time where no one is playing, which you can fill with an automatically playing and looping trailer of the game. You can have it cut immediately upon a player input, leading into the demo.
I always remove a lot of options from the demo, such as the ability to go back to the desktop through a menu for a PC game. I also always have a way to immediately reset the game, like a button combination which leads me back to the demo's main attract menu. Because these are operations being performed several times during the showcase, having the right tools is well worth it.
Game trailer
Already touched upon, but have the best version of your trailer available to show. I use it as an attract mode, and it also plays automatically once the player reaches the end of the demo. You can also have it running on a tv in the background.
Source code
Making sure you have access to the demo's source code can help you resolve unforeseen issues. I once solved a crash that was happening in the demo about 10 minutes before the convention doors opened to the public.
Development tools
Visual Studio, Unity, Unreal, Game Maker, even Photoshop, whatever tools you might need to do those quick fixes. Don't rely on the Internet if you don't have to, you never know what issue you'll encounter.
Yourself
Punctuality
Conventions are a great opportunity to meet with media and influencers, and you never know when that may happen. Some bigger conventions open the show floor to the press before the public can attend, and I've even met people before the convention even began.
Same with post con events, the more time you spend meeting and greeting, the more networking you're doing and the higher probabilities of meeting the right people.
A smile
Conventions provide the audience with a chance to see the faces behind the games, which in turn will make them connect with them a lot stronger. Your presence, not just physically but also the energy you bring to every interaction will have an impact on the people you meet. Be sure to remain at the top of your game
Cleanliness
Should go without saying, but be sure to take a shower every day and having some deodorant. You want to present yourself at your best, and body odors are high on the list of cardinal sins at conventions.
Other
Food / Drinks
Conventions are long and although there will usually be food on location for purchase, you can also save money by bringing lunches, snacks and beverages to keep you going through the event.
Hand sanitizer
The convention flu is real! I once lost my hand sanitizer for a single day out of a 4 day convention, barely made my way through the following days and then was sick for the next two months (with varying degrees of intensity). Bring some hand sanitizer, use it often, it not only keeps you clean but also prevents you from spreading germs to attendees.
Cough drops
Conventions are loud and you will be doing a lot of talking. Keeping cough drops handy and help preserve your voice all throughout the event and beyond.
Passport
I once forgot my passport in a rental car during a trip, which certainly led to endless retellings of my distractions, but also a lot of stress which could have been avoided. Don't be me, keep your passport handy at all times. It can also be necessary as a means of identity in some areas, like hotels and bars.
Fun
Of course conventions are stressful affairs, we invest a lot of resources in them and want to bring out the best for our games. But it's important to not forget that it's ok to have fun and enjoy the moment. Making the most out of these events is good for us which will then reflect on your game.
While certainly not exhaustive, this list should serve as a strong starting point. Feel free to print and reproduce it as needed (though please consider providing credit if you can). And let me know if you have more suggestions of points to add to the list and I'll try to keep it updated as possible.
Add files via upload
Description: Ask a home buyer to describe their dream house, and they probably won't begin with the height of the basement ceiling or the proximity to an east-west railroad. But this playground competition's dataset proves that much more influences price negotiations than the number of bedrooms or a white-picket fence.
With 79 explanatory variables describing (almost) every aspect of residential homes in Ames, Iowa, this competition challenges you to predict the final price of each home.
Practice Skills: Creative feature engineering Advanced regression techniques like Linear Regression Acknowledgments The Ames Housing dataset was compiled by Dean De Cock for use in data science education. It's an incredible alternative for data scientists looking for a modernized and expanded version of the often cited Boston Housing dataset.
Banished from the Hero's Party, I Decided to Live a Quiet Life in the Countryside[Tralier]
SHIN NO NAKAMA JA NAI TO YUUSHA NO PARTY WO OIDASARETA NODE, HENKYOU DE SLOW LIFE SURU KOTO NI SHIMA
Type: Fall 2021 Anime
Plot Summary: A heroic and mighty adventurer dreams of...opening a pharmacy? Red was once a member of the Hero's party, a powerful group destined to save the world from the evil forces of Taraxon, the Raging Demon Lord. That is, until one of his comrades kicked him out. Hoping to live the easy life on the frontier, Red's new goal is to open an apothecary. However, keeping the secret of his former life may not be as simple as he thinks. Especially when the beautiful Rit, an adventurer from his past, shows up and asks to move in with him!
Genre: Adventure, Fantasy, Slice of Life
Released: 2021
Status: Upcoming
Another name: Banished from the Hero's Party, I Decided to Live a Quiet Life in the Countryside, I Was Kicked out of the Hero's Party Because I Wasn't a True Companion so I Decided to Have a Slow Life at the Frontier; 真の仲間じゃないと勇者のパーティーを追い出されたので、辺境でスローライフすることにしました
OFFICIAL PV2nd https://www.gogoanimetv.gq/2021/08/i-was-kicked-out-of-heros-party-because.html https://youtu.be/w1i2OwtCEeY
Update README.md
It’s not uncommon to hear Fantasy Baseball enthusiasts say this: “Hey I just added this guy who’s becoming a free agent at the end of the season, dude’s gonna have a breakout year.” It’s safe to say that 99% of the fantasy team managers have no experience working for an MLB team. However it still got me thinking, is it true that players tend to perform better in their contract years? Furthermore, can teams really take advantage of what fantasy managers have been harvesting, at least in their minds?
Basic Mobs: the cooler simple mobs that run on datum AI. (With reworked cockroach AI as proof of concept) (#60694)
Simple_animals / mobs are the biggest lie in this code-base. They're far from simple and have an extreme god-object problem. Especially when you get to /hostile, where there is so many procs, vars, and what not, that you can't make any interesting additions without snowflaking the hell out of the code.
This PR hopes to help kill this problem by introducing a new /living subtype, /living/basic. The idea of this refactor is to slowly start moving all old simple_animals to this new system, moving over behaviors like charging and more extravagant mobs like megafauna over bit by bit similar to how newfood was implemented.
One of the other big goals of this refactor is to move many of the fringe simple animal behaviors into either AI datums, or components/elements. (Some of which still needs to be done in this PR).
As a proof of concept, I created the base mob/living/basic, and moved cockroaches over to the system. Since cockroaches have both a passive, melee and ranged mob.
This PR does slightly affect balance as the behavior isn't 1-on-1 due to it no longer running on the janky /hostile behavior, but I tried to keep the effects to a minimum, and the glockroach and hauberoach are not spawnable through many means as far as I know.
Added command to manipulate player kills/deaths and fixed stupid ass stats KDR being fucked
Create preregistration_causaldraw_intervention_111920.md
causaldraw_intervention
Holly Huey, Caren Walker, and Judith Fan
Causal knowledge allows us to make predictions about future events and act upon objects in order to generate desired outcomes[1-2]. Huey, Walker, and Fan (2020) collected a dataset of 300 sketches to explore visual communication as a means to convey causal knowledge to others in a condensed, exportable format. This study capitalized on prior work that has examined how the spatial layout of elements in well-designed visualizations, such as sketches, mirrors the placement and relations of elements in the physical world, making it easier to grasp the correspondence among elements in each domain[3-6]. Visualizations have also been shown to promote inference of abstract relations by leveraging a small set of relational symbols, such as lines and arrows[7-8].
In the original study, participants drew simple machines (gears, levers, and pulleys), which comprise a unique class of objects that can be rich in both visual appearance and causal information. They were prompted to generate visual explanations (e.g., of how a machine functions) or visual depictions (e.g., of what a machine looks like). Results demonstrated that, while participants tended to devote an approximately equal amount of ink and equal number of strokes between conditions, they drew a higher proportion of causally relevant elements in visual explanations than visual depictions (P<.001). Participants also employed more symbols and drew less background elements in their visual explanations (P<.001, respectively). Here we use “background” to describe the elements that were not did not contribute to the machines’ function.
However, a critical aspect of understanding visual communication involves not only understanding how we produce visual representations but also how we use them. The current study will explore which visual properties of the collected sketches facilitate accurate inference about the machines’ causal structure and, therefore, correct invention on part of the machine required to operate them. The study will present a new group of participants with the sketches generated in the original study, as well as images of the original machines that the sketches were intended to represent. By measuring (1) whether participants can accurately infer which part of the machine they should intervene on to operate it, and (2) duration of their response time, the study aims to analyze which properties of sketches, such as which elements were drawn and the level of detail, differentially facilitate participants’ inference of the objects’ causal structure.
If participants of the original study (Huey, Walker, & Fan, 2020) were more selective when producing informative visual explanations than when producing faithful visual depictions, we hypothesize that visual explanations will contain more causally relevant information. Specifically:
We predict visual explanations will enable more accurate identification of which part of the machine requires an intervention in order to operate it, relative to visual depictions.
We predict visual explanations will enable shorter response times than visual depictions.
We predict sketches that contain more symbols will lead to more accurate inferences about how to operate the target machine and shorter response times. Here, the amount of symbols within a sketch will be determined by the total number of strokes used to depict symbols.
We predict sketches that contain more causally relevant elements will lead to more accurate inferences about how to operate the target machine and shorter response times. These elements will be quantified by the total number of strokes used to depict causally relevant elements.
Experiment - A researcher randomly assigns treatments to study subjects. This is also known as an intervention experiment and includes randomized controlled trials
For studies that involve human subjects, they will not know the treatment group to which they have been assigned.
No response
On a custom web-based platform, participants will be presented with sketches and images of the machines that the sketches represent. Each machine will consist of a unique spatial configuration of brightly colored mechanical elements, including gears, pulleys, and lever, that can be used to activate a light bulb. Half of these mechanical elements can be manipulated to activate the light (causal), whereas the other half of them cannot (non-causal). For each machine, these causal and non-causal elements will be equated in size, number, and type (gears, levers, and pulleys) to ensure that they are matched in perceptual salience. Machines will also vary by two levels of complexity.
During test trials, participants will be presented with a single sketch for 5 seconds. After these 5 seconds, the sketch will be replaced by an image of the machine that the sketch represents. This image will remain on screen for 3 seconds and then will be replaced with a segmented image of the machine in which each distinct part of the machine will be colored and numbered by segmentation (e.g., a gear may be colored as blue and numbered as “1”). These numbers will correspond to the numbers 1-8 on participants’ keyboards. Participants will be instructed to place each finger, except their thumbs, on these numbers until instructed otherwise (e.g., the four fingers of the left hand will be placed on the numbers 1-4, and the four fingers of the right hand will be placed on the numbers 5-8). When participants see the segmented image of the machine, they will be asked to press the number on their keyboard that corresponds to the part of the machine that someone needs to intervene upon to activate the light using the machine. Participants will be instructed to respond as accurately and quickly as they can.
Participants will complete 6 trials, in which each trial will be a different machine and level of complexity. Each session of 6 trials will contain an approximately equal number of visual explanations and visual depictions.
To ensure that participants are familiar with the web interface and making responses on their keyboard, they will also complete practice trials in which they will see numbers appear on their screen. They will be instructed to press the number on their keyboard that corresponds to the number presented on their screen as accurately and quickly as they can. The numbers 1-8 will appear twice for a total of 16 trials. After these practice trials, participants will complete 3 more practice trials to gain experience with interpreting sketches. Just as in test trials, they will see a sketch for 5 seconds, image of a machine (in these practice trials, a “Bopit” toy) that the sketch represents for 3 seconds, and a segmented image of the machine. Upon seeing the segmented, they will be instructed to press the number on their keyboard that corresponds to the numbered part of the machine that someone must intervene on to operate the machine.
Registration following analysis of the data: As of the date of submission, you have accessed and analyzed some of the data relevant to the research plan. This includes preliminary analysis of variables, calculation of descriptive statistics, and observation of data distributions. Please see cos.io/prereg for more information.
We plan to include 50 English-speaking adults. Participants will be recruited from the University of California, San Diego study pool through SONA and will receive 0.5 credit for their participants in our ~30 minute study.
We plan to include 50 English-speaking adults who did not participate in other studies of this visual communication series.
Because this is an exploratory study, we do not yet have reliable estimates of effect size. Our sample size was therefore chosen in order to obtain enough data to get initial estimates of effect size, as well as estimates of individual and item-level variation. This sample size rationale was also guided by a similar sample size of the original study (Huey, Walker, & Fan, 2020)
Data collection will stop when 50 participants have successfully completed the study.
We will analyze the effect of condition on two outcome variables: accuracy and response time.
Below are how we plan to specify each measured variable corresponding to the statistical model:
Response time (RT)
First, we will attempt to fit the maximal versions of each model, including both random slopes and intercepts for participants (i.e., orig_gameID
), items (i.e., toy_type
), and sketch (i.e., sketchID
). We will only analyze response times of trials in which participants responded accurately.
m_fullRT <- lmer(log(final_data_RT$rt) ~ condition + conditionnumCausal + conditionnumFunctional + conditionnumSymbol + conditionnumBackground + (1|sketchID) + (1|toy_type) + (1|orig_gameID) + (totalStrokes|condition) + (totalStrokes|toy_type), data=final_data_RT, REML=FALSE)
If the model fails to converge, we will remove the random intercepts of toy_type and interactions with totalStrokes:
m_reducedRT <- lmer(log(final_data_RT$rt) ~ condition + conditionnumCausal + conditionnumFunctional + conditionnumSymbol + conditionnumBackground + (1|sketchID) + (1|orig_gameID), data=final_data_RT, REML=FALSE)
Accuracy (corrAns) Because corrAns is binary (0 = incorrect, 1 = correct), we will use a glmer model:
m_fullcorrAns <- glmer(final_data$corrAns ~ condition + conditionnumCausal + conditionnumFunctional + conditionnumSymbol + conditionnumBackground + (1|sketchID) + (1|toy_type) + (1|orig_gameID) + (totalStrokes|condition) + (totalStrokes|toy_type), family="binomial", data=final_data, nAGQ=0)
If the model fails to converge, we will use the below:
m_reducedcorrAns <- glmer(final_data$corrAns ~ condition + conditionnumCausal + conditionnumFunctional + conditionnumSymbol + conditionnumBackground + (1|sketchID) + (1|orig_gameID), family="binomial", data=final_data, nAGQ=0)
Sessions will be excluded from analysis based on the below exclusion criteria:
Technical failure: Participants will complete an exit survey at the end of the experiment. If participants report that any of the sketches or images of machines did not display properly (e.g., images did not load or did not load at the same time) or if the interface did not function properly on a trial (e.g., trial did not advance after the participant made a keyboard response), all data from that session will be excluded from subsequent analysis.
Session-level accuracy-based exclusion: All data from a session will be excluded if accuracy is than 50% (i.e., if participants correctly responded to only 3 out of the 6 test trials).
- Trial-level response time outlier exclusions:
Absolute: To ensure that participants are making thoughtful decisions and not merely clicking through the task, trials will be excluded from subsequent analysis if the response time is less than 0.4 seconds. Trials will also be excluded from subsequent analysis if participants do not make a response in 10 seconds.
Relative: Trials will be excluded if response times are greater than 2.5 standard deviations above the mean (using mean & sd on N-1 sample excluding that session).
We plan to release “raw” group dataframes containing all sessions and trials, but “flag” sessions and trials that meet our exclusion criteria to make it easy to filter these out during analysis. We further plan to apply the same analyses to both the raw & filtered datasets to evaluate the impact of our exclusion criteria on our conclusions.
We plan to analyze how the level of sketch detail influences participant performance. On the one hand, it may be the case that more detail will assist participants in identifying parts of the machine and therefore will facilitate more accurate inferences about how to operate the target machine and shorter response times. On the other hand, it may be the case that sketches that are more sparse in detail are easier to infer more abstract knowledge, such as object function. In this case, sketches that contain less detail may facilitate more accurate inferences about how to operate the target machine and shorter response times. Here, the amount of detail will be measured by the number of strokes and amount of “ink”, in which the amount of “ink” is measured by the arc length of the mark made between the depression of the mouse cursor (“pen down”) and the lifting of the mouse cursor (“pen up”).
Is it more important that visual explanations contain informative content (e.g., causally relevant elements) and/or that the content is spatially accurate to the referent? We also plan to analyze whether sketches that have a higher accuracy to spatial location, size, and shape of real-world elements will facilitate more accurate inferences about how to operate the target machine and shorter response times.
References
[1] Sloman, S. (2005). Causal models: how people think about the world and its alternatives. Oxford University Press.
[2] Meltzoff, A. (2007). Infants’ Causal Learning. Causal learning: psychology, philosophy, and computation, 37-47. Oxford University Press.
[3] Tversky, B., Agrawala, M., Heiser, J., Lee, P., Hanrahan, P., Phan, D., & Daniel, M. P. (2006). Cognitive design principles for automated generation of visualizations. In Allen G, editor. Applied Spatial Cognition: From Research to Cognitive Technology, 53-75. Hillsdale, NJ: Lawrence Erlbaum Associates, Inc.
[4] Larkin, J., & Simon, H. (1987). Why a diagram is (sometimes) worth ten thousand words. Cognitive Science: A Multidisciplinary Journal, 11, 65–100.
[5] Tversky, B., & Bobek, E. (2016). Creating visual explanations improves learning. Cognitive Research: Principles and Implications, 1(1), 27.
[6] Tversky, B., & Morrison, J. B. (2002). Animation: can it facilitate? International Journal of Human-Computer Studies, 57, 247-262.
[7] Tversky, B., & Heiser, J., (2006). Arrows in comprehending and producing mechanical diagrams. Cognitive Science, 30, 581-592.
[8] Tversky, B., Zacks, J., Lee, P., & Heiser, J. (2000). Lines, blobs, crosses and arrows: Diagrammatic communication with schematic figures. In International conference on theory and application of diagrams, 221-230. Springer, Berlin, Heidelberg.
fs/sync: Make sync() satisfy many requests with one invocation
Dave Jones reported RCU stalls, overly long hrtimer interrupts, and amazingly long NMI handlers from a trinity-induced workload involving lots of concurrent sync() calls (https://lkml.org/lkml/2013/7/23/369). There are any number of things that one might do to make sync() behave better under high levels of contention, but it is also the case that multiple concurrent sync() system calls can be satisfied by a single sys_sync() invocation.
Given that this situation is reminiscent of rcu_barrier(), this commit applies the rcu_barrier() approach to sys_sync(). This approach uses a global mutex and a sequence counter. The mutex is held across the sync() operation, which eliminates contention between concurrent sync() operations. The counter is incremented at the beginning and end of each sync() operation, so that it is odd while a sync() operation is in progress and even otherwise, just like sequence locks.
The code that used to be in sys_sync() is now in do_sync(), and sys_sync() now handles the concurrency. The sys_sync() function first takes a snapshot of the counter, then acquires the mutex, and then takes another snapshot of the counter. If the values of the two snapshots indicate that a full do_sync() executed during the mutex acquisition, the sys_sync() function releases the mutex and returns ("Our work is done!"). Otherwise, sys_sync() increments the counter, invokes do_sync(), and increments the counter again.
This approach allows a single call to do_sync() to satisfy an arbitrarily large number of sync() system calls, which should eliminate issues due to large numbers of concurrent invocations of the sync() system call.
Changes since v1 (https://lkml.org/lkml/2013/7/24/683):
o Add a pair of memory barriers to keep the increments from bleeding into the do_sync() code. (The failure probability is insanely low, but when you have several hundred million devices running Linux, you can expect several hundred instances of one-in-a-million failures.)
o Actually CC some people who have experience in this area.
Reported-by: Dave Jones [email protected] Signed-off-by: Paul E. McKenney [email protected] Cc: Alexander Viro [email protected] Cc: Christoph Hellwig [email protected] Cc: Jan Kara [email protected] Cc: Curt Wohlgemuth [email protected] Cc: Jens Axboe [email protected] Cc: [email protected]
Signed-off-by: Paul Reioux [email protected]
leaving mother fucking 500 error now.Fuck you I'll debug you tomorrow
Use .pop, not .sample, for populating "random" names (#16458)
I think this solves a particularly vexing flake, where every once in a blue moon we'd get this headache of a test failure:
Failure/Error: expect(subject.map(&:appeal_id)).to eq(expected_order.map(&:appeal_id)), ordered_vets.to_s
["BPBDPXAG (YRXPLJRO BPBDPXAG), CTACHKAX", "BPBDPXAG (QMODOFDX BPBDPXAG), CTACHKAX", "CTACHKAX (CTACHKAX CTACHKAX), WPBXAHLJ", "CTACHKAX (LCVCQDUD CTACHKAX), XFIUWQBA", "CXJHREVA (PPEPIOYI CXJHREVA), PQGCPYXU", "FVOVCKPP (LYVTKDWA FVOVCKPP), TXOCOQXR", "KKFACQQD (LHAYGRWX KKFACQQD), VNXGHDPG", "KMYGIMDP (PRRNSXOY KMYGIMDP), QMODOFDX", "LCVCQDUD (FFYOIPIO LCVCQDUD), LHAYGRWX", "PFLBDOEY (IUXJCXCV PFLBDOEY), CTACHKAX", "QLIPHMXG (KKFACQQD QLIPHMXG), RFBOWXOG", "TVTSKJMM (GUSBVOAJ TVTSKJMM), YPHHPRHV", "VNOJIUNT (CUUMWGVW VNOJIUNT), KOONRNOW", "WIIPIHQA (CXJHREVA WIIPIHQA), MJAVKCUU"]
./spec/models/task_sorter_spec.rb:295:in `block (5 levels) in <top (required)>'
Trying to reason about it feels like solving a Zodiac cipher, but I realized that names are being repeated. That feels extraordinarily improbable when we're generating 100 8-character strings; 26^8 = 208827064576 so getting multiple repeats in a set of 100 is... odd.
I'm pretty sure I figured out what's going on. Array#sample
makes this promise:
The elements are chosen by using random and unique indices into the array in order to ensure that an element doesn't repeat itself unless the array already contained duplicate elements.
But I believe that's true only for an invocation of sample
; no state is kept on the array for which have already been sample
d. I was pretty easily able to reproduce this:
irb(main):015:0> x = (1...100).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
irb(main):016:0> x.sample
=> 9
irb(main):017:0> x.sample
=> 46
irb(main):018:0> x.sample
=> 29
irb(main):019:0> x.sample
=> 48
irb(main):020:0> x.sample
=> 61
irb(main):021:0> x.sample
=> 31
irb(main):022:0> x.sample
=> 61
Seven calls on an array of 99 elements (oops) and I drew 61 twice.
So it's not that we're generating the same 8-character string repeatedly by miracle; we're just picking 1 of 100 names out of a hat, throwing it back in the hat, and then drawing again—42 times.
I think the remaining part of the bug is something to do with which names we consider when there are two surnames?
So, use .pop
so the drawn names aren't put back in the hat.
- This test doesn't flake
- Maybe check this test out and run it a handful of times locally
Refactor intake forms to add Yup validations (#16291)
Resolves N/A (refactor) - Sorry for the size, since all the review pages share so much, to make this work it sorta needed to be an all or nothing switch!
The review page for all the intake forms were previously all managed with Redux. This prevented us from using the yupResolver with useForm in order to manage the front end validations. The front end validations were previously custom logic validations that attempted to mimic the backend. Those can be removed in a subsequent PR so this one doesn't continue to grow.
Major things to look at are:
- Individual review pages now define their own yup schema and export them from their own file. I prefer this way to keep the validation logic physically close to the specific form definition itself.
- The parent review.jsx now imports the sub forms schemas and uses them since the parent form element is defined here, and uses the imported schema for validating the form on submit.
Things to note:
- The review page diff looks pretty ugly but there's not that many changes there logically. I just updated a few of the class based components to be functional and moved some of the logic that was previously in the submit button component into the Review component itself. Design wise this makes more sense (to me) and for yup validations to work properly it was cleaner to keep the submission logic with the form wrapper itself.
Next steps
- Remove custom validation functionality from the submit function in DecisionReview.jsx (left out for size considerations)
Future enhancements
- Can now easily tweak the yup schemas for the various intake types, so could add AMA date validation to each of the required forms
- I'd like to look at removed redux all together from the review pages, since we can manage the form values using React's useForm. This would greatly simplify a lot of these form pages.
- Add additional schema validations to the RAMP forms
- Add yup to all of the other forms around the intake process.
- Code compiles correctly
- Walk through the intake process with each of the 5 forms. Try to submit with various fields missing and ensure that a network request is not made and input errors still occur.
- Walk through the appeal intake, and enter a receipt date that is prior to the AMA date and ensure you get the appropriate error
- Complete an intake of each of the 5 forms to ensure entire process is still functional.
- For higher-risk changes: Deploy the custom branch to UAT to test
BEFORE|AFTER No visual changes, front end validation is just now triggered using Yup instead of custom validations.
- Add or update code comments at the top of the class, module, and/or component.
How the fuck did this happen this wasn't a issue in the full release build
fuck you windows or github or whatever did this
Trac #32050: 2 internet doctest failing in oeis.py
With 9.4.beta3
{{{ sage -t --optional=sage,internet src/sage/databases/oeis.py }}}
gives
{{{ sage -t --long --random-seed=0 src/sage/databases/oeis.py
File "src/sage/databases/oeis.py", line 1506, in sage.databases.oeis.OEISSequence.references Failed example: w.references() # optional -- internet Expected: 0: A. H. Beiler, Recreations in the Theory of Numbers, Dover, NY, 1964, p. 52. 1: C. Clawson, Mathematical Mysteries, Plenum Press, 1996, p. 180. 2: R. Crandall and C. Pomerance, Prime Numbers: A Computational Perspective, Springer, NY, 2001; see p. 29. 3: G. H. Hardy and E. M. Wright, An Introduction to the Theory of Numbers, 5th ed., Oxford Univ. Press, 1979, th. 80. ... Got: 0: N. G. W. H. Beeger, On the Congruence (p-1)! == -1 (mod p^2), Messenger of Mathematics, Vol. 49 (1920), pp. 177-178. 1: Albert H. Beiler, Recreations in the Theory of Numbers, Dover, NY, 1964, p. 52. 2: Calvin C. Clawson, Mathematical Mysteries, Plenum Press, 1996, p. 180. 3: Richard Crandall and Carl Pomerance, Prime Numbers: A Computational Perspective, Springer, NY, 2001; see p. 29. 4: G. H. Hardy and E. M. Wright, An Introduction to the Theory of Numbers, 5th ed., Oxford Univ. Press, 1979, th. 80. 5: Paulo Ribenboim, My Numbers, My Friends: Popular Lectures on Number Theory, Springer Science & Business Media, 2000, ISBN 0-387-98911-0. 6: Paulo Ribenboim, The Book of Prime Number Records. Springer- Verlag, NY, 2nd ed., 1989, p. 277. 7: N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence). 8: Ilan Vardi, Computational Recreations in Mathematica. Addison- Wesley, Redwood City, CA, 1991, p. 73. 9: David Wells, The Penguin Dictionary of Curious and Interesting Numbers. Penguin Books, NY, 1986, 163.
File "src/sage/databases/oeis.py", line 1513, in sage.databases.oeis.OEISSequence.references Failed example: _[0] # optional -- internet Expected: 'A. H. Beiler, Recreations in the Theory of Numbers, Dover, NY, 1964, p. 52.' Got: 'N. G. W. H. Beeger, On the Congruence (p-1)! == -1 (mod p^2), Messenger of Mathematics, Vol. 49 (1920), pp. 177-178.'
1 item had failures: 2 of 6 in sage.databases.oeis.OEISSequence.references 5 webbrowser tests not run 0 tests not run because we ran out of time [290 tests, 2 failures, 38.95 s] }}}
URL: https://trac.sagemath.org/32050 Reported by: slabbe Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
holy shit, implement stupidly smart infraction rendering
dyndbg: add DEFINE_DYNAMIC_DEBUG_CATEGORIES and callbacks
DEFINE_DYNAMIC_DEBUG_CATEGORIES(name, var, bitmap_desc, @bit_descs) allows users to define a drm.debug style (bitmap) sysfs interface, and to specify the desired mapping from bits[0-N] to the format-prefix'd pr_debug()s to be controlled.
DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug_gvt, __gvt_debug, "i915/gvt bitmap desc", /** * search-prefixes, passed to dd-exec_queries * defines bits 0-N in order. * leading ^ is tacitly inserted (by callback currently) * trailing space used here excludes subcats. * helper macro needs more work * macro to autogen ++$i, 0x%x$i ? */ DD_cat("gvt:cmd: "), DD_cat("gvt:core: "), DD_cat("gvt:dpy: "), DD_cat("gvt:el: "), DD_cat("gvt:irq: "), DD_cat("gvt:mm: "), DD_cat("gvt:mmio: "), DD_cat("gvt:render: "), DD_cat("gvt:sched: "));
dynamic_debug.c: add 2 new elements:
- int param_set_dyndbg()
- int param_get_dyndbg()
- struct kernel_param_ops param_ops_dyndbg
Following the model of kernel/params.c STANDARD_PARAM_DEFS, these are non-static and exported.
get/set use an augmented kernel_param; the arg refs a new struct dyndbg_bitmap_param containing:
-
the map (array, indexed by bitpos) of format-prefix strings, which define the set/category of prdbgs to be changed per each bit.
-
pointer to the user's ulong holding the bits/state. by sharing state, we coordinate with code that still uses it directly
This will allow drm-debug to be converted incrementally, while still using __drm_debug & drm_debug_enabled() in other parts.
param_set_dyndbg() compares new vs old bits, and only updates prdbgs
on changes. This maximally preserves the underlying state, which may
have been customized via later echo $cmd >control
. So if a user
really wants to know that all prdbgs are set precisely, they must
pre-clear then set.
TLDR: this also doesn't affect the decorator flags "mflt" set per prdbg.
dynamic_debug.h:
Add DEFINE_DYNAMIC_DEBUG_CATEGORIES() described above, and a stub throwing a BUILD_BUG (RFC) when used without DYNAMIC_DEBUG support. Add structs dyndbg_bitdesc, dyndbg_bitmap_param to support the macro.
Note that it also calls MODULE_PARM_DESC for the user, but expects the user to catenate all the bit-descriptions together (as is done in drm.debug), and in the following uses in amdgpu, i915.
The intent is to regenerate this output from per-bit help given in VA_ARGS, including a bit_label(); but this can wait.
Also externs the struct kernel_param param_ops_dyndbg symbol, as is done in moduleparams.h for all the STANDARD params.
USAGE NOTES:
Using dyndbg to query on "format ^$prefix" requires that the prefix be present in the compiled-in format string; where run-time prefixing is used, that format would be "%s...", which is not usefully selectable.
Using DEFINE_DYNAMIC_DEBUG_CATEGORIES wo support gets a BUILD_BUG. ISTM there is already action at a declarative distance, nobody needs mystery as to why the /sysfs thingy didn't appear.
Dyndbg is completely agnostic wrt the categorization scheme used, in order to play well with any prefix convention already in use in the codebase. Ad-hoc categories and sub-categories are implicitly allowed, author discipline and review is expected.
Here are some examples:
"1","2","3" 2 doesn't imply 1. otherwize, sorta like printk levels "1:","2:","3:" are better, avoiding [1-9]\d+ ambiguity "hi:","mid:","low:" are reasonable, and imply independence "todo:","rfc:","fixme:" might be handy "A:".."Z:" uhm, yeah
Hierarchical classes/categories are natural:
"drm::" is used in a later commit "drm:::" is a natural extension. "drm:atomic:fail:" has been proposed, sounds directly useful
NB: in a real sense we abandon enum strictures here, and lose some compiler help, on spelling errs for example. Obviously "drm:" != "DRM:".
Some properties of a hierarchical category deserve explication:
Trailing spaces matter !
With 1..3-space ("drm: ", "drm:atomic: ", "drm:atomic:fail: "), the ":" doesn't terminate the search-space, the trailing space does. So a "drm:" search spec will match all DRM categories & subcategories, and will not be useful in an interface where all categories are already controlled together. That said, "drm:atomic:" & "drm:atomic: " are different, and both are useful in cases.
Ad-Hoc sub-categories:
These have a caveat wrt wrapper macros adding prefixes like "drm:atomic: "; the trailing space in the prefix means that drm_dbg_atomic("fail: ...") pastes as "drm:atomic: fail: ", which obviously isn't ideal wrt clear and simple bitmaps.
A possible solution is to have a FOO_() version of every FOO() macro which (anti-mnemonically) elides the trailing space, which is normally inserted by a newer FOO().
IE: drm_dbg_atomic_("fail: ..."); // trailing _ means ad-hoc subcat
Summarizing:
- "drm:kms: " & "drm:kms:" are different
- "drm:kms" also different - includes drm:kms2:
- "drm:kms:\t" also different - could be troublesome
- "drm:kms:*" doesn't work, no wildcard on format atm.
Order matters in DEFINE_DYNAMIC_DEBUG_CATEGORIES(... @bit_descs)
@bit_descs (array) position determines the bit mapping to the prefix, so to keep a stable map, new categories or 3rd level categories must be added to the end.
Since bits are/will-stay applied 0-N, the later bits can countermand the earlier ones, but it's tricky - consider;
DD_CATs(... "drm:atomic:", "drm:atomic:fail:" ) // misleading
The 1st search-term is misleading, because it includes (modifies) subcategories, but then 2nd overrides it. So don't do that.
Signed-off-by: Jim Cromie [email protected]
v5: . rename to DEFINE_DYNAMIC_DEBUG_CATEGORIES from DEFINE_DYNDBG_BITMAP . in set_dyndbg, replace hardcoded "i915" w kp->mod->name . static inline the stubs . const *str in structs, const array. - Emil . dyndbg: add do-nothing DEFINE_DYNAMIC_DEBUG_CATEGORIES if !DD_CORE . call MOD_PARM_DESC(name, "$desc") for users . simplify callback, remove bit-change detection . config errs reported by [email protected]
v6: . return rc, bitmap->, snprintf, ws - Andy Shevchenko . s/chgct/matches/ - old varname is misleading . move code off file bottom to a "better" place . change ##fsname to ##var for less generic varname (ie: not "debug") . add KP_MOD_NAME workaround for !CONFIG_MODULES . move forward decl down to where its needed
v7: . use kp->arg, dont need kp->data or previous patch-1 - jbaron . use client's ulong for bits, share state . throw BUILD_BUG if DEFINE_DYNAMIC_DEBUG_CATEGORIES used wo support