<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>codebyko är kod som kodats av Karl Oskar.
En del av min studietid 2007-2010 ägnades åt att göra hemsidor och utveckla webbapplikationer. Detta gjordes under firmanamnet codebyko.

Min Google-profil ger en bra överblick över mina digitala fotspår.

</description><title>En dag på nätet</title><generator>Tumblr (3.0; @edpn)</generator><link>http://edpn.codebyko.se/</link><item><title>"A designer who does not write markup and CSS is not designing for the web, but drawing pictures."</title><description>“A designer who does not write markup and CSS is not designing for the web, but drawing pictures.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://flyosity.com/application-design/if-you-can-think-design-code-you-win.php"&gt;http://flyosity.com/application-design/if-you-can-think-design-code-you-win.php&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/9659027637</link><guid>http://edpn.codebyko.se/post/9659027637</guid><pubDate>Thu, 01 Sep 2011 08:26:04 +0200</pubDate></item><item><title>"It’s true that in business you’re so accustomed to fluffing your feathers and making a show it can..."</title><description>“It’s true that in business you’re so accustomed to fluffing your feathers and making a show it can be hard to remember to act like a normal human being.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://blog.asmartbear.com/how-to-get-customers-who-love-you-even-when-you-screw-up.html"&gt;&lt;a href="http://blog.asmartbear.com/how-to-get-customers-who-love-you-even-when-you-screw-up.html"&gt;http://blog.asmartbear.com/how-to-get-customers-who-love-you-even-when-you-screw-up.html&lt;/a&gt;&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/2910416281</link><guid>http://edpn.codebyko.se/post/2910416281</guid><pubDate>Mon, 24 Jan 2011 18:50:41 +0100</pubDate></item><item><title>"Actually, there is nothing wrong with Flash at all. It is the misuse by retards that is the problem..."</title><description>“Actually, there is nothing wrong with Flash at all. It is the misuse by retards that is the problem with Flash. You know, Flash don’t kill websites… people kill websites…”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Jag håller med &lt;a href="http://jesperastrom.com/seo/why-i-dislike-flash-for-websites-but-love-it-for-apps/"&gt;Jesper Åström&lt;/a&gt; i det. Även om felanvändandet gjort att jag har svårt att se förtjänsterna alls i Flash.&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/1599029535</link><guid>http://edpn.codebyko.se/post/1599029535</guid><pubDate>Wed, 17 Nov 2010 10:18:50 +0100</pubDate></item><item><title>"Men att justera en kultur, en övergipande inriktning, är ett synnerligen komplicerat arbete som inte..."</title><description>“&lt;p&gt;Men att justera en kultur, en övergipande inriktning, är ett synnerligen komplicerat arbete som inte sällan kräver nytänkande, motiverande och inspirerande ledare. Inte gamla rävar som har en gammal kultur i ryggmärgen.&lt;/p&gt;

