Thursday, February 23, 2006
Those responsible have been sacked
The main page mysteriously was replaced by this blog and it took me till today to realize it. It's back on line, and those responsible have been sacked.
Wednesday, February 22, 2006
Free Development Software From Microsoft
Didn't think Microsoft give anything away for free did you? Neither did I. That is, until I saw that you could download 'Express' versions of all their 2005 development software.
What's the catch? Well, you can only download them for free till November 2006. Also, they have a few small limitations.
So, is it really worth your time? Well, if you don't have a C/C++ Compiler already then maybe Visual C++ 2005 Express is right for you and possibly SQL Server 2005 Express. Regularly, SQL Server will cost you a pretty penny, but SQL 2005 Express is free, for life. You can also download the SQL Server Management Studio Express CTP to go with it. It's biggest limitation is the 4GB database size limit, and the lack of full-text search. Click Here for a full list of features.
To summarize, don't get the express versions unless you need them (or want the feeling of getting something from Microsoft for free at least once in your lifetime). Try out SQL Server 2005 however, because it's not entirely crippled.
What's the catch? Well, you can only download them for free till November 2006. Also, they have a few small limitations.
So, is it really worth your time? Well, if you don't have a C/C++ Compiler already then maybe Visual C++ 2005 Express is right for you and possibly SQL Server 2005 Express. Regularly, SQL Server will cost you a pretty penny, but SQL 2005 Express is free, for life. You can also download the SQL Server Management Studio Express CTP to go with it. It's biggest limitation is the 4GB database size limit, and the lack of full-text search. Click Here for a full list of features.
To summarize, don't get the express versions unless you need them (or want the feeling of getting something from Microsoft for free at least once in your lifetime). Try out SQL Server 2005 however, because it's not entirely crippled.
Porting Berkeley Sockets
Over the past few days I've had the opportunity to port a program using Berkeley sockets to Winsock. It's actually a lot easier than it sounds.
A large part Winsock was designed based on Berkeley sockets, and for the most part, the only things that have been changed are a few function names. I'll touch on the main one's you'll run into while porting.
read / write The functions used for I/O (Input and output) operations on a socket.
read(socketfd, buf, left);
write(socketfd, buf, left);
In Winsock 2 the functions are nearly the same, except under the name send and recv
int recv(SOCKET s, char* buf, int len, int flags);
int send(SOCKET s, const char* buf, int len, int flags);
The extra parameter flags is for special things like just peeking the recv stream instead of removing from it. If you want to do a direct port, you can just set flags to 0 and keep the other parameters the same.
fcntl Change the I/O mode on a socket, in this case, change the socket to nonblocking.
fcntl(fd, F_SETFL, O_NONBLOCK);
Once again, Winsock 2 is very similar, with a few extra features. To put the socket into nonblocking using Winsock 2 you have to use the following method:
unsigned long nonblocking = 1;
ioctlsocket(fd, FIONBIO, &nonblocking);
By changing the three functions above, you can port most any application that uses Berkeley sockets to one using Winsock 2. Of course, you mustn't forget to take care of all the Winsock specific stuff like including the libraries, header files, calling WSAStartup, and WSACleanup. If your interested in Winsock 2 you can check it out on MSDN
A large part Winsock was designed based on Berkeley sockets, and for the most part, the only things that have been changed are a few function names. I'll touch on the main one's you'll run into while porting.
read / write The functions used for I/O (Input and output) operations on a socket.
read(socketfd, buf, left);
write(socketfd, buf, left);
In Winsock 2 the functions are nearly the same, except under the name send and recv
int recv(SOCKET s, char* buf, int len, int flags);
int send(SOCKET s, const char* buf, int len, int flags);
The extra parameter flags is for special things like just peeking the recv stream instead of removing from it. If you want to do a direct port, you can just set flags to 0 and keep the other parameters the same.
fcntl Change the I/O mode on a socket, in this case, change the socket to nonblocking.
fcntl(fd, F_SETFL, O_NONBLOCK);
Once again, Winsock 2 is very similar, with a few extra features. To put the socket into nonblocking using Winsock 2 you have to use the following method:
unsigned long nonblocking = 1;
ioctlsocket(fd, FIONBIO, &nonblocking);
By changing the three functions above, you can port most any application that uses Berkeley sockets to one using Winsock 2. Of course, you mustn't forget to take care of all the Winsock specific stuff like including the libraries, header files, calling WSAStartup, and WSACleanup. If your interested in Winsock 2 you can check it out on MSDN
Testing 1... 2... 3...
Hello, bonjor, aloha!
You may be wondering "What is TheCoder Blog?" and "Why it is here?" Well, forunately, I have the answers to both those simi-universal questions.
TheCoder Blog is where you'll find the updates to the site that happen between the actual updates. Here I'll keep you in the "in" on whats coming to www.codertutorials.com, and what tutorials are in progress. If that wasn't enough, I'll also post snipits on API's and functions that I think you might be interested, but don't validate writting a whole tutorial for.
So, TheCoder Blog is here for you. To keep you updated on all the latest (and someone moderately old) CoderTutorials and otherwise coding know how.
You may be wondering "What is TheCoder Blog?" and "Why it is here?" Well, forunately, I have the answers to both those simi-universal questions.
TheCoder Blog is where you'll find the updates to the site that happen between the actual updates. Here I'll keep you in the "in" on whats coming to www.codertutorials.com, and what tutorials are in progress. If that wasn't enough, I'll also post snipits on API's and functions that I think you might be interested, but don't validate writting a whole tutorial for.
So, TheCoder Blog is here for you. To keep you updated on all the latest (and someone moderately old) CoderTutorials and otherwise coding know how.
Subscribe to:
Posts (Atom)