Digicted

Archief voor web

Flock enables you to kick ass - maar hoe?

Saturday, August 11th, 2007

Flock: My World

Hij leek een beetje verloren te gaan in al het geweld van de nieuwe iMac: de nieuwste versie van de browser Flock. Omdat ik altijd open sta voor nieuwe dingen besloot ik eens een kijkje te nemen.

In mijn huidige browser navigeer ik dus naar de website waar ik op zoek ga naar het download-linkje. Rechtsboven zie ik dat ik versie 0.9.0.2 voor de Mac kan downloaden, gratis.

Gratis? Dat bevalt me altijd wel, dus ik klik door. Na het installeren van Flock is het tijd om de boel eens te bekijken…

Eerst krijg ik wat dingetjes over het importen van bookmarks enzo, wat ik dan maar doe. Dan kom ik op de pagina “about:myworld”, en vanaf daar wordt het vreemd.

Ik zie een zoekbalk van Yahoo!, mijn “favoriete” sites (gebaseerd op favoriete sites die ik het laatst bezocht heb begrijp ik later.. erg vreemd, aangezien ik nog nooit op 90% van die sites ben geweest), wat feeds (ook weer gebaseerd op mijn favoriete feeds, maar dingen als Yahoo! Sports interesseren me niet… vreemd), en mijn favoriete media: flock inc. op Flickr.

Goed, ik zie dus veel favoriete dingen die ik helemaal niet leuk vind. Betekent dit dat ik ze later nog kan aanpassen ofzo? Het is me in ieder geval niet direct duidelijk hoe.

Tot nu toe zijn de ervaringen dus slecht, maar ik ging eens kijken of het zou lukken om iets in te stellen dat ik vanuit Flock direct kon posten naar deze weblog. Helaas lukte dat ook niet, omdat er kennelijk geen support is voor Wordpress. Of het is er wel, maar erg goed verborgen. Helaas kan ik dat schermpje niet terugvinden, dus een screenshot lukt even niet.

Hoewel Tanja de Bie dus zeer positief is, ben ik dat (nog) niet. Waarschijnlijk komt dat gewoon omdat ik de mogelijkheden niet heb kunnen ontdekken.

Misschien dat er in een volgende versie wat meer nadruk gelegd kan worden op een how-do-I-kick-ass-with-Flock-strategie ofzo?

Of misschien dat een Flock-gebruiker mij wat tips wil geven?

Nummer 1 op technorati!

Sunday, August 5th, 2007

Op 1 staan in Technorati heeft toch wel iets moet ik zeggen.. En vandaag mag ik even meemaken hoe dat voelt! :-)

Digicted op nummer in Technorati

En andere mensen ook volgens about:blank en Foobr.

Ach, de schoonheid van falende techniek

“Over”-pagina uitgebreid

Tuesday, July 31st, 2007

Sinds het bestaan van Digicted bestaat de “over”-pagina al. Deze wilde ik al een poosje enigszins uitbreiden, maar dat heb ik vanavond pas gedaan.

Hiervoor heb ik een paar foto’s op Flickr geplaatst én er één in de pagina gezet. Verder staan er nu wat andere plaatsen om mij te vinden op het internet. In de loop van de komende tijd zal ik meer wijzigingen gaan maken aan de site, omdat er meer is waar ik niet (meer) tevreden over ben. Alles op z’n tijd echter. ;)

Ook aan de webllog wil ik nog één en ander veranderen, maar dat zullen jullie [trouwe lezertjes] nog wel zien.

Ruby: backups maken van je del.icio.us bookmarks

Sunday, July 29th, 2007

Net las ik “Backup delicious to gmail” op Foobr. Aaron Bassett beschrijft hier een handige manier om een backup te maken van je del.icio.us-bookmarks door de XML-file te emailen naar je GMail-account door middel van een PHP-script.

Dit is naar mijn mening een prima manier om een backup te maken van je del.icio.us-bookmarks, maar ik gebruik liever Ruby (al was het maar omdat ik het taaltje nog steeds een beetje aan het leren ben, maar geweldig vind voor dergelijke problemen) en ik wil het niet in GMail hebben maar op de lokale harddisk. Eventueel een backup op deze website.