&lt;p&gt;För kultur slår normalt strategi, och det är Nokia ett bra exempel på.&lt;/p&gt;”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://www.va.se/asikter/bloggar/carlbom/2010/09/10/darfor-far-kallasvuo-ga/"&gt;Thomas Carlbom på Veckans affärer&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/1107656446</link><guid>http://edpn.codebyko.se/post/1107656446</guid><pubDate>Sun, 12 Sep 2010 08:21:14 +0200</pubDate></item><item><title>Läsa dokument (.doc, .docx, .odt, .pdf &amp; .rtf) med php</title><description>&lt;p&gt;Jag hamnade nyss i en situation där jag behövde extrahera text från dokument. Syftet var att senare kunna låta &lt;a href="http://www.sphinxsearch.com/"&gt;Sphinx&lt;/a&gt; indexera datat. Målbilden var att klara av .odt, .docx, .doc, .pdf och .rtf. Både .odf och .docx är relativt enkla då de båda är zip-filer med xml-innehåll. Vet man bara var man hittar själva innehållet är det enkelt att med hjälp av phps xml-funktioner plocka ut rådatan. Jag fick lite hjälp av &lt;a href="http://www.webcheatsheet.com/php/reading_the_clean_text_from_docx_odt.php"&gt;följande sida&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Äldre Word-filer i .doc-format löste jag genom att installera paketet &lt;em&gt;antiword&lt;/em&gt; (apt-get install antiword på Ubuntu 10.04 Server). Därefter stötte jag på patrull. Tydligen måste Antiword ha en viss path-variabel satt för att inte sparka bakut. Följande löste problemet.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;putenv("ANTIWORDHOME=/usr/share/antiword");&lt;br/&gt;echo shell_exec("/usr/bin/antiword /katalog/filnamn.doc");&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pdf-filer löste jag genom &lt;em&gt;pdftotext&lt;/em&gt; som är en del av paketet &lt;em&gt;xpdf. pdftotext &lt;/em&gt;vill ha två argument varav det andra är den fil man vill skriva till. Ett bindestreck gör att resultatet skickas till stdout.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo shell_exec("/usr/bin/pdftotext /katalog/filnamn.pdf -");&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Det som jag trodde skulle vara enklast men som visade sig lite lurigt var rtf-filer. Jag trodde att jag skulle kunna göra på samma sätt som ovan efter att ha hittat &lt;a href="http://www.gnu.org/software/unrtf/unrtf.html"&gt;GNU-projektet UnRTF&lt;/a&gt;. Vad jag gissar var felet, för jag vet inte säkert, är att &lt;em&gt;unrtf&lt;/em&gt; av någon anledning skriver till stderr även vid “framgång”. Detta resulterade i ett elakt &lt;em&gt;500 internal server error&lt;/em&gt; på min &lt;a href="http://www.cherokee-project.com/"&gt;Cherokee-server&lt;/a&gt;. När jag nästan hade gett upp så hittade jag &lt;a href="http://php.net/manual/en/function.proc-open.php"&gt;&lt;em&gt;proc_open&lt;/em&gt;&lt;/a&gt; i php-manualen. Rent intuitivt kändes det som det kunde vara något att prova. Utan att kunna förklara varför så fungerade nedan utan problem.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$desc = array(&lt;br/&gt;  0 =&gt; array("pipe", "r"),&lt;/code&gt;&lt;code&gt;&lt;br/&gt;  1 =&gt; array("pipe", "w"),&lt;br/&gt;  2 =&gt; array("pipe", "w")&lt;br/&gt;);&lt;br/&gt;&lt;br/&gt;$proc = proc_open("/usr/bin/unrtf --html /katalog/filnamn.rtf", $desc, $pipes);&lt;br/&gt;&lt;br/&gt;echo stream_get_contents($pipes[1]);&lt;br/&gt;$return_value = proc_close($proc);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Att proc_close skulle associeras till en variabel var något som jag också hittade i php-manualen utan att riktigt förstå varför. Eftersom UnRTF enligt egen utsago skulle vara bäst på att skapa html av det extraherade resultatet lät jag den göra det och körde sedan &lt;em&gt;strip_tags&lt;/em&gt; och &lt;em&gt;html_entity_decode&lt;/em&gt; på resultatet.&lt;/p&gt;
&lt;p&gt;Hoppas att detta kan vara till nytta för någon och mig själv i framtiden om jag skulle glömma av det.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/734714129</link><guid>http://edpn.codebyko.se/post/734714129</guid><pubDate>Fri, 25 Jun 2010 16:48:25 +0200</pubDate></item><item><title>"Shipping is a feature. A really important feature. Your product must have it."</title><description>“Shipping is a feature. A really important feature. Your product must have it.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;http://www.joelonsoftware.com/items/2009/09/23.html&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/607680013</link><guid>http://edpn.codebyko.se/post/607680013</guid><pubDate>Mon, 17 May 2010 21:54:31 +0200</pubDate></item><item><title>"… if you think you’re smarter than the badblocks program, you almost certainly aren’t."</title><description>“… if you think you’re smarter than the badblocks program, you almost certainly aren’t.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;från man badblocks. Får mig att tänka på alla som tror att de kan “lura” Google.&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/375819920</link><guid>http://edpn.codebyko.se/post/375819920</guid><pubDate>Sun, 07 Feb 2010 10:39:33 +0100</pubDate></item><item><title>Too much data leads to not enough belief</title><description>&lt;a href="http://sethgodin.typepad.com/seths_blog/2010/01/too-much-data-leads-to-not-enough-belief.html"&gt;Too much data leads to not enough belief&lt;/a&gt;: &lt;p&gt;Jag är en aktiv förespråkare av “det spelar ingen roll vilket håll vi kör åt bara vi kör åt samma håll”. I länken ovan tycker jag Seth ger uttryck för detta på ett lite annat sätt.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/345790908</link><guid>http://edpn.codebyko.se/post/345790908</guid><pubDate>Thu, 21 Jan 2010 11:42:03 +0100</pubDate></item><item><title>"You need solid values that are shared within the company. I usually say the best way to work with..."</title><description>“You need solid values that are shared within the company. I usually say the best way to work with social media in large corporations is to work with internal communication, education and monitoring.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://jesperastrom.com/general-info/wednesday-relations-workshop/"&gt;Jesper Åström&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/344761481</link><guid>http://edpn.codebyko.se/post/344761481</guid><pubDate>Wed, 20 Jan 2010 21:59:15 +0100</pubDate></item><item><title>A new approach to China</title><description>&lt;a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html"&gt;A new approach to China&lt;/a&gt;: &lt;p&gt;Det här är riktigt roliga nyheter. Google slutar censurera i Kina. Som stort Google-fanboy och tillika aktieägare blir jag ännu gladare. Kommer ändå att tänka på en föreläsning jag nyss lyssnat till med &lt;a href="http://www.hgu.gu.se/item.aspx?id=8189"&gt;Niklas Egels Zandén&lt;/a&gt; om CSR-arbete. Vem har sagt att våra (läs västs) krav på en bättre värld är “rätt”? Personligen så tycker jag att mänskliga rättigheter och yttrandefrihet är bra saker.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/332100637</link><guid>http://edpn.codebyko.se/post/332100637</guid><pubDate>Wed, 13 Jan 2010 09:54:41 +0100</pubDate></item><item><title>Idag anlände ett paket från Hong Kong innehållandes en Seiko...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_kvvvf1EHgX1qz5rnzo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Idag anlände ett paket från Hong Kong innehållandes en Seiko SKX031. Efter att ha, innan köpet, spenderat oskäligt mycket tid på olika klockforum så förstod jag att originalarmbandet inte var mycket att hänga i granen. Det var bara att beställa ett solitt “Super Oyster” från &lt;a href="http://s161.photobucket.com/home/yobokies"&gt;Yobokies&lt;/a&gt;. Så här ser det ut.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/321684724</link><guid>http://edpn.codebyko.se/post/321684724</guid><pubDate>Thu, 07 Jan 2010 16:37:00 +0100</pubDate></item><item><title>Varför fråga varför?</title><description>&lt;a href="http://sethgodin.typepad.com/seths_blog/2010/01/why-ask-why.html"&gt;Varför fråga varför?&lt;/a&gt;: &lt;p&gt;Som en person som drivs av ett ständigt ifrågasättande känns detta som upplyftande ord.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/321414222</link><guid>http://edpn.codebyko.se/post/321414222</guid><pubDate>Thu, 07 Jan 2010 12:27:19 +0100</pubDate></item><item><title>Flytta Wordpress till ny domän</title><description>&lt;p&gt;Jag har inte kommit så långt att jag kollat på deployment-verktyg (svensk översättning?) för Wordpress. Så varje gång jag skall flytta en Wordpress-installation från utvecklings- till produktionsserver så stöter jag på samma problem. Att flytta filer och redigera konfigurationsfilen är rätt enkelt men den gamla domänen finns lagrad på ett par ställen i databasen.&lt;/p&gt;
&lt;p&gt;Följande trestegsraket gör susen för mig.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
&lt;pre&gt;UPDATE wp_options
SET option_value = REPLACE(option_value,
'http://www.gammal-domän.se', 'http://www.ny-domän.se')
WHERE option_name = 'home' OR option_name = 'siteurl';
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre&gt;UPDATE wp_posts
SET guid = REPLACE(guid,
'http://www.gammal-domän.se','http://www.ny-domän.se');
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre&gt;UPDATE wp_posts
SET post_content = REPLACE(post_content,
'http://www.gammal-domän.se','http://www.ny-domän.se'); &lt;br/&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Wordpressmanualen har &lt;a href="http://codex.wordpress.org/Changing_The_Site_URL"&gt;en sida om domänflytt&lt;/a&gt; där många olika varianter presenteras. Första punkten ovan gör samma sak som&lt;/p&gt;
&lt;pre&gt;define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');&lt;/pre&gt;
&lt;p&gt;men av någon anledning tycker jag att det är enklare att göra det direkt i databasen eftersom man ändå måste in där och pilla.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/316163814</link><guid>http://edpn.codebyko.se/post/316163814</guid><pubDate>Mon, 04 Jan 2010 11:49:00 +0100</pubDate><category>wordpress</category><category>utveckling</category></item><item><title>Vinterstädning</title><description>&lt;p&gt;Vinterstädar min digitala närvaro och funderar på att kanske göra ett nytt försök med denna kanal. Här var det ett drygt år sedan sist. Eller försök och försök, det är inte så att jag bannar mig själv när det inte håller en viss periodicitet. Inte heller är det något nyårslöfte som skall förverkligas.&lt;/p&gt;
&lt;p&gt;Oavsett om man delar med sig av sina tankar, privatliv, intresse eller yrkeskunskaper så tycker jag att en konsekvent linje är att föredra. Det måste finnas en röd tråd. I alla fall om man skall vara relevant för någon annan än sin egen mamma.&lt;/p&gt;
&lt;p&gt;Så vad är då min röda tråd? Och vill jag vara relevant för någon annan? TBC!&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/315082635</link><guid>http://edpn.codebyko.se/post/315082635</guid><pubDate>Sun, 03 Jan 2010 21:34:04 +0100</pubDate><category>identitet</category></item><item><title>Linus Torvalds och Ola Skinnarmo.</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_kvopc3GS7l1qz5rnzo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Linus Torvalds och Ola Skinnarmo.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/314940475</link><guid>http://edpn.codebyko.se/post/314940475</guid><pubDate>Sun, 03 Jan 2010 19:43:00 +0100</pubDate><category>sakersomärlika</category></item><item><title>"American automakers have been producing a mediocre product for decades, and have fought cleantech at..."</title><description>“American automakers have been producing a mediocre product for decades, and have fought cleantech at every turn (remember the EV1?). They’ve earned their failure, and should be allowed to go into bankruptcy so that their assets and workers can be reallocated to companies that are not freighted with old baggage.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;via &lt;a href="http://earth2tech.com/2008/11/21/memo-to-gm-drop-dead/"&gt;Earth2Tech&lt;/a&gt;.&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/60932756</link><guid>http://edpn.codebyko.se/post/60932756</guid><pubDate>Fri, 21 Nov 2008 22:54:14 +0100</pubDate></item><item><title>"Jag får en känsla av att riksdagens borgerliga ledamöter inte har diskuterat igenom det här på..."</title><description>“Jag får en känsla av att riksdagens borgerliga ledamöter inte har diskuterat igenom det här på allvar. De har inte ställt piratjägarlagen i relation till värden och principer som rättsstat, rättssäkerhet, integritet och våra fri- och rättigheter. Istället lägger de fram en massa lösa åsikter utan att underbygga dem. Och om det öppna och demokratiska samhällets regelverk vilar på löst tyckande istället för på principer – då kan det gå utför väldigt snabbt…”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;via &lt;a title="Henrik Andersson" href="http://henrikalexandersson.blogspot.com/2008/11/vad-r-fildelning-egentligen.html"&gt;Henrik Alexandersson&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/59927937</link><guid>http://edpn.codebyko.se/post/59927937</guid><pubDate>Sun, 16 Nov 2008 09:42:34 +0100</pubDate></item><item><title>"… testoposse …"</title><description>“… testoposse …”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;från &lt;a href="http://bloggfrossa.blogspot.com/2008/10/mansgrispanelen.html"&gt;&lt;a href="http://bloggfrossa.blogspot.com/2008/10/mansgrispanelen.html"&gt;http://bloggfrossa.blogspot.com/2008/10/mansgrispanelen.html&lt;/a&gt;&lt;/a&gt;&lt;/em&gt;</description><link>http://edpn.codebyko.se/post/56280013</link><guid>http://edpn.codebyko.se/post/56280013</guid><pubDate>Sat, 25 Oct 2008 15:29:03 +0200</pubDate></item><item><title>Förlorar Obama kan han kanske ställa upp här i Sverige.</title><description>&lt;img src="http://24.media.tumblr.com/V3c9Up96bfdffo3tqTCNpaF9o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Förlorar Obama kan han kanske ställa upp här i Sverige.&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/55768225</link><guid>http://edpn.codebyko.se/post/55768225</guid><pubDate>Wed, 22 Oct 2008 13:28:40 +0200</pubDate></item><item><title>Vinnova - this is your wake up call</title><description>&lt;a href="http://blogg.idg.se/openforce/entry.jsp?messid=5722"&gt;Vinnova - this is your wake up call&lt;/a&gt;: &lt;p&gt;Niklas Andersson på Open Source World Conference&lt;/p&gt;</description><link>http://edpn.codebyko.se/post/55563554</link><guid>http://edpn.codebyko.se/post/55563554</guid><pubDate>Tue, 21 Oct 2008 08:43:00 +0200</pubDate></item></channel></rss>

