De heuglijke dag is voorbij

Tjah, het moest er toch een keer van komen, het einde van 7 maart 2008. Zelf vond ik het toch een mooie dag geweest. Overdag een beetje dingen regelen, catering voorbereiden en dergelijke en ’s avonds het bezoek ontvangen. Een van de dingen die ik ’s middags heb gedaan is een appeltaart bakken. Voor de zekerheid stond er ook al een fabriekstaart in de koelkast, maar het is toch lekkerder om een eigen gemaakte taart te eten. Het viel me op zich wel mee hoe lastig je zo’n ding kunt maken. Uiteraard had ik niet het juiste keuken gereedschap, dus moest er veel worden geimproviseerd. Toch is het een smakelijke appeltaart geworden al zeg ik het zelf. Hoewel ik had verzuimd om suiker in het beslag te stoppen, was het toch een zoet geheel. Dit was toch weer een culinair hoogtepunt voor me, zelf een taart bakken. Op naar de volgende uitdaging! Even voor negenen kwam m’n familie aan met een hele lading (nuttige) kado’s. Een gehele ramenlap-set, tuin gereedschap, een gitaarboek en een staatslot.

Niet veel later kwamen Michael en Esther ook nog met Niks aanzetten ( https://www.eurobitter.nl/niks.html ) en daaropvolgend Minke en Roelof met ook een hele lading kado’s. Halverwege de avond was m’n eettafel al helemaal bezaaid met kado’s. Waarschijnlijk ben ik enorm lief geweest afgelopen jaar, anders krijg je dat niet allemaal. Ik was verbaasd over het aantal mensen dat nog langs is gekomen erg leuk en ik vond het ook enorm gezellig. Daar gaat het tenslotte om, dat de jarige Jop het gezellig vind.

Read more →

Zelfstandig ondernemer geworden

Behalve dat ik vandaag een jaartje ouder ben geworden, ben ik nu ook zelfstandig ondernemer. Het bedrijf Freezco.com is nu een feit. Vanochtend ben ik bij de KvK en de belastingdienst langs geweest om het een en ander door te nemen en me in te schrijven en dan zit ik nu hier in m’n ‘kantoor’ van m’n bedrijf. Wat ga ik dan allemaal ondernemen? Nou, m’n bedoeling is om (bijna) alles wat met hard- en software te maken heeft op te kunnen pakken. Eigenlijk alleen voor particulieren of misschien kleine bedrijfjes. Ik kan natuurlijk niet enorm veel tijd in het bedrijf stoppen, aangezien ik ook nog een normale full-time baan heb en dat wil ik ook wel zo houden. Dit is dus voor nu gewoon om er bij te doen. Later hoop ik wel de zaak uit te kunnen breiden en er van te kunnen leven, maar ik ben wel zo realistisch om in te zien dat dat nu nog niet kan. Er valt nog veel te leren en zo kan ik alvast langzaam in het zelfstandig ondernemerschap groeien. Bij de KvK werd ik wel gewaarschuwd dat de naam Freezco ook al door een ander bedrijf werd gebruikt. Hopelijk vind dat andere bedrijf het niet enorm erg dat ik deze naam ook gebruik, aangezien we toch in verschillende sectoren zitten. Toch leuk en spannend, zo’n dubbel feest. Vanavond eerst maar een glaasje champagne klinken met de eerste gasten. Wat ook wel leuk is, is dat het bedrijf gestart is op m’n 25e verjaardag. Dit rekent wel lekker makkelijk. Zodra ik 75 jaar ben, is het bedrijf 50 jaar. Ook dus weer dubbel jubileum.

Read more →

Horeca volleybal 2008

Afgelopen maandag werd het traditionele horeca volleybal tournooi weer gehouden. In het kort komt het er op neer dat enkele horeca bedrijven zich aanmelden voor het tournooi en dan zelf, onder hun medewerkers, een team samenstellen. Soms komt het niet zo goed uit en worden vrienden en bekenden ingeschakeld om ook een balletje op te slaan.

Zodoende mocht ik dit jaar ook mee doen voor het team Galamadammen 1. We moesten om 9 uur verzamelen bij de Galamadammen, zodat we daar eerst een bakje konden doen en daarna naar Bolsward konden rijden.
In Bolsward werd het tournooi dit jaar namelijk gehouden. Iedereen was verrassend op tijd, dus konden we eigenlijk gelijk naar Bolsward. Daar aangekomen waren we de eerste mensen in de kantine. Het was inmiddels al zo’n 10 uur, dus werd het hoog tijd om het eerste biertje te drinken. Om 11 uur moest ‘mijn’ team z’n eerste wedstrijd spelen. Eerst nog wat onwennig, aangezien niemand van ons regelmatig volleybalt. Nadat we een beetje hadden geoefend ging het al iets beter. Bij mij ging het in ieder geval wel een stuk beter. Het mocht echter niet baten, we hebben de eerste wedstrijd namelijk enorm verloren.

Eerst het ‘verdriet’ dus maar weer verdrinken, dat was dan ook de hoofdreden om mee te gaan. Tussendoor moest het Galamadammen 2 team ook nog spelen. Uiteraard moesten we daar ook supporteren. Rond een uur of 12 moesten we geloof ik onze tweede partij spelen. Deze hebben we ook verloren. Dit vond ik ook niet zo verbazingwekkend, aangezien niemand kon volleyballen danwel voetballen. Ok, de tegenpartij ook niet, maar die deed het toch iets beter.

Read more →

SQL Split functie

Een van de dingen die ik vandaag moest maken in MS-SQL was een Split-functie. Eerst was ik van plan deze in C# te maken en dan via een dll in SQL Server 2005 te laden. Dit heeft echter als nadeel dat je weer code binaries in SQL gaat gebruiken en dit lastig kan blijken om bij klanten door te voeren. Uiteraard is het wel vette functionalteit, maar als het niet hoeft, doe ik het liever niet.

Gelukkig hebben meer mensen het probleem ondervonden dat er geen Split-functie zit in T-SQL, dus hadden andere mensen deze al gemaakt.
Aangezien ik niet werkzaam ben bij Wieluitvinders B.V. heb ik maar besloten andermans code hiervoor te gebruiken. Vadivel M had al een mooi voorbeeld op z’n weblog staan, wat hier is te vinden: https://vadivel.blogspot.com/2006/05/split-function-in-sql-server-method-1.html
Deze heb ik dus ordinair gekopieerd. Even later zag ik dat hij dit ook heeft gedaan, omdat nagenoeg dezelfde code op nog tig andere pagina’s was te vinden. Bij deze deel ik dus hier ook nogmaals de Split-functie.

Create function Split (@String nvarchar(4000), @Delimiter char(1)) 
    Returns @Results Table (Items nvarchar(4000)) 
    As Begin Declare @Index int Declare @Slice nvarchar(4000) 
        Select @Index = 1 
        If @String Is NULL Return 
        While @Index != 0 
        Begin Select @Index = CharIndex(@Delimiter, @String) 
            If Index != 0 
                Select @Slice = left(@String, @Index - 1) 
            else 
                Select @Slice = @String 
                Insert into @Results(Items) Values (@Slice) 
                Select @String = right(@String, Len(@String) - @Index) 
                If Len(@String) = 0 break 
        End 
Return 
End

Het voorbeeld dat hij gebruikt

Read more →

Wat tijdelijke tabel in MS-SQL gebruiken?

Vandaag moest ik in SQL 2005 een functie maken met wat functionaliteit. Uiteindelijk had ik maar bedacht dat er gebruik gemaakt moest worden van een tijdelijke tabel waar m’n tijdelijke informatie in werd geplaatst. Vanuit die tijdelijke tabel kon ik dan weer extra mutaties en selecties doen om zo tot het uiteindelijke resutlaat te komen.

Nu ben ik niet enorm slecht in SQL en dacht ook mooi op weg te zijn. Alle functie functionaliteit had ik eerst in een query geschreven, zodat er eenvoudig getest kon worden of alles werkte. In m’n query kreeg ik nu het gewenste resultaat. De exacte code had ik gekopieerd naar een lege functie wilde ik de functie aanmaken. Kreeg ik ineens een fout dat er onjuiste tekens in m’n functie stond. Kan gebeuren natuurlijk. Een verkeerde komma of letter maakt zelfs van Jezus een ketter. De hele functie nogmaals nalopen, maar ik kon niet echt een fout vinden. Na wat proberen en debuggen kreeg ik wel een foutmelding dat je geen tabel mocht aanmaken in een functie. Dat vond ik persoonlijk toch wel de meest debiele fout die ik kon bedenken en kon het ook niet geloven. SQL draait om tabellen en dan kun je niet eens een tijdelijke aanmaken in een functie. Daar moet dan weer een Stored Procedure voor worden aangemaakt.

Read more →

SQL Server 2008 en Filtered indexes

Vandaag kwam ik een interessante post tegen op een ander weblog, namelijk dat je in SQL Server 2008 gebruik kunt maken van een zogenaamde Filtered index. Dit houdt in dat je een index kan aanmaken op een stukje van de tabel. Nu lukt het mij zelf niet om direct een groot voordeel van een filtered index te bedenken, maar ze zullen er waarschijnlijk wel zijn.

Andrew Fryer heeft wel een probleem situatie van ‘vroeger’ kunnen oplossen met behulp van een filtered index. Hij beschrijft namelijk de situatie dat een kolom in je tabel altijd unieke waarden moet hebben, maar ook NULL als waarde mag bevatten (dus leeg is). Op z’n eigen weblog beschrijft hij z’n werkwijze (https://blogs.technet.com/andrew/archive/2008/02/21/sql-server-2008-filtered-indexes.aspx).

Wat hij doet is de volgende code gebruiken in SQL Server 2008.

create unique index production.nullidx on production.product(code) where production.product(code) is not null

Wat ik hier van op maak is dat er een unieke constraint op de kolom production.nullids komt te staan ALS het veld is ingevuld. Ik twijfel er niet aan dat dit handig kan zijn in enkele situaties.
Ook denk ik dat dit soort indices ook in m’n eigen applicatie(s) wel kunnen worden toegevoegd, echter heb ik deze nieuwe feature nog niet gemist in m’n huidige brouwsels.

Read more →

Magie in het echte leven

Soms vraag je je wel eens af of je echt geen magie kunt gebruiken in het echte leven. In de films en boeken kan iedereen te pas en te onpas vette spreuken gebruiken, waarom dan niet in het echt? Iemand heeft in 2002 de proef op de som genomen en enkele redelijk eenvoudige spreuken geprobeerd te ‘casten’. Z’n bevindingen zijn hier te lezen: https://www.theescapist.com/random011102.htm Een persoonlijke favoriet is deze:

Spell Name: Charm Person

Components Required: Verbal and somatic

Spell Effect: A Charm Person spell convinces the subject that you are a friend, no matter what your prior relationship may be.

Test Subject: Random passerby.

Test Method: Choosing a random passerby, I will ask a simple question: “Would you like to be my friend?”, while holding both arms out for a hug. This will act as the verbal and somatic components of the spell. A positive response should signify that the spell is a success.

Results: My target, a female, appeared to have a counterspell of some sort, with a material component that looked like a small red can. The resulting gas cloud was both painful and blinding. My spell appears to have failed, but hers seems to have been very successful. I wonder what level she is? Vooral het gedeelte over de counterspell is wel grappig. De rest van de pagina is ook wel leuk om te lezen, mits je het allemaal kunt begrijpen. Zo niet, dan ben je niet nerd genoeg.

Read more →

ASP.Net 2.0 op Win2K3 (R2)

Vorige week moest ik bij een klant een ASP.Net 2.0 website installeren op een server.

Deze server was door iemand anders ingericht. Zelf was ik er vanuit gegaan dat alles goed was geconfigureerd, maar niets was minder waar. Na wat stoeien in IIS voor configuraties was ik ten einde raad.

Gewone HTML bestanden werden gewoon geladen en getoond op de website, maar m’n ASP.Net applicatie werkte niet. Uiteindelijk ben ik maar gaan Googlen om een antwoord te vinden. Via deze link: https://maniish.wordpress.com/2006/12/22/windows-2003-aspnet-page-gives-404-file-not-found-error-2/

Ben ik erachter gekomen dat je standaard geen dynamische pagina’s kunt weergeven op een Windows 2003 (R2) server. Dit moet je speciaal gaan activeren Wat je moet doen is het volgende.

Start IIS Klap de treeview uit en klik op Web Server Extension Nu worden enkele standaard extensies getoond op de rechterkant van het venster Als jouw extensie er bij staat moet je deze nog gaan activeren/toestaan Zodra dat is gedaan kun je werken met je dynamische content. In mijn geval stond er natuurlijk geen ASP.Net 2.0 bij in het lijstje. Deze moest ik zelf dus nog toevoegen.

Aangezien ik wel een beetje ervaring heb met slecht geconfigureerde spullen wist ik wel ongeveer wat ik zocht. Je moet zelf een extensie toevoegen. De nieuwe extensie is te vinden in de map C:\Windows\Microsoft.NET\Framework\v2.0.50727 en dan moet je het bestand aspnet_isapi.dll selecteren.

Read more →

Het redesigned blog is online

Het heeft wat ontwikkel uren gekost, maar dan eindelijk is het zo ver.

Het Freezco.com / Jan-v.nl weblog in ASP.Net 3.5 is dan eindelijk on-line. Qua lay-out is er een groot verschil met hoe het was. Ook de achterliggende code is volledig vernieuwd.

Sowieso wordt er nu gebruik gemaakt van C# in het .Net Framework 3.5, dit omdat ik dan gebruik kan maken van LINQ en met name LINQ to SQL.

Momenteel mist er nog behoorlijk wat functionaliteit.

Zo kan er nog niet naar vorige maanden worden genavigeerd. Dit zal ik later nog toevoegen aan de website. Momenteel vond ik het belangrijkst dat ik zelf posts kon maken en mensen daar eventueel op kunnen reageren. Ook mist er functionaliteit om nieuwe gebruiker accounts aan te maken. In al de jaren dat het weblog on-line is zijn er ‘maar’ 3 gebruiker accounts gemaakt, dus is het voor mij geen prioriteit om dat af te maken. Uiteraard wordt dit binnenkort wel weer toegevoegd. Gebruikers die reeds een account hebben kunnen uiteraard nog gebruik maken van hun oude account. Die zijn gewoon intact gebleven.

Verder zullen er waarschijnlijk nog wat design wijzigingen optreden. Hoewel ik het momenteel wel lekker fris vind, is de hele pagina wel een beetje erg wit.

Read more →