Technology


Does anyone else find it interesting the way bookmarking, as a technology, rose, then fell, then rose, then fell, then rose again?
 
Rise #1: 1995-2002
At first it was great, everybody with their Netscape Navigator or Mosaic or Lynx was so enamored by the fact that you could actually save links. People would save links… then make webpages that are just them sharing what they think are good bookmarks. Google was born during the period.
 
Fall #1: 1999-2008
At some point, we all had to get a new computer, and lost all our bookmarks. Anyone consistent enough to actually understand that something saved should be SAVED FOR LIFE and not simply go away because a piece of hardware breaks — basically stopped using bookmarks at this point. They aren’t forever. They are a way to flush your efforts down the toilet. People just started googling things.
 
Rise #2: 2006-2013
Neither of the previous ways of doing things are good. You should be able to bookmark things FOR LIFE but also not lose them when your computer dies. 3rd party external bookmarking services like Del.Iciou.Us and Diigo started popping up. There were other sites like StumbleUpon and such. The point being – people could manage their bookmarks in a way that transcends their individual computer.
 
Fall #2: 2013
Del.iciou.us shuts down. Power users who have been using the one logical solution for persistent bookmarks scream so hard at yahoo that yahoo’s corporate decision is reversed. But the damage is done. A logical person stops using a service that has announced its closure, and logical people stopped using delicoius.
 
Rise #3: 2010-2017
Oh look! Google Chrome & Firefox now let you sync your browser to the internet. Not sure when they added this as I was busy using delicious. So when you install a brand new browser, you get all your plugins and bookmarks back. Who needs delicious anymore? WHo needs a 3rd party? The browsers finally work, in the mid 2010s, the way they always should have in the late 1990s. Transparently and persistently. Why the fuck did it take them so long?

UPDATE: I wrote this up much more nicely at StackOverflow:

 

http://superuser.com/questions/1029610/how-do-view-flickr-com-using-the-old-style-consistently-automatically/1029614#1029614

 

My wife & I have gmail filters set up to forward each others’ facebook emails to each other. It brings a level of postmodern closeness and togetherness and awareness, and indeed keeps us from tripping each other up and having to have redundant exchanges of information. But then Facebook changed, and clicking each others’ links logged each other out. I can’t tell you how many times I’ve logged into facebook. Probably at least 100 in 2015 alone, if not more. IT. GETS. OLD. Then one day Carolyn played with the URL and discovered you could remove the last 2 parts of it, and it would bring you to the correct place (assuming you both had access). Then I realized I already had a plugin (chrome plugin id pajiegeliagebegjdhebejdlknciafen) called Redirector that lets you run a regular expression modification on any URLs you visit.  Why the hell was I not using this?   So just do this:

From To
(.*)(facebook.com)(.*)(&mid=.*) $1$2$3

And the problem is solved. Don’t bitch to me about the 4th set of parenthesis being unnecessary. It looks way better.

BONUS FEATURE: How to make the new flickr look like the old flickr:

From To
(https://www.flickr.com/photos/[a-zA-Z0-9]+/*)$
$1?details=1

This is a sequel to a post I made 7.5 years ago, the last time I built a computer (“Hades”) from scratch. The only parts that failed from my last build are all built by companies that are now out of business (Abit, OCZ), so that’s good. (I don’t count harddrives, those must eventually fail.) My new computer will be named Thailog, and will be composed of:

REVISED CASE ORDER:
NZXT Phantom 820 Series Full Tower Chassis
$199.99 @ http://www.newegg.com/Product/Product.aspx?Item=N82E16811146097
A light on the back! Color-configurable internal lights!

ORIGINAL CASE ORDER (cancelled due to lack of stock): 
Thermaltake Chaser A71 Full Tower Chassis
$129.99 @ http://www.bhphotovideo.com/c/product/1019135-REG/thermaltake_vp400m1w2n_chaser_a71_full_tower.html, but their “2-4 week shipping” actually meant “in 27 days we will start shipping” in my case, so I canceled my order and bought it again for $ @ .

POWER SUPPLY:

Enermax ERV1000EWT-G 1000W ATX12V v2.3 / EPS12V v2.92, v2.8 SLI Ready CrossFire Ready 80 PLUS GOLD Certified Modular Active PFC Power Supply New 4th Gen CPU Certified Haswell Ready
$140.98 (after $45 rebate) @ http://www.newegg.com/Product/Product.aspx?Item=N82E16817194101&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&cm_sp=&AID=10446076&PID=3938566&SID=

thailog-psu.jpg

MOTHERBOARD:
ASRock X99 WS EATX (Extended-length ATX) LGA2011-3 Motherboard
$280.48 (after $40 rebate) @ http://www.newegg.com/Product/Product.aspx?Item=N82E16813157536

thailog-mobo.jpg

CPU:
Intel Core i7-5820K Haswell-E 6-Core 3.3GHz LGA2011-v3 140W Desktop Processor BX80648I75820K
$381.54 @ http://www.superbiiz.com/detail.php?name=I7-5820KBX&c=CJ

thailog-cpu.jpg

CPU COOLER:
Arctic Freezer I30 CPU Cooler for Intel LGA2011/1155/1156/1150
$34.98 @ http://www.superbiiz.com/detail.php?name=FAN-I30&c=FR&pid=c7cf495fc557aaf929647e403f25fad93878e4ffcfa04ae6768e1191e26a634b&gclid=CjwKEAiAveWnBRCzjqf4zpuUkGYSJABcoZbHsKP_4jaK9fqAOu6rdnCcQ81sunkPkhdwyYktyfVdORoC3Enw_wcB

thailog-fan.jpg

RAM: 24G:
1) Crucial 16GB Kit Ballistix Sport (4x4GB) 288-Pin DDR4 2400mHz (PC4-19200) CL16 (16-16-16) 1.2V non-ECC unbuffered Memory Kit (Model BLS4K4G4D240FSA)
$174.17 @ http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=9162554&CatId=11628
2) Crucial 8GB Kit Ballistix Sport (2x4GB)
$71.99 @ http://www.amazon.com/dp/B00MTSWEQE/ref=pe_385040_128020140_TE_3p_dp_1
ORIGINAL RAM (PURCHASE #1) THAT WOULDN’T WORK:

G.Skill Ripjaws 4 series 16GB (2x8GB) 288-Pin DDR4 SDRAM 2400mHz (PC4-19200) Memory Kit (Model F4-2400C15D-16GRR) DID NOT WORK AND WAS RETURNED
NO: $200.98 @ http://www.newegg.com/Product/Product.aspx?Item=N82E16820231826

SECONDARY RAM (PURCHASE #3) THAT WOULDN’T WORK ($10.30 to return):
Crucial 16GB Kit Ballistix Sport (2x8GB) 288-Pin DDR4 2400mHz (PC4-19200) CL16 (16-16-16) 1.2V non-ECC unbuffered Memory Kit (Model BLS2K8G4D240FSA)
$149.

TERTIARY RAM (PURCHASE #5) THAT WOULDN’T WORK: Crucial Ballistix Sport (1x4GB). Computer could run 1 of these, 2 of these, 3 of these, 4 of these, and 6 of these, but NOT 5 or 7 of these, goddamnit. And my CPU cooler blocks one of the 8 slots.

VIDEO CARD:
HIS iPower IceQ X² Boost H270QM2G2M Radeon R9 270 2GB 256-Bit GDDR5 PCI Express 3.0 x16 HDCP Ready CrossFireX Support Video Card
$151.98 @ http://www.newegg.com/Product/Product.aspx?Item=N82E16814161449&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&cm_sp=&AID=10446076&PID=3938566&SID=

thailog-gpu.jpg

SSD HARDDRIVE:
Crucial M500 240GB M.2 SATA3 Internal Solid State Drive (MLC) (CT240M500SSD4)
$123.99 @ http://www.superbiiz.com/detail.php?name=240GM5SSD4&c=CJ

thailog-ssd.jpg
SUMMARY:
$1,514.92 ($1559.92 initially with $45 back in rebates).
CPU, CPU cooler & SSD from SuperBiiz.
Case, Power Supply, Motherboard, RAM, & Videocard from NewEgg (2 items only cheaper due to rebates).

TEXT-ONLY, BRIEF DESCRIPTION:

CPU: Intel Core i7-5820K Haswell-E 6-Core 3.3GHz (BX80648I75820K) with Arctic Freezer I30 cooler
MOBO: ASRock X99 WS EATX LGA2011-3 Motherboard ( Intel X99 chipset)
RAM: G.Skill Ripjaws 4 (2x8GB) DDR4 2400 (F4-2400C15D-16GRR)
VID:  HIS iPower IceQ X² Boost H270QM2G2M Radeon R9 270 (2GB 256-Bit GDDR5)
SSD: Crucial M500 240GB M.2 SATA3 Internal Solid State Drive CT240M500SSD4)
PSU: Enermax ERV1000EWT-G 1000W

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…)

Had a dream that re-visited a real-life problem I’d been trying to crack for a couple decades: Converting my Apple2 software/disks to PC format.

This was always impossible in real-life because PC drives were not capable of reading Apple2-format disks. But around 2004 or so, someone finally figured it out: You need a DOS box with *two* 5.25″ floppy drives (and a harddrive). The software splits the various signals between the two floppy drives, tricking the PC drive into using [incomplete?] signals to actually be able to read an Apple2 disc.

Again, this is all a real-life issue. I’d been grabbing dead computers from parents’ and such, but none tended to have 5.25″ drives anymore–everyone switched to 3.5″ drives in the early 1990s, and it’s 20 frickin’ years later.

So anyway, in the dream, I was trying to crack this problem again. I was home at my parents’ house… It felt like a college summer-vacation or something, and perhaps it was. Perhaps the dream-within-the-dream was in the mid-1990s. I’m unsure of the barrier between the two, other than that I knew it was a dream within a dream. Our Apple2 had a modem, and I decided to call some BBSes like I used to on college summer breaks in real-life.

This is the point that I should have realized this was a dream: Had I had a modem on my Apple2, I would have been able to, in theory, use 2 disk drives, imaging the 1st disk onto the 2nd drive, then uploading the image to a PC of mine, using 2 phone lines (which we had). This is actually something I asked my dad for in real-life many many times, and he always refused, thus me still having dreams about the prospect 20 years later.

So anyway, in dreamland, I get on the Apple2 and call some BBSes and such. At some point, I wake up from the dream-within-a-dream, and am just in the dream, which is in the present (2012), and not in the mid-1990s. In the dream, I have woken up from the dream-within-the-dream, and realize I need to get cracking on making this conversion project finally happen.

So in this outer-layer dream, I realize that I need to research the software required to do that. On the software’s web-page, there are a few sample diskette images… Including one uploaded by my friend Angel, which had something to do with bypassing an interrupt on the Apple2. Despite the fact that I am using http:// to contact a webpage (still on an Apple, for some reason), a sysop breaks into sysop chat with me, just like in the BBS days. We talk about the problem, and I probably talk about the fact that I can only find one 5.25″ floppy drive, and haven’t been able to find another.

I wake up — this time, in real life. (The rest of this post is all in real life.)

I am quite agitated that this problem still has not been solved. I realize I can’t get back to sleep while thinking about this, and leave Carolyn in bed to go tinker with our old 486 DOS box that I have. It has a 5.25″ floppy drive and a 3.5″ floppy drive and a 1G harddrive. It has 8M (megs, not gigs) of RAM: 1/1000th of the ram of computers these days typically have. It has a turbo button. The harddrive has jumpers in THREE different places. I try to boot up, but it fails. We still have one “real” computer with a floppy drive: Carolyn’s 2004ish computer, which is still her primary computer. I download a bootable floppy image from http://bootdisk.com, and “burn” it to the disk. The 3.5″ drive still doesn’t boot. I go to our spare-hardware bookshelf, looking through my stack of 8 or so discarded 3.5″ floppy drives. Since computer fashion was white in the 1990s, and black in the late 2000s, I pick the only black drive, assuming that it’s newer. This one correctly boots up the floppy.

I still can’t access the harddrive. I take it out, and painstakingly write down the number of heads, cylinders, sector size, jumper configurations: Taking up a whole sheet of paper. I mess with a few configurations and can’t get the drive to be recognized. Finally, *while the computer is on*, I plug in the power to the harddrive, because I’ve passed the point of caring anymore. A big blue spark makes me jump, and shuts the power of the computer off: I overloaded the power supply, shutting everything down. This can be doom for a computer, but instead, I try booting up again, and for the first time, it works! IT’S ALIVE!

And it’s even been Clintified: It has a bootup 1-key menu to run cool programs like AcidWarp, Plaswave, and LSDino. I will use this to run a screen during parties!

So now all I need is a 2nd 5.25″ floppy drive. So I was going to a party the day I woke up with this dream… And decided to write on the wall of the party event, “If anyone has a 5.25″ floppy drive that they could give me… It would really make my day.”

And then…. a cool dude named Tom actually brought a drive, and gave it to Paul, who gave it to me!

So I got to go home with the drive I needed THAT DAY… Because of a fucking dream!

This is like the most productive dream I’ve ever had in my life!

''Dreams... They're the hurricanes that wash the soulfilth from the superdome of our nightminds.'' --Xavier:Renegade Angel

“Dreams… They’re the hurricanes that wash the soulfilth from the superdome of our nightminds.”
Xavier:Renegade Angel (more…)

Next Page »