Coder Social home page Coder Social logo

athas / eggsml Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 10.0 78.13 MB

A fully fledged and highly scalable lunch management system for the modern enterprise

Home Page: http://eggsml.dk

License: GNU Affero General Public License v3.0

Shell 31.08% Python 28.38% Perl 11.55% Ruby 0.10% C 12.23% Haskell 7.79% Pascal 0.47% Go 1.82% Standard ML 0.63% Emacs Lisp 0.05% JavaScript 2.95% Awk 0.29% CSS 0.38% HTML 1.34% Makefile 0.03% Java 0.10% F# 0.05% Common Lisp 0.11% OCaml 0.61% Raku 0.06%

eggsml's People

Contributors

athas avatar bjarkt avatar brinchj avatar christiankjaer avatar concieggs avatar cpebble avatar dybber avatar eckankar avatar einar-io avatar ericqzou avatar erk- avatar frejsoya avatar martinmch avatar mikkelstorgaard avatar munksgaard avatar narzeja avatar nqpz avatar nwillems avatar omegahm avatar phduck avatar poizan42 avatar sshine avatar svip avatar sword-smith avatar trbjo avatar truls avatar ulrik-dk avatar ulrikrasmussen avatar xiaogrill avatar zera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eggsml's Issues

Skal man kunne tilmelde sig frokoster via spindel?

Hjemmesiden kunne indholde en formular til at tilmelde sig frokost. Man skulle være indviet med et navn for at kunne tilmelde sig frokosten, og selve tilmeldingen kunne foregå gennem en ny bot på #Eggsml. I spindelformularen skal man så skrive det navn, man er indviet med og man er så med til næste frokost. I første omgang skal man ikke kunne oprette nye frokoster, men kun tilmelde sig eksisterende.

Gør kommunist-filteret mere spiseligt.

Veksl mellem:

  • At fremhæve enkelte ord med rød, kapitalisering og omringet af ☭. (Ofte)
  • At censurere enkelte ord. (Sjældent)
  • At translitterere enkelte ord til kyrillisk. (Midt imellem.)

For navne:

  • Tiltal med 'kammerat _' hvis man er i good standing.
  • Tiltal med 'statsfjenden/forræderen/desertøren/overløberen/bedrageren/vendekåben/afløberen _', hvis man er i bad standing.

Tilføj desuden:

  • Oversæt alle tal \d{3,} til "X-D (plus D i partiskat)" for et passende D.

Concieggs bør brokke sig når nogen omtaler kongen uden titel

15:40:53 <EricZou> concieggs: kan du lide Sebbe
15:40:54 <concieggs> Selvfølgelig, det er jo vores alles konge.
15:41:52 <sshine> EricZou, Sebbe tilgav vores synder i går.

En passende reaktion kunne være:

15:41:53 <concieggs> Bøj dig i støvet som pøbelen, sshine! Det er ingen måde at omtale kong Sebbe!

Foruden en række passende titler, kan superlativer også gå an.

Den bør nok holde igen hvis det sker for ofte på kort tid.

Hold løbende styr på hvem der er online på IRC

concieggs bruger lige nu eggspi-kommandoen recentlyActive til at få en liste af nyligt aktive brugere baseret på hvem der har skrevet noget i de sidste N linjer. Det bruges til bl.a. flaske- og fluen-kommandoen.

Det virker fint, bortset fra at nogle af de aktive brugere kan være logget af siden de har skrevet deres besked, hvilket kan være suboptimalt. Det er fx noget rod at krone en som slet ikke er online!

Problemet er at det tager lang tid at tjekke om nogen er online: concieggs skal sende en WHOIS til freenode for hver bruger, så det kan godt blive 5-10 whoises, og det er langsomt.

Det kan løses ved at det registreres når brugere logger på og af, så det gemmes i concieggs' database hvem der er online. Så er det trivielt at tjekke om nogen er på IRC eller ej. Der skal ikke gemmes hvornår folk er logget på og af, kun hvorvidt de er online eller offline.

concieggs skal fortælle dens brugere om historien

Hvis der har været en særligt stor eggs, skal concieggs skrive noget i retning af "Det er den største eggs i __ dage!"

Man kan have en grænse på 10 dage, så hvis der har været en eggs af samme størrelse indenfor de sidste 10 dage, siger concieggs ikke noget, så man undgår ting som "Det er den største eggs i 3 dage!"

En seneste eggs kommando

Brug:

<Dybber> concieggs: seneste brainfuck
<concieggs> Der er gået 203 dage siden doktoren sidst spiste eggs

Concieggs burde have adblocker-blocker-blocker

