Python requests (or actually urllib3 that it uses) encodes non-ASCII filenames incorrectly in file upload requests. This post explains what happens and how you can work around it by modifying the request just before it is sent.
The error message "Not a subroutine reference" from Test::MockObject is because you did not pass a subroutine to mock().
Perl has a Carp module, that prints error messages from the context of the caller. This page gives an overview of the available functions in the module.
The mod_proxy documentation of Apache 2.2 describes some environment variables to influence the behavior of mod_proxy. However, these environment variables are not available in every version of Apache 2.2.
To get Adobe Acrobat running under Wine I needed the DLL file msvcp60.dll, and I found out that it is contained in the Visual C++ 6.0 run-time by Microsoft. Installing this fixed my problem.
How to debug the error in the TinyMCE image manager, "Error executing child request for rpc.aspx".
Converter to convert JSON cookies as exported by the Chrome plugin "Edit this Cookie" to wget compatible cookies.txt.
If you have an e-mail address, you receive spam. In this article I describe three ways I handle spam.
A script that sorts the output of apt-cache by popularity, so that you can pick the most popular package.
Chrome extension to navigate in two tabs at once
You get this error message when adding controls to a custom control in ASPX: CS1729: 'System.Web.UI.ControlCollection' does not contain a constructor that takes 0 arguments Solution: Make the ControlCollection property readonly.
X forwarding does not work with ssh -X or ssh -Y.
Composite C1 is a free open source .NET-based web content management system. This page describes how to accomplish some tasks, especially with regard to XSLT functions and data types.
This online tool lets you find some prime numbers near a given number.
When saving a resx file, Visual Studio automatically creates a corresponding code file for it. However, if you edit the resx file outside of Visual Studio, the code is not updated. This article demonstrates some ways to let Visual Studio create corresponding Designer.cs files for the resx resource files just before building the project.
Mindscape Lightspeed provides a database layer for .NET programming. This article states that in some cases, using Attach() instead of Add() to add objects to the database can be significantly faster.
If you check with Firebug, it shows that the browser gets a 404 error for the file Telerik.Web.UI.WebResource.axd.
Using a delegate, you can select OrderBy or OrderByDescending programmatically.
If the webserver serving the WSDL is down, the SoapClient constructor will block for a minute and only then throw a SoapFault. This article will explain common problems and how to reduce the annoyance to the user.
The PHP function stream_get_line() is badly designed. It's behavior does not allow the caller to correctly read a file.
Substantial net improvements in programming quality and productivity have been obtained through the use of formal inspections of design and code. Improvements are made possible by of a systematic and efficient design and code verification process, with well-defined roles for inspection participants. The manner in which inspection data is categorized and made suitable for process analysis is an important factor in attaining the improvements. It is shown that by using inspection results, a mechanism for initial error reduction followed by ever-improving error rates can be achieved.
In PHP kan je stukken tekst gebruiken als parameter of waarde voor een variabele. Omdat een tekst bestaat uit een boel letters achter elkaar, heet dit een tekenreeks of een string. Dit artikel legt uit hoe je strings maakt.
To diagnose problems with HTTP, it is useful to see the whole HTTP transaction. This article describes some methods for obtaining the HTTP conversation.
If your software project has a lot of abstract classes, this may indicate that there is something wrong with it. Many abstract classes may indicate premature generalization and a too complex inheritance tree. In this article I explain these two problems and the alternative to abstract classes.
Firefox can show XML files, nicely indented and with pretty colors. However, searching text in an XML file does not work correctly. When pressing Ctrl-F and searching for some text which is present in the XML file, Firefox will report it has not found anything.
Time and date are not simple concept, and most of the time you realize that after you have done some simple assumption and your code turns out to be buggy. This article explains some common pitfalls when handling dates and times.
The game gataxx was removed as of gnome-games 2.17. However, I get the impression that there are some people who are still interested in an ataxx implementation for Linux. Therefore, I created a deb package of gataxx from gnome-games 2.16.3.
Sometimes, you want to replace a word in a string with another word. You may want to replace all swear words with more neutral statements, replace BBCode tags with the corresponding HTML tags or use placeholders for data in a templating system.
In a function, it is difficult to obtain the name of the variable which the caller used. In this article I show a way to get it using debug_backtrace and reading the PHP source file.
In this article I try to create a tree of IPs with an increasing netmask number, in PHP. I show how to apply netmasks to IP addresses.
Books I read.
The handout "The Programming Languages LISP and TRAC" by W. L. van der Poel, Aug. 1972.
"The purpose of these lectures is to give an approach to some basic aspects underlying many programming languages. [...] For demonstrating these concepts I shall make use of two particularly simple languages, both used in a conversational way: LISP and TRAC."
In Windows, administrators can configure the system to let passwords expire after a certain period of time. This expiration policy can be easily circumvented by changing the password multiple times and then changing it back to the original. This article shows some code which does that.
Volgens de reclame van NUON verspillen we 30% van onze energie. Hier zou je de hele Sahara mee kunnen verlichten. Klopt dat?
There are various String classes which can be used to concatenate strings. In this article, we look into the performance of the various ways to concatenate strings.
With JNI, the Java Native Interface, it is possible to call native libraries (DLLs) from Java, and vice versa. This article describes some common pitfalls.
Wireless sensor networks consist of many radio-equipped nodes which are limited in resources and power. Nodes that can be reached by radio, possibly through multiple hops, form one network. This master thesis presents a way to connect two or more networks together, using gateway nodes that have a wired connection with each other. This way, it appears to the nodes as if the two networks have a radio connection. We also show through simulations that the system we propose gives a good connection between the networks, but breaks the working of synchronous protocols.
The php|architect's Zend PHP 5 Certification Study Guide is supposed to learn you everything you need for the exam for Zend Certified Engineer.
With wireless devices increasing in popularity and ad-hoc wireless networks getting larger, scalable routing protocols are needed. There are already many routing protocols for ad-hoc wireless networks, but very few of them were conceived with scalability in mind. This paper will provide an overview of various routing techniques and consider their scalability. We will show that only the HSLS protocol is scalable without imposing trivial restrictions on the nodes.
Wireless sensor networks consist of many radio-equipped nodes which are limited in resources and power. After deployment, these nodes may need reprogramming to fix bug s, add features or make the nodes suitable for another task, among others. Because it may be imprac tical to physically visit these nodes to reprogram them, several methods have been proposed to repr ogram nodes using data sent over the network. This paper gives an overview of methods to propagate code through the network and to reduce the size of this code.
Limewire is a P2P program for downloading files. I made it possible to automatically download a list of files. The modification makes it possible to load a list of searches from a file. Limewire will do all these searches and download the best match for every search. This way, it effectively downloads all files in a list.
Loadmin is a program I wrote which suspends a process when the load average of the system raises above a certain level and continues the process when the load gets lower.
When compiling something with GCC 4, it may be possible that you get one of the following warnings:
warning: missing sentinel in function call
warning: not enough variable arguments to fit a sentinel
In peer-to-peer networks, like Gnutella, an overlay network is used where nodes connect to each other. Not all nodes in a network support the overlay network, so a joining node has to have a way to find nodes already in the network. Finding good nodes and connecting to them is called bootstrapping and is a problem in modern peer-to-peer networks.
This paper addresses some problems which show themselves when a extensive list of settings or options is shown to the user of a program. It lists some examples and tries to identify the problems in those examples. Furthermore, this paper tries to suggest some recommendations to keep in mind when developing the "settings" part of a program.
Modern research requires an ever increasing amount of money. While a couple of centuries ago one could still invent light bulbs and steam engines in the backyard, most of todays research requires big investments for laboratories, supercomputers and other expensive equipment. In these economical dim times, governmental organisations are less keen to invest in research. Private companies can come to help: they can invest in research projects they find interesting, or, financially rewarding. However, this comes at high costs.
The Internet throws up a number of serious ethical issues at just the time when ethical resources are few and far between. Various reasons for this state of affairs are discussed, several of which show a continuity rather than a disjuncture with other communication and information technologies (CITs).
When I had a programming exercise at the university a few weeks ago, the task assignments where not as clear as they had to be and I had a lot of free time while I was in the computer room. It was then that I discovered gataxx, the ataxx game for gnome. After a few tries I was able to win of the computer, even with the highest level. A friend of me suggested that I looked into a better algorithm for ataxx, so I did and this document is the result of that.
Om u te wapenen tegen slecht geschreven scripts zal ik hier een poging doen uit te leggen wat er mis kan gaan bij het schrijven van een script. Het eerste deel gaat over alle scripts, verderop worden de gaten die specifiek zijn voor CGI scripts behandeld.
Paging staat toe om je harde schijf te gebruiken alsof het geheugen is.
Deze handleiding gaat over hoe je linux kan installeren op een low-end PC, waar het er om gaat dat de PC absoluut onhoorbaar is.
Deze HOWTO legt uit hoe je je systeem moet configureren zodat een gebruiker of een aantal gebruikers in een chroot-omgeving komen zodra ze ingelogd zijn. Mogelijke toepassingen hiervan zijn FTP, onveilige programma's, shell access.
This HOWTO shortly explains how one can chroot a user during login. This means that after the user has logged in, he is restricted to a certain directory. This directory is his new root directory. See the chroot manual for more details about chroot. Also available in Dutch.
The Apache server is build out of several modules, which are pieces of computer code. By combining these pieces, you can create your own server and configure it for every detail. Many modules are installed by default, such as the mod_dir module, which serves a nice starting page instead of the directory contents.