New Videos and Subscription

Greetings, all! It's been a while since I did any animation. My attention has been more on live videography of various things including game and oscilloscope capturing. However, just today I put together something like four new animations, plus one overdubbed video of myself whistling three parts to a song. Vain me, eh?

Anyhow, here is a list:

In addition to my own new videos, I am pleased to announce that I've connected up with Andrea90723. As of yet, she has not uploaded anything, but hopefully soon we'll be able to expect some fun stuff from her!

Since number of views is the prime goal of Youtube, visit these, link to them, embed them wherever and subscribe! Or just ignore me altogether. I really shouldn't care THAT much.

Youtube in 3D

Oh cool! I found that in TestTube (the Youtube labs), there is a feature to make a stereoscopic 3d video out of two videos on your channel! So I quick opened up 3dsmax, did a rotation around the classic teapot (which had a bit of texturing), and rendered two cameras side by side.

Left: http://youtu.be/lhfBXFSXRFM


Right: http://youtu.be/D6qsOT6wPXA


Together: http://youtu.be/PNUlqPiMynA


They say in their settings that they do NOT support the theater 3d glasses (the polarizer lens type). But they have added capability for 3d tv's and computer monitors. For us unrich people though, we can use the classic old-school red and blue glasses and view them. Or they have options to change the colors of your classes from red-blue to magenta-green, blue-yellow, or none. See all the options here: http://www.youtube.com/select_3d_mode.

Step Seq.

A few days ago I discovered an amazing music program hosted on the game site Kongregate. Apparently the creator, the guy who runs QuickFingers.net is in some sort of contest for a LOT of money to see who can make the coolest music game on that site. Well, his was on top when I checked a few days ago, and I tried it out. It was AWESOME!! The game he created is called Step Seq (try it at www.kongregate.com/games/quickfingerz/step-seq).

Really, this is just like any hardware-based step sequencer, which is apparently some sort of grid of buttons that you can press and it will modulate a midi device and play back notes. Each row on the grid is a single note, while each column is some sort of time index. The sequencer part is based on a concept that the grid will play itself over and over and you can change the settings each time.

Well, this game-based one here is absolutely incredible. When I first looked at it, it was barely viewed and still in the testing stages, meaning that the rating numbers were not high. This was ONLY because it was fairly new. I played with it and immediately rated it 5 stars and favorited it. When I came back the next day, it had 10,000+ views already. Obviously this thing is a huge hit.

Well, yesterday I recorded a video of my 11th song using version 0.3.

You can view it at: http://youtu.be/UOFSO7n-obo


It was done as sort of a tutorial, so it's a bit long.

When I came back just like 20 minutes ago, I decided I wanted to record another video. Mostly my songs are fairly random. I start out with a single note and see where it goes from there. So far, they've ALL been different. Well, I clicked through the mandatory get started screens when loading and then started playing, when I noticed the Pad panel was missing!

I looked around and saw that instead of the percussion being a selection of a few different pre-programmed sequences, it suddenly had its own entire submenu! That's when I realised that sometime during the night or today, he updated it to version 0.4! I explored around (which you will see in the following video), and found that not only had he given users the ability to create their own percussion as well as the previously-available instrument 1 and 2, but there was an entirely new menu of Advanced options. This gives the user the ability to change keys, change the actual instrument definitions of Instr 1 and Instr 2, and even edit the reverb and echo settings! TOTALLY a surprise!

The only thing I hope for now is that once he reaches version 1.0 or something, he makes an installable offline program. Loading it from a website is very taxing on my computer, and I usually have to turn off everything in order to play with it, but if it were a standalone program, I think most of those problems could be alleviated.

In any case, I'm totally loving this thing. Not only is it letting my creativity out, but the features he's adding are making the thing so much better many times over.

One thing my mom suggested is that I make ringtones from it. I think I'll do that soon!

Here's the sample of version 0.4: http://youtu.be/jgsZEvezWaI

Textpad Document Classes

Textpad is my preferred text editor. It is super-simple, but has a few advanced features that really make writing source code for various things so much nicer. Besides that it has coloring for various document classes.

Document classes are basically groups file extensions whose properties can be changed for each group. Example: you can completely change the coloring, paragraph options, tab-width and printing properties for HTML files only. Or you could add line numbers to Java script files and leave line numbering out for everything else. Or perhaps the PHP comment is not the same as the html comment (which it isn't! HTML comments look like this: <!-- Stuff --> and PHP comments look like this: // stuff or /* more stuff */.

Since I've been doing a lot of PHP scripting I was growing tired of looking at their comments and having them displayed as regular text (coloring-wise). So I decided to try and figure out how to add // and /* */ to the comments part of the HTML class (which was where the PHP file extension was located). Editing these options was conveniently located in a few preloaded syntax files (html.syn, text.syn, etc). What I found was much much cooler. I found out how to create an entirely -new- document class and was able to apply the php.syn file to it! Now the coloring on all php documents is specialized to that particular programming language!

Below is the process I took to create the PHP Document Class, although this can be applied to any filetype that you may want to open in Textpad:
  1. Make sure all internal files are closed or you will not be able to add a new document class.
  2. Go to Configure/Preferences.
  3. Click the Document Classes listing (top-level).
  4. Click the Add button. If the add and delete buttons are not available, you still have a file open in the current Textpad session.
  5. Type PHP in the empty box that appears at the bottom of the list and Enter.
  6. Click apply. Your new Document Class entry should appear in the rollout of the "Document Classes entry.
  7. The new entry should inherit the properties from the Default Document Class.
  8. Under the Document Classes listing, select the new PHP entry.
  9. Under the "Files in Class PHP" window, click the "New" button and type *.php. Enter to apply. Also add an entry for *.phps.
  10. Rollout this new PHP Document Class entry.
  11. Select the Syntax entry.
  12. Check Enable Syntax Highlighting. This will enable the Syntax definition file pulldown.
  13. Pull down the "Syntax definition file" box. Select "php.syn" and say OK.
  14. Close all Textpad sessions and re-open a php file to see the changes. Verify that /* */ patterns are the comment color and that () {} and [] are the brackets color.
  15. Optional: If you plan on printing your php sources, you may want to include line numbering.
  16. Select the Printing entry.
  17. Check the Options>"Line Numbers" box.
Other options in a Document Class include a lot of dealing with end-of-line behavior. The important one that I noticed in the HTML Document class (which was NOT included in the default) was the top-level option of "Strip trailing spaces from line when saving". One other option that I just now decided to explore was the Tabulation entry. This is just a way of determining how big the tab character should be in number of spaces. If you look at the Java entry (which cannot be deleted), you will see that it has a default tab spacing of 4 characters and an indent size of 4 (contrary to the Default document class which is at 8). Therefore, I decided to copy the Java values into the PHP Document Class.

And in the time it's taken to write this article, I've also added a class for CSS files, since they're not included ANYWHERE!

Anyhow, hopefully this clarifies this type of thing for someone.

Preventing constant reboots on a network

For some weird reason, I found that my router (Netgear WNR3500L) (or my connection) was giving me problems...every so often it my LAN connection would completely reset and require me to reboot the computer, just to get the webserver back online (it would become completely unreachable via No-IP DNS -and- the external IP address..some 5xx connection reset error or something).

Recently I found that the problem was my router. The DHCP server built into it has a set lease time of what my connection says is 24 hours, although it only lasts about 12. I found a workable solution, yet it was rather annoying. I set up my Telnet server to automatically shut down every 12 hours, as well as the client that was accessing it. On top of that, I used Windows Scheduler to run reboot.cmd a minute after the server was shut down, and then used TweakUI to automatically log me back in, plus another command-line script that would autolock the computer after logging in. This way all the applications would be preloaded, but the computer would still be secured.

Got all that?

1. Telnet shutdown
2. Telnet client shutdown
3. Computer shutdown and reboot
4. Autologin (starting all the servers up again)
5. Autolock

DHCP is renewed, the connection is reset, and 100% accessible over the web.

The Telnet server is called PennMUSH, which is a Multi-User RPG engine which uses the common MUSHCode language to program.

For archival purposes, here's the detailed setup:

PennMUSH:
@@
@listen Shutdown Machine = ^-*: @switch [or([strmatch(%0,00)],[strmatch(%0,12)])] = 1,{@wizwall Shutting down.;@dump;@wait 30=@shutdown};@@ * is passed from the clock hourly as timefmt($H) <= The 24-hour hour code.


MUSHClient:
<timers
muclient_version="4.70"
world_file_version="15"
date_saved="2011-04-05 14:32:04"
>
<timer enabled="y" hour="00" minute"1" second="0.00" offset_second="0.00" send_to="12" at_time="y" >
<send>DoCommand Save("")
DoCommand Exit("")</send>

</timer>
<timer enabled="y" hour="12" minute="1" second="0.00" offset_second="0.00" send_to="12"
at_time="y" >
<send>DoCommand Save("")
DoCommand Exit("")</send>
</timer>
</timers>

reboot.cmd:
@echo off
echo Shutting down
shutdown.exe -f -r -t 30


autolock.cmd:
@echo off
echo Locking computer
rundll32.exe user32.dll, LockWorkStation
Scheduled Tasks:
Add one task to run reboot.cmd. Copy the event within the single task and schedule them to run at 12:02 am and 12:02 pm.
Complicated enough? I figured out a MUCH easier solution
Ctrl Panel>Network Connections>Local Area Connection>Internet Protocol (TCP/IP)>IP Address: 192.168.0.2, Subnet: 255.255.255.0, Gateway: 192.168.0.1, DNS: 192.168.0.1

In essence, setting a static IP behind the router turned of the DHCP lease time for this connection.

I had to do a bit of tweaking in the router config, like releasing the reserved IP for both the laptop (which was using 161.0.0.2) and the server computer (which was using 161.0.0.3) and reserve the first to the server computer based on its MAC. This way the router won't try to assign my manually-entered IP address to another computer and cause an IP conflict error (which can happen).

I've now had the server on for a day and a half (turning off all of this automatic shutdown-reboot stuff) and everything has continued to run with success!