Software


If you’ve moved to a digital lifestyle, and are an archivist, then you are probably downloading tons of data these days. Everything from music to movies to comics to games to images to software to emulator roms to books to articles.

Sorting stuff manually is stupid. Sort things (take a folder full of crap, and sort it intelligently into subfolders) with a script. Assimilate (move subfolders to correct repositories) with a script.

I’m not going to share my scripts. But here is a great pattern for sorting files into subfolders. I’ll use an example that deals with My Little Pony related files:

set TARGETDIR=MLP
unset /q MASK
gosub addMask "My Little Pony*.*"
gosub addMask "MLP*.*"
gosub addMask "Equestria*.*"
gosub addMask "*Rainbow Dash*"
if "%MASK%" ne "" if not isdir %TARGETDIR% md %TARGETDIR%
if "%MASK%" ne "" mv  %MASK% %TARGETDIR%

This pattern can be copied over for anything. Simply change TARGETDIR to whatever folder you want. And use the addMask function to add wildcards that match those kinds of files.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:addMask [newMask]
	:Don't bother doing anything if no files match:
	if not exist %newMask% goto :addMaskReturn
	:Otherwise, add mask for those files to our mask list:
	if "%MASK%" eq "" goto :Empty_YES
	                  goto :Empty_NO
		:Empty_YES
		    set MASK=%newMask%
		    goto :Empty_DONE
		:Empty_NO
		    set MASK=%MASK%;%newMask%
		:Empty_DONE
:addMaskReturn
return
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Note that all my scripts are meant to be run on JPSoft‘s TakeCommand command-line interpreter (descended from 4NT in the 2000s, which was descended from 4DOS in the late 1990s, which was descended from NDOS, the command.com replacement included in Norton Utilities in the late 1980’s). This would probably work with CMD.EXE or PowerShell, but I haven’t tested those.

Use this pattern to make a giant sortthese.bat that sorts everything everywhere. If you want to get fancy, centralize all the scripts into one script that examines the current path and branches based off of that. (It’s easier to keep backups if everything is in one place.)

Here’s an example of branching based off the location where you invoke a script:

::::: Determine assimilate role:
if "%_CWD"==  "%HD250G:\READY-TO-DELETE"                goto :assimilate_dvd-burned_media
if "%_CWD"==  "%HD250G:\ABOUT-TO-BE-BURNED\DATA\BURNED" goto :assimilate_dvd-burned_data
if "%_CWD"=="%HD2000G5:\ABOUT-TO-BE-BURNED\DATA\BURNED" goto :assimilate_bluray-burned_data
if "%_CWD"==  "%HD256G:\MEDIA\MOVIES"                   goto :assimilate_freshly_watched_movies
if "%_CWD"=="%HD1500G2:\MEDIA\MOVIES"                   goto :assimilate_freshly_watched_movies
if "%_CWD"== "%HD2000G:\MEDIA\MOVIES"                   goto :assimilate_freshly_watched_movies
if "%_CWD"== "%HD1000G:\downloadclient\completed"       goto :assimilate_fresh_downloads

^ That code may be confusing-looking because I never hard-code drive letters. All my harddrives have environment variables which evaluate to the correct letter depending on which computer you are on. Also, %_CWD is TakeCommand’s variable that is the current folder you are in. That does NOT work in CMD.EXE. CMD.EXE uses something else, so this would need some modification (more…)

So the other day, I needed to drag a window from my secondary monitor to my primary monitor (tv)…

But the secondary was off, so I wouldn’t be able to put my mouse on the window (beucase I couldn’t see it)…

And I didn’t want to get up to turn it on….

So I used VNC to VNC to myself, and did it that way. This means I had a window on my desktop that was my entire computer. So there were 2 copies of everything. And if I moved my mouse pointer inside the VNC window, it would attempt to move my mouse pointer to the same place it was pointing to on the window within.

