Skip to content


How to fix WCF Error The remote server returned an unexpected response: (417) Expectation failed.

Originally from: http://nahidulkibria.blogspot.com/2009/06/how-to-fix-wcf-error-remote-server.html

Few day’s ago one of our project(using wpf and wcf ) going live and we are start getting lots of weird error one of is 417 the remote server return unexpected response.
after some investigation and we found its only occur when client are behind a proxy in our case its squid(http://www.squid-cache.org/) and has a configuration like following in squid.conf

#This option makes Squid ignore any Expect: 100-continue header present
#in the request. Note: Enabling this is a HTTP protocol violation, but some #client may not handle it well.. #Default:
ignore_expect_100 off

we are solving this problem can be solved by changing squid configuration
ignore_expect_100 on

the following settings on the app.config also solved the problem






but if you have control over your proxy server settings change that. if you do not have chance to change proxy settings and handle this with changing app.config may be facing problem upload large amount of file

for more information you can check this
http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue.aspx

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in C#, Code Monkey, Geekspeak, Open Source, PFSense, System Admin. Tagged with , , , , , , , .

Browsing Folders on Samba server over VPN (IPSEC)

With our new fiber in place and a couple of extra configs done, it was time to make this our main connection and disconnect the old one… Thinkin this shoulud be a relativly straight forward “replug and play” operation, i went off yesterday switching the connection, adjusting ip’s in dns and the Vpn’s on our firewalls on both our office as the colo-location. Some pinging and tracerouting later , all seemed to be well…

However, early this morning, i started noticing issues with our nightly copy to the backup server in our co-location. Trying to browse servers on the other end gave me a strange issue:

when opening a server and/or share, this was ok as long as there where little files / folders in it. If they had more then about 10, it would fail with the info that “ERROR 65 the network location is no longer available”.. the made me embark on a quest which gave me some (strange) insights into the SMB Protocol.. first of, our setup might be important

Pfsense 1.2 firewalls everywhere both as main firewall as for our “routers”, ipsec between these towards our datacenter.
OpenFiler boxes both in the main office as in our datacenter
Simple Robocopy batches for copying the data.

after looking a lot at forums , i found several posts about PFsense not being able to handle fragmented packets over IPSEC.

Now after switching from xDSL to the fiber, I did not take a look further then the ip addresses of the firewall and for the IPSEC tunnels, however, what i did forget was that the MTU for an xDSL line is 1492.. with our fiber, i did not know for sure..

since PFSense by default takes MTU 1500 for any interface except for PPOE interfaces ( there is automatically sets it to 1492), i started to check some stuff and sure enough, i quickly found out using:

(on windows)

ping -f -l 1500 xxx.mydomain.com

that my packets would get fragmented..

So looking further into it, i found out that MTU 1472 was the best i could find.. but helas.. no luck.. after some further searching i realized that altough my connection was able to handle 1472, IPSEC adds extra overhead data to your packets.. And sure enough, doing a

ping -f -l 1472 to one of my internal ip’s on the datacenter sides, resulted in fragmented packages yet again…

so another search for the best value we could use was done until i found out 1418 was the max MTU over my IPSEC Tunnel..

after this, my samba shares where browseable like they should and the scripts could find the paths again

So kids, want to do Samba browsing over VPN (cause this does not only apply to IPSEC ?) Check your MTU..

Oh.. extra info: apparently (although this was not the case for us), Samba does NOT handle NAT :s

Think i’m going to send a mail to the guys over at Pfsense to see if it is possible to set an MTU for your ipsec tunnel only since now i’m operating below the MTU of my actual connection, just to be able to run samba stuff over it..

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Geekspeak, Open Source, Openfiler, PFSense. Tagged with , , , , , , , .

Getting started on Nhibernate

A couple of weeks ago, i wrote about my evaluation of code generation tools. Now although i promised to update while doing so.. i didn’t .. the simple reason is:

I stopped it. After fideling around with several of them, i thought i was going to settle for codesmith.. Turns out that now, after a couple of weeks of playing, the templates and “hacks” i’ve done are so extended that i only use codesmith for generating my object classes ( yes.. i’m a lazy man).. and that is about it !.

I did buy the product for this purposes and am still trying to do as much as i can with it.. I will update the article on my findings and why i bought codesmith but that is for later…

Because the biggest advantage i got from using codesmith is: I understand Nhibernate now. Now in the forums of (N)hibernate (<- site down AGAIN as we i write this.. come on guys, fix this please...) and NHForge i see a lot of posts about the steep learning curve of nhibernate. Now at first i agreeded.. Most of the docs were pretty abstract if you were not familiar with the naming of things.. So although i encountered this before, i have given up back then not having the time to do the learning at that point..

Now with codesmith, there is an nhibernate template provided. Even though, looking back now, this is not really “production ready” ( maybe if you are going to do a (little) website.. sure..). .And this template, for me anyway, took away the learning curve..

We use a sort of “agile” development method, meaning we do a lot of research about a technology/solution/architecture and once we are satisfied, we just start on it to see where it gets us. It was the same for Nhibernate and / or codesmith. And the only way we could do this, is the template.

After generating my DAL,it took me about a day to run into trouble. Having an “example”(aKa the template) ready, the structure and inner workings of Nhibernate became very clear to me wich gave me a fasttrack to Nhibernate.

Now, only a couple of weeks later, we have 2 services, a winforms app, a ASP.NET site and some other uttilities running Nhibernate with Message Queue (ActiveMQ) middleware and MySQL database backend.. and although it is not working 100% yet, it’s looking fine.

We are using listeners for sending messages down to other applications for object inserts, updates and deletes, auditing on the tables for adding reccreated, reccreater, recmodified, recmodifier, recdeleted, recdeleter and several other things.. All of this thanks to the CodeSmith template giving us the start we needed to get going on Nhibernate…

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in C#, Code Monkey, Geekspeak, MySql, NHibernate, Open Source, Ubuntu. Tagged with , , , , , , , .

Nhibernate custom (logical) delete with delete flag

Evey developer knows the disucssion who deleted a record and why or that they didn’t do it etc.; etc..

That is the reason why i NEVER do an actual delete of a record in the database but always use a flag ( reccreated, reccreater, recmodified,recmodifier,recdeleted,recdeleter and deleted as the flag)

Now since a while i’ve been looking at Nhibernate for O/R mapping and i like it a lot (read: it saved me TONS of time in combination with codesmith to do the generation)

However, the generated model of codesmith did not use any form of delete flag ( just normal CRUD) and looking for it, i found obscure ways of using triggers, stored procedures or Iinterceptor etc etc.. unfortunaly, using mysql, not all these options are possible AND , cause me a lot extra work.. but digging a bit deeper, i found a really easy way to do this using the Mapping files:

in your HBM maps, you can add a “where” clause which will cause Nhibernate to show only the records that match this clause ( in my case : where deleted = 0)

AND.. you can give it a custom sql command to do your delete:

update table set deleted = 1, recdeleted = now() where id = ?

et voila !.. it’s that simple.. you do have to handle your relationships and/or bags but a relativly simple example looks like this:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TP2.mediabutler.Data.BusinessObjects" assembly="TP2.mediabutler.Data">
	<class name="TP2.mediabutler.Data.BusinessObjects.Author, TP2.mediabutler.Data" table="authors" where="deleted = 0" lazy="true">
		<id name="Id" column="id">
		 	<generator class="assigned" />
		</id>
		<property name="Name" column="name" />
		<property name="Customerid" column="customerid" />
		<property name="Reccreated" column="reccreated" />
		<property name="Reccreater" column="reccreater" />
		<property name="Recmodified" column="recmodified" />
		<property name="Recmodifier" column="recmodifier" />
		<property name="Recdeleted" column="recdeleted" />
		<property name="Recdeleter" column="recdeleter" />
		<property name="Deleted" column="deleted" />
		<bag name="Libraries" lazy="true" cascade="all-delete-orphan" inverse="true" where="deleted = 0" >
			<key column="author"></key>
			<one-to-many class="Library"></one-to-many>
		</bag>
		<bag name="MediaMember" lazy="true" cascade="all-delete-orphan" inverse="true" where="deleted = 0" >
			<key column="author"></key>
			<one-to-many class="Media"></one-to-many>
		</bag>
		<sql-delete>update authors set deleted = 1,recdeleted = now() where id = ?</sql-delete>
	</class>
</hibernate-mapping>

and you are done !

for more information:

http://nhforge.org/doc/nh/en/index.html#mapping-declaration-xmlns

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in C#, Code Monkey, Geekspeak, MySql, NHibernate, Open Source, VB.NET. Tagged with , , , , , , .

Quote Of the Day

An Optimist is a badly informed Pessimist

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Fun fun fun, Mindwhisper, Quote of the day.

OR Mapping / Code Generation

Since we are a little company and i am the only full-time coder (and actually a lazy system administrator that learned some VbScript and .NET who now is promoted to coding due to no alternative ;-) ), time is very important to us. Even more then in large companies, ever line of code i can write counts, and as you know when working with different databases and projects, code often needs to be written over and over again..

