Archive for the ‘Technical’ Category.

Screen sharing with VLC media player

I have created a batch script that will share your screen with others. The disadvantage is you will need to allow inbound connections (why port forwarding is sometimes necessary).

start VLC -I dummy screen:// :screen-fps=4.000000 :screen-caching=300 :sout=#transcode{venc=ffmpeg{keyint=40,vt=40,hurry-up},vcodec=WMV2,vb=150,fps=4,height=480,acodec=none}:http{mux=asf,dst=:PORT/} :no-sout-rtp-sap :no-sout-standard-sap :sout-keep

  1. Change PORT to the desired port. It may be any unused port above 1024. Examples include 2199 and 8080.
  2. Put the code into a text file in your VLC directory called stream.cmd.
  3. Double click to run.
  4. Access the stream with WMP10 or VLC at http://YOUR_IP:PORT/
  5. Replace YOUR_IP and PORT with your current IP address and your chosen port. An easy way to find your current IP address is by going to ipchicken.com or whatsmyip.org

This will broadcast your screen at 4 fps at 150 kilobits/second. It can be opened in any program that can display wmv2/asf/http. Example programs include Windows Media Player 10 and VLC. If need be, you can change height (the vertical resolution in pixels) and vb (the bitrate in kilobits/second) as necessary. Note that the width is inferred from the height. This batch file could potentially be modified to run on operating systems other than Windows. I use this often to share my screen with friends, and to allow friends to watch me play Starcraft 2. Note for Starcraft 2 in particular, the game will need to be in Windowed-fullscreen or windowed mode.

Unreal Tournament 3 “Precaching” issue

For the longest time, I couldn’t figure out what was wrong with my Unreal Tournament 3 setup. Every time I entered a game of any type, the loading screen wouldn’t appear. Instead, it would say “Precaching” in red with a black background. I figured out the reason why it was doing this is because I had the “-nomoviestartup” command line option set. “-nomoviestartup” eliminates movies of all types, not just the startup movies. Loading screens are considered movies. There are campaign movies, too, and you’ll miss out on those with the command line switch.

There is a way to turn off the start-up movies in a non-destructive way. Find your “My Documents\My Games\Unreal Tournament 3\UTGame\Config\UTEngine.ini” file. Open it with a text editor, such as notepad, and search for [FullScreenMovie]“. Directly below it, add semicolons before all the sections that say “StartupMovies”. It should look like this:

[FullScreenMovie]
;StartupMovies=Copyright_PC
;StartupMovies=EpicLogo
;StartupMovies=MidwayLogo
;StartupMovies=UE3_logo
;StartupMovies=Nvidia_PC
;StartupMovies=Intel_Duo_Logo
;StartupMovies=UT_loadmovie1

Congratulations. You have disabled start-up movies and/or restored your loading screens!

NVIDIA control panel “dualview” problem

Is the “Dualview” option not showing on your NVIDIA control panel?

Short answer: Restart your computer.

Explanation: I have two monitors that I was trying use with my computer, and I encountered a particular problem. I’m running Windows XP Pro SP3 with NVIDIA graphics. I tried to set up the monitors in a primary/secondary configuration, allowing each monitor to have a different resolution, and my task bar to fill one screen. I had a problem because despite the help literature describing the option, I had no ability to select “Dualview”. After searching the web for a solution, some more brutal than others, I tried a simple one. It was suggested that I restart my computer. The reason being that the NVIDIA control panel or my operating system can’t detect both my monitors at a low level unless the operating system is started with both of the monitors connected. Since I didn’t plug in the monitor until after the system was up and running, it hadn’t been started with both monitors. Restarting the computer fixed this problem because it allowed the operating system to detect both monitors at start up.

Review of Logitech Classic Keyboard 200 USB

This is a brief review for the Logitech Classic Keyboard 200 USB.

Pros:

  • Compact. Only has one “Windows” key, the margins of the keyboard are small, and the “Home End Insert Delete” row is 2×3 instead of 3×2. It doesn’t take long to get used to.
  • Responsive, relatively quiet keys.
  • USB.
  • Has the ability to press several keys simultaneously. It’s no gaming keyboard, but it’s close.
  • Cheap