Eerst heb ik even gespiekt in zijn code en toen ben ik zelf begonnen.

Eerst maar even de hele code:

#!/usr/bin/env ruby
require 'net/https'

delicous_username = ""
delicous_password = ""
recent = true #only fetch recent posts? useful for debugging
xmlfile = "/fullpath/to/xmlfile"

https = Net::HTTP.new( 'api.del.icio.us', 443 )
https.use_ssl = true

https.start do |http|
  req = Net::HTTP::Get.new('/v1/posts/' + ( recent ? "recent" : "all" ) )
  req.basic_auth delicous_username, delicous_password
  xmlData = ""
  insertXslLine = true

  https.request( req ).read_body.each do |line|
    xmlData += line
    # add the reference to the xsl-file for some nice HTML-formatting
    xmlData += "<?xml-stylesheet type=\"text/xsl\" href=\"delicious.xsl\"?>\\n" if insertXslLine
    insertXslLine = false
  end
  File.new( xmlfile, "w+" ).write( xmlData )
end

De eerste paar regels zijn vooral voor de configuratie. Vul hier je del.icio.us-gebruikersnaam en -wachtwoord in, of je alleen de meest recente bookmarks wilt (zodat je niet de hele XML-file hoeft te fetchen) en de locatie voor het XML-bestand.

Dan maken we verbinding met api.del.icio.us via HTTPS en authen met onze gebruikersnaam en wachtwoord van de service. De rest is op zich best “simpel”:

  1. XML-file binnenhalen, regel voor regel;
  2. Een verwijzing naar het XSL-bestand invoegen op de 2e regel (XSL-bestand zullen we zo zien en is optioneel);
  3. De data van de XML-file met XSL-verwijzing wegschrijven naar het gekozen bestand.

Als we dat doen hebben we een kale XML-file, dus die gaan we iets mooier maken met een beetje XSLT zodat er iets uitkomt wat voor HTML door moet gaan.

<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
  <xsl:template match="/">
    <html>
      <head>
        <title>del.icio.us bookmarks backup</title>
      </head>
      <body>
        <h2>del.icio.us bookmarks of <xsl:value-of select="posts/@user" /></h2>
        <ol>
          <xsl:for-each select="posts/post">
            <li>
              <a>
                <xsl:attribute name="href">
                  <xsl:value-of select="@href"></xsl:value-of>
                </xsl:attribute>
                <xsl:value-of select="@description"></xsl:value-of>
              </a>
            </li>
          </xsl:for-each>
        </ol>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

De output hiervan zo iets moeten zijn als:

<html>
  <head>
    <title>del.icio.us bookmarks backup</title>
  </head>
  <body>
    <h2>del.icio.us bookmarks of martijnengler</h2>
    <ol>
      <li><a href="http://pinderkent.blogsavy.com/archives/88">Sometimes it's best to leave old software systems alone.</a></li>
      <li><a href="http://www.codinghorror.com/blog/archives/000920.html">Coding Horror: Google's Number One UI Mistake</a></li>
      <li><a href="http://blog.angrypets.com/2007/07/the-case-for-ra.html">The Case for Desktop RAID 0 - Debunking the Myths</a></li>
      <li><a href="http://www.deadharddrive.com/">My dead hard drive story</a></li>
      <li><a href="http://weblog.oomph.nl/2007/07/blogger-typepad.html">Blogger, Typepad en Wordpress. Welk platform kies je voor je weblog?</a></li>
      <li><a href="http://lifehacker.com/software/how-to/turn-mailing-lists-into-an-rss-feed-283353.php">How To: Turn mailing lists into an RSS feed - Lifehacker</a></li>
      <li><a href="http://www.silverware.nl/">Silverware</a></li>
      <li><a href="http://www.youtube.com/watch?v=Xo-rm95ZBcg">Plain White T's - Hey There Delilah</a></li>
      <li><a href="http://lifehacker.com/software/how-to/hide-files-inside-of-jpeg-images-282119.php">How To: Hide files inside of JPEG images - Lifehacker</a></li>
      <li><a href="http://www.quietbay.net/Science/astronomy/nightsky/">Learn: Identify constellations, stars, planets and how to navigate at night</a></li>
      <li><a href="http://weblogs.sqlteam.com/jeffs/archive/2006/02/10/9002.aspx">Data belongs in your tables -- not in your code</a></li>
      <li><a href="http://www.ibm.com/developerworks/web/library/wa-ltwebserv/">Lightweight Web servers</a></li>
      <li><a href="http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html">Creating a Google AJAX Suggest Like Website Search</a></li>
      <li><a href="http://www.codeandcoffee.com/2007/06/27/how-to-make-a-password-strength-meter-like-google/">How to Make a Password Strength Meter Like Google - Code and Coffee</a></li>
      <li><a href="http://www.wikihow.com/Share-Your-Obituary-With-Your-Online-Friends">How to Share Your Obituary With Your Online Friends - wikiHow</a></li>
    </ol>
  </body>
