Four queens problem solved by quantum annealing
I wrote a four-queens program using quantum annealing. This program is mostly extended to solve the N queens, but still N is fixed to 4.
I wrote a four-queens program using quantum annealing. This program is mostly extended to solve the N queens, but still N is fixed to 4.
I developed yet another IP simulator for learning IP. The interface of this simulator is similar to the "Ethernet for learning".
AnyCubic Kossel is a cheap delta-type 3D printer. There are two versions, i.e., pulley and linear versions. You can buy a pulley-version printer, which is cheaper, at about $200 including shipping cost. It is easy to be assembled too. It comes with a pretty printed manual with a method of installing firmware; however, unfortunately, no firmware comes with the printer. I struggled with several types of downloaded firmware and finally the printer works well with Repeater firmware. I put the updated firmware file here.
A program that can be used when changing video size by removing part of each frame, which is required for, for example, image recognition. The usage is as follows.
clip(inFile, outFile, options...)
inFile is the input file, andoutFile is the output file. outHeightMin and outHeightMax specifies the vertical range of the output frame. outWidth is the width of the output.
The Caltech pedestrian dataset contains a special format videos. The following program converts them to normal video format files. The extension of the generated file is ".avi", but ".mpg" can also be used (can be rewritten).
GPU memory is limited. Although NVIDIA TITAN X, which has 12-GB memory, is expensive, sometimes 12 GB is not sufficient. GPU memory is smaller for subordinate GPU models. A numerical value that can be stored in one byte can be stored as an 8-bit integer in GPU memory, and thus the GPU memory is more effectively used. So this article describes a method to do so.
Recently, a href="http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/" target="_blank">Caltech pedestrian dataset is often used as a benchmark for Computer Vision. However, this dataset is in an extraordinary format, and so it is not easy to handle it. You can handle it easier by using Matlab, but it is troublesome if you intend to convert it for Python for the sake of, for example, deep learning. I developed conversion tools, so I publish them here.
I wrote several articles on the "fluctuated 3D printing", i.e., in my blog (in Japanese), a paper (a journal version and a workshop version). However, because the programs used for these articles were not well-structured, they were not published. Because I developed a simplified and well-structured version, it is published here.
A Python library for parts assembling, deformation, and printing by a 3D printer is published in an opportunity of a presentation in a technical conference. Explanation of major functions are available.
This is the first 3D-printing related program for this site because most of my 3D-printing programs are spagetti like. I believe this 3D turtle graphics library in Python can be used by other people, I first publish this.
Every time I write a program in C, I am quire tired. I thought it was easier to write one by Python. So I wrote a demo program of raw socket communication. It was not so easy as I expected, but the following program sends (and receives) an Ethernet packet almost every second. (Whole this article is licensed by Creative Commons, but the program is in public domain; that is, it can be copied without any restriction.)
I wrote an Ethernet simulator. The main purpose for this development is leaning Ethernet by my students in Kogakuin University. This program is in public domain.
There are simulators that exactly simulates Ethernet networks, but I could not find an appropriate simulator for educational purposes, so I wrote one by myself. You can open multiple command windows and each window can run this program to simulate a switch or a terminal. It is a very simple program, so there are restrictions such as the port number range. However, you can roughly see mechanisms of Ethernet network.
A GRE tunnel can be created between two computers using an ip command. Either IP/GRE or (IP)/Ethernet/GRE tunnel can be created by slightly modifying the commands.
Although we can buy a high-performance Ethernet switch at 10 or 20 dollars, a programmable (software) switch is convenient for experimental purpose such as observing the learning steps. The following program is a Ethernet switching program with learning function but not completely conforming to the Ethernet standard.
To test connectivity through an IP network, "ping" is usually used. However, "ping" cannot be used or it is not convenient when non IP environment or using network interfaces directly. This page shows a simple tool for such situation. This tool can of course be used under an Ethernet environment, but it can also be used when Ethernet is not available but the promiscuous mode of Linux can be used.
I wrote a program that sends and receives packets with a VLAN tag using Linux promiscuous mode. This program is for playing with a VLAN switch. If you compile it without a switch (#define VLAN), you can send and receive untagged (i.e., normal Ethernet) packets.
Relational databases are widely used. However, it is not very clear how queries written by SQL are executed by the DBMS. Queries are usually interpreted by DBMS but not compiled into native code. The reason why not compiled into machine code is that it is very important to optimize queries by looking at the properties of tables at run time for the query to be applied. However, in this article, to look at the execution mechanism of queries, I try to simulate them using Perl programs (i.e., “compiled code”).
Based on my small needs, I developed a timer using JavaScript. To see the program, you have to look at this page, and select "View > Source" from the menu bar of the Web browser.
Mail proxies (SMTP proxies) have become much more important to avoid errorneous mail delivery. There is a mail proxy written by Perl: Qsmtpd. However, when you want to build a simple proxy by yourself, this program might not be helpful because the program is too much complicated. So I wrote a proxy, which is as simple as possible.
A program that receives a two-channel (i.e., stereo) voice by RTP (Real-time Transport Protocol) and that plays by audio. The sound is 16-bit linear by default, but u-Law (G.711) or other codecs can be used. The port number used for receiving the voice is specified in the program (i.e., $IN_PORT_RTP). A detailed description will be given in future, but it will be explained when it becomes necessary.
Objects printed by using the new direction-specified design and printing technology are sold in Dasyn Yahoo! Japan shop.