Recently, i got some input from a friend who is a real developer, about the possibility of OR Mappers and/or codegenerators.. seeing the possibilities for my DAL and business layers, i have started to look at them and will write some own impressions here. I’m still in a beginning stage since a lot of this is new to me (being not a true coder) and some of the abstract stuff is not completely clear to me…

The different things i’m looking at (you will notice a lot of open source here since price is important for us too)..

A couple of general things i found:

documentation for most of these projects is poor to say the least. Apparently many of these products/projects think that recording some VERY abstract camtasia sessions will do it for you…

Most of these projects seem to be targeted at ASP.NET applications, winforms not so much so most of these things have no support for remoting or others.

MySQL is still too little known in the .NET world.. i don’t want to go into the whole performance MySQL vs. Sql 2005 thing since this is not the largest reason for my choice. I’ve ran applications on SQL2000 and 2005 that did thousands of transactions a minute without missing a beat AND being very performant.. However: as a startup, we simple cannot caugh up a couple of thousand dollars for running multiple Sql Machines (we need redundancy) ON a payed operating system ( Win 2008) and/or clustered hardware.. And this is where MySQL is good at.. you can start real low

Prerequisites:

Must Work with MySQL
Not too complex (learning curve must be acceptable for medium skilled starting developer)
Generate VB.NET or C# for the 2.0 Framework
Visual Studio 2005 Compatible
Seperate BLL and DAL
Usable for WinForms applications and services too.
Have some form of a UI ( for ex: codesmith has a free console version but with the complexity of our projects, a UI is really required)

