Skip to content

Instantly share code, notes, and snippets.

@iladriano
Created August 18, 2011 13:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iladriano/1154072 to your computer and use it in GitHub Desktop.
Save iladriano/1154072 to your computer and use it in GitHub Desktop.
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class GoogleDeveloperQuiz {
private static final String textA = "kmndqkc slzfmhd qkwv xjk jwqlfz vjjtqmz dsgrhfqb jqsklf dtkpzvsl khjrf ctmjsbnh vvtdl hvfv qqht xqzqrd wkqchmv qxbbz cngw kvlpmrf lztf kfdfmxx xqwjk ggnqwbk pmbln rfv tcfhxshl zpnzwhc xgmtmtjf zlzjls blljr dhcmh rrq rgwv mhvh qbt mbkfjtr ttrglct vzwf fpmffgq tjl snqvpsc xmtkfhdb lgzf crz xcpxk qfvnff nzlhwhph pdssgd wmj krgshq vktqx swzcvkbg djgmbkdl kkgk xrm nvmkwq pglvbvb xvqgsdxh rknr nlz xzcpvwt zsdxxsm pqk ggldqpjh zkjkbhr rlqpxksd jskbv tst sgvfdrwm pfjpqtd gjjfr sxr fpt sjqlm jcxx jssbf gfvclhx pzhkrdq rtv cjggkj hrgkkwj fck vwlxvmf ffblvq wzqbz kgl vxccw xtxvc hwgb qzmmpv fglprxrh hxrvqp dntlxtl jhcd vklv tjdw jxpwkg ssnhwxcz blshdfc vwsdjx zbqcsb snkkcqbh ckw hzdrvrd jhtnrrf vcgpn jnqvt cdqq kvfwqgx tjrhff xdxdk zvp rzsvd jqmx vqqjstt svfh bnvjtv zrdjnpnd rgwq xfgx gktxfz wlvldznn rhpcclkr hmqvktd npzlplr cjk djn txkkxpct pwsnnd kwhbmt ztq ksvj lcgfss qjljg cjwzwpdf prrlfr xzxkw nxg zqfzs wrpb qwvtrc sxkcj rlz sgqkf bgwkbtvp kjzkrkvx xchn fqpx bkdhbp scsp pkr bntmjv hrrzcqs sswx srglxsxf drfxrmf mvmbpst kvcthc tckql fdcfmw rkqwg pqfpmxr ddtwkdhj mnkw kwbnvc lbgkzw nfswpfmx dqvxfbg gcr nhsskh gjzlbz xqm xkbhhzxj qrhfgwwr wrlbc cklt lnzrgjp wtg xzzwl nfkvtkq fhx jstxzk pwwv vsjxrg fgtmcq ndszx kxgxff vssfjqz sshkjtk vbxw qhllgw xqv xlwrc qfks lcrrrhtg wqzsp fvbs ztxwxx vhkggjnv zrpwq qvcsgh dlb bprjgzm vdt ffldcp xxqd fzzjtgkn tncjpd vfjswz nfzj wmkp blm vvnhl qvgvd rcgtbp nwtjbz qhz qblsp fkgtpj sbtmktlp wklmhg lkhw djmqrfcm qcxlrsv lzddhs dwnk qdv pqpl cnpbzs hrqc rzhj cjzgd fjlkcz xklgv bsfkxwwl vpnws spkdhltp qhwtptz psd xglzzn xhxzt gfwqr gmhvj qdwqpv vwtpr hdcwzjkj rtv btjzs gzgm hbtqfqf ztvbs pglnfdp srp nvnnzt hfk zgdlhc ldgm wbrdctr hgjnlqm ckbl mwc bdlxkpfb kjqf fng whmjjxh wsvjjb mvkp fzpslzkl xct qhzwg wwlkkpq hkk vmtbs fcl mmj xpnfkmkh ptlclwhs xcc zcrdgkk xxtxb wjjr mgqpx tnrdd gpdlhp brftbsgt hmbw gjthfz wcj bnjkthxw hrkn pcgs jkqxbkr mqxmldbn nhpxj rvgzgjbx drkpcl fgndq cscsgxbc mqnfxflq ljnc fqb kbq htlpsqq qskpc fmmc swh mhnp fcrbzgl btzf mhk lwbtq dgn xlrdpz frb krxtnnq wlbrr rzvxsb hhc xwvwspp glpm xlrzqlzj rfbdwq nlbg nfqbshls rxb grkd ltgxtzbq pjnk fggrw mzvh fvfl vxwxb jjmc rwlhxxps mwkgb vjjmt qjfb ttcptfr xzxssfx zvl mfxbh dfkkf qgvwwtkm bdsdsvtn clzkkjbb wtfxwbz mbjq vfrt hxtf qgnkttkz whm wwtj nphwp rnrxwp jcz zdcbvf jpjndxmg sqcjzg lphwz fwvkqcw pnxbqw wxkhk wpztd qrwbgjw mvbhw zskrr fxdnnkmr hlrdq xvtdtjsm ljw fftglbn gnnhzvvj dlp mcvzcv jpr shrktl mjtrtsz kpkgr scsktl tscv gbrcmb nphc fbnmcwq dbjxn gnwjdcpj zspx xxkjkrhn lggdwrkf knk bjjz cdmxxc xpbk zkkn pgmdzj pvgnjfw rbhvw wzshsws hbgkmqff gszz hdpmfhww lmpqcnrd rmpgdr fbzwhjbn pbknnch nxkds svktzb xcghv cps ccnfsb gkffqcbk fknl kgc skvqjrsk xfjzs fcqn cdcxcs gws jsms hsxjqxjm nbw zmjkqmc rjkbtf sdwt bzttkzg hnkbvzld zpjps dftvshgv kgq xdzmzg pfprrr qbd psmsw tdkdtb sbr hvmmksxn ftxsr scl drjbdxn xjwtm nlqssjng lqqfct cfjdv hgdfhcd jwtcpc dpzgzqb zvk zzj gxmxbstk plxkwd hbtjd krbkjhqn sntbsqlr dsxxclbz gszml dwqsj hrrn pckd mnv pclpns zkcnstw tcchxvfp wcl qszcr cnmbz nstlh mtjkdrln msj qvcrmk dgrbwhlq wtqbtbtn jkljzmmw lbfklgk vvcflnd pvwvk wrkvjgd xzvq jwr bjz bvcxcvc cclgrc dsjcjtk twh kbtxz gsvw djwscr qvkxqsl zgr nzfl kwhjthr gxrskgv lgqtg sblsnfvh vnpmwvwh kkkw fxcmfmj sfn vrbvxn hvsrskn rbjh bfhd xbbszxw bnktsgkc fvcw rmzzclt xhznvjp wxzqvhg cpxv cfkhv bggmdqz qwrjbktz xjqfrtrb jgb bnt hfmf qcxzwlq ltf jnbqspcb jzhvhc fgtsnxqq vglntqg xgvmk bkrq wdgclrdl qmskng mlv dpzsnb kjzcgc gkvfkpzh wsf gqf gdhtrf kqhl hsvc kdlx xvjcwpz fsjk cjlxhhcl vgjc tlwzc zckz cmzwqwxk ktzngz ppvdd xdw dncpb bbmqt knftkqs dqvsz tvhjqnr cdkvd wjqzckn xrzcsx hnbc xvs vlcskwg jwghnsrn jdrblml tdxsn nsqgql cxgxl wwprfpg zmrcpm dtck wtzh fcmkzdq pdlxtz jrtrqgkq mdr xbw jrcvqcf krxpnjv tjsvkz wzgqcfxf wzvndjjl wvlrgmg mwv khcpmd lsvpltsz dgj cjz msk sqqtqj wgg snrlx sngk tfs rtl ghzkpgvq djs cwjsxzqq rvh dmtdrfzt hzftwbx bdhdb snlzgm pkz klhbwvx ftwwjt rtt ggxk";
private static final String textB = "dmfrwsm nnh pqwqkk fvpsvqgf czdwbf wgd gpxkcldp frmpx vchw mczggb mqrtdrt tcbtkgc tgshvh bbs tncgd rdxfsk lbq gpttvb snt wvsml vdtfwqp plmrwz txr zpqccvlt zcnxxtk xgbxc bwgvmjcf mhz lbzrvm qfbrvnf gxwp trchfjc qndsmd cmn jbwdcsf dvkfsfdr fzq srchmc whs khgsb xlvql fbsjshf dpjwhm jqgl wqghqbsk rdzhpfcm xpfhkbg rrrj vfm gldbxvs rvgrv plbgpbf vxhf ktspbvcg lszpd dmp rvdbplk hzlff dblt jfzvhlbm dwhrvktt mscqltcg kgzffh rshxqfk mcw hqfnm mqhfxx vjqc lmd kxv dqrmp jqmvlvx rhjwfdpl hklpdm wbd mjwhmzgr nxffmcb gcscljq bhdbbq xmdjzl pntfsxwg szblswdj qkhgh czsdsz snbzsl rgknhhv tjf mblqgr dfgsrvfp ccfn wksd xvv nmv hvq tnxkllm xpvkgl hbmjqdf txtjnvn zfmvhjj gnjdpvl mxlndtpx tjm prdn wcbcvct cxhrl znqsd smtf mtt tttrlt gcj zkl kjnwmng hqqlqg skjj lclnph brgv jsq kdwg mlzppdjl cqsnzm vwmlxh ltg jfmbqp vphk lhvjl rsmnjbd tmwmzccq hhzx rrj dmsmqbk brgjczwj hpvrl dcqs wdq xbbpzlpv tvbtvnp lvpcnxkm wsjxmt gfgrcg rztmnxw skhqnf rwwkrp qmfmzzv gbxvxqjt kpp mbctsfv fdzfvgfl npxbrmr sbnj gmbhvs hktx vlgs wzgk xsmfr lqd blwv htkhfmjd xmdhc hdlthp zzrpl svxwhgsj fhshvc xqqtpg mfc tpp wjdbjkcz jjmcwzf qjcfjtm ntlljd cjjrlxxn swtffbwm xws hsdnh mrzdrsdb wxbbrgsp qcvz jjlsgjh pwkrsjxv rgzkwdvj bvh phfjv jshm bdfj drwrt hzftmvz jgrgmdpr qlp btbqhx lvsrrfvk kxkfj fhgfnjm bdnrfdb tnhpqz jjpcrnwj wqqr pff wjwlpglp rbwj knhnmk nsdtwvz ntbbx qlfjpp zdt shzwvklx kvvr blrcvlk kcjqjf bfswwp qdzhx mzjjd jdpqtwl mlwg qpdklc dqhrjq cvsjd dkzsx snnxv bntqrdw lrrzv blqrm qrwkqmtj hmxxh bhfnl zls tmtgx clxnktxk zkjq fdvc wxqc xcsq nxdvh fvnl fxswzq dmdx fgmfh zrsbfvnp hjdhbjj hmd wxdzg sxmxxg jrc pbxv ppcdxwn vhjgxq jrwlc jtxtwjfv djsz kdhs mtbcgq xpvwpcx rgmdn jbgrf srtpr gzrpcs cddtvfdh jtx kzqjmj qmnfgg ckqvmcgx zzvgbgs vhdbt fpp sfghw pfhbrmzg tbcnwk ctg kvpsqz rtbqmwf tzf nrgjq kzhpvtxm rvzdjmsj vmpfshv rlclwvwp jjgnj dftp bmht fnjlw zrrhrh hft rnkvrwvv fbv fwcbvzmt xkwwnk tmfb pgkl zglvqlrk tcpkbvjt gfzvk npmwpmmk hzd nnpcn qjzj rvkwr mzrj fvqlsrx vrppk wwtd jpqccq lbzgnx pcmp xdkmcmf dmgvfjl dtbvzhqh lrkhrsmr zsmzjmzf slw nqsx hblx rhs kktfs bdjghk jlcnfsr xdb kwxfp thgw wchkjb tcs vkdtwcd ffxsp tcvg cnzrlplg dpncm qxkdxvv rjfwgkcx sqdtfrhd mrsjdq xskqwdv rzkb hgbzkpd cghnplb pwjgspnc ftkzhkw hwbkntmt csxhv mdsj bsmcwn ghtfhhf zhlbm whppvrjc gkkc skqdkbrw tjbt gmd gwhf rjf psqrvhb xmjmxfpn txjn hjqvp btw vpcrd wnrrcq slxv rwg jdnqmbhm hsbprfs mnpb drq gmsdhp kxfq jspnlxgt bgpv pfbvjvb gqrmpztd fnmctmw xzznthbf ptx wpg zgg bbwkfbfh dntnb bzcdhxtd ckcrgxwb vgsbh glw srbpzxs crpnj jnld lpqrvps tqq nlhlscr dwqth btjnbgt bfjbjq msltgmh bqkh dxqzjw jwhch srvk mtkpzmc xzbpszjj smvtc cvblhcjd wpjqknct vpfpb bccnszw hkjdqql rfnpr rptkd bwdld pljxh cqthmcfv sck nhrl dpddtcvw hch pxxcz wcvc lgnmt ffrjmwk wqcpxlnt zxqwjdmk xpssltd qdlfxr wnndxkq fwtrcmx nbrp vcslc fvp znjbqc jjhpjn mcxhqm lffzmpv tnhxkvl lvkt mrzb npbxhcdl fvgbg rrmsxndd bplgm zwkdvfj kzstf btcl rrjm mkcpg tkrnhj rpwmpd rfqwpw lnbgqw fhnlvw mqrjzwv tzr wfxs msrqq qfxh plqtfgj pvs glkqwx krxjrrpj lwkt jtmcsbq rztg mcxz wzscw dsglmlj bzzblbzl rclm qnv fvd xlg gvttjr tdvndf rcwrg txk wxtz bhbljztw cnv jmzs fzvwrpv vtt hcdcrhjr xjcgkgdn cgpw tcl zskm hdkfkvgs fdrxr smdv ksbb dtdkl nfsmqg xjfvpd nkh kqlbhlms pkzjdd mxg mgfqw zknz dbjqpsdq qwjn tgrkw pnrwgq xxjdfxgl mvbb tnnscw plccnghw qszqx gqlxwp rbt slzkgvpz qlnv vtk ltv qzxddxn hmmmcs tzn sdlnstg xnc wcpdwc lzbc wzsp fdfgtr tfclz pzn dgtgdvdl ggmx pppmtjcs dnph nst xxcrt nmzxp ntl svldnt dznr rstnv hgxrjh sts ssk nsdgbgx dxtknlmj vctlg rwdkk fwfwg lbl btzfglg hhfpcb jwsptrbx sst mqd grnf gzc trdbmdb kphqqgg hgllx jdvmzmc stdsbt ccdvszw lbjrxt tdwscfl bbxnzzk dsr mjvcwx mtn vkx mqxm wtb lnr txnzbml kbh qnlgcfnz gpzz wtlrngc rjdf dclqkhg xxxbhw kbgbkhxq qcjb kbx xxbbhd qzxzvf gjmht ftjwglvc xtvr qvs tccmvl vtngc xnwjgjz qnjfcg dnlbrst fgbdprlt tntknbg lhn bskcff kkknf hcvhx hzwjwcj pjsgd tmsgbq xwpxp hxdzbvwg gkxhzp kvbhrh mrh qktn sdvf zttsc lplg fxtlf tqq";
private static final String foo = "jtsvx";
private static final String googlon = "prqtksdfczlbwvgmxhnj";
private static final String sortedTextA = "ppvdd prrlfr pqpl pqk pqfpmxr ptlclwhs pkr pkz psd psmsw pdssgd pdlxtz pfprrr pfjpqtd pckd pclpns pcgs pzhkrdq plxkwd pbknnch pwsnnd pwwv pvwvk pvgnjfw pglvbvb pglnfdp pgmdzj pmbln pnxbqw pjnk rrq rtt rtl rtv rkqwg rknr rfbdwq rfv rcgtbp rzsvd rzvxsb rzhj rlqpxksd rlz rbhvw rbjh rwlhxxps rvgzgjbx rvh rgwq rgwv rmpgdr rmzzclt rxb rhpcclkr rnrxwp rjkbtf qrwbgjw qrhfgwwr qqht qkwv qskpc qszcr qdwqpv qdv qfks qfvnff qcxzwlq qcxlrsv qzmmpv qbt qbd qblsp qwrjbktz qwvtrc qvkxqsl qvcrmk qvcsgh qvgvd qgvwwtkm qgnkttkz qmskng qxbbz qhz qhzwg qhllgw qhwtptz qjfb qjljg ttrglct ttcptfr tst tscv tdkdtb tdxsn tfs tckql tcfhxshl tcchxvfp tlwzc twh tvhjqnr txkkxpct tnrdd tncjpd tjrhff tjsvkz tjdw tjl kpkgr krbkjhqn krgshq krxpnjv krxtnnq kqhl ktzngz kkkw kkgk ksvj kdlx kfdfmxx klhbwvx kbq kbtxz kwbnvc kwhbmt kwhjthr kvfwqgx kvcthc kvlpmrf kgq kgc kgl kmndqkc kxgxff khcpmd khjrf knk knftkqs kjqf kjzkrkvx kjzcgc spkdhltp srp srglxsxf sqqtqj sqcjzg skvqjrsk sswx sshkjtk ssnhwxcz sdwt sfn scsp scsktl scl slzfmhd sbr sbtmktlp sblsnfvh swzcvkbg swh svktzb svfh sgqkf sgvfdrwm sxr sxkcj shrktl snrlx snqvpsc sntbsqlr snkkcqbh snlzgm sngk sjqlm dpzsnb dpzgzqb drkpcl drfxrmf drjbdxn dqvsz dqvxfbg dtkpzvsl dtck dsgrhfqb dsxxclbz dsjcjtk ddtwkdhj dftvshgv dfkkf dlp dlb dbjxn dwqsj dwnk dgrbwhlq dgn dgj dmtdrfzt dhcmh dntlxtl dncpb djs djwscr djgmbkdl djmqrfcm djn fpt fpmffgq frb fqpx fqb ftwwjt ftxsr fkgtpj fknl fsjk fdcfmw fftglbn ffldcp ffblvq fcrbzgl fcqn fck fcl fcmkzdq fzpslzkl fzzjtgkn fbzwhjbn fbnmcwq fwvkqcw fvfl fvcw fvbs fgtsnxqq fgtmcq fglprxrh fggrw fgndq fmmc fxdnnkmr fxcmfmj fhx fng fjlkcz cps cpxv crz ctmjsbnh cklt ckbl ckw cscsgxbc cdqq cdkvd cdcxcs cdmxxc cfkhv cfjdv cclgrc ccnfsb clzkkjbb cwjsxzqq cmzwqwxk cxgxl cnpbzs cngw cnmbz cjk cjz cjzgd cjlxhhcl cjwzwpdf cjggkj zpnzwhc zpjps zrpwq zrdjnpnd zqfzs ztq ztvbs ztxwxx zkkn zkcnstw zkjkbhr zspx zskrr zsdxxsm zdcbvf zcrdgkk zckz zzj zlzjls zbqcsb zvp zvk zvl zgr zgdlhc zmrcpm zmjkqmc lphwz lqqfct ltf ltgxtzbq lkhw lsvpltsz ldgm lcrrrhtg lcgfss lztf lzddhs lbfklgk lbgkzw lwbtq lgqtg lgzf lggdwrkf lmpqcnrd lnzrgjp ljw ljnc bprjgzm brftbsgt btzf btjzs bkrq bkdhbp bsfkxwwl bdsdsvtn bdlxkpfb bdhdb bfhd bzttkzg blshdfc blljr blm bbmqt bvcxcvc bgwkbtvp bggmdqz bnt bntmjv bnktsgkc bnvjtv bnjkthxw bjz bjjz wpztd wrpb wrkvjgd wrlbc wqzsp wtqbtbtn wtfxwbz wtzh wtg wkqchmv wklmhg wsf wsvjjb wdgclrdl wcl wcj wzqbz wzshsws wzvndjjl wzgqcfxf wlbrr wlvldznn wbrdctr wwprfpg wwtj wwlkkpq wvlrgmg wgg wmkp wmj wxkhk wxzqvhg whm whmjjxh wjqzckn wjjr vpnws vrbvxn vqqjstt vktqx vklv vssfjqz vsjxrg vdt vfrt vfjswz vcgpn vzwf vlcskwg vbxw vwtpr vwsdjx vwlxvmf vvtdl vvcflnd vvnhl vglntqg vgjc vmtbs vxccw vxwxb vhkggjnv vnpmwvwh vjjtqmz vjjmt gpdlhp grkd gqf gktxfz gkffqcbk gkvfkpzh gszz gszml gsvw gdhtrf gfwqr gfvclhx gcr gzgm glpm gbrcmb gws ggldqpjh ggxk ggnqwbk gmhvj gxrskgv gxmxbstk ghzkpgvq gnwjdcpj gnnhzvvj gjthfz gjzlbz gjjfr mqxmldbn mqnfxflq mtjkdrln msk msj mdr mfxbh mcvzcv mzvh mlv mbkfjtr mbjq mwkgb mwc mwv mvkp mvbhw mvmbpst mgqpx mmj mhk mhvh mhnp mnkw mnv mjtrtsz xpbk xpnfkmkh xrzcsx xrm xqzqrd xqwjk xqv xqm xtxvc xklgv xkbhhzxj xdzmzg xdw xdxdk xfgx xfjzs xcpxk xct xcc xcghv xchn xzcpvwt xzzwl xzvq xzxkw xzxssfx xlrdpz xlrzqlzj xlwrc xbbszxw xbw xwvwspp xvqgsdxh xvtdtjsm xvs xvjcwpz xglzzn xgvmk xgmtmtjf xmtkfhdb xxqd xxtxb xxkjkrhn xhznvjp xhxzt xjqfrtrb xjk xjwtm hrrzcqs hrrn hrqc hrkn hrgkkwj htlpsqq hkk hsvc hsxjqxjm hdpmfhww hdcwzjkj hfk hfmf hzdrvrd hzftwbx hlrdq hbtqfqf hbtjd hbgkmqff hwgb hvsrskn hvfv hvmmksxn hgdfhcd hgjnlqm hmqvktd hmbw hxrvqp hxtf hhc hnkbvzld hnbc npzlplr nphc nphwp nsqgql nstlh ndszx nfqbshls nfkvtkq nfswpfmx nfzj nzfl nzlhwhph nlqssjng nlz nlbg nbw nwtjbz nvmkwq nvnnzt nxkds nxg nhpxj nhsskh jpr jpjndxmg jrtrqgkq jrcvqcf jqsklf jqmx jkqxbkr jkljzmmw jstxzk jskbv jssbf jsms jdrblml jcz jcxx jzhvhc jwr jwqlfz jwtcpc jwghnsrn jgb jxpwkg jhtnrrf jhcd jnqvt jnbqspcb jjmc ";
public static void main(String[] args) {
Set<String> words = new TreeSet<String>(new GooglonComparator());
int prep = 0;
int verb = 0;
int firstPersonVerb = 0;
Set<Long> numbers = new HashSet<Long>();
for(String s: textB.split(" ")) {
String ending = s.substring(s.length()-1);
if(s.length() == 4 && !s.contains("j") && isFoo(ending)) {
prep++;
}
if(s.length() >= 8 && !isFoo(ending)) {
verb++;
String begining = s.substring(0, 1);
if(isFoo(begining)) {
firstPersonVerb++;
}
}
words.add(s);
long decimal = googlonToDecimal(s);
if(decimal >= 584702 && decimal % 4 == 0) {
numbers.add(decimal);
}
}
String sorted = "";
for(String s: words) {
sorted += (s + " ");
}
System.out.printf("prep: %d, verb: %d %d\n" +
"sorted: %s\nsorted verifies: %s\n" +
"interesting: %d, decimal verifies: %s",
prep, verb, firstPersonVerb,
sorted, sorted.equals(sortedTextA),
numbers.size(), googlonToDecimal("kmndqkc") == 525175504
);
}
private static boolean isFoo(String s) {
return foo.contains(s);
}
private static class GooglonComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
int n1 = s1.length();
int n2 = s2.length();
int min = Math.min(n1, n2);
for (int i = 0; i < min; i++) {
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
int i1 = googlon.indexOf(c1);
int i2 = googlon.indexOf(c2);
return i1 - i2;
}
}
return n1 - n2;
}
}
private static long googlonToDecimal(String s) {
long base = 1;
long value = 0;
for(int i=0; i<s.length(); i++) {
char charAt = s.charAt(i);
value += googlon.indexOf(charAt) * base;
base *= 20;
}
return value;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment