Posts tonen met het label Overig. Alle posts tonen
Posts tonen met het label Overig. Alle posts tonen

19 feb 2009

Voeg “Quote” toe aan Outlook 2007

Noem me een sukkel, maar ik vind het leuk om “Quotes” van bekende mensen onderaan mijn mail te tonen. Om dit te bewerkstelligen zijn er verschillende addons te downloaden. Deze kosten echter allemaal geld en maken gebruik van een vast aantal quotes. Ik wilde echter een onberkt aantal verschillende quotes en ik wilde er niet voor betalen.

Op het internet zijn er verschillende sites waar je een Quote van de dag kunt downloaden. Ook zij er sites waar je deze Quote van de dag als RSS kunt downloaden.

Het idee nu is om bij het oepnen van een nieuwe mail deze RSS uit te lezen, en dat onderaan je mail te plaatsen.

Hiervoor heb ik binnen Outlook 2007 een signature ( handtekening ) gedefinieerd. In deze handtekening heb ik een keyword “<<Quote>>” opgenomen. Deze handtekening word als html bestand opgeslagen op de harde schijf van de computer. Bij het openen van een nieuw mailitem word dit bestand uitgelezen, en het keyword “<<Quote>>” word vervangen door een willekeurige Quote uit de RSS download.

Alles wat hiervoor nodig is is een stukje VBA, en het werkt als een trein.

Hieronder is de module code te zien en om deze te laten werken is er nog hetvolgende nodig:

  • Installeer ChilKat ActiveX component voor het uitlezen van de RSS ( download ) 
  • Zorg ervoor dat het event Application_ItemLoad de volgende code bevat:

Private Sub Application_ItemLoad(ByVal Item As Object)
    editSignature "Quotes", ""
    editSignature "Quotes", getQuote()
End Sub

Module code:

Const CONST_RSS_URL = "http://feeds.feedburner.com/brainyquote/QUOTEBR" '"http://www.quotationspage.com/data/mqotd.rss"
Public Function getQuote() As String
Dim rss As New ChilkatRss
Dim arrOut() As String
Dim tmp As String
Dim success As Long
getQuote = ""
'  Download from the feed URL:
success = rss.DownloadRss(CONST_RSS_URL)
If (success <> 1) Then
    Exit Function
End If
'  Get the 1st channel.
Dim rssChannel As ChilkatRss
Set rssChannel = rss.GetChannel(0)
If (rssChannel Is Nothing) Then
    Exit Function
End If
'  For each item in the channel, display the title, link,
'  publish date, and categories assigned to the post.
Dim numItems As Long
numItems = rssChannel.numItems
Dim i As Long
ReDim arrOut(numItems - 1)
For i = 0 To numItems - 1
    Dim rssItem As ChilkatRss
    Set rssItem = rssChannel.GetItem(i)
    tmp = rssItem.GetString("title") & " :" & "<br>"
    tmp = tmp & rssItem.GetString("description")
    arrOut(i) = tmp
Next
getQuote = arrOut(Rand(0, UBound(arrOut)))
End Function
Public Function Rand(ByVal Low As Long, _
                     ByVal High As Long) As Long
  Rand = Int((High - Low + 1) * Rnd) + Low
End Function
Public Sub editSignature(sigName As String, signatureText As String)
Dim sigPath As String
Dim fso As Object
Dim ts As Object
Dim oldSig As String
Dim newSig As String
Dim newQuote As String
Dim CONST_EMPTY_QUOTE As String
Dim intStars As Integer
CONST_EMPTY_QUOTE = "&lt;&lt;Quote&gt;&gt;"
intStars = 100
On Error GoTo errh
sigPath = "C:\Documents and Settings\" & Environ("username") & _
                "\Application Data\Microsoft\Handtekeningen\" & sigName & ".htm"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sigPath).OpenAsTextStream(1, -2)
oldSig = ts.readall
ts.Close
If signatureText = "" Then
    newQuote = Mid(oldSig, InStr(oldSig, String(intStars, "*")))
    newQuote = Left(newQuote, InStr(intStars + 4, newQuote, String(intStars, "*")) + (intStars - 1))
    'MsgBox (newQuote)
    signatureText = CONST_EMPTY_QUOTE
    CONST_EMPTY_QUOTE = newQuote
  Else
    signatureText = String(intStars, "*") & "<br>" & signatureText & "<br>" & String(intStars, "*")
End If
Set ts = Nothing
Set ts = fso.OpenTextFile(sigPath, 2)
newSig = Replace(oldSig, CONST_EMPTY_QUOTE, signatureText)
'MsgBox newSig
ts.Write (newSig)
ts.Close
errh:
Set ts = Nothing
Set fso = Nothing
End Sub

31 okt 2008

Major Crash

Afgelopen week maakte onze server een "Major Crash" mee.

Met geen mogelijkheid was de virtuele server weer te bewegen om te gaan werken. Uiteindelijk een clean install gedaan en erg bij geworden van alle backups die ik maak:-)

Al met al toch weer een dagje werk. Een en ander gebeurde na een windows 2003 update. Zou dat de oorzaak kunnen zijn?

26 okt 2008

Email adres wijziging

Gerdieneke heeft een email adres bij een provider die er mee stopt. Dat is lastig want iedereen kent haar email adres en weet haar daar op te bereiken.

Hoe moet je dat nu zo soepel mogelijk regelen?

Ik heb het volgende gedaan:

  • Een gmail account voor haar aangemaakt
  • Deze gmail account gebruikt ze dmv Outlook en de pop functionaliteit van Gmail
  • Een extra account in Outlook aangemaakt zodat ze nu mail op twee email adressen kan ontvangen
  • Een auto responder aangemaakt, bij de instellingen voor "regels", in Outlook zodat idereen die haar op haar oude adres mailt een bericht krijgt dat haar email adres gaat wijzigen.

Gedurende de komende twee maanden heeft ze nog twee email adressen en daarna kan ze door met het Gmail adres. Voor haarzelf heeft het geen consequenties in het gebruik en haar contactpersonen die regelmatig mailen worden automatisch genotificeert van het wijzigen van haar email adres.

15 jul 2008

Handig!

Toevoeging aan je Gmail adres voor slimme filters
Uitgegeven: 15 juli 2008 02:00

Je Gmail adres bestaat uit meer dan 1 adres. In theorie heb je beschikking over een hele rits andere adressen die lijken op jouw email adres. En dit maakt het handig om inkomende informatie te filteren.

Gmail ziet namelijk niet of er puntjes of een + in het mail adres staat. Hij herkent het wel, maar filtert het er weer uit. Op die manier is lifehackingfan @gmail.com hetzelfde adres als lifehacking.fan @gmail.com en life.hack.ing.f.a.n @gmail.com.

Ook kan je het plusteken ("+") gebruiken in je mail adres. Zoals bijvoorbeeld lifehackingfan+inschrijving @gmail.com. Hier wordt de "+inschrijving"eruit gefiltert door Gmail en komt de email gewoon terrecht bij lifehackingfan @gmail.com. Maar wat heeft dit nou voor nut?

Omdat Gmail het "to" adres wel blijft zien, het is dus wel zichtbaar dat het mailtje gestuurd is naar lifehackingfan+inschrijving @gmail.com, is de mailstroom naar dit email adres te filteren. Zo gebruik ik mijn eigen email adres +inschrijving bij inschrijvingen op websites waar een login voor nodig is. Ik filter het "to" email adres op eigenadres+inschrijving @gmail.com en stop deze automatisch in een mapje met inschrijvingen.

Dit gebruik ik ook voor andere zaken. Rabobank vraagt bij een betaling bijvoorbeeld of er een bevestiging naar een email adres moet worden gestuurd. Hier vul ik dan in: emailadres+bank@gmail.com. Ook hier zit weer een filter op en komt netjes in het foldertje in Gmail met mijn online bankzaken.

13 jul 2008

Virtualisatie

Ons bedrijfje maakt roerige tijden door. Voor diegenen die het niet wisten:

