<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mknod /dev/blog c 1 3 &#187; quickies</title>
	<atom:link href="http://blog.technostoic.net/category/quickies/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.technostoic.net</link>
	<description>Dave Null is my close friend</description>
	<lastBuildDate>Tue, 15 Nov 2011 16:27:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Doua scurte</title>
		<link>http://blog.technostoic.net/2011/06/08/doua-scurte/</link>
		<comments>http://blog.technostoic.net/2011/06/08/doua-scurte/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 08:05:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=616</guid>
		<description><![CDATA[Unu: azi e IPv6 day, asa ca am pus principalele servicii lug.ro (ftp-ul si site-urile) si pe v6, pana acum am cam 1% din hits pe v6, not bad. Probabil or sa ramana asa. Urmeaza IRC-ul si emailul. Doi: m-am decis ca maine seara sa prezint ceva mai de incepatori (pentru ca trebuie sa recunosc, [...]]]></description>
			<content:encoded><![CDATA[<p>Unu: azi e <a href="http://omgipv6day.com/">IPv6 day</a>, asa ca am pus principalele servicii lug.ro (ftp-ul si site-urile) si pe v6, pana acum am cam 1% din hits pe v6, not bad. Probabil or sa ramana asa. Urmeaza IRC-ul si emailul.</p>
<p>Doi: m-am decis ca <a href="http://wiki.lug.ro/%C3%8Ent%C3%A2lnirea_RLUG_Iunie_%2711">maine seara</a> sa prezint ceva mai de incepatori (pentru ca trebuie sa recunosc, subiectele exotice ii lasa reci pe majoritatea). M-am hotarat sa zic doua vorbe despre awk (pentru ca ma intristeaza cand lumea il foloseste doar ca pe un soi de cut). Pana maine incropesc eu niste slide-uri, dar daca aveti sugestii let me know.</p>
<p>Of course, profit de ocazie sa va reamintesc ca <a href="http://blog.technostoic.net/2011/05/16/pay-it-forward/">aveti datorii morale</a> fata de comunitatea asta (in general, nu la RLUG ma refer). Asa ca primul pas ar fi sa participati (la evenimentul asta daca vreti si puteti, sau la altul daca nu va place de noi din motive geografice, politice sau estetice).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2011/06/08/doua-scurte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>laptop blocat pe 800 MHz</title>
		<link>http://blog.technostoic.net/2011/04/19/laptop-blocat-pe-800-mhz/</link>
		<comments>http://blog.technostoic.net/2011/04/19/laptop-blocat-pe-800-mhz/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 16:15:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=599</guid>
		<description><![CDATA[(Sa mi se scuze titlul SEO-ist, e pentru o cauza nobila, really. Daca te doare tare problema asta, sari la ultimul paragraf). Din cauza ca simteam nevoia sa stric ceva si nu voiam sa pun pe altii sa munceasca, mi-am upgradat laptopul la Debian Testing (aka. Wheezy). De obicei stau pe testing pana la release, [...]]]></description>
			<content:encoded><![CDATA[<p>(Sa mi se scuze titlul SEO-ist, e pentru o cauza nobila, really. Daca te doare tare problema asta, sari la ultimul paragraf).</p>
<p>Din cauza ca simteam nevoia sa stric ceva si nu voiam sa pun pe altii sa munceasca, mi-am upgradat laptopul la Debian Testing (aka. Wheezy). De obicei stau pe testing pana la release, cand raman asa pe stable inca vreo luna doua sa se potoleasca apele.</p>
<p>A mers foarte smooth (cu exceptia prietenului meu network-manager care a decis sa o ia razna nitel, evident), ar mai fi un bug foarte haios cu driverul nouveau (dar stau pe nvidia non-free pana una alta). Singura problema care mi-a dat ceva batai de cap era procesorul care insista sa stea pe 800MHz, cea mai joasa frecventa disponibila.</p>
<p>Dupa multe cautari pe net se pare ca problema e ca nu-i place de adaptorul AC (iarasi, e al treilea adaptor pe care il stric) si bios-ul insista sa tina procesorul in 800 MHz pana imi iau carger sau baterie sau mai stiu eu ce de la Dell.</p>
<p>Solutia, pana una alta, a fost sa adaug ca parametru de kernel umatoarea treaba: "processor.ignore_ppc=1" (in Debian, l-am adaugat la GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.conf , YMMV), care din cate m-am prins ii spune kernelului sa nu ia in considerare plansetele biosului ref. la frecvente. Ramane de vazut daca imi strica <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2011/04/19/laptop-blocat-pe-800-mhz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>atelier rlug februarie &#8211; call for help</title>
		<link>http://blog.technostoic.net/2011/02/19/atelier-rlug-februarie-call-for-help/</link>
		<comments>http://blog.technostoic.net/2011/02/19/atelier-rlug-februarie-call-for-help/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 11:30:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=590</guid>
		<description><![CDATA[Desi sunt din ce in ce mai alergat zilele astea, ma bucur ca am apucat sa programez "atelierul" lunii februarie, sambata viitoare de la ora 13 (tot in Poli, tot in laboratorul EG306 din Automatica). Deocamdata nu am nici o idee de tema de discutie, please join in si propuneti una. Ne vedem acolo (or [...]]]></description>
			<content:encoded><![CDATA[<p>Desi sunt din ce in ce mai alergat zilele astea, ma bucur ca am apucat sa programez "atelierul" lunii februarie, sambata viitoare de la ora 13 (tot in Poli, tot in laboratorul  EG306 din Automatica).</p>
<p>Deocamdata nu am nici o idee de tema de discutie, please <a href="http://wiki.lug.ro/Atelier_februarie_2011">join in</a> si propuneti una. Ne vedem acolo (or else!)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2011/02/19/atelier-rlug-februarie-call-for-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>muzichii</title>
		<link>http://blog.technostoic.net/2011/01/26/muzichii/</link>
		<comments>http://blog.technostoic.net/2011/01/26/muzichii/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 19:34:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=585</guid>
		<description><![CDATA[(Da, am niste idei noi privind cum o sa utilizez site-ul asta, da' despre ele intr-un post ceva mai incolo pana mi le cristalizez sau imi trece). Sa parcurgem impreuna o inlatuire de piese care mi-au cantat in cap si in computer zilele astea: Sinead O'Connor - mai intai Thank You for Hearing Me, urmat [...]]]></description>
			<content:encoded><![CDATA[<p>(Da, am niste idei noi privind cum o sa utilizez site-ul asta, da' despre ele intr-un post ceva mai incolo pana mi le cristalizez sau imi trece).</p>
<p>Sa parcurgem impreuna o inlatuire de piese care mi-au cantat in cap si in computer zilele astea:</p>
<ul>
<li>Sinead O'Connor - mai intai <a href="http://www.youtube.com/watch?v=mj_xKA5C2vU">Thank You for Hearing Me</a>, urmat de niste <a href="http://www.youtube.com/watch?v=iVKzfGyZTyo">You Made Me The Thief of Your Heart</a>, care cumva mi-a adus aminte nu stiu cum de</li>
<li>Peter Gabriel, in primul rand cu o anumta versiune a <a href="http://www.youtube.com/watch?v=JRLjpXLEp1A">Come Talk to Me</a> si de <a href="http://www.youtube.com/watch?v=Oj6AsmUAsy8">Lay Your Hands On Me</a>, care m-a obsedat toata ziua, si care in mod normal ar fi fost urmata de <a href="http://www.youtube.com/watch?v=3WC-5VFcliE">Signal to Noise</a> (s-a priceput la showuri de tanar si s-a perfectionat cu varsta). Instead, probabil datorita unor persoane apropiate care trec prin niste momente de cumpana, am simtit nevoia sa reascult <a href="http://www.youtube.com/watch?v=eMwn_hnoS5Y">Solsbury Hill</a> si mai ales <a href="http://www.youtube.com/watch?v=uiCRZLr9oRw">Don't Give Up</a> (Kate bush rulez!), si am ajuns asa la</li>
<li>Phil Collins, in primul rand cu <a href="http://www.youtube.com/watch?v=YkADj0TPrJA">In The Air Tonight</a>(mi-ar place ca in viitorul apropiat sa invat sa bat piesa asta, macar ca <a href="http://www.youtube.com/watch?v=Wy52yueBX_s">gorila</a> <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), dupa care cu un pic de <a href="http://www.youtube.com/watch?v=wuvtoyVi7vY">Against All Odds</a>, dupa care trebuie sa ascultam si the real thing adica</li>
<li>Genesis,in principal cu <a href="http://www.youtube.com/watch?v=Ccs2rt0oSzQ">Mama</a> si nitel <a href="http://www.youtube.com/watch?v=Ccs2rt0oSzQ">Follow You, Follow Me</a> (oi fi incult, dar nu m-a prins perioada Gabriel)</li>
<li>... si cam atat deocamdata, pentru ca nu gasesc continuare care sa se potriveasca la piesa asta (as putea trisa sa zic ca in clipul ala Tony Banks arata ca J.M. Jarre in perioada "Equinoxe", dar n-am chef de muzica electronica acum...)</li>
</ul>
<p>Eh, asta e doar unul din modurile in care pierd vremea pe internet cand nu pot sa dorm <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Data viitoare, something completely different.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2011/01/26/muzichii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ipv6 quickies</title>
		<link>http://blog.technostoic.net/2011/01/07/ipv6-quickies/</link>
		<comments>http://blog.technostoic.net/2011/01/07/ipv6-quickies/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 02:32:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=571</guid>
		<description><![CDATA[RDS da IPv6 la abonati, dar nu le spune, lasa ca le zic eu: activezi 6to4 pe interfata dinspre ei si ta-da! merge. Atentie, e vorba de 6to4, aka. RFC 3056, aka. 2002::/16, nu 6in4, 6over4, teredo, ca sa enumar doar cateva din mecanismele inrudite. Cu ocazia asta mi-am pus openwrt proaspat pe router, pare [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>RDS da IPv6 la abonati, dar nu le spune, lasa ca le zic eu: activezi 6to4 pe interfata dinspre ei si ta-da! merge. Atentie, e vorba de <a href="http://en.wikipedia.org/wiki/6to4">6to4</a>, aka. <a href="http://tools.ietf.org/html/rfc3056">RFC 3056</a>, aka. 2002::/16, nu 6in4, 6over4, teredo, ca sa enumar doar cateva din mecanismele inrudite. Cu ocazia asta mi-am pus openwrt proaspat pe router, pare sa mearga corect, n-am incercat prea multe yet, mai vedem. <b>update:</b>Tzeapa, nu-mi da RDS-ul nimic, ies pe internetul v6 undeva prin Amsterdam. Kinda useless deocamdata.</li>
<li>Sa faci un firewall pe v6 e relativ complicat, in sensul ca trebuie sa fii atent ce icmpv6-uri accepti si ce nu (mi-am propus ca zilele astea sa termin si eu de citit RFC 4890, de aproape 3 ani tot zic ca imi fac timp), sa stii bine ce fel de ip-uri se vehiculeaza pe reteaua locala (tot soiul de multicasturi mai mult sau mai putin utile), si sa tii cont de quirk-urile de implementare pe os-ul tau (ultima oara cand am facut asa ceva, conntrackul de v6 nu facea ce trebuie cu icmp-urile si era ceva duda cu folosirea rutei ::/0, a trebuit sa folosesc 2000::/3 ca ruta default). Speaking of conntrack, am aflat cu mari scrasnete de dinti ca in kernelul -openvz de la Debian <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608229">nu merge conntrackul de v6</a> si nu mi-e clar daca e doar o bifa lipsa sau e ceva mai deep. Asa ma roade sa trec pe cgroups, ceva de speriat...</li>
<li>La ora actuala <a href="http://www.potaroo.net/tools/ipv4/index.html">site-ul potaroo.net</a> estimeaza 21 februarie ca data de epuizare a ip-urilor nealocate de IANA si 8 noiembrie ca data de epuizare a ip-urilor nealocate de RIR-uri (probabil APNIC e principalul candidat). Nu dau anul pentru ca e anul asta. Yup, dwelve on that for a bit...</li>
<li>Shameless advertising: blogul asta, asa rar folosit cum e, e si pe ipv6 din iulie 2008. <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  (Yeah, I know, who cares)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2011/01/07/ipv6-quickies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nagios custom variables</title>
		<link>http://blog.technostoic.net/2010/11/01/nagios-custom-variables/</link>
		<comments>http://blog.technostoic.net/2010/11/01/nagios-custom-variables/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 11:25:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=547</guid>
		<description><![CDATA[Quick note pt. cine o mai avea nevoie: daca vrei sa folosesti custom object variables (asa cum zice in documentatie) ca variabile de mediu, adica sa le pescuiesti din environment ca $NAGIOS__HOSTMYVAR, apai vezi ca daca rulezi scripturile perl cu ePN nu merge (ma rog, e oarecum logic, da' nu scrie nicaieri negru pe alb, [...]]]></description>
			<content:encoded><![CDATA[<p>Quick note pt. cine o mai avea nevoie: daca vrei sa folosesti custom object variables (asa cum zice <a href="http://nagios.sourceforge.net/docs/3_0/customobjectvars.html">in documentatie</a>) ca variabile de mediu, adica sa le pescuiesti din environment ca $NAGIOS__HOSTMYVAR, apai vezi ca daca rulezi scripturile perl cu ePN nu merge (ma rog, e oarecum logic, da' nu scrie nicaieri negru pe alb, pana mea). M-am scos cu apelatul ca macro-uri din command line pana la urma, da' mi-a mancat 1h din viata...</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2010/11/01/nagios-custom-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>intrebare de DNS</title>
		<link>http://blog.technostoic.net/2010/10/18/intrebare-de-dns/</link>
		<comments>http://blog.technostoic.net/2010/10/18/intrebare-de-dns/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 19:39:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=542</guid>
		<description><![CDATA[Sa zicem ca ai un server care e primary master pe un numar de zone si niste slaves, declarati cu totii frumos in zona parinte samd. Sa zicem ca masina care e primary master are niste bube si o scoti din datacenter si o duci acasa sa o testezi. Intrebarea care se pune (si la [...]]]></description>
			<content:encoded><![CDATA[<p>Sa zicem ca ai un server care e primary master pe un numar de zone si niste slaves, declarati cu totii frumos in zona parinte samd. Sa zicem ca masina care e primary master are niste bube si o scoti din datacenter si o duci acasa sa o testezi. Intrebarea care se pune (si la care as fi stiut raspunsul daca mi-as fi pus-o cand trebuia, dar meh) este in cat timp o sa inceapa sa sune telefonul cu OMGWTFDNSBBQLOL daca in SOA la toate cele ~10 zone ai ceva de genul:
<pre>
;;snip
@ IN SOA ns.spanac.ro. hostmaster (
2010101010 ; serial
        3h ; refresh
        15 ; retry
        1w ; expire
        3h ; minimum
)
;;more snip
</pre>
<p>Si ca sa se termine "Speed"-style, ce faci sa rezolvi asap problema daca serverul ala e la tine in casa si n-ai apucat sa setezi un alt dns master, doar cei doi slaves si nu vrei sa stai sa te incurci in viewuri si acl-uri samd cand suna telefonul in draci? <a href="http://www.youtube.com/watch?v=Ug2hLQv6WeY">What do you do?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2010/10/18/intrebare-de-dns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Na, ca am scapat</title>
		<link>http://blog.technostoic.net/2010/09/24/na-ca-am-scapat/</link>
		<comments>http://blog.technostoic.net/2010/09/24/na-ca-am-scapat/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 20:43:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[everything else]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=537</guid>
		<description><![CDATA[Ceva mai devreme am reajuns acasa dupa trei zile de alergaturi prin Europa, dedicate faimosului "on-site interview" pentru Google (SRE/sysadmin, pt. cine stie). A fost obositor ca naiba, n-am apucat sa stau locului prea mult (decat prin aeroporturi), si a trebuit sa sacrific trei zile de concediu, dar a fost foarte cool: am avut ocazia [...]]]></description>
			<content:encoded><![CDATA[<p>Ceva mai devreme am reajuns acasa dupa trei zile de alergaturi prin Europa, dedicate faimosului "on-site interview" pentru Google (SRE/sysadmin, pt. cine stie). A fost obositor ca naiba, n-am apucat sa stau locului prea mult (decat prin aeroporturi), si a trebuit sa sacrific trei zile de concediu, dar a fost foarte cool: am avut ocazia sa discut la interviuri cu oameni foarte faini pe probleme interesante, m-am vazut cu cativa colistasi din Olanda la o bere in Amsterdam, am prins cate un glimpse foaaaaarte mic si din Dublin si din Amsterdam (daca sa plimbi bagajul la ore si prin locuri complet neinteresante cate o ora in ambele orase se poate chema astfel), mi-am mai adaugat 4 zboruri la scurta mea panoplie aviatica, etc.</p>
<p>Funny thing e ca desi au fost 2-3 zile extrem de solicitante, ma simt ca dupa concediu <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Experienta asta a reusit sa ma rupa complet de problemele cotidiene.</p>
<p>Acu sa vedem in primul rand daca ma vor ei pe mine si in al doilea rand daca vreau eu sa ma duc...</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2010/09/24/na-ca-am-scapat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>devops humor</title>
		<link>http://blog.technostoic.net/2010/07/19/devops-humor/</link>
		<comments>http://blog.technostoic.net/2010/07/19/devops-humor/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 07:54:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=518</guid>
		<description><![CDATA[Banuiesc ca dintre putinii mei cititori se gasesc cativa care sa urmareasca fenomenul Devops (sau DevOps? sau ##devops? whatever). Le recomand trei id-uri de twitter care sunt in ultima vreme un soi de lolcats pt. mine: @ShitMyDevOpSays, @devops_borat, @DBAHULK (call me sick, dar rad la cam toate glumele de-acolo, cum ar fi: "If you like [...]]]></description>
			<content:encoded><![CDATA[<p>Banuiesc ca dintre putinii mei cititori se gasesc cativa care sa urmareasca fenomenul Devops (sau DevOps? sau ##devops? whatever). Le recomand trei id-uri de twitter care sunt in ultima vreme un soi de lolcats pt. mine:</p>
<p><a href="https://twitter.com/ShitMyDevOpSays">@ShitMyDevOpSays</a>, <a href="https://twitter.com/devops_borat">@devops_borat</a>, <a href="https://twitter.com/DBAHULK">@DBAHULK</a></p>
<p>(call me sick, dar rad la cam toate glumele de-acolo, cum ar fi: "If you like masturbate on Java, I use nosql and tell you also like masturbate on Ruby, Clojure and TDD. #hunch")</p>
<p>Have fun <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2010/07/19/devops-humor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>uneori trebuie si mai din topor</title>
		<link>http://blog.technostoic.net/2010/04/28/uneori-trebuie-si-mai-din-topor/</link>
		<comments>http://blog.technostoic.net/2010/04/28/uneori-trebuie-si-mai-din-topor/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 16:13:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[quickies]]></category>

		<guid isPermaLink="false">http://blog.technostoic.net/?p=501</guid>
		<description><![CDATA[Inainte de toate, admit ca nu e prea frumos ce urmeaza sa prezint, nici ca idee, nici ca implementare, dar pledez pentru "temporary insanity", asta sa nu avem vorbe Problema cu care m-am confruntat e un site "pehaspe-maieschiuel", cu articole tinute in db, care suferea de clasica problema "s-au stricat diacriticele". La inceput mi-am zis, [...]]]></description>
			<content:encoded><![CDATA[<p>Inainte de toate, admit ca nu e prea frumos ce urmeaza sa prezint, nici ca idee, nici ca implementare, dar pledez pentru "temporary insanity", asta sa nu avem vorbe <img src='http://blog.technostoic.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Problema cu care m-am confruntat e un site "pehaspe-maieschiuel", cu articole tinute in db, care suferea de clasica problema "s-au stricat diacriticele". La inceput mi-am zis, eh, am mai facut de-astea, un iconv bine plasat pe dumpul initial, import si alter tables, dupa care ta-da!</p>
<p>Ntz. Site-ul suferise de vreo doua astfel de migrari, plus diversi destepti care au "reparat", plus editori diferiti, plus copy-paste din word (cu bulinute, smart-quotes, em-dashes, ellipsis, samd). Caracterele cu diacritice erau in vreo trei forme diferite, asa ca nu puteam gasi o solutie generica. Ca atare am facut un script care sa inlocuiasca diversii "viermisori" cu lucruri mai normale. Eu am transformat totul la ascii pentru ca oricum aveam mai bine de jumatate din texte scrise fara diacritice si am zis ca nu ma mai complic degeaba. Scriptul pe care l-am folosit de fapt e ceva mai complicat pentru ca scormoneste prin DB si imi da si contextul in care gaseste caractere necunoscute, pentru a completa hashul, plus ca face si update.</p>
<p>Am produs pana la urma doua hash-uri, pentru a forta precedenta intre cateva substituiri, dau mai jos hashurile folosite si cum se pot utiliza (pentru a preveni "false friends" cauzati de diversele transformari RSS-friendly, recomand <a href="http://blog.technostoic.net/ascii-ize.pl">downloadul direct</a>, intrucat contine caractere UTF-8 multibyte si cateva caractere html-encoded):</p>
<pre>my %changes = (
 '&amp;#351;' =&gt; 's',
 '&amp;#350;' =&gt; 'S',
 '&amp;#355;' =&gt; 't',
 '&amp;#354;' =&gt; 'T',                                               
 '&amp;#259;' =&gt; 'a',                                               
 '&amp;#258;' =&gt; 'A',                                               
 '–'    =&gt; '-',                                                 
 '…'    =&gt; '...',                                               
 'î'     =&gt; 'i',                                                
 'Î'     =&gt; 'I',                                                
 'â'     =&gt; 'a',                                                
 'Â'     =&gt; 'A',
 '“'    =&gt; '"',
 '”'    =&gt; '"',
 '„'    =&gt; '"',                                                 
 '¬' =&gt; '',
 '‘’' =&gt; '"',
 '’’' =&gt; '"',
 '’' =&gt; '\'',
 '‘' =&gt; '\'',                                                   
 ## these two might deserve a &lt;ul&gt;                              
 '•' =&gt; '*',
 "\x95" =&gt; '*',
 "a\xA2" =&gt; 'a',
 "\xE2" =&gt; 'a',
 "\xEE" =&gt; 'i',                                                 
 "\xCE" =&gt; 'i',                                                 
 "\x84" =&gt; '"',
 "\x85" =&gt; '...',                                               
 '½' =&gt; '1/2',
 '«' =&gt; '"',
 '»' =&gt; '"',                                                    
);          

my %changes2 = (                                                   
 "\x93" =&gt; '"',
 "\x94" =&gt; '"',                                                 
);          
## sometime later...
 for ( keys(%changes) ) {
 $text =~ s/$_/$changes{$_}/gs;
 }
 for ( keys(%changes2) ) {
 $text =~ s/$_/$changes2{$_}/gs;
 }
</pre>
<p>Probabil ca gaseam cateva module care rezolvau treaba asta mai elegant, dar cum spuneam, I plead temporary insanity. Mai am cateva dude pe care n-am reusit sa le identific corect, dar deocamdata a functionat. Daca vreun webdeveloper citeste chestia asta, e rugat frumos (dar printre dinti) sa foloseasca utf-8 peste tot, de la baza de date la encodingul paginii. Kthx.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technostoic.net/2010/04/28/uneori-trebuie-si-mai-din-topor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