Sure, it was hard for awhile, fighting the fact that my mouse was trying to be in two places at once.

But in the end, I won.

I got that window dragged. w00t.

Daniel H adds: “I am both appalled and filled with admiration.” (more…)

2001 - computer - Fire - in it's heyday doing IRC

IRC downloading, 2001

Remember IRC? It was the first thing I did when I got on the internet in 1992 at Virginia Tech — and the first time I’d done it legally. Funny stuff you could do with the mIRC IRC client. You could have a custom quit message. For example, you could type:

/quit gotta go to work

and then it would say to everyone else in the channel:

ClintJCL (192.168.0.1) quit the channel (gotta go to work).

Wanting to out-do everyone else, I thought it would be funny to say something offensive to a lot of people. Especially since they can’t kick you from the channel — because you just quit! But I wanted my solution to be technically impressive too, so I scripted up random twisted sentences, by creating some text files that would be pieced together, almost like a Mad-Lib. That way, I could leave, and it would automatically come up with hilarious/crazy/sick/twisted things.

Here are some actual examples:

  1. ClintJCL (192.168.0.1) quit the channel (sold children to pimps (who will make whores out of them), while they slowly bled to death).ClintJCL (192.168.0.1) quit the channel (got a blow job from your fat mom while on the floor of congress).
  2. ClintJCL (192.168.0.1) quit the channel (sold children to cannabalistic African tribes, where they will slowly starve to death)
  3. ClintJCL (192.168.0.1) quit the channel (got a rim job from your fat mom in front of the Queen Of England).
  4. ClintJCL (192.168.0.1) quit the channel (smoked medical marijuana with The Taliban in front of 221 innocent children).
  5. ClintJCL (192.168.0.1) quit the channel (sold children to child pornographers, while they pleaded for their lives).
  6. ClintJCL (192.168.0.1) quit the channel (dropped acid with Ronald Reagan while in the White House).
  7. ClintJCL (192.168.0.1) quit the channel (sold children to black market organ harvesters, while onlookers laughed).
  8. ClintJCL (192.168.0.1) quit the channel (had an intense bondage session with your aunt while watching cartoons).
  9. ClintJCL (192.168.0.1) quit the channel (got a hand job from Mohammad Atta on national television).
  10. ClintJCL (192.168.0.1) quit the channel (sold children to black market organ harvesters, where their spirit will be broken).
  11. ClintJCL (192.168.0.1) quit the channel (spooged all over your raunchy mom in front of 566 innocent children).
  12. ClintJCL (192.168.0.1) quit the channel (sold children to medical laboratories for twisted genetic experiments, where their spirit will be broken).
  13. ClintJCL (192.168.0.1) quit the channel (snorted crystal meth with George Bush while going on a homocidal killing spree).
  14. ClintJCL (192.168.0.1) quit the channel (spanked Mohammad Atta in front of Mohammad Atta’s mother).
  15. ClintJCL (192.168.0.1) quit the channel (smoked P.C.P. with George W. Bush in front of 317 starving Afghan refugees).
  16. ClintJCL (192.168.0.1) quit the channel (took psychedelic mushrooms with Jesus Christ in front of 567 innocent children).
  17. ClintJCL (192.168.0.1) quit the channel (spanked your sister in front of the Mormon Tabernacle Choir).

The possibilities, while not endless, were pretty damn vast.

How did I do this?

I did this by piecing together sentence fragments from text files I created. Sentences followed one of these formats:

  1. sold children $read(thingstosellchidreninto.lst) $+ , $read(sadsentenceendings.lst)
  2. $read(drugtaking.lst) with $read(funnydrugcelebrities.lst) $read(funnysentenceendings.lst)
  3. $read(sexualthingstodowithpeople.lst) $read(funnypeopletohavesexwith.lst_ $read(funnysentenceendings.lst_)
  4. It was also set up so that about 5% of the time, it would make political statements, quote Sabbat lyrics, or Praise “Bob” …. but I’m not including those in this blogpost. This blogpost is about funny things I’ve said dynamically and programatically; not static things I’ve said. :)