We doen consultancy en implementatie met betrekking tot proces management. Dit alles verdeelt, tot heden, in twee technologien: Lotus Domino en Microsoft ( C# en .net ).

In deze roerige tijden is het belangrijk een gedegen infra stuctuur neer te zetten. Hiervoor hebben we de volgende servers in het leven geroepen:

Gehuurde windows 2003 server ( STRATO )

  • Mail server ( Domino 8.0 )
  • Sametime server
  • Applicatie server ( Domino 8.0 )
  • Subversion version control

Een eigen server met daarop een gevirtualiseerde Domino development omgeving (Domino 8.0.1) en een Quickr 8.1, (gevirtualiseerd) omgeving.

Het host OS draait op Win 2003 professional. Hiervoor is gekozen omdat deze versie van windows gebruik kan maken van de aanwezige 8 gig aan geheugen.

De guests OS'en draaien op Win 2003 standard.

Voor de virtualisatie hebben we gekozen voor Virtual Server 2005 van Microsoft. De voornaamste reden hiervoor is de eenvoud van gebruik van dit product. Binnen no time heb je een server up and running.

De beide domino 8.0.1 servers hebben beiden 1 gig geheugen en 2 HDD ( 10 gig en 100 gig ) tot hun beschikking.

Omdat we maar een publiek ip adres tot onze beschikking hebben hebben we een reverse proxy geimplementeerd met host header routing functionaliteit. Windows ISA server zou dit kunnen doen maar dat is wellicht een overkill voor de functionaliteit die wij willen. Uiteindelijk hebben we gekozen voor Puakma webbooster. Deze software is gratis als je het niet voor commerciele doeleinden wil gebruiken. Bovendien is het erg eenvoudig in gebruik en installatie en we krijgen er gratis gzip compressie techniek bij. Een perfect product en dus een aanrader. Zomaar een greep uit de functionaliteit die we krijgen:

  • Routing op basis van host header
  • Caching van statische content
  • Gzip compressie
  • Load balancing
  • Failover
  • SSL voor achterliggende domeinen dmv een wildcard certificaat.

Voor de gzip functionaliteit zijn we tegen een aantal issues aangelopen:

Het gzippen van xml ( text/xml ) gaat vaak niet goed. De browser handeld dit niet goed af. Ook de response van een webservice call is in xml en mag dus niet gegzipped worden. Met name Quickr met zijn Lotus Quickr connectoren heeft daar last van. Puakma Webbooster moet dus geconfigureerd worden zodat xml content niet gegzipped wordt.

Verder hadden we wat problemen met Quickr te draaien op een niet standaard Notes poort. Vanwege het feit dat we maar 1 ipadres tot onze beschikking hebben had ik de Virtuele Domino servers op twee niet standaard poorten laten lopen zodat de router NRPC verkeer naar de goede server kon routeren obv poort nummer ( portforwarding ).

Quickr werkt echter niet op een andere poort dan 1352. Hier is geen workaround voor en de enige oplossing is Quickr gebruik te laten maken van 1352.

Uiteindelijk hebben we nu dus een gevirtualiseerde omgeving met twee domino servers en een productie server met mail, sametime en applicaties.

30 mrt 2008

BlueXtend Sametime

Een oud collega van me, Erik Vos, is een nieuw bedrijf begonnen. Het heet realconnections en hij biedt services aan via het SaaS principe. Als eerste pilot project is hij een chat community begonnen met behulp van Sametime. Via deze community kunnen IBM business partners met elkaar communiceren. Sinds vandaag ben ik er ook lid van. Ben erg benieuwd hoevaak ik het ga gebruiken.

Hieronder een scherm afdruk van de sametime 8.0 client met de BlueXtend community:

image

16 feb 2008

Google Analytics

  Wederom struikelde ik deze week over de mogelijkheden en schoonheid van de Google tools. Deze keer was het: Google Analytics. Heel nauwkeurig kun je met deze tool allerhande informatie met betrekking tot je website analyseren. Ik heb hem aangezet voor deze site en hieronder vindt u een paar screendumps.

 image

Geografische weergave van de bezoekers

image

Ingezoomed op land

image

Met welke zoekterm komen bezoekers op de site

4 sep 2007

Amazone Webservices (AWS)

Ik loop al een tijdje te kijken naar alle goodies die Amazone tegenwoordig aan developers aanbiedt. Zo heb ik al eens een Domino server in de Elastic Cloud Computing environment ondergebracht, en ook de online storage van Amazone ben ik mee bekend.

Veel bedrijven maken inmiddels oplossingen die gebaseerd zijn op de services van Amazone. Vandaag kwam ik "Animoto" tegen, een online video editing tool.

Hieronder het resultaat:

None

10 mei 2007

internationale politiek en Internet

De engelse premier Tony Blair maakt efficient gebruik van YouTube voor het feliciteren van zijn franse collega Sarkozy.

YouTube - PM congratulates Sarkozy on French election win