Stikkordarkiv: Sitater

Slette duplikater fra MySQL

Jeg har etterhvert skaffet meg en pen liten samling sitater i en MySQL tabell som brukes til WordPress-innstikket XmasB Quotes. I skrivende stund er det cirka 14000 ((Fjorten tusen, ja)) sitater totalt. Du ser et tilfeldig av disse til høyre på min hjemmeside.

14000 sitater er selvfølgelig ikke et resultat av manuelle måter å legge de inn på. Jeg har laget et lite program som gjør om en liste til MySQL setninger for å legge det inn. Dermed legger jeg inn flere tusen på noen sekunder, gitt at jeg har en liste over sitatene å hente fra. Som et resultat av denne måten å gjøre det på har jeg fått mange duplikater i samlingen ((Jeg kunne selvfølgelig sjekket for duplikater når jeg legger sitatene inn, men det gjør jeg altså ikke.)). Cirka 500 var det før jeg fjernet de tidligere idag. Så hvordan fjerner man duplikater fra en MySQL tabell?

Det finnes sikkert mange måter å gjøre en slik jobb på. Jeg valgte å gjøre det enkelt, med enkle spørringer og en midlertidig tabell.

  1. Først lager jeg en midlertidig tabell hvor duplikatene er luket ut: CREATE TABLE quotes_temp AS SELECT * FROM wp_xmasb_quotes GROUP BY quote, author Den nye tabellen vil nå kun inneholde sitatene hvor «quote» og «author» til sammen er unikt, det sørger klausulen «GROUP BY» for.
  2. Neste skritt – tømme den originale tabellen: TRUNCATE wp_xmasb_quotes TRUNCATE fjerner innholdet på samme måte som en DELETE kommando ((Men TRUNCATE er ikke det samme som en DELETE – den vil blant annet ikke returnere antall rader slettet. Den vil heller ikke trigge ON DELETE)). Backup er selvfølgelig tatt på forhånd? Kjedelig å miste data…
  3. Kopier innholdet fra temp tabellen inn i den originale: INSERT INTO wp_xmasb_quotes SELECT * FROM quotes_temp
  4. Slett den temporære tabellen: DROP TABLE quotes_temp

Verre er det ikke.

XmasB Quotes har rundet 2000 nedlastinger

En gang i natt rundet jeg det magiske tallet 2000. 2000 ganger har WordPress-innstikket ((Eller plugin om du vil)) blitt lastet ned siden jeg la det ut for en stund siden. Jeg har oppdatert i rykk og napp, og fått god hjelp av flere underveis. Alle kjente bugs er borte, og innstikket er oversatt til tre språk ((Engelsk, norsk og italiensk – strengt tatt bare oversatt til to, ettersom det var på engelsk til å begynne med…)).

Jeg har fortsatt noen små funksjoner jeg ønsker å legge til, men har ikke prioritert dette i det siste på grunn av andre ting som tar opp det meste av fritiden min ((Hun er snart et halvt år gammel, og er fantastisk!)). Jeg har sikkert nevnt det noen ganger, først og fremst er det støtte for AJAX og mulighet for eksport og import av sitater via XML som er på agendaen. XML biten er ikke så vanskelig, men AJAX har jeg ikke kikket noe på enda ((Hvor vanskelig kan det være?)).

Har du ikke testet XmasB Quotes enda kan du laste den ned fra WordPress hvor jeg har valgt å hoste den. Ønsker du å oversette den til flere språk setter jeg selvsagt pris på dette. Da er det bare å sende meg språkfilene på adressen x grisehale xmasb prikk com.

Jeg ligger litt etter på oppdatering av den lokale siden for innstikket (og egentlig også readme filen som følger med nedlastingen), men du kan finne mer info om XmasB Quotes her. Der kan du også digge og stumble XmasB Quotes.

Skulle du ta en titt på innstikket, setter jeg selvsagt pris på om du gir den en rating på WordPress sine side (samme side som du laster den ned fra). Forutsatt at du gir den en god karakter selvsagt. 🙂

Nå er det bare å vente til tikkeren runder 5000.

Smart sagt

Det er en god stund siden samlingen med sitater for denne bloggen rundet 3000. Det hender jeg legger inn en god del, og noen ganger også fra lure ting jeg hører bli sagt. Noen ganger fanger man opp noen gullkorn som kan komme til nytte, og da noterer jeg de ned i innstikket mitt, XmasB Quotes. Og samlingen vokser stadig. I skrivende stund blir du servert et tilfeldig av 3263 sitater fra sitatbasen. Har du lyst på et nytt laster du bare siden på nytt.