Der burde ske noget når man linker til en side som politiken med adblocker-blocker. Den kunne evt. sige noget i stil med:

Giv din adblocker-blocker en pause! Adblockere er en forudsætning for, at vores spindel-brugere hver dag kan betragte det ypperste indenfor journalistik og begavet underholdning.

`base64`-programmet på Troels' OpenBSD giver dårlig uddata

På hans OpenBSD giver kørslen

echo -n 'test' | base64 | hexdump

uddataen

0000000    4764    7a56    4164    3d3d    0a0d                        
000000a

mens samme kommando på min Debian giver uddataen

0000000 4764 7a56 4164 3d3d 000a               
0000009

Forskellen er at 0a0d ikke er 000a. Jeg er ligeglad, men når jeg kører kommandoen

echo "$(echo -n 'test' | base64)MERE"

vil jeg naturligvis gerne have uddataen

dGVzdA==MERE

hvilket jeg da også får på min Debian, men på Troels' OpenBSD får jeg i stedet uddataen

MEREdA==

altså hvor 0a0d fungerer som en kontrolkode i både sh, dash og bash der får konsollen til at tro at den skal spole tilbage til begyndelsen af tekstfølgen i stedet for bare at skrive videre.

Jeg tror problemet er at base64-programmet slutter med \n\r i stedet for \r\n. Er det fordi det er en underlig base64-udgave som Troels har installeret, eller tror I det er en reel bug?

Se forresten mit fiks i 5414822.

concieggs' bidrag til debatten skal styres vha. en charme-variabel.

Der er mange steder i koden, hvor concieggs' aktive deltagelse er afgjort ved en maybeGood -kommando.
Jeg synes det kunne være smart, hvis det var maybeGood charmen.
Så kunne man bare skrue op og ned for concieggs' kækhed ved kommandoerne
"concieggs: skru (op|ned) for charmen"

En flyteggs-kommando!

Hvis man skal flytte folk fra f.eks. klokken 13 til 12 på den samme dag, findes der ingen kommando til at gøre dette elegant. Og hvad med en 'massegrav'-kommando til at slette et helt måltid hvis nu alle kapitulerer?

Flere tilstandsbaserede spil i concieggs

Lige nu har concieggs den skægge kommando commitleg, og iiih hvor kan man få mange timer til at gå med den.

Men der mangler flere sådanne spil som kræver flertrinshandlinger og ikke bare er concieggs: noget, og så forresten ikke mere.

Man kan evt. bruge det udmærkede sprog rash til at skrive disse tilstandsbaserede spil. Det understøtter at man kan køre kommandoen flere gange efter hinanden, og at den opfører sig forskelligt hver gang, uden at det er et rod at kode og uden at der skal køre en baggrundsproces.

Bare kom i gang! Jeg foreslår:

  • Jeopardy (se 3a9121b)
  • ELIZA
  • Banko?

Der er i hvert fald rigeligt med muligheder.

Concieggs kan ikke lide pipe

Det her commit får concieggs til at gå i stykker: 42c1781

Andre variationer af at pipe inputtet gennem ircdecode går også galt. Det er lidt mærkeligt...

Regex replacement bør kigge 2-3 linjer tilbage

Irriterende use case:

11:37:35 < sshine> oktober bliver måneden, jeg ikke bruger facebook en time hver weekend.
11:37:38 < sshine> err
11:37:38 < sshine> s/ikke/kun/
11:39:09 < simonshine> Rettet: <sshine> err

Hvis concieggs ser at et mønster slet ikke matcher, så prøv K foregående linjer indtil noget matcher og udfør erstatningen på denne linje i stedet.

YouTube-krogen skal opdateres til Googles nye API

Det gamle API er disabled, så der skal skiftes til den nye version.

Krogen der skal opdateres er hér: https://github.com/Athas/EggsML/blob/master/concieggs/hooks/channel_message/50youtube

Kig evt. på Eckankar/VideoTitleAdderChrome@c7abc7f hvor jeg laver samme opdatering.

Man skal bruge en API-key, som man kan lave hér: https://console.developers.google.com

Det er en ret simpel opdatering; jeg er bare travl lige p.t., så andre skal være velkomne til at fikse det.

eggsml.dk viser ikke rigtigt antal frokost deltagere

