jwatte's picture

A reference for those milling ABS plastic enclosures

I had a hard time finding good feed and speed numbers for milling holes in plastic ABS enclosures ("project boxes.")
After a number of failed attempts, where the plastic would just melt and burr and become a mess, I found something that works for me, at least on the Desktop ShopBot at my local TechShop:

jwatte's picture

Making things

I make things. At work, I make software -- and, being super busy, I don't have much time to blog about all the cool stuff we do to grow IMVU.
During my "copious" spare time, I do things that aren't software. Like hardware.
jwatte's picture

What loading a home page should not look like

I like watching Anime. Netflix has a lot of good things, many of which come from the American importer/distributor Funimation. But Funimation has started not making everything they have available to Netflix; instead they have a subscription service specifically for their own site. This service is about as expensive as a Netflix streaming subscription (I think one dollar cheaper?) I'm afraid this is the future of streaming video, unless someone can come up with a $30/month all-high-quality-programming streaming video service. But I digress.
jwatte's picture

Arduino ICSP programming header pinout

I've been wanting to put the ICSP 6-pin header onto a soldered Arduino circuit.

This is so that I can make "emergency" fixes even if I've removed the Atmega MCU from the USB-powered board I normally use to prototype and program. Also, even if I socket it on the destination board, moving it too many times back and forth risks significant damage to the pins!

jwatte's picture

boost::asio async_read_until may read more than the specified data!

This took me a while to track down. I figured I'd document it for posterity, and anyone else trying to do asynchronous networking in C++ using boost::asio. I'm using Ubuntu Server 10.04 LTS with gcc/g++, which uses boost version 1.40. The reason is that the "bytes transferred" argument to the callback is the number of bytes until the separator is found, but more bytes than that are decoded from the socket into the input stream.

jwatte's picture

A hexagon texture. For free!

Here's a PNG file of a hexagon. The hexagon itself is 256 pixels wide and 225 pixels tall. The PNG is 290 pixels wide and 290 pixels tall. You can use this to generate hex tile grids in HTML and Canvas and XNA and really any other presentation framework you want!

jwatte's picture

Measuring scheduling latency on virtualized versus bare hardware

The scheduling latency is the longest time that a "ready" process may have to wait before it actually gets to run.
On a system with a single CPU/core, and many ready processes, this latency will be very long.
On a system that is idle, and has many free CPUs/cores, it should theoretically be zero.

jwatte's picture

Linux mmap() ENOMEM error causing Segmentation Fault

I have a system that creates files on disk, then uses mmap and madvise and mflush to asynchronously do I/O to the disk. This system may potentially create many, many files, each of which will have three mmap sections, that will be rotated through the file.

Building interactive games on top of a web/HTTP technology stack

I recently answered question on the gamedev.net multiplayer and networking forum, that I feel warrants further distribution. The question dealt with trying to use MySQL eventing and MySQL data as the "server" for a large-scale multi-player web-based game.

jwatte's picture

Visual C++ doesn't have strtoll(): use _strtoi64() instead

When building code you port from Linux (or other GCC based systems) to Visual Studio, you may run into the Microsoft standard C library not containing a definition for strtoll(), which converts from a C string to a long long, 64-bit integer value.

error C3861: 'strtoll': identifier not found

Syndicate content