Jeg har en stund hatt planer om å legge til mulighet for å eksportere/importere sitatene til xml. Dette er det flere grunner til, men hovedsakelig for å ha en egen backup i et format jeg liker å jobbe med. En annen årsak er selvsagt også muligheten til å inkludere sitater sammen med innstikket, som andre selv kan velge blant. Dessverre er det sjelden jeg har tid til å sitte med private prosjekter på fritiden min.

Andre funksjoner som jeg ønsker å ha med i innstikket er større mulighet for å styre design, enklere redigering av sitater, oversettelser ((Som jeg har hatt store problem med å få til å virke, til tross for flere forsøk og gode oppskrifter på nett. Forslag tas imot med takk. Skal prøve litt til, men ser ikke bort fra at det dukker opp «hjelp jeg får det ikke til»-post her etterhvert.)) og mulighet for å styre rekkefølge og tidsintervall for endring av sitat som vises. I tillegg har jeg også tenkt å legge til en RSS kun for min side, som viser noen (eller bare ett) tilfeldige sitat daglig.

Og dette er selvsagt ikke det eneste prosjektet jeg har i tankene. Jeg har noen innstikk jeg skulle laget til WordPress som jeg selv savner. Detaljer kommer den dagen de er laget, jeg vil ikke love noe heller… I tillegg har jeg flere prosjekter innen foto som jeg kunne tenkt meg å testet, det prioriteres for tiden høyere enn mye annet. Jeg liker å ta bilder, og liker å bruke tid på det teoretiske rundt fotografi. Sikkert derfor foto nå har fått en egen seksjon i bokhylla mi, med stadig flere bøker. Venter for tiden på fire bøker til fra Amazon.com. Med den lave dollaren har det aldri vært billigere å handle bøker fra statene. Det er også greit å huske at det ikke er merverdiavgift på bøker.

Som alltid nok å gjøre, men ingen tid å gjøre det på. ((Må bare beklage at denne posten ble litt rotete. Jeg sitter på kurs, og skrev det meste i pausene.))

These Pretzels are Making Me Thirsty!

Satt og redigerte litt på pluginen XmasB Quotes igår da jeg kom over sitatet «These Pretzels are Making Me Thirsty!» når jeg lette etter duplikater i tabellen over sitater.

Det er lenge siden jeg hadde sett denne episoden av Seinfeld, så jeg husket ikke helt hvem som sa dette. I følge tabellen for XmasB Quotes var det nemlig, Jerry, George, Kramer og Elaine. Samtlige med andre ord. Dette måtte jeg undersøke nærmere. Og jaggu var det ikke rett. Måtte le litt når jeg fikk se klipp fra denne (nesten) uforglemmelige episoden.