I dag da jeg besøgte eggsml.dk var der en fej lpå siden :-(
Der er 0 tilmeldt til Eggs i dag klokken 12:00: . Der skal tilberedes 1 eggs.

Der er tilmeldt 4 og der skal laves 2 eggs.
Det er ikke særligt blåt, øv bøv.

Concieggs er ikke længere høflig nok

I gamle dage kunne concieggs være spydig og fornærmende, men det skete altid med en vis højde i sproget. Vi må tilbage til disse dage, i hvert fald for den mest centrale funktionalitet.

Kod lortet om

Det er jo noget lortekode jeg har kodet. Jeg ved det selv og jeg vidste det også på daværrende tidspunkt. Jeg anede bare ikke at nogle ville tage det seriøst.

Hægte-præcedens

15:19 < Sebbe> Åh, https://www.reddit.com/r/programming/comments/4utw89/solving_the_dating_problem_with_the_senpai/ er sjov. 
15:19 < concieggs> Åh, https://www.reddit.com/r/programming/comments/4utw89/solving_the_dating_problem_with_the_senpai/ er MEGA ROFLCOPTER. 
15:19 < concieggs> Solving the Dating Problem with the SENPAI Protocol [PDF]: http://sigtbd.csail.mit.edu/pubs/veryconference-paper10.pdf (score: 36) 
15:19 < concieggs> Solving the Dating Problem with the SENPAI Protocol [PDF] : programming: https://www.reddit.com/r/programming/comments/4utw89/solving_the_dating_problem_with_the_senpai/
15:19 < Athas> concieggs: afhægt reddit 
15:19 < concieggs> Javel.  Jeg vil se bort fra de anvisninger der evt. måtte optræde under 'reddit'. 
15:21 < Sebbe> Athas: En ting man kunne gøre med hægter er, de kunne give deres respons, og en prioritet. Så outputter concieggs responset med højeste prioritet, hvis det findes.
15:21 < Athas> Så concieggs afvikler ikke kommandoer hvis den synes ens dansk er dårligt? 
15:22 < Athas> Der er også hægter der ikke findes for uddata.
15:22 < Sebbe> Så man kunne sige fx reddit > url > sjov         
15:22 < Athas> Det må du godt implementere. 
15:22 < Sebbe> Yesyes, men de bliver jo også kørt.
15:22 < Sebbe> Det er mere, hvis de vil outputte noget, så vælger concieggs den højest-rangerende og outputter.  
15:22 < Sebbe> Så den fx kan sige at reddit har præcedens over url
15:23 < Sebbe> Så slipper vi også for, at concieggs svarer med 3-4 ting på en enkelt linje sometimes.
15:23 < concieggs> En og en gi'r to; den er go': Så slipper vi også for, at concieggs svarer med 3-4 ting på tokelt linje sometimes.
15:23 < Sebbe> concieggs: tak 
15:23 < concieggs> Det var så lidt.
15:27 < Athas> Gør det!

concieggs charmerer ikke.

Man kan skrue op og ned for concieggs' charme, men ingen bruger charme-værdien til noget.

Brug fx skru.

Botten opdaterer ikke psuedo-romertallene!

En af de oprindelige mærkeværdier ved EggsML er dets lævn fra det Romerske Rige! Desværre bogfører den nuværende bot ikke denne hellige gral! Det må STRAKS fikses!

Write a command in Java

We have lots of scripts, but none in Java. Maybe fix one of the other issues with a script written in Java?

concieggs holder ikke sin kæft når man beder den om det!

18:47:43 < concieggs:#diku> somesome, her på dansk: Skub n -> skub n
18:48:06 < sshine:#diku> concieggs, hold nu din kæft!!!
18:48:07 < concieggs:#diku> OK! Jeg skal nok tie stille (indtil i dag klokken 19:48).
18:48:46 < somesome:#diku> nte er defineret i en where
18:49:13 < sshine:#diku> foo (PUSH n) = push n
18:49:14 < concieggs:#diku> sshine, her på dansk: foo (Skub n) = skub n

Concieggs har ikke overtaget verdensherredømmet

Trin for at reproducere:

  1. Log ind på et tilfældigt irc netværk og join en tilfædig kanal.
  2. Bemærk at hvis der er en bot er det ikke concieggs. Hvis concieggs mod forventning er på kanalen, gentag da trin 1.

Forventet opførsel:
Concieggs er den eneste IRC bot.

Reproducibilitet:
Næsten hver gang

Bemærkninger:
Trin 1 ovenfor antager en fornuftig tilfædighedsgenerator.

Inkonsistent sprogbrug

For at overtage verdensherredømmet, må Concieggs nødvendigvis tale verdenssprogene svensk og tysk. Men det virker som om den gør det ret tilfældigt. Hvad med om Concieggs havde nogle dage hvor alt den sagde blev oversat til et givet sprog?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.