This is now on the wiki.
On my spare time, I manage a handful of servers. And even if it’s not really my job, I try to do it well and efficiently. All of them work on Debian because it’s simple to manage. I started using cron-apt a few years ago. I started by upgrading everything automatically, this was a big mistake. I switched to only sending mails on available upgrades and doing the upgrade manually. But this is also quite painful because 95% of the time, it consists in typing “apt-get dist-upgrade -y” and waiting and I have lots more interestings things to do.
I’ve been testing btrfs for some months now. One of the most interesting features of this file-system is its snapshoting capabilities. Before that I was using rsnapshot. The issue with rsnapshot is that its lowest atomic level for snapshotting is the files themselves using hard-links. So any database table where one row is changed is copied completely. Btrfs as you might guess will only copy the modified chunks (I don’t know the atomicity of them [but who cares?
Debian released a new version of their system. I updated it on the server that powers this blog, it took me something like one hour to do the whole system upgrade. There was only a little glitch with mysql’s my.cnf file that had an unsupported “skip-bdb” line. Everything else went fine… The very good thing in this new release is the new kfreebsd version (available in i386 and x86_64). It brings the power of the FreeBSD kernel to the great Debian OS.
XRDP is a very interesting project. It allows to create a terminal server on Linux hosts using the RDP protocol. I think the RDP protocol is a great protocol (better than VNC) but that’s not why I’m writing this. The important thing about this tool is: It’s freaking simple to use. On Debian, just type: apt-get install xrdp -y On Red Hat Enterprise Linux, just type: yum install xrdp Then, you have to start it:
I often hear people talking about which technology is better between C / C++ / C# .Net / java. Most of the time, it’s more a political/brotherhood/community thing (like football, even thought frenchies like me aren’t so proud of their team now) than a technical talk. I find it absurd. Computer science is about efficiency and making more money. You can take into account the pleasure you have to work on a technology (as you will be more likely to be more efficient with it), but it should still remain about efficiency.
I find the concept of prioritization very interesting. It just enables you to do more with less. Doesn’t that sound great ? Let’s say you want to be able to respond to user requests as fast as possible but update your data in a low priority manner : You can set the process CPU priority from -20 (high priority) to 19 (low priority) by using the command : nice -n <priority> <command> You can set the process IO priority in 4 classes (0: none, 1: realtime, 2: best-effort, 3: idle) with some priorities within these classes (0-7, lower being higher prio).
I found out that there is real test than the little one i did here. In fact the main interest of the post is this spreadsheet : I recently did a simple and stupid comparison test between C++ (g++) and C# .Net (mono). My point here is that C# can actually be considered as a very fast language. It allows automatic hardware-specific optimization. The only real drawback you have in the .
Sometimes, you just need to redirect a port on Linux. The solution I could find is to add an entry into xinetd. Here is a sample /etc/xinetd.d file I have, it just redirects the 587 (tcp) port to the 993 port of gmail’s servers. I have to do this because Virgin Mobile France blocks the 993 tcp port. If you’re in the same situation, you can use my server to access you gmail IMAP access.
I talked about this earlier. The mono tools for Visual Studio is a commercial product that easily enables you to test and port your Windows applications to mono. As I told before this is really a great idea. Because I think Visual Studio is the best IDE and Linux is the best server OS (in my opinion, it’s more efficient and more robust than Windows Server). So, I think it’s the perfect gateway between this two very different (but very close since Mono appeared) environments to achieve greatness.