I will include the actual contents of the files at the bottom of the post. But here is the list of the files themselves:

  • drugs.lst: a list of drugs (pot, acid, cocaine).
  • drugtaking.lst: a list of drugtaking phrases (injected heroin, dropped acid, smoked pot).
  • Ha! Ha! Overdosing on drugs and trying to kill yourself is funny!!

  • FunnyDrugCelebrities.lst: a list of people/entities that are amusing to think about doing drugs. (The Pope, Barbara Bush, Janet Reno, God).
  • Haha.. Celebrities are funny to do drugs with. Aren't Sid & Nancy funny? Ha ha.

  • FunnyPeopleToHaveSexWith.lst: it’s what the filename sounds like. (Your mom, your sister, your dead grandmother’s corpse, etc).

    Funny to have sex with

  • FunnySentenceEndings.lst: Tacked on to the ends of sentences to make them funnier. (while in the whitehouse, on national television, in front of 22 cops, in front of the Mormon Tabernacle Choir)

    everything's funnier in front of the Mormon Tabernacle Choir!

  • SadSentenceEndings.lst: This could have been in the same file as FunnySentenceEndings, but I randomly decided whether it would be funny or sad. Sad ones included “while they begged for death’s sweet release”, “while they slowly bled to death”, “where they will spend the rest of their lives in misery”, and such.

    sentence endings so sad...they're funny

  • SexualThingsToDoWithPeople.lst: A list of sex acts (had anal sex with, had an intense bondage session with, etc)

    No... Really... Weird sex acts ARE FUNNY!!!

  • …And the most twisted filename of all: ThingsToSellChildrenInto.lst (sweatshops, sexual slavery, etc – check out the full file below)

    Postcard - 2 boys smoking

    Sell them into smoking advertising! HA HA!

  • HatedPeople.lst: Only used from within FunnyPeopleToHaveSexWith.lst (because it’s funny to have sex with hated people) and FunnySentenceEndings (because it’s funny to do things in front of the mom’s of hated people). Osama Bin Laden was in this list. I really could have made this a nice, long list if I’d really tried.

And now, past the jump, the contents of the files themselves… But first, a Sloth!

_Sloth_

This is actually related to the discussion. Back in the IRC days, my name was _Vengeance_. Needing to win wars against other people's scripts, I ended up running several other clients, including _Wrath_, _Sloth_, and _Avarice_. Well, someone sent this sloth.jpg file to me randomly once! Paranoid people will never experience the joys that can be had by automatically accepting unattended file transfers from strangers!

(more…)

Tripp responds to a Google+ post of mine

I honestly don’t get Instagram. Your phone already has a camera, and can already post pics to Twitter or FB. Does sticking a white border around the photo before sharing it really make that big of a difference?

Yes, yes it does.

It makes the photo worse.

Drawing a border is the job of the HTML or CSS. Someone wanting to a photo or insert it into their own collection will now be cursed with inconsistency in their collection.

In fact, I’ve used ImageMagick to write a script to blindly strip x pixels off the edges of pictures, specifically to normalize photos I add to my collection that have stupid fucking built in borders. That way I don’t have to bug anybody about it (other than this blogpost).

And don’t get me started on fake Polaroids. Anyone taking a picture on a iPhone trying to make it look like a Polaroid is as stupid to me as someone who rips a CD to a lossless format then purposely adds phonograph needle sounds and crackles. Another, weaker metaphor: buying new jeans and ripping holes in them to get “that look”. Or how about buying a bluray, then ripping it to your computer, and using video editing software to add fake VHS effects to it? ALL OF THE ABOVE IS FUCKING STUPID.

Basically, fuck hipsterism*, to some extent.

*(or certain aspects thereof, especially unjustified Apple fandom)

-=-