Nice to have:

DB Sharding
Possibility to implement remoting/WCF in a later stage without having to start all-over again.

Products/Projects looked at:

CodeSmith ( http://www.codesmithtools.com/)
Price: Starting from $99

LLBLGen ( http://www.llblgen.com/)
Price: € 249.00 (single seat license)

LLBLGen got highly recommended by a friend who works in an enviroment where robustnest and performance is important.. Looking at the possibilities and the ease of working with it, it came in high on my list.. sadly enough my tests quickly stopped due too their Incompatibility with MySql.. Somewhere along the line, they chose to implement Corelabs ( now DevArt) MySql Driver instead of Connecter/.NET of MySQL itself.. this by itself is not such a great issue if it was not for:

You have to pay for this Driver ( LLBLGen does not come cheap and dotconnect MySql costs extra)
They don’t seem to have a solid partnership with DevArt since the new release of dotconnect broke LLBLGen working for several reasons:

Namespaces changed due to product and company rename (coreLabs -> devart)
Version which is required for their trial is nowhere to be found at devart and apparently, LLBLGen cannot host it theirselfs ?
Support for this issue in the forums is poor.. Basically they make you tincker with some of their xml files and admit using coreLabs was a mistake however, no solution in sight ( and this is not something new.. the issue dates back several months looking at the forum posts)

Either way.. i want the tool i use to be solid and supported since our company heavily depends on it’s infrastructure.. The bad feeling i got from reading this mess made me abandon LLBLGen for now.. Who knows what the future may bring ? If they clean up their act and maybe open their mind to use open source ( apparently this was the main reason for them NOT choosing MySQL native Connecter/.NET driver)… they might benefit from it..

MyGeneration ( http://www.mygenerationsoftware.com/ )
Price: free (open source) however their main promoted “template” does cost you.
Habanero (http://www.chillisoft.co.za/habanero/)
Price: Free. Licensed under LGPL

This Post is not done yet.. i’ll post some updates very soon.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in C#, Code Monkey, Geekspeak, MySql, Open Source, VB.NET. Tagged with , , , , , , , , , , , , , , , , , .

Building a small business datacenter: Introduction

Working For As co-owner of a small business that does Digital Signage and audio playback in retail stores, our IT needs are those of a medium enterprise while working a little budget.

With a little over 250 Customer locations downloading audio, video and other media from our servers and reporting back to us, we have around 6 TB ( yes.. that is 6,000 GB) of traffic .. monthly. This might not be huge for an enterprise, but it is a pretty decent amount for a small business that needs to colocate it’s servers. Next to this, we have to store all our content in multiple formats both locally at our office as in our colocation (backup + distribution). This ever increasing amount of TB’s of content files (music, video, images).

This made us re-evaluate our current solution and look for the best solution for us AND.. keep it affordable. After a lot of calculating and designing, we had following options:

Rent more rackspace

Pro

A large piece of the infrastructure is maintained for you ( routers, bandwith, power supply) and is redundant.
Some tasks can be taken over by “smart hands” (local staff of the datacenter can act as remote hands/ears

Contra
You pay top $$$ ( well, € in our case but you know what i mean) for space where to put backend services like fileservers and databases which only provide a service for your front-end services.
Rack-mountable servers cost more then regular towers
We need to have a high-bandwidth connection towards the datacenter for upload of content
Upgrade path requires planning when running out of rackspace ( sometimes preparing new racks can take the provider longer then you can wait in case of traffic boost)

And for us Belgians and extra contra is: Bandwidth is really expensive here. Even in a datacenter, you pay very high prices in when looking at offers from our neighbouring countries like The Netherlands or germany. However. In our case this would be no option since we need frequent access to our servers (physically), the trip up and down to the datacenter would cost us too much time if it is 300 Km away in these days of traffic jams.

Built Datacenter at the office and shift services over here

Pro

Space would become cheaper
No need to use 19 inch servers. We could “do a google” and put towerboxes
We save on the bandwidth which we would have to buy anyway to upload our files to the datacenter.

Con
Requires investment on our part for redundant power supply, airco etc…
Bandwidth costs

After some number crunching, we opted to go for option 2: Built our mini datacenter at the office ( as you might have noticed from the title). Since this issue has been brought up a couple of times, i have decided to make a mini-series out of it as an aid for other smb’s who want to do the same but want to be preppared for the traps on the road ahead…

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Business, Geekspeak, System Admin, Virtualisation. Tagged with , , , , , .

Remove duplicates in Mysql

This is an extremely quick and painless way to remove duplicate rows (tuples) from a MySQL database table. The best part of it is that it requires no programming or PHP coding whatsoever, it can all be done with three manual SQL queries! Note: this only works on MySQL 3.23 and above. But I have a hard time imagining anyone running an older version than that anyways!

So, there are 3 steps, and therefore 3 SQL statements:

Step 1: Move the non duplicates (unique tuples) into a temporary table

CREATE TABLE new_table AS
SELECT * FROM old_table WHERE 1 GROUP BY [COLUMN TO remove duplicates BY];

Step 2: delete delete the old table
We no longer need the table with all the duplicate entries, so drop it!

DROP TABLE old_table;

Step 3: rename the new_table to the name of the old_table

RENAME TABLE new_table TO old_table;

And of course, don’t forget to fix your buggy code to stop inserting duplicates!

Source: http://www.justin-cook.com/wp/2006/12/12/remove-duplicate-entries-rows-a-mysql-database-table/

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Code Monkey, Geekspeak, MySql. Tagged with , , , , .

Quote of the day

The best argument against democracy is a five-minute conversation with an average voter

Winston Churchill

Zeer toepasselijk in deze “regeringsvrije” dagen

Ik geloof trouwens ook dat het ook churchill was die zei: Democracy sucks but it’s the best we have..

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Mindwhisper, Quote of the day.

Not being able to download files from Apache2 (CIFS/Samba Mount)

So.. a couple of days ago i wanted to switch a website from an old server to a new one so we could decomission the old hardware.

Since this website does nothing else then serving up files for an internal application to download, this should be a breeze.. But as these things go in IT.. it was not

The server was running Ubuntu 8.10LTS with apache2 and was already serving several other websites. Now for serving up the files we want, i had to mount a share from a samba server. I quickly made a virtual host and redirected dns and voila.. all seemed to work, i could browse the files and directories.. a job well done..

But then i started getting calls from users who said the application was failing.. soon after that, i discovered that i could see the files, but when downloading them ( files between 5 and 300 Mb), it stopped after a couple of KB…

After a lot of digging and my first post to the ubuntu forum ( yeah.. they were not really helpfull anyway..) I found an interessting post in the Usenet groups for debian bugs:

http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/f0c6c89ff3edd9a3

There, a guy who is a lot smarter then me (seeing that nor apache2 or any other log was saying anything was wrong, infact, apache gave me a status code 200 OK), found out that at some point in time, apache2 EnableSendfile broke, mainly affecting CIFS/samba mounted Documentroots in apache2. Apparantly, and i Quote:

“Apache2 cannot send more than a few kilobytes of a file mounted over
CIFS. This causes most web browsers to choke when downloading,
anything larger than a small HTML file. Wget will eventually succeed,
attempting to get the file repeatedly, accessing a few kilobytes at a
time. “

And to fix it:

Disabling sendfile functionality on the directories in question provided
an adequate workaround.

With a special thanks to chad from the Debian Bugs team since his post was about the only indication (after 2 days of searching) to fix this !

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Apache2, Geekspeak, System Admin, Ubuntu.

VMFS3 Maximum File Sizes (VMware File System ESXi)

Max file size Block size
256 GB 1 MB
512 GB 2 MB
1024 GB 4 MB
2048 GB 8 MB

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Geekspeak, System Admin, Virtualisation.

IAS Not starting: Only one usage of each socket address…

Recently I came up with a very interessting issue.. all of a sudden, our IAS service would not start anymore leaving our VPN clients in the dark ( as in.. not authenticating..)

The error found in the event log was:

“The Internet Authentication Service service terminated with the following
error:

Only one usage of each socket address (protocol/network address/port) is
normally permitted. “

After some digging, i found a couple of nice articles.. in the light of the recent DNS update, some idiot (not a microsoft hater but this is REALLY dumb) at m$, thought it was a GREAT idea to make dns choose a random port for it’s communication to make it harder to find for attackers.. however, he decided to let it search in the range 1024-65535… SO.. if you dns service starts before another service, and decides to take that applications port (and there are many apps running on a higher tcp port).. this service/software will fail cause the socket is already in use !

They have a work around (which i really don’t understand why they did not do this in the first place) where you can add “reserved” ports in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ReservedPorts

BEWARE: don’t remove any of the values.. only add the ports you want to reserve aswell..

Looking at the many forums where this issue has popped up, apparantly not only IAS gets affected but there have been cases where Active directory , activesync and others failed to start because of this issue..

And apparently.. SBS users are mostly in trouble..

Anyways.. for making IAS work again, add following ports to the reserved ports list:

  • 1645-1646 – Used by IAS
  • 1701-1701 – Used by L2TP
  • 1812-1813 – Used by IAS
  • 2883-2883 – Used by AUTD
  • 4500-4500 – Used by IPSEC

and simply restart DNS (Worst case.. you might need a reboot…)

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Geekspeak, System Admin. Tagged with , , , .

Using Robocopy to Samba (OpenFiler)

Anyone who had to reliably copy a bunch of data between machines SHOULD know robocopy.. I’ve used this tool for many years and it never failed me once..

However: this week i had to migrate a fileserver to new hardware(from Windows 2003 to OpenFiler 2.3) involving copying around 600 Gb of data .. knowing they were connected over a nice 1 Gb lan, i quickly wrote up a little script using robocopy to be able to mirror the original one to the new one, then at the point of the migration itself, i could just do an incremental update of the data changed between my original copy and the migration.. This all worked out fine except for the almost famous Timestamp bug on folders..

THis bug is easily solved in RoboCopy XP026 (XP027 is vista only and does not run on < Vista /Windows Server 2008 (where they FINALLY included robocopy in the OS -> thanks ms)

robocopy \\sourceserver\sourceshare \\destinationserver\destinationshare /TIMFIX /DCOPY:T /MIR /B /E /W:5 /R:5

But then, when i tryed to do the update, it all went evil.. for some odd reason, robocopy decided that ALL files where newer.. setting of to copy the whole 600 Gb AGAIN !

After a lot of searching, i finally found this link: http://www.edugeek.net/forums/windows/9754-nas-nas-mirror.html suggesting using the FAT Filesystem Timestamp.. Now.. using NTFS on the origin side and samba (with XFS underlying ) on the other.. but apparently: it works leading me to believe that samba addresses it’s disk with fat style timestamping !..

Eitherway: for all people having the robocopy re-copies (or mirrors ) all files as new(newer): /FFT is your flag you need to add !

The actual command i should have used is:

robocopy \\sourceserver\sourceshare \\destinationserver\destinationshare /TIMFIX /DCOPY:T /MIR /B /E /W:5 /R:5 /FTT

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Geekspeak.

Embed a form on a different form (control) in VB .NET

Sometimes, you want to have the same stuff on several pages and you don’t want to built a custom control but just use a form instead.
Too embed these on a different control is easier then often though. Since a form is derrived from a standard control, you can simply embed it on a different control like this:


dim Frm as new Form
'This is the crucial part actually
frm.toplevel = false
me.controls.add(Frm)
frm.parent = controlname
frm.show

Et voila !.. It’s that simple

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Code Monkey, Geekspeak.

Quote of the .. euhm… day ?

“War is God’s way of teaching Americans geography.”

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Quote of the day.

A nice reflection on how many people see lotus notes…

“Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed. Lotus Notes is a conspiracy by the forces of Satan to drive us over the brink into madness. The CRC-32 for each file in the installation includes the numbers 666.” Gary Wheeler

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Quote of the day.

En als we TV nu eens ECHT terug interessant maken…

Temptation Island – The Curse of the Red Pepper starring: Pieter, Ghislaine en de rest …;-)

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Brain Fart, Entertainment, Mindwhisper.

Database replication and integration – Jitterbit

Everybody who has to do with databases has been asked to replicate data between different systems. sometimes you are lucky and it is clean import export, but most of the time, it’s complex querying to fill out a field in a different database.

Since i have written a shit load of tools to do these kind of things, mostly between many different systems ( MS SQL, MySql, XML, CSV, Excell, Access (yes.. access) , TXT and so on and so on…) .. i got tired of this stuff… so i went to look for alternatives. Now you have the multi thousand $ solutions from the big guys like microsoft, ibm or sun. But small businesses can’t afford these while they still might need a solution.

And then I came accross JitterBit by accident. I can tell you now it is one hell of a tool. I’ve got it running in production for over a year now and i simply love it !

It can run on Linux or Windows, uses a postGresql ( well.. that part is not really my favorite but ok) and can connect to just about any database your operating system can.

You basically just built “transactions” and transformations between a source and a destination database, can edit the queries where needed (but A LOT can be done by simple drag and drop) and then schedule the task. Voila !.. add some error handeling in you transaction and create followups ( on fail or on success transactions ) and let her run…

When the need comes to add another replication or edit it, no more code browsing and trying to remeber what where how when.. you simple edit the transaction and get it over with !

I recommend Jitterbit to ANYONE who needs to replicate data once in a while !

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Code Monkey, Geekspeak.

Converting C# to Vb.net

Although i’d love to make the switch to C#, the projects I work on most of the time are always that pressingly urgent ( right.. you couldn’t have told me earlier ?) that i did not get the chance to make the syntax switch from VB to c#.. however.. when looking around the net, a lot of the examples these days are written in C# and although i can read it ( when i put the effort in it), it isn’t always that clear to me yet ( especially operators and stuff sometimes confuse me.)

Well, no more of that !

Using the C# to VB.NET Converter I can now translate the code for further work on it !…

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Code Monkey, Geekspeak.

About iso and country codes

Every developer once in a while needs a list of countries and the matching iso-codes..

To make this easier on you:

The UN Country List

The country List in MySql format for a straight import

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Slashdot
  • Technorati

Posted in Code Monkey, Geekspeak.