</html>

Google’s “I’m feeling lucky” knop

Sunday, July 29th, 2007

Jeff Atwood schreef gisteren op zijn weblog het artikel Google’s Number One UI Mistake waar hij uitlegt warom hij vindt dat Google de “I’m feeling lucky”-button (“Ik doe een gok” in de Nederlandse versie) weg moet doen.

Persoonlijk maak ik eigenlijk nooit gebruik van de knop, eigenlijk alleen voor grapjes als “go to hell” (wat helaas best snel is “opgelost” door Google) en “french military victories”.

Maar ik ben geen gewone gebruiker, zoals Jeff zelf ook al aangeeft zijn wij geavanceerde gebruikers (homo logicus) en gaan wij dus anders om met de computer dan “gewone” gebruikers. Dit is op zich niet erg, maar ik vind dat hij dat eigenlijk lijkt te vergeten in zijn artikel.

Ik zie mensen namelijk nog steeds gebruik maken van die knop, omdat ze niet weten hoe ze de browser moeten gebruiken. En dat geeft niet, want dit zijn mensen die internet voornamelijk gebruiken in hun vrije tijd. Gewoon, omdat ze het leuk vinden.

Een voorbeeld: ik vertel mijn moeder dat ze mijn blog moet gaan lezen. Ik schrijf de URI voor haar op een briefje (email doet ze nog niet aan) en ’s avonds gaat de computer aan. Vervolgens worden de volgende stappen doorlopen:

  1. Internet Explorer (“het internet”) opstarten.
  2. Google laden.
  3. In de zoekbalk van google intypen: http://www.digicted.nl
  4. Klikken op “ik doe een gok”.
  5. Aannemen dat ze nu op de juiste website gekomen is en lezen en rondklikken.

Nu gaat dat hier goed, maar ik heb ook meegemaakt dat een site nog niet geïndexeerd was in Google, of niet bovenaan stond op de zoekterm die zij probeerde.

Het uitleggen van de adresbalk lukt echter niet, ze gebruikt liever haar eigen methode: als je naar een andere site wilt klik je op “het huisje” (terug naar homepage; Google) en begin je vanaf daar weer opnieuw.

Voor deze mensen is de “ik doe een gok” een belangrijk onderdeel van Google, omdat zij zo op het internet navigeren. Alleen al om deze reden ben ik van mening dat Google er niet goed aan zou doen als ze de knop wegdoen. Verder is het een onderdeel van hun merk (uit tests van Google blijkt dat mensen de knop missen als deze weggelaten wordt), wat ook een belangrijk punt is.

Zoals altijd staan de comments open voor jullie gedachten hierover: zou Google beter af zijn zonder deze knop? Waarom?

Gebruik je de knop zelf wel eens?

Welk platform kies je voor je weblog?

Saturday, July 28th, 2007