I even did some googling to try to find out more information, just for the purpose of this post not accidentally being full of shit. And for all I can find, there’s nothing Instagram does that Flickr and other photo sharing sites weren’t doing first — in some cases more than 5 years ago.

So why do I have to hear about it 5 times a day now? It coming to Android doesn’t make it any less useless, or any more useful than a myriad of solutions already out there. If I try to distill this to the crux of the issue, it boils down to cell-phone people pretending they are computer people.

But it’s okay. EVEN BEFORE IT WAS RELEASED TO ANDROID, the word “instagram” caused my eye to instantly dart down the page to the next item. “Instgram” being on something has very much become synonymous with “item Clint does not care about”. There’s a bias and a prejudice now, just based on being fed up with the whole pretentious trend. And yes, I am using the dictionary definition of pretentious, as in “Attempting to impress by affecting greater importance, talent, culture, etc., than is actually possessed.” When Kevin Smith made Clerks black & white, there was a reason. 1990 security camera technology. When you do it? It’s most likely pretentious. (more…)

It’s actually very, very, very simple. Create a torrent. Add some tiny file that has nothing to do with it. A README.txt or an unrelated JPG, for example. Create and upload your torrent.

Now move that file out of your local seeding location. Everyone who gets the torrent will thus not be able to get that data.

They will be stuck at 99.9%. Erroneously thinking that the torrent is not complete, they may let it run for days, weeks, or even months before realizing that in fact, all the files except for that one are 100% complete. Generally this means you will get far more seeding.

It’s great to subvert subversion ;) (more…)

The “flat” sound that some people describe mp3s as having has nothing to do with them being mp3s. This is a misconception that I’ve seen repeated about as many times as people claiming that vinyl sounds better.

The “flat” mp3 sound (often attributed to ALL digital formats) is typically is due to the fact that when mp3s were first adapted, harddrive space cost a lot more, and they encoded them at low bitrates such as 128kbps, with most encoders cutting out 16kHz-20kHz range altogether. So yeah. That’s pretty bad. Unlike vinyl or cassette or CD, mp3s can be encoded in more than one way. And most of those ways were shitty when the format first came out. Unfortunatley, that’s when most people ripped their music, and music piracy helps keep such shitty encodes circling the globe.

This is why I’ve found myself buying a CD even though I’d already downloaded the mp3s of it. Because I wanted to make PROPER mp3s that actually SOUND GOOD.

The encoder itself matters, too. The same bitrate with different encoders that use different acoustic mathematical models will result in different sound quality. Such models have improved greatly over the years. I recommend LAME.exe. Many power users consider it the best encoder out there.

Let me play you a lossless recording and a LAME.exe, VBR-encoded mp3 over my 5.1 system compared to a WAV or FLAC of the same song. (But only after making sure they both come out at the same apparent volume; people often pick whichever one is the loudest one otherwise.) When you can correctly choose which is which 75% of the time, I might consider you an exception to the normal abilities of the human ear.

I hear a lot of people try to make up a silly claim that mp3s sound flat because they are in fact only discrete points of the audio, with math filling in the rest. And our “brain can tell the difference”.

Sorry, bub. That’s just not true. Your brain may be able to tell the difference between some files on your harddrive, but that is because they are bad files, not because they are digital. Reality is simply a matter of our brain being fed certain signals. There are most certainly upper limits in the resolution and processing power of what we can perceive — even if science may have the wrong limit stated (or not know them at all), and even if human beings exhibit a wide variance in perceptual talent. (There may be 1% that need double the bitrate to be fooled!) Yes, some people definitely hear at a higher resolution than others, just as some people have a greater tonal range. Eventually, however, technology will be advanced enough (and storage space ridiculously cheap enough) that it will be quite possible for everybody to carry a recording of something in such great resolution that no human being on the planet could ever distinguish it from the original analog production of those same sounds.

