[ Blog in Japanese ] [ Blog in English ] [ Edit this site ]

June 18, 2017

Network and communication

An IP simulator for learning

I developed yet another IP simulator for learning IP. The interface of this simulator is similar to the "Ethernet for learning".

Continue...

Keywords:

August 13, 2016

3D Printing

Repetier firmware for a AnyCubic Kossel 3D printer

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.

Continue...

Keywords: 3D printer, 3D printing, AnyCubic, Kossel Mini, Repetier

January 27, 2016

MultiMedia

A program that removes bottom part of an MPEG video

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.

Continue...

Keywords:

January 26, 2016

Computer Vision

MPEG video file generation from Caltech dataset

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).

Continue...

Keywords:

November 20, 2015

Computer Vision , Machine learning , Parallel processing

Method for packing 8-bit (int8) arrays into GPU memory by Theano

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.

Continue...

Keywords:

June 24, 2015

Computer Vision

Converting Caltech pedestrian dataset for Python

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.

Continue...

Keywords:

April 19, 2015

3D Printing

A Python program for fluctuated 3D printing

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.

Continue...

Keywords:

October 13, 2014

3D Printing

3D printing library for parts assembling, deformation, and printing in Python

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.

Continue...

Keywords:

August 13, 2014

3D Printing

A Python library for 3D turtle graphics by 3D printers

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.

Continue...

Keywords:

August 5, 2014

Network and communication

Raw socket communication on Linux in Python

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.)

Continue...

Keywords:

April 13, 2014

Network and communication

Ethernet simulator for learning

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.

Continue...

Keywords:

February 18, 2013

Network and communication

Two types of GRE tunneling configurations

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.

Continue...

Keywords:

May 20, 2012

Network and communication

Software-based Ethernet switch

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.

Continue...

Keywords:
Network and communication

Connection check program for non IP network environment

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.

Continue...

Keywords:
Network and communication

A test program for sending/receiving packets with a VLAN tag

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.

Continue...

Keywords:

December 29, 2008

Database

Simulation of RDB queries using Perl

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”).

Continue...

Keywords: Relational Database, SQL, Join

October 16, 2008

Miscellaneous

Timer by JavaScript

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.

Continue...

Keywords: count down

March 30, 2008

Network and communication

Simple mail proxy by Perl

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.

Continue...

Keywords:

November 16, 2007

Network and communication

Receiving and playing linear voice (VoIP) using Perl

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.

Continue...

Keywords:
MultiMedia

Recording and sending linear voice using Perl

A Perl program that sends a voice stream using RTP (Real-time Transport Protocol) is show below. The default codec for input voice is 16-bit linear, but u-Law (G.711) and some other codecs can be used. The port numbers and the IP address of the receiver are specified in this program ($REMOTE_PORT_RTP, $LOCAL_PORT_RTP, $ip, etc.). RTCP (Real-Time Control Protocol) can also be handled, but no specific control is intended. A detailed description will be given in future, but it will be explained when it becomes necessary.

Continue...

Keywords:
1013-06-240.jpg

Objects printed by using the new direction-specified design and printing technology are sold in Dasyn Yahoo! Japan shop.

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.36