Sanne Roemen plaatste vandaag (technisch gezien gisteren) een interessant bericht op haar weblog: “Blogger, Typepad en Wordpress. Welk platform kies je voor je weblog?“. Nu hoor ik ook wel eens mensen die graag een eigen weblog zouden beginnen. Hoewel ik ondernemers dan graag doorverwijs naar Silverware waar een weblog ook tot de mogelijkheden behoort zijn niet al mijn bekenden ondernemers.

En aangezien Sanne altijd leuke handleidingen weeet te schrijven (eerder verwees ik al eens naar haar handleiding: abonneren op rss feeds met Bloglines.), dus waarom zelf het zware werk doen? ;)

In de reacties kwam het antwoord:

Misschien zou het net iets overzichtelijker zijn als al deze informatie in een tabel gezet zou worden? Is een idee. :-)

En de reactie van Sanne:

@Roel, thanx! Een tabel is inderdaad een idee. Eerlijk gezegd had ik geen zin meer om te html-en want in de typepad editor zit geen handig tabellending. (ben ook maar een mens :-D

Toen besloot ik dus dat ik toch een stukje zelf moest doen… De tabel maken. De meeste informatie komt direct uit het bericht van Sanne, dus alle credits naar haar voor het research daarvan - ik heb zelf maar een paar kleine dingen opgezocht.

Blogger Typepad Wordpress.com Wordpress.org
Eigen host nodig Nee Nee Nee Ja
Mogelijkheid tot statische pagina’s Nee Ja Ja Ja
Layout van je pagina De standaard templates zijn makkelijk te kiezen en als je je een beetje verdiept in de code kan je er ook vrij makkelijk wijzigingen in aanbrengen. Je werkt wel altijd binnen een stramien dus 100% vrijheid heb je nooit.. Sommige templates zijn makkelijker aan te passen dan anderen. De flexibele templates bieden een wysiwyg (what you see is what you get) interface waarmee je kleuren en letters kan aanpassen. Ook hier geldt dat je binnen een stramien werkt dus geen 100% vrijheid hebt. Je kan je template wel helemaal zelf bouwen met advanced templates, maar daar moet je toch wel behoorlijk technisch voor zijn. Keuze uit een ongeevenaarde hoeveelheid templates (hier heten ze ‘Thema’s’). De templates kunnen ook van elkaar verschillen qua functionaliteiten die ze bieden. Je hebt weinig vrijheid om ze zelf nog aan te passen, soms kan je een eigen grafische balk bovenaan plaatsen. Wordpress heeft mooiere templates dan de andere twee. Voor je zelf gehoste blog kan je kiezen uit de gratis templates die online beschikbaar zijn maar je kan er ook een helemaal zelf laten ontwerpen en bouwen (dan zit je met kosten voor een ontwerper en een programmeur). Hier heb je echter wel 100% vrijheid (rekening houdend met de ‘normale’ grenzen die internet stelt).
Plugins Beperkt aantal “widgets” Voor zover ik kan zien alleen voor statistieken, maar Movable Type (het platform waar TypePad op draait ondersteunt wel plugins)Ze bestaan wel zegt Sanne. Aantal plugins standaard ingebouwd, geen eigen plugins Een zeer ruime keuze aan plugins
Ondersteuning voor meerdere auteurs Ja Alleen met Pro Level ($149.50 per jaar) of Premium Level ($299.50) Ja Ja
Kosten Gratis Vanaf $49.50 Gratis Gratis (let op: je hebt wel hosting nodig wat niet gratis is)

Let op: een eigen domein als “digicted.nl” (dus niet digicted.wordpress.com) is niet gratis.

Silverware is niet opgenomen, omdat wij niet echt een blogservice zijn, maar het een onderdeel is van het totaalpakket. Voor de mensen die het toch graag willen weten: je hebt geen eigen host nodig, je kan een eigen logo uploaden, plugins zijn niet mogelijk, er is ondersteuning voor meerdere auteurs en een ondernemersabonnement is momenteel al beschikbaar vanaf 12 euro exclusief BTW.

Statische pagina’s zijn een beetje een verhaal apart bij ons, maar dat is buiten de scope van deze post. Kijk daarvoor naar de abonnementen van Silverware of neem contact op met mij.

Update: een oplettende lezer wees mij er op dat de prijzen niet meer klopte. Dit is waarschijnlijk misgegaan bij het terugzetten van een backup. Excuses hiervoor.

Silverware is live!

Friday, July 6th, 2007

Eindelijk is het zo ver .. Ik mag vertellen waarom het hier zo stil is: Silverware.

Het officiële persbericht:

Hardinxveld-Giessendam, 5 juli 2007 Silverware lanceert op donderdag 5 juli een nieuw zoekportaal speciaal gericht op particulieren en ondernemers. Via www.silverware.nl is het voor de ondernemer mogelijk om tegen een kleine jaarlijkse vergoeding een bedrijfsprofiel aan te maken, waarna onbeperkt gebruik kan worden gemaakt van alle diensten.

Deze diensten bestaan uit het plaatsen van aanbiedingen, aanbestedingen, bedrijfsinformatie, stageplekken, vacatures en weblogs, die worden opgenomen in de zoekmachine van Silverware en in het eigen bedrijfsprofiel van het geregistreerde bedrijf wat door een ieder te benaderen is.

Het bedrijfsprofiel geeft een overzicht van alle diensten waar een geregistreerd bedrijf gebruik van maakt. De ondernemer heeft ook de mogelijkheid om in het bedrijfsprofiel het bedrijfslogo, foto’s van het bedrijf en een afbeelding die betrekking heeft op een geplaatste aanbieding te plaatsen.

Dit alles wordt geregeld via het “Mijn Silverware” onderdeel van de ondernemer. Vanuit Mijn Silverware beheert de ondernemer zijn bedrijfsprofiel, waar onbeperkt informatie kan worden toegevoegd voor alle diensten en een overzicht gevonden kan worden van de behaalde zoekresultaten. Ook heeft de ondernemer de mogelijkheid om via Mijn Silverware rechten toe te kennen aan personen die een particulier account bij Silverware hebben, om hen op Silverware te laten handelen namens het bedrijf.

Particulieren kunnen gratis een account aanmaken op Silverware, waarmee zij diverse voordelen hebben ten aanzien van ongeregistreerde gebruikers, zoals het zoeken naar stageplekken en vacatures. Vanuit het “Mijn Silverware” onderdeel van de particulier kunnen zij dan onder andere hun CV toevoegen en berichten versturen. Ook is er de mogelijkheid een lijst met favoriete bedrijven bij te houden.

De doelstelling van Silverware is om dit concept in de toekomst verder uit te breiden en te optimaliseren met meer diensten, afgestemd op de wensen van de gebruikers.

Voor vragen of voor meer informatie kunt u contact opnemen met Brian van der Graaf via telefoonnummer 0184 621 736 tijdens kantooruren of e-mail adres info@silverware.nl en natuurlijk via het bedrijfsprofiel van Silverware op www.silverware.nl.

Daar heb ik weinig aan toe te voegen natuurlijk, dus het enige wat ik nog kan zeggen (vooral aan mijn collega-ondernemers): registreren!

Javascript: Rijen verbergen en weergeven in IE

Friday, June 8th, 2007

Even een snelle tip voor de webdevmensen hier: als je een tabelrij wilt verbergen/weergeven met JavaScript in IE kun je hier geen element.style.display="table-row" voor gebruiken.

Omdat element.style.display="block" je layout zou breken in de andere browsers kun je een lege string gebruiken: element.style.display="". Dit zorgt er voor dat teruggeschakeld wordt naar de “default”: de warde opgegeven in je CSS.

Even wat downtime door een upgrade

Thursday, May 17th, 2007

Vanavond hebben we even wat downtime gehad hier op de blog. Nu is het zo stil dat ik niet denk dat veel mensen het gemerkt hebben (hoewel Google me nog steeds goed weet te vinden), maar downtime moet je altijd even melden; ook als niemand het merkt. Iets wat sommige hosters ook zouden mogen doen…

De downtime kwam overigens door een mislukte Wordpress upgrade: ik was vergeten de wp-includes map te overschrijven met de nieuwe versie. Hoe ik dat kon vergeten? Geen idee, maar het gebeurde wel..

Goed, ik hoop (en denk) niet dat iemand er last van heeft gehad en ik zal proberen om weer ‘ns vaker te schrijven hier. Silverware begint nu toch wel serieus tegen de launch te lopen, dus er is straks waarschijnlijk genoeg te bloggen… ;-)