[youtube:http://www.youtube.com/watch?v=DRaLpHoZA8E]

Kommer til å legge ut en ny versjon av XmasB Quotes pluginen når jeg har fått lagt til et par funksjoner. Jeg skal i første omgang ha med deteksjon av duplikater slik at sitater ikke kan legges inn flere ganger med samme forfatter, og visning av sitater som finnes for flere forfattere. I tillegg ønsker jeg å legge inn en muligheter for å eksportere og importere via xml. Har også lyst til å benytte tagging eller kategorier for sitatene, men det får komme senere.

XmasB Quotes er klar til nedlasting

Jeg har tatt litt fri fra alt annet enn jobb i det siste, men igår kveld fikk jeg jobbet litt på egne prosjekter og. Jeg har nå lagt ut versjon 0.6 av XmasB Quotes. Jeg har valgt å versjonere den litt lavt foreløpig på grunn av lite testing. Jeg har brukt den under utvikling hos meg selv uten varige men, og den ser ut til å fungere bra. Les mer og last den ned via XmasB Quotes-siden.

Skulle noen finne noen feil eller ha noen ønsker er det bare å si fra.

Min første WordPress plugin

Jeg har den siste tiden puslet litt med en plugin/innstikk til WordPress. Ikke noe videre avanserte greier, men mest for å sette meg inn i hvordan WordPress og plugins egentlig virker. Nå begynner det å ta form, og jeg har brukt mitt eget innstikk på denne siden noen dager. Du ser den forhåpentligvis i høyre hjørnet av bloggen med tittel «XmasB Quotes». Ser kjent ut sier du kanskje? Ja visst, jeg har jo alltid hatt sitatet der. Men tidligere bestod denne av en plugin, en widget, og en del kode fra meg. Nå har jeg bakt alt inn i ett, og skrevet den fra bunn av. En fil for hele sulamitten ((Unntak er css og js filene)), mot fire som sitatene opprinnelig bestod av.

Det er et ganske enkelt innstikk, og det finnes mange innstikk som gjør nesten det samme. Men denne er bedre. Så enkelt er det. Jeg har døpt innstikket (plugin på norsk visstnok) XmasB Quotes ((Om noen har bedre forslag tar jeg gjerne imot de. Jeg trengte bare et unikt navn.))

Så hva gjør den egentlig? Innstikket lar meg legge til sitater på siden med eller uten forfatter. For hvert sitat kan jeg velge om det skal være synlig eller ikke ((Kjekt å kunne endre på i ettertid hvis man ikke ønsker å slette de)) og et egendefinert bilde ((Eller standard som er fil med samme navn som forfatter.)). Jeg kan velge om bilder skal brukes eller ikke, samt sette standard bilde for sitater hvor det ikke er spesifisert eget bilde eller bilde er funnet. Via en widget viser den så et tilfeldig sitat. Man kan også lage en side som viser samtlige sitater ((Etterhvert.)).

Til enhver tid har jeg oversikt over de ti siste sitater som er blitt lagt inn, eller jeg kan få en oversikt over alle på en gang. Jeg jobber litt med å gjøre denne oversikten bedre, da nærmere 3000 sitater på en side blir litt mye.

Jeg kommer til å legge dette enkle innstikket på WordPress.org, slik at støtten for versjonshåndtering i WordPress 2.3 blir utnyttet og melding om ny versjon blir mulig.

Jeg har ikke lagt ut noen nedlasting på den enda, da jeg venter på godkjennelse fra WordPress før jeg kan legge hos de. I mellomtiden kan jeg legge til litt ekstra funksjonalitet som jeg har tenkt på. Høyst sannsynlig kommer jeg også til å lage en engelsk side for den på bloggen. Jeg har ikke helt bestemt meg for hvordan jeg best bør presentere den til andre som måtte være interesserte enda.

Over 2500 sitater!

Jeg har nå over 2500 sitater fordelt på over 250 personer lagt inn i databasen min. Dette er grunnlaget for det tilfeldige sitatet du ser på høyre side av siden. I teorien skal det derfor ta litt tid før du ser det samme sitatet igjen. Nytt sitat kommer hver gang siden lastes, det være seg fordi du endrer side eller laster siden på ny. Det betyr ikke at du trenger å trykke refresh 10000 ganger for det…

Jeg legger gjerne inn et sitat når jeg tilfeldigvis kommer over noe jeg liker, eller synes er bra. En del av sitatene som er lagt inn har medfølgende bilde, men langt fra alle. Jeg har ikke helt oversikt over dette selv fordi det ikke er en direkte kobling. Koden bare sjekker om det finnes et bilde med samme navn som forfatteren av sitatet. Planen er å ha et bilde for hver eneste en. Det kan ta tid.

Sitatene tilfører ikke så mye til selve siden, men jeg synes det er greit å ha der for det. De kan være litt morsomme, eller bare være klokke ord. Ingen av delene skader. Ball pen

Sitater i hue og….

Nå har jeg lagt inn nærmere 3000 (tretusen!) sitater til siden. Har du kjempelyst kan du jo bare trykke refresh en drøss med ganger for å se de. Hvor mange ganger må du trykke for å se alle? Mange. Sitatene er mye av det samme som jeg hadde tidligere, men litt flere selvsagt.

Jeg hadde en del tekstfiler med sitater liggende, så jeg laget et Python script som leste de inn i en diger sql-insert-fil. Python og jeg kan bli gode venner føler jeg.

Kommer til å legge inn bilder for alle forfatterne etterhvert. En annen dag.

Da er sitater på plass.

Det viste seg at den forrige plugin for sitater ikke fungerer med widgets, så da måtte jeg lete litt på ny. Valget havnet til slutt hos Joe’s Quotes Widget. Den er litt lettere enn den forrige jeg testet, da den kun bruker tekstfiler for å lagre sitatene. Mulig jeg kommer til å modifisere den til å bruke database, men den fungerer uansett fint som den er. Det kule med denne er at den bruker et bilde sammen med sitatet.

Jeg kommer helt sikkert til å legge til flere sitater etterhvert, foreløpig ligger det en del fra Simpsons, Futurama, Friends, Star Trek (som jeg ikke er spesielt fan av), Buffy (som også suger ganske bra), Bush (ingen sier så mye dumt som han) osv osv…