AutoHotkey Pong

PongAHK

This is the classic game of Pong, implemented in AutoHotkey.

Usage

Controls:

Player 1: W, S
Player 2: , 
Quit    : Escape

Download

PongAHK.7z

Background

In 2014, I got stuck playing League of Angels for much, much longer than I was planning. I figured I’d try it for a few minutes and ended up playing for about 1.5 years. 🤦 In March, they had a St. Patrick’s Day event in which they gave away the Metal Wings for free. However, I missed it because I had used up my monthly bandwidth allowance with my ISP so I had to cut my Internet for two days to avoid having to pay absurd overage charges. Because in a game like that, missing even a single day will make you fall behind the other players, I had to try to find an Internet connection. Therefore, I took my laptop to the library. Unfortunately, when I got there, I couldn’t figure out how to connect, I couldn’t find the password and because of my intense social-anxiety-disorder, I couldn’t ask. I didn’t feel like walking back, so I figured I’d stay and use my laptop there amongst people. I didn’t have a plan for what to do while I was there, so I thought I’d do a little programming. I’m not sure how I came to it—probably just a random thought—but I ended up deciding to implement the classic game of Pong in AutoHotkey for some reason. One hour later, I was finished, I had made pong in a hotkey-making automation scripting language (hey, cut me some slack; it’s difficult to use the laptop’s built-in keyboard). Five years later, I made an icon and compiled it, and now it’s being released.

UnMobileSearch – Stop search-engines from linking to mobile versions of sites

UnMobileSearch user-script

Purpose


As more and more people use mobile devices (i.e. phones, but also tablets) to browse the Internet
mobile versions of websites get used more and more, and since people will usually end up viewing
the mobile version of sites after doing a web-search, the mobile versions of sites have bubbled
up in search-engine results to surpass the non-mobile versions of those same sites. So now, if
you do a web-search you may get links to mobile versions of sites instead of non-mobile URLS.
There isn't really a way to stop this in your system or even in the search-engine as there's
no standardized method of a site to indicate its mobile version (many use a m. sub-domain),
but that is not necessarily universal. This user-script will detect results pages from any
search-engines it currently supports and try to switch any links to non-mobile versions.☺

Notes:

  • Mobile versions of sites aren’t standardized, so will have to accommodate site-by-site
  • Currently supported search-engines:
    • DuckDuckGo
    • NOT Google, and probably won’t for the foreseeable future because Google is evil 😒
  • Currently supports mobile URLs of the form X.* and *.X.* (where X is m or mobile)
  • Catches m./mobile. anywhere in the domain: foo.bar.m.baz.example.comfoo.bar.baz.example.com
  • Only one instance of m./mobile. is removed: a.m.b.m.c.coma.b.m.c.com
  • You’ll need a browser-extension like TamperMonkey, ViolentMonkey, or GreaseMonkey in order to use it
  • Sometimes the search results will actually return the mobile and non-mobile versions of a page, in this case, you’ll end up with two links to the non-mobile version

Download

UnMobileSearch 3

Screenshots

DuckDuckGo search results linking to mobile versions of sites
DuckDuckGo search results linking to mobile versions of sites
DuckDuckGo search results linking to non-mobile versions of sites
DuckDuckGo search results linking to non-mobile versions of sites

Firefox Popup-Window Titlebar Fixer

Firefox Popup-Window Titlebar Fixer

Problem

Firefox has a "feature" whereby popup-windows that have the location-bar or tab-bar removed (minimal chrome), will prepend the page’s domain-name to the titlebar. This clutters the titlebar and pushes the actual page title off which is extremely inconveneint.

Unfortunately there is no way to turn off this function and worse, the Mozilla developers refuse to provide any options for users to control this; they’ve taken on a very Google attitude and deny users the choice, they decide for us. 😒 This isn’t good because web-applciations are the standard now and being able to have them run in a popup window outside of the main browser with minimal browser-chrome is essential these days, and actually being able to see the title is necessary (imagine if every window in the OS prepended a long string and pushed the program’s title out of sight).

We’ve taken the liberty to write a program to patch Firefox to disable this "feature". It would have been much better if the developers had provided users with the ability to whitelist sites like you can with cookies and other permissions, or at the very least, provide a global toggle in the about:config page (there are plenty of advanced options in there that could expose users to security threats, so their excuse that this is for security is specious ¬_¬).

Solution

The program looks for Firefox installations then patches browser\omni.ja to remove (comment out) the JavaScript code that prepends the domain to the titlebar if the window doesn’t have the location bar shown. It’s not ideal, and the checksum in the archive no longer matches, but it works just fine and has no other side-effects. You’ll need to re-patch the file every time Firefox is updated, but it’s worth it.

(Currently it only runs on Windows, but may be ported to Mac and *nix in the future.)

Downloads

Download fixFirefox

Usage

Just run the program and it will find and patch all Firefox installations, or you can specify one or more paths where Firefox installations are located to patch those instead (specifying a path will disable automatically searching for Firefox in standard locations; you can run it twice to do both).

Make sure Firefox is not running before running the patch.

fixFirefox [[/? | /h] | /u] [path1] [path2] ...

    -?|-h   Display this usage information
    -u      Undo the patch and restore the 'browser\omni.ja' file
            if backup file is not found, manually revert the patch
    path... The location of a Firefox installation(s) to patch
            specifying paths prevents searching default locations

Screenshots

Firefox popup window with domain-name prepended to titlebar
Firefox popup window with domain-name prepended to titlebar
Firefox popup window without domain-name prepended to titlebar
Firefox popup window without domain-name prepended to titlebar

eBay browser-extension/userscript

We’re releasing a userscript to enhance eBay (or make it even usable at all ¬_¬).

The current version provides the following features:

  • For auction listings, adds the remaining time (under one hour, updated each second) to the page title, and thus the title-bar of the window and taskbar button of the browser
  • On the Watch List, removes the “ITEM PRICE:” text from Buy-It-Now listings and highlights in green the number of bids on auction listings
  • Adds “ – eBay” to the end of the title of all pages (to facilitate organization of screenshots)

Features to look forward to in future versions include:

  • Playing an audible alarm when auction listings get down to 30, 20, and 10 seconds remaining

You’ll need a browser-extension like TamperMonkey, ViolentMonkey, or GreaseMonkey in order to use it.

*Currently only supports US and Canada eBay sites.

[FiberCoptics] CPULED

Our hardware division FiberCoptics is preparing to begin selling our CPULED device which has been used internally for many years. It is a peripheral that attaches to the parallel port and displays CPU load on an LED array. It comes with a highly configurable software controller.

We have not yet set a price point for it and are determining how much interest there is for this device. For more information please contact us.

Now We’re Rolling

Things are really starting to roll at Synetech inc. PlasmaSoft is churning out apps at a greater rate thanks to better streamlining and a more established work pipeline.

Other divisions are gearing up too, but the focus is currently on software development and trying to get some of the many projects ready for public use.

Look forward to an internal blog system, forums, and a wiki in the near future, all of which will allow for much more productivity, and user feedback.