Elke dag de nieuwste Dilbert met Ruby

Sunday, April 29th, 2007

Eerst even mijn excuus om een tijd niet te bloggen: druk, druk, druk… Heel erg druk! Silverware komt steeds dichter bij de lanceerdatum, wat natuurlijk erg leuk is, maar ook de nodige stress oplevert.

Ineens komen er allerlei bugs naar voren, blijken bepaalde algoritmes inefficiënter te zijn dan gedacht of zelfs niet te werken en gaat er natuurlijk van alles mis (dingen als een een SVN die crasht)…
Daarom heb ik al een week eigenlijk bijna geen enkele blogpost meer gelezen, wat ook te zien is aan het aantal ongelezen items in Bloglines en kom ik er ook niet echt aan toe om zelf wat te schrijven.

Wel heb ik veel code geschreven de afgelopen week, waaronder een stukje Ruby wat ik hier even wil delen.
Het originele script had een ander doeleinde en is ook iets aangepast (daar zat onder andere HTTP-authenticatie in) hiervoor, maar het doel blijft ongeveer hetzelfde. Overigens is dit ook prima op te lossen met bijvoorbeeld wget, maar dit is platformonafhankelijk (mits Ruby geïnstalleerd is) en het was best leuk om te doen.

Wat dit script doet is het volgende:

  1. Het haalt de Dilbert-strip (in ons voorbeeld) van vandaag op.
  2. De strip wordt op een FTP geplaatst, bijvoorbeeld voor weergave op een website.
  3. De huidige datum wordt in de bestandsnaam gezet, zo kun je een archief opbouwen.