Cons:

  • Sometimes doesn’t get recognized by my BIOS unless it’s the only USB device. Note that it always works once the OS starts. I’m not sure if this is a problem with my computer or the keyboard.
  • No built-in USB hub.
  • No built-in volume control (note: this could be a pro for some).
  • Keys aren’t loud, but they aren’t silent.

Overall, I give this keyboard a 4/5. Definitely a good buy if you are looking for a minimalistic keyboard that isn’t huge. I use it for gaming all the time and it works fine for me.

Idea for VoIP program

My idea of a dream VoIP program would have a lot in common with popular VoIP programs. Server-side presence information, firewall transversal, video, etc. I’d like a program that degrades gracefully. Popular programs try, but it seems that transmitting video can interfere with graceful degradation. Also, the lower limit on bandwidth and jitter is too high for my preference with many of these programs. I’d like a program that could transmit video and audio in conditions as low as dial-up. I’d like it to have an auto-reconnect preference to resist connection drops. I’d like a quality setting to allow the user to throttle their bandwidth usage. Maybe I’ll start a project like this someday. One can dream, eh?

Recap of my dream VoIP program:

  • Text chat
  • Low-latency audio
  • Video
  • Group chat, group audio, and group video calls
  • Free internet-to-internet calls
  • Robust back-end network
  • Peer-to-peer for most operations (increases efficiency)
  • Firewall transversal, when necessary
  • File transfers
  • Username-based identification. No confusing IPs or ports to work with
  • Optional offline LAN-only mode
  • Graceful quality degradation
  • Audio and video usable in dial-up or GPRS conditions
  • User-configurable quality setting
  • Optional auto-reconnection for dropped calls
  • Silent reconnection. The program stays hidden when it’s not called by the user. No pop-ups saying “THE NETWORK CONNECTION WAS LOST”.
  • Extreme resilience to packet loss and jitter. I’d like audio to work in 50-80% packet loss. Maybe some extreme forward error correction would do the job.

Browser Javascript benchmarks.

Using the SunSpider 0.9 benchmark, I benchmarked many popular web browsers available today.

Note: While the benchmark is designed to give an imitation of real-world use, it isn’t real-world use. Unless the JavaScript performance is absolutely horrible, it shouldn’t make or break the browser for you. Keep in mind that SunSpider is a Safari biased benchmark (the test is from the WebKit site; WebKit is the backend of Safari).

Note: I’ll update this page with nice tables and graphs soon. Here are the links for now. Results are ordered fastest to slowest.

Apple Safari 4 public beta (528.16): 510 ms

Firefox 3.2a1pre: 661 ms

Google Chrome (1.0.154.48): 692 ms

Firefox 3.1b3: 1,142 ms

Firefox 3.0.7: 1,833 ms

Opera 9.64: 2,432 ms

Firefox 2.0.0.20: 8,665 ms

Microsoft Internet Explorer 7 (7.0.5730.13): 16,112 ms

JKDefrag

I recently ran across a nice program called JKDefrag. It’s a really nice free(libre/gratis) program that defragments your hard drive quickly, easily, efficiently, and effectively. Check it out.

Web browser character encoding priority

Note: Most people are not affected by this. On Firefox 3 and IE7 I noticed a strange behavior. This isn’t exactly a bug, but it would be wise for web browser designers to look in to. The HTTP character set headers take priority over the HTML meta http-equiv pseudo headers. Continue reading ‘Web browser character encoding priority’ »

Router Firmware

Why does it seem like companies do not care at all about consumer-level broadband router firmware? I had a Netgear WPN824 and it had major issues constantly. I had to reset the router every 2 days or DNS would stop working, the web interface completely froze, and the wireless would create massive problems. Continue reading ‘Router Firmware’ »

GameSurge proxy G-Line

Today I tried to log onto the GameSurge IRC server to get a scrim for Counter-Strike. When I logged on, however, I was greeted with a one hour G-Line (Global ban) for having an open proxy server. I have a web server but no proxy server. Continue reading ‘GameSurge proxy G-Line’ »