We’re not there yet, but how many of you have done a controlled study? Did you have someone play you back the 2 files? Did you make sure they both had the same volume? {mp3 encoding often mucks with the volume levels slightly}. Did they record the results? Were they randomized? What percentage of the time were you able to tell? So far, I know few people who have done a test like this. I did in 2000 — and years later decided that the results I had recorded for myself were wrong. I thought 160kbps was good enough. Then I thought 192kbps was good enough. I was wrong. I now encode at the highest bitrate with the highest quality. The point being — I’ve been willing to correct my own personal assumptions several times over the years.

Further complicating things is this:
http://news.slashdot.org/story/09/03/11/153205/young-people-prefer-sizzle-sounds-of-mp3-format

They did surveys and found that people who grew up on inaccurately-encoded mp3s preferred the sound of that to lossless recordings!
In other words, they preferred something worse!

This explains all those vinyl people right off the bat. They like the “warmer” sound because it is what they are used to. And it’s hard to perform a double-blind test when comparying vinyl to other formats, because vinyl is such a broken format that it’s impossible to NOT tell it’s vinyl. I’ve never not been able to hear the needle, to hear pieces of dust. I’ll carve an exception for people who use laser-based vinyl record players (which do not use needles), but they are still subject to the RIAA equaliation curve which causes vinyl to actually represent the full tonality of sound IN AN INFERIOR WAY. But because they can always hear the hiss and crack, in a survey, vinyl will win. It doesn’t mean shit. It means as much as the college kids in the study above preferring shitty 128kbps mp3s over lossless FLAC. People are dumb and don’t even know what they want. I didn’t know what I want and changed my own mind a few times.

The conclusion of the study for me personally is that when a single human being claims to like one format better than another — it really doesn’t mean much in terms of the format being better. People like worse things if that’s what they are used to. Aggregate controlled surveys are what truly dictates which format is better.

I grew up on vinyl, but I know CD is an improvement on it, because I personally think the people who say they prefer the “warmer” sound of vinyl are as full of shit as the students in the slashdot article linked above. The same thing applies to those who think that digital music is automatically “flat”. No. It depends on far more than whether it is digital/mp3 or not.

[P.S. If you haven’t done a blind, controlled study with volume-normalized encodes at the highest possible bitrate — please do not leave a comment about your opinion. I’m only interested in the opinion of people who understand proper testing methodology, and have gone through a proper test.] (more…)

Another old computer story. During the 2 Virginia Tech years that I lived in Pritchard Hall, I ran a BBS on the data lines they provided to the dorm. (If you don’t know what a BBS is, click the word BBS for an explanation. This was how people socialized online before the internet came about.)

B&B - SubGeniuses - Bob Bob Bob

Sample BBS advertisement for a SubGenius BBS. Good luck finding a Flying Spaghetti Monster BBS ad. Haha.

My BBS‘s name was On Earth As It Is In Hell, named after a live Samhain bootleg 7-inch vinyl I bought at Smash Records, itself named after lyrics from The Misfits song Earth A.D.

On Earth As It Is In Hell - logon ANSI

On Earth As It Is In Hell login screen. No graphics here, this is all text with ANSI color codes.

It was the most popular message board in Virginia Tech during the 1st of the 2 years I ran it, though during the 2nd year, the internet began to really take off, and lowered my usage. I can’t imagine what the World Wide Web would have done to my BBS; that didn’t come about until I stopped running it.

On Earth As It Is In Hell - ASCII zip comment made from ANSI login screen

On Earth As It Is In Hell login screen, ZIP-file comment version

ANYWAY, the software was WWIV, which I had paid $50 to license and modify the C source code to. I’d spent my whole summer after graduationg high school modifying the BBS code, so that it would be ready for deployment when I got to college.

19930805 - Fish Tank BBS - Dave Nelson was the sysop

My friend Dave N's BBS's ad. He ran WWIV, and together we used obscure modem protocols that nobody else used to become the first gateway for outside messages to reach the Virginia Tech BBS scene. We had nationally syndicated message boards, with his BBS being my BBS's contact point. I was the only BBS in Virginia Tech to achieve this. We had WWIV "email addresses", where we could be contacted internationally -- long before we had real email addresses (which was 1992).

(side-note: It really didn’t help that my parents pulled the pointless bullshit of disallowing me from taking my own computer to college, citing that I “wouldn’t have enough time” to use it, which was very typical bullshit, and completely false. Of course they insisted on buying the $3,000 DEC Alpha station that I said was unnecessary…and that computer was more of a timewaster than anything. Four hours to figure out how to compile Nethack, when you could download it and run it on a PC without compilation? Funk dat!)

blacklights are cool .. so is nethack .. 106-0630_IMG

Nethack being properly played on Carolyn's PC -- no compiler-fu knowledge necessary! Unix is great, but I've got other things to do, like USING my computer instead of tinkering with it.

I was always a mischief maker online — and still am to this day.

I got my first death threats within a year of getting online, in 1988. I got assaulted several times, including while sleeping at my best friend’s house, and while waiting in line for a Testament concert in 1990. At least once, I couldn’t return to my own dorm room. But as the saying goes — “Though they paint the wall to stop my pen, the shithouse strikes again!”

20050723 - Clint cut himself shaving - 100-0005 - Clint bleeding, funny face

Fortunately, I was never assaulted THIS badly. But I do suck at shaving...

I had certainly pulled my share other mean tricks before, as depicted in this ANSI art about me, created by Where The Wild Things Are sysop Jerry Hinn:

This guy named Batman was so lame. My handle was Satan. I used my high access to change his colors to black on black, then created a message board he didn't have access to, and posted the logfiles of him flailing around the BBS, unable to access anything, typing in the darkness of black-on-black text. lulz!

FINALLY, I GET TO WHAT THE SUBJECT IS TALKING ABOUT

I’d pulled my share of mean tricks, and this was another. It was a code modification called DELAYED USER DELETION.

Rather than deleting a user, you simply set his access level to -1, or some other technical fudge. The modified code then checked the user’s access level when they logged on. If it was -1, it would display a message to them, and then delete their account. In this way, I had the technical assurance of getting THE LAST LAUGH.

20091231 - New Year's Eve Chili Cook-Off - Clint - lurking - (by Parthena) - 4236959431_56ce3968f6_b - 2 - original version

Beware--I always get the last laugh.

But that’s not enough. I had to add insult to injury. I used an ANSI art of a big middle finger as my closing message.

Mark + Mask + middle fingers 104-0456_IMG

...and the horse you rode in on!

I also tacked on 4,096 Control-G’s to the end.

Remember Control-G? It’s the beep character.

Back in the DOS days, beeps were loaded into some sort of buffer, and could not be stopped. You had to wait it out. And you could barely type or use your computer or get any responsiveness whatsoever when this happened.

1998ish - Clint's room - screens & clutter - 1

My equipment shall defeat yours!

By flooding their computer with literally thousands of beeps, I wasn’t just deleting them. I was filling their room with loud noises that would bother whoever else was around, AND I was forcing them to have to physically reach for their power switch and turn their computer off. It was my final FUCK YOU to anyone I deleted. Hopefully I woke up their roommates, and they had to get up out of their chair to turn their computer off. HA HA.

best...reboot...ever - A-Bit modified BIOS replaces EPA logo with pot leaf - 112-1288_IMG

Have fun rebooting, assholes!....... I bet you guys don't even know how to modify a BIOS logo...... pfft......

Years later, I ran into people at a party who had been deleted from my BBS. But they refused to tell me who they were. Hahaha.

I wonder if they got hit by the Control-G-bomb??

20070113 - Clint's 33rd Birthday party - 109-0974_Ben - after being forceably subdued

Most assholes I run into at parties do not come from my BBS past.

(more…)

Next Page »