Dit script kun je bijvoorbeeld inzetten als je geen beschikking hebt over PHP, maar wel elke dag de nieuwste Dilbert op je site wil plaatsen. In dit geval is het echter verstandig om een “statische” filename te nemen, waarbij je het vorige bestand eventueel zou kunnen hernoemen.

De code:

require 'net/http'
require 'net/ftp'

#een tijdelijk path om de dilbert op te slaan
imagepath   = "/tmp/"

#de bestandsnaam voor het tijdelijke path en de FTP
imagefile = "dilbert-" + Time.now.localtime.strftime("%Y-%m-%d") + ".jpg"

#het adres van de website, gebruik hierbij geen http:// of een / aan het einde
httpaddress = "pag.csail.mit.edu"

#de bestandsnaam van het bestand op de http
httpimage   = "/~adonovan/dilbert/today.gif"

#ftpinformatie
ftpaddress  = "ftp.example.org"
ftpuser     = "username"
ftppass     = "password"
ftpdir      = "dilbert"

fullpath = imagepath + imagefile

#maak een verbinding met de HTTP op port 80, haal de inhoud uit de image en schrijf het weg naar ons tijdelijk bestand
Net::HTTP.start( httpaddress, 80 ) {|http|
  req = Net::HTTP::Get.new( '/jpg/image.jpg' )
  open( fullpath, "wb").write( http.request( req ).body )
} 

#verbind met de FTP, log in en plaats het plaatje in de juiste directory
ftp = Net::FTP::new( ftpaddress  )
ftp.login( ftpuser, ftppass )
ftp.chdir( ftpdir )
ftp.putbinaryfile( fullpath, imagefile )
ftp.close

De bovenste variablen dienen voor configuratie (ik ben me bewust van YAML, maar dat vond ik hier wat ver gaan), de rest zou duidelijk moeten zijn als je een beetje Ruby snapt of gewoon simpelweg de comments leest. Echter staan de reacties, zoals altijd, open voor vragen.