Tag Archives: geek stuff

micro$not, mshtml, and activex

back in the dark ages, when i was working at STLabs, before we moved to factoria (i.e. STLabs… so, what? maybe 1995? 1996? somewhere in there), i was testing Internet Explorer version 3.0, which meant, basically, that i was testing micro$not’s browser engine, which is called MSHTML.dll. at the time, a very good friend of mine from college, saint fred (now, sadly, passed on) was mucking about with the innards of micro$not’s operating system, and discovered a problem which had existed for several years prior to this, which micro$not had “made disappear” by changing the technology’s name from OLE — which was, itself, a “renamed” technology, originally called Visual Basic for Applications, or “VB-A” — to “ActiveX”, and, in the process of making it “disappear”, actually made it more prevalent and insidious, by making it work seamlessly with even more micro$not technology.

and, saint fred being who he was, took advantage of this by writing the “Exploder Control”, which could be embedded in a web page, or a microsoft document, and would, when “activated”, perform a clean shutdown of the computer on which it was being viewed… whether you wanted to shut down your computer, or not.

you hit this web page, and, within seconds, your computer shuts down, with no further input from you. 😏

or…

you open this microsoft word document, and, within seconds, your computer shuts down, with no further input from you. 🤣

i watched it happen as it first came out, before anybody realised what it was. it was hillarious! i gave the URI for the exploder control to my boss, and then went back to my workstation and listened, as she suddenly whined “it shut down my computer!” 🤣🤣🤣

and, of course, micro$not’s response to this was to threaten saint fred with lawsuits for doing stuff he shouldn’t have been doing, and when that didn’t work (because fred made sure that the exploder did everything strictly “by the book”, including getting micro$not’s signature on the control), they made the exploder control something that was detected by their anti-virus software (even though it was very clearly NOT a virus, and, actually, did everything totally “by the book”, something to which micro$not never admitted), and, once they figured out that they had caused all of this, they pulled their signature on the control, so that it raised even more red flags before actually activating it…

and, basically, did everything EXCEPT fix the problem, which, after a few months of frantic ass-covering by micro$not’s marketing department, while the tech industry had a good laugh, got swept under the rug, anyway, by more current micro$not fiascos.

but the technology remained, and every version of windows has support for activex, every version of MSHTML.dll has support for activex (which is one of the reasons micro$not got rid of MSHTML.dll a couple years ago, and current versions of Internet Exploder… um… what’s their browser called again? EDGE, that’s it… uses google’s “chrome” browser engine, instead. the browser wars are over! micro$not LOST!) and you can, literally, do ANYTHING with activex, that you could do from the normal user interface of windows, and there is, literally, NOTHING stopping you from doing this — or other, more nefarious things — given A LITTLE knowledge of the technology.

which is why, when i saw this headline: Miscreants fling booby-trapped Office files at victims, no patch yet, says Microsoft the FIRST THING i thought was “Exploder Control strikes again!”

this is one of the VERY BIG reasons i do not use micro$not on my computers. i don’t even have my microsoft 5-button mouse any longer!

i wonder if they’ll ever learn. 🙄

Continue reading micro$not, mshtml, and activex

when HTML is not HTML

i’m REALLY glad someone else is maintaining my business web site these days. 😒

seriously, if it had been left up to me, i would have given up a LONG time ago, and would probably be out of business, because the web design business has gotten REALLY confusing.

example: the places in WordPress where HTML code is not, actually, HTML code…

210603 not html
210603 not html

there are places which display HTML code, and where that code occurs on the back end, it is actually rendered as HTML code in the browser, but if you want to edit the HTML, you have to copy the ENTIRE page, go to another location (or use an actual text-based code editing tool) and paste the ENTIRE page into that location, make the edits, save them in that other location, copy them from that location, go BACK to the original location where you copied the original code from and paste the new code in, and THEN save the original location…? 😕

210603 not html rendered
210603 not html rendered
and, oddly enough, if you try to edit the HTML code without jumping through the copy/paste hoops multiple times, you end up screwing up the page entirely. 😠

and, to make matters even worse, as far as i can tell, there’s no way to tell which locations are HTML, and which locations only LOOK LIKE HTML… you’re just expected to know. 😠

as far as i can tell, backed up by a professional web designer who does this for a living, that’s the routine that works, and it has actually worked for me, in the past… but not this morning… which is frustrating beyond belief…

in my day, if something LOOKED LIKE HTML code, it WAS HTML code, and could be edited as such, wherever it occurred. 😠✊

PUBLIC SERVICE ANNOUNCEMENT

Phishing Emails Used to Deploy KONNI Malware

if you are in the habit of using micro$not software, particularly the office varients (word, excell, power point, etc.), you should beware of the new “phishing” (specifically, “spear-phishing”) attack which uses an infected microsoft word document as the vector.

solution: don’t use micro$hit.

alternative solution: don’t use windoesn’t, or, if you do, don’t open ANY files that you receive in email, from ANYONE, if you weren’t expecting it, keep your antivirus software up to date, backup everything, and pray that something doesn’t happen anyway.

this is just the most recent extension of the exploder control controversy, started by my friend fred, back when W95 was current… except that, now, instead of calling it “OLE or “ActiveX” they’re calling it “VBA“, and it can do a lot more nefarious things to your computer than the exploder control could do — and the exploder control was relatively benign, in that it ONLY shut down your computer without your say so…

but micro$lop made a BIG OL’ fuss about it, when fred actually got it signed, because of the fact that it used ActiveX APIs in EXACTLY the way they were supposed to be used, and the automated process of signing didn’t take into account what the control actually DID, and whether doing that thing, at that time, was actually USEFUL… 😂🤣

by the way, the exploder control was SPECIFICALLY designed to work with W95 and IE3, so, unless you’re browsing on your grandfather’s computer, you’ve got nothing to worry about. 😉

database update

the database is fixed. 😌

what happened? that’s complex.

recently, i had my web site redesigned. the new design uses the “Enfold” theme, which uses a lot of what they call “transients” to maintain the look and feel of the site, regardless of the platform on which it’s being viewed. “transients” are sort of like cookies, except that you can’t opt out of them, and they don’t contain any personally identifying information. some of these “transients” expire immediately when a person leaves the web site, and others persist, for a few minutes to several days. they persist on your computer AND on my server… in the one of the tables in the database…

the “Enfold” theme has automatic caching and garbage collection routines that are supposed to handle these expired “transients”, but, because it’s a wordpress theme, it doesn’t do all the jobs very well… or, sometimes, at all… which is why i also use a caching plugin that actually, you know, works ALL the time, and not only some of the time… 😒

except that, for some reason, prior to my site upgrade, “someone” (and i have yet to identify who, but it was either my web designer or my host provider) recommended that i disable the caching plugin, because of some issue with the new version of wordpress… or something like that… as i said, i don’t remember. i distinctly remember disabling the plugin on someone’s recommendation, i just don’t remember exactly who, when or why. 😖

one way or the other, my caching plugin was disabled, which meant that, when i installed the new theme, it was relying on the not-working-the-way-it-should, internal cache… which, basically, didn’t work, causing the table in the database to expand beyond my disk space allocation. 🤯

it didn’t show up in my cPanel because i wasn’t looking at the SQL disk space, which is “below the fold” of my browser, and i just didn’t scroll down far enough to see it. 😕 during the nightly automatic backup, it was overwhelming the server for everybody, not just me. i had to pay my web designer for two days of poking through piles of arcane SQL code and deleting bits and pieces of it. it was not fun.

the solution was to enable the caching plugin(!), and to install a “transient manager” plugin, so that i can delete the expired transients from the wordpress dashboard, and not from the SQL database,… which requires A LOT more “knowing what to look for” and “knowing how to delete stuff without damaging other stuff” than i have on board, personally.

databases

my first direct experience with databases was in the late 1980s or early 1990s, when i got a “job”, “working” for this… guy…

i don’t remember his name — possibly “henry” — but i remember his attitudes: he was always right, nothing he thought of had ever been thought of before, he was the richest, smartest, trendiest, most “on-top-of-it” dude that ever hit the face of the planet, and GAWD HELP YOU if you EVER got in his way.

needless to say, the “job” didn’t last long. it started with him demonstrating how generous he was, by buying me a disk caddy, so that i would have somewhere to keep all of the disks i was going to accumulate working for him. then he started asking me about computers. at the time, i was NOT a “computer geek”, nor did i want to be one (my father was one of the original “computer geeks” and i DID NOT want to be like my father), but i knew about computers because i had been working as a typesetter for a few years. he asked me what i didn’t know about computers, and one of the first things out of my mouth was “databases”, so he signed me up for a week of training with “FileMaker”…

what i learned was a bunch of recycled stuff from my already ample knowledge of microslut word and excel, with a bunch of “hypercard-like” stuff which i sort of vaguely understood (but nobody i knew used hypercard for anything, so i never really knew what i had missed until years later), and, at the same time i was doing this training, i was helping this… guy… clean out his house, because he was going through a divorce, or some awful shit like that, and he, basically, had to move EVERYTHING that was “his”, out of one house and into another, that was a few houses down the street…

which is where i learned that his “rich” persona was heavily financed by several HUNDRED overdrawn credit cards — he had been using one credit card to pay off another credit card, and when he ran out of credit cards, he would just start up a new one, and use it to pay off the previous ones… FOR YEARS… — at which point i decided that working for this guy might not be such a good idea, if i wanted to get paid.

quite apart from the fact that working for him was REALLY annoying…

so, ultimately, i spent a week learning really complex software that i never got to use for anything, and that was it, until i got my job at software.com, testing email servers, in 2001.

and, for all of my work with databases at software.com/openwave, i still don’t have a really solid grasp of what they are… where they “live”, what they do, how they work… anything… all i know is that, under the right set of circumstances, you can give “commands” to a database, and it will perform certain functions with a variety of different “objects”, the outcomes of which can be used in a multitude of different ways, depending on what is contained in your database.

i get the impression that databases are a lot like the world wide web, in that they both have a lot of objects (web sites) that are linked together in a somewhat-haphazard, but definitely organised way.

so, you can imagine that it was something of a surprise when, the other morning, i woke up, checked my email, and discovered two somewhat alarming notices. the first was warning me that i had used up 90% of my disk space on my server, and the other was warning me that a “table” on my main database was malfunctioning… or something… and collecting 251 GB worth of data… which, somehow, was NOT showing up in my cPanel, which says “Disk Usage 18.43 GB / 292.97 GB”…

and, of course, it happened on a sunday, when nobody’s in the office, and on mothers day, when even fewer people are in the office, and during a PANDEMIC… 😒

so, first thing this morning, after waking up to a broken heat pump, and a wife who wrenched her back, i wrote to my web designer, who said, oh yeah, we’ve seen this kind of thing before, it’ll cost between $200 and $500 to fix it…

and I DON’T EVEN KNOW WHAT’S WRONG… 😖

new regex stuff!

logical operators! thanks ian! 😉

+ () [] - |

(stuff that remains the same)+(stuff that changes) – otherwise known as “capture groups”

[89] = 8 or 9

[0-4] = 0, 1, 2, 3, or 4

| = logical OR

so…

\D(85\.157\.47\.)+(12[89]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])\D

means “capture everything in 85.157.47.128/25”

which, up until now, has meant “make a separate rule for every IP address between 85.157.47.128 and 85.157.47.255” — 128 SEPARATE RULES, which takes A LONG time, and slows down processing speed.

this is a BIG step forward!

WOO!!! 😎👍

ETA 200205: even more WOO!!! because ian directed me to a RegEx Numeric Range Generator, which means that i don’t have to figure them all out myself! WOO!!! 😎👍

what?

i’m reading pantagruel, which was written in 1532.

in the introduction, after he addresses the translator, there is a refrence to tobacco:

To drink he was a furious enemy
Contented with a six-penny --
(with diamond hatband, silver spurs, six horses.) pie --

And for tobacco's pate-rounding smoke,
Much had he said, and much more spoke,
But 'twas not then found out, so the design was broke.

according to wikipedia, “tobacco”, as a word, was introduced to europeans around 1552, twenty years AFTER pantagruel was written, and Hernández de Boncalo, Spanish chronicler of the Indies, was the first European to bring tobacco seeds to the Old World in 1559 following orders of King Philip II of Spain.

before that, especially in europe, one would assume, tobacco was quite rare, and usually not available to “ordinary” people.

i’ve never read pantagruel before, and the 16th century, in general, was kind of a weird, amorphous time, during which what we take as “knowledge” now, was a lot more fluid and undecided, so i think i can overlook this inconsistency, but it’ll be interesting.

woaaah!!! 😲

[email protected]:~$ iconv
^C
[email protected]:~$ iconv –help
Usage: iconv [OPTION…] [FILE…]
Convert encoding of given files from one encoding to another.

Input/Output format specification:
-f, –from-code=NAME encoding of original text
-t, –to-code=NAME encoding for output

Information:
-l, –list list all known coded character sets

Output control:
-c omit invalid characters from output
-o, –output=FILE output file
-s, –silent suppress warnings
–verbose print progress information

-?, –help Give this help list
–usage Give a short usage message
-V, –version Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

For bug reporting instructions, please see:
.
[email protected]:~$ iconv -l
The following list contains all the coded character sets known. This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters. One coded character set can be
listed with several different names (aliases).

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,
ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,
ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5,
BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5,
CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273, CP274, CP275, CP278,
CP280, CP281, CP282, CP284, CP285, CP290, CP297, CP367, CP420, CP423, CP424,
CP437, CP500, CP737, CP770, CP771, CP772, CP773, CP774, CP775, CP803, CP813,
CP819, CP850, CP851, CP852, CP855, CP856, CP857, CP860, CP861, CP862, CP863,
CP864, CP865, CP866, CP866NAV, CP868, CP869, CP870, CP871, CP874, CP875,
CP880, CP891, CP901, CP902, CP903, CP904, CP905, CP912, CP915, CP916, CP918,
CP920, CP921, CP922, CP930, CP932, CP933, CP935, CP936, CP937, CP939, CP949,
CP950, CP1004, CP1008, CP1025, CP1026, CP1046, CP1047, CP1070, CP1079,
CP1081, CP1084, CP1089, CP1097, CP1112, CP1122, CP1123, CP1124, CP1125,
CP1129, CP1130, CP1132, CP1133, CP1137, CP1140, CP1141, CP1142, CP1143,
CP1144, CP1145, CP1146, CP1147, CP1148, CP1149, CP1153, CP1154, CP1155,
CP1156, CP1157, CP1158, CP1160, CP1161, CP1162, CP1163, CP1164, CP1166,
CP1167, CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257,
CP1258, CP1282, CP1361, CP1364, CP1371, CP1388, CP1390, CP1399, CP4517,
CP4899, CP4909, CP4971, CP5347, CP9030, CP9066, CP9448, CP10007, CP12712,
CP16804, CPIBM861, CSA7-1, CSA7-2, CSASCII, CSA_T500-1983, CSA_T500,
CSA_Z243.4-1985-1, CSA_Z243.4-1985-2, CSA_Z243.419851, CSA_Z243.419852,
CSDECMCS, CSEBCDICATDE, CSEBCDICATDEA, CSEBCDICCAFR, CSEBCDICDKNO,
CSEBCDICDKNOA, CSEBCDICES, CSEBCDICESA, CSEBCDICESS, CSEBCDICFISE,
CSEBCDICFISEA, CSEBCDICFR, CSEBCDICIT, CSEBCDICPT, CSEBCDICUK, CSEBCDICUS,
CSEUCKR, CSEUCPKDFMTJAPANESE, CSGB2312, CSHPROMAN8, CSIBM037, CSIBM038,
CSIBM273, CSIBM274, CSIBM275, CSIBM277, CSIBM278, CSIBM280, CSIBM281,
CSIBM284, CSIBM285, CSIBM290, CSIBM297, CSIBM420, CSIBM423, CSIBM424,
CSIBM500, CSIBM803, CSIBM851, CSIBM855, CSIBM856, CSIBM857, CSIBM860,
CSIBM863, CSIBM864, CSIBM865, CSIBM866, CSIBM868, CSIBM869, CSIBM870,
CSIBM871, CSIBM880, CSIBM891, CSIBM901, CSIBM902, CSIBM903, CSIBM904,
CSIBM905, CSIBM918, CSIBM921, CSIBM922, CSIBM930, CSIBM932, CSIBM933,
CSIBM935, CSIBM937, CSIBM939, CSIBM943, CSIBM1008, CSIBM1025, CSIBM1026,
CSIBM1097, CSIBM1112, CSIBM1122, CSIBM1123, CSIBM1124, CSIBM1129, CSIBM1130,
CSIBM1132, CSIBM1133, CSIBM1137, CSIBM1140, CSIBM1141, CSIBM1142, CSIBM1143,
CSIBM1144, CSIBM1145, CSIBM1146, CSIBM1147, CSIBM1148, CSIBM1149, CSIBM1153,
CSIBM1154, CSIBM1155, CSIBM1156, CSIBM1157, CSIBM1158, CSIBM1160, CSIBM1161,
CSIBM1163, CSIBM1164, CSIBM1166, CSIBM1167, CSIBM1364, CSIBM1371, CSIBM1388,
CSIBM1390, CSIBM1399, CSIBM4517, CSIBM4899, CSIBM4909, CSIBM4971, CSIBM5347,
CSIBM9030, CSIBM9066, CSIBM9448, CSIBM12712, CSIBM16804, CSIBM11621162,
CSISO4UNITEDKINGDOM, CSISO10SWEDISH, CSISO11SWEDISHFORNAMES,
CSISO14JISC6220RO, CSISO15ITALIAN, CSISO16PORTUGESE, CSISO17SPANISH,
CSISO18GREEK7OLD, CSISO19LATINGREEK, CSISO21GERMAN, CSISO25FRENCH,
CSISO27LATINGREEK1, CSISO49INIS, CSISO50INIS8, CSISO51INISCYRILLIC,
CSISO58GB1988, CSISO60DANISHNORWEGIAN, CSISO60NORWEGIAN1, CSISO61NORWEGIAN2,
CSISO69FRENCH, CSISO84PORTUGUESE2, CSISO85SPANISH2, CSISO86HUNGARIAN,
CSISO88GREEK7, CSISO89ASMO449, CSISO90, CSISO92JISC62991984B, CSISO99NAPLPS,
CSISO103T618BIT, CSISO111ECMACYRILLIC, CSISO121CANADIAN1, CSISO122CANADIAN2,
CSISO139CSN369103, CSISO141JUSIB1002, CSISO143IECP271, CSISO150,
CSISO150GREEKCCITT, CSISO151CUBA, CSISO153GOST1976874, CSISO646DANISH,
CSISO2022CN, CSISO2022JP, CSISO2022JP2, CSISO2022KR, CSISO2033,
CSISO5427CYRILLIC, CSISO5427CYRILLIC1981, CSISO5428GREEK, CSISO10367BOX,
CSISOLATIN1, CSISOLATIN2, CSISOLATIN3, CSISOLATIN4, CSISOLATIN5, CSISOLATIN6,
CSISOLATINARABIC, CSISOLATINCYRILLIC, CSISOLATINGREEK, CSISOLATINHEBREW,
CSKOI8R, CSKSC5636, CSMACINTOSH, CSNATSDANO, CSNATSSEFI, CSN_369103,
CSPC8CODEPAGE437, CSPC775BALTIC, CSPC850MULTILINGUAL, CSPC862LATINHEBREW,
CSPCP852, CSSHIFTJIS, CSUCS4, CSUNICODE, CSWINDOWS31J, CUBA, CWI-2, CWI,
CYRILLIC, DE, DEC-MCS, DEC, DECMCS, DIN_66003, DK, DS2089, DS_2089, E13B,
EBCDIC-AT-DE-A, EBCDIC-AT-DE, EBCDIC-BE, EBCDIC-BR, EBCDIC-CA-FR,
EBCDIC-CP-AR1, EBCDIC-CP-AR2, EBCDIC-CP-BE, EBCDIC-CP-CA, EBCDIC-CP-CH,
EBCDIC-CP-DK, EBCDIC-CP-ES, EBCDIC-CP-FI, EBCDIC-CP-FR, EBCDIC-CP-GB,
EBCDIC-CP-GR, EBCDIC-CP-HE, EBCDIC-CP-IS, EBCDIC-CP-IT, EBCDIC-CP-NL,
EBCDIC-CP-NO, EBCDIC-CP-ROECE, EBCDIC-CP-SE, EBCDIC-CP-TR, EBCDIC-CP-US,
EBCDIC-CP-WT, EBCDIC-CP-YU, EBCDIC-CYRILLIC, EBCDIC-DK-NO-A, EBCDIC-DK-NO,
EBCDIC-ES-A, EBCDIC-ES-S, EBCDIC-ES, EBCDIC-FI-SE-A, EBCDIC-FI-SE, EBCDIC-FR,
EBCDIC-GREEK, EBCDIC-INT, EBCDIC-INT1, EBCDIC-IS-FRISS, EBCDIC-IT,
EBCDIC-JP-E, EBCDIC-JP-KANA, EBCDIC-PT, EBCDIC-UK, EBCDIC-US, EBCDICATDE,
EBCDICATDEA, EBCDICCAFR, EBCDICDKNO, EBCDICDKNOA, EBCDICES, EBCDICESA,
EBCDICESS, EBCDICFISE, EBCDICFISEA, EBCDICFR, EBCDICISFRISS, EBCDICIT,
EBCDICPT, EBCDICUK, EBCDICUS, ECMA-114, ECMA-118, ECMA-128, ECMA-CYRILLIC,
ECMACYRILLIC, ELOT_928, ES, ES2, EUC-CN, EUC-JISX0213, EUC-JP-MS, EUC-JP,
EUC-KR, EUC-TW, EUCCN, EUCJP-MS, EUCJP-OPEN, EUCJP-WIN, EUCJP, EUCKR, EUCTW,
FI, FR, GB, GB2312, GB13000, GB18030, GBK, GB_1988-80, GB_198880,
GEORGIAN-ACADEMY, GEORGIAN-PS, GOST_19768-74, GOST_19768, GOST_1976874,
GREEK-CCITT, GREEK, GREEK7-OLD, GREEK7, GREEK7OLD, GREEK8, GREEKCCITT,
HEBREW, HP-GREEK8, HP-ROMAN8, HP-ROMAN9, HP-THAI8, HP-TURKISH8, HPGREEK8,
HPROMAN8, HPROMAN9, HPTHAI8, HPTURKISH8, HU, IBM-803, IBM-856, IBM-901,
IBM-902, IBM-921, IBM-922, IBM-930, IBM-932, IBM-933, IBM-935, IBM-937,
IBM-939, IBM-943, IBM-1008, IBM-1025, IBM-1046, IBM-1047, IBM-1097, IBM-1112,
IBM-1122, IBM-1123, IBM-1124, IBM-1129, IBM-1130, IBM-1132, IBM-1133,
IBM-1137, IBM-1140, IBM-1141, IBM-1142, IBM-1143, IBM-1144, IBM-1145,
IBM-1146, IBM-1147, IBM-1148, IBM-1149, IBM-1153, IBM-1154, IBM-1155,
IBM-1156, IBM-1157, IBM-1158, IBM-1160, IBM-1161, IBM-1162, IBM-1163,
IBM-1164, IBM-1166, IBM-1167, IBM-1364, IBM-1371, IBM-1388, IBM-1390,
IBM-1399, IBM-4517, IBM-4899, IBM-4909, IBM-4971, IBM-5347, IBM-9030,
IBM-9066, IBM-9448, IBM-12712, IBM-16804, IBM037, IBM038, IBM256, IBM273,
IBM274, IBM275, IBM277, IBM278, IBM280, IBM281, IBM284, IBM285, IBM290,
IBM297, IBM367, IBM420, IBM423, IBM424, IBM437, IBM500, IBM775, IBM803,
IBM813, IBM819, IBM848, IBM850, IBM851, IBM852, IBM855, IBM856, IBM857,
IBM860, IBM861, IBM862, IBM863, IBM864, IBM865, IBM866, IBM866NAV, IBM868,
IBM869, IBM870, IBM871, IBM874, IBM875, IBM880, IBM891, IBM901, IBM902,
IBM903, IBM904, IBM905, IBM912, IBM915, IBM916, IBM918, IBM920, IBM921,
IBM922, IBM930, IBM932, IBM933, IBM935, IBM937, IBM939, IBM943, IBM1004,
IBM1008, IBM1025, IBM1026, IBM1046, IBM1047, IBM1089, IBM1097, IBM1112,
IBM1122, IBM1123, IBM1124, IBM1129, IBM1130, IBM1132, IBM1133, IBM1137,
IBM1140, IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147,
IBM1148, IBM1149, IBM1153, IBM1154, IBM1155, IBM1156, IBM1157, IBM1158,
IBM1160, IBM1161, IBM1162, IBM1163, IBM1164, IBM1166, IBM1167, IBM1364,
IBM1371, IBM1388, IBM1390, IBM1399, IBM4517, IBM4899, IBM4909, IBM4971,
IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, IBM16804, IEC_P27-1, IEC_P271,
INIS-8, INIS-CYRILLIC, INIS, INIS8, INISCYRILLIC, ISIRI-3342, ISIRI3342,
ISO-2022-CN-EXT, ISO-2022-CN, ISO-2022-JP-2, ISO-2022-JP-3, ISO-2022-JP,
ISO-2022-KR, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-9E, ISO-8859-10,
ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, ISO-10646,
ISO-10646/UCS2, ISO-10646/UCS4, ISO-10646/UTF-8, ISO-10646/UTF8, ISO-CELTIC,
ISO-IR-4, ISO-IR-6, ISO-IR-8-1, ISO-IR-9-1, ISO-IR-10, ISO-IR-11, ISO-IR-14,
ISO-IR-15, ISO-IR-16, ISO-IR-17, ISO-IR-18, ISO-IR-19, ISO-IR-21, ISO-IR-25,
ISO-IR-27, ISO-IR-37, ISO-IR-49, ISO-IR-50, ISO-IR-51, ISO-IR-54, ISO-IR-55,
ISO-IR-57, ISO-IR-60, ISO-IR-61, ISO-IR-69, ISO-IR-84, ISO-IR-85, ISO-IR-86,
ISO-IR-88, ISO-IR-89, ISO-IR-90, ISO-IR-92, ISO-IR-98, ISO-IR-99, ISO-IR-100,
ISO-IR-101, ISO-IR-103, ISO-IR-109, ISO-IR-110, ISO-IR-111, ISO-IR-121,
ISO-IR-122, ISO-IR-126, ISO-IR-127, ISO-IR-138, ISO-IR-139, ISO-IR-141,
ISO-IR-143, ISO-IR-144, ISO-IR-148, ISO-IR-150, ISO-IR-151, ISO-IR-153,
ISO-IR-155, ISO-IR-156, ISO-IR-157, ISO-IR-166, ISO-IR-179, ISO-IR-193,
ISO-IR-197, ISO-IR-199, ISO-IR-203, ISO-IR-209, ISO-IR-226, ISO/TR_11548-1,
ISO646-CA, ISO646-CA2, ISO646-CN, ISO646-CU, ISO646-DE, ISO646-DK, ISO646-ES,
ISO646-ES2, ISO646-FI, ISO646-FR, ISO646-FR1, ISO646-GB, ISO646-HU,
ISO646-IT, ISO646-JP-OCR-B, ISO646-JP, ISO646-KR, ISO646-NO, ISO646-NO2,
ISO646-PT, ISO646-PT2, ISO646-SE, ISO646-SE2, ISO646-US, ISO646-YU,
ISO2022CN, ISO2022CNEXT, ISO2022JP, ISO2022JP2, ISO2022KR, ISO6937,
ISO8859-1, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7,
ISO8859-8, ISO8859-9, ISO8859-9E, ISO8859-10, ISO8859-11, ISO8859-13,
ISO8859-14, ISO8859-15, ISO8859-16, ISO11548-1, ISO88591, ISO88592, ISO88593,
ISO88594, ISO88595, ISO88596, ISO88597, ISO88598, ISO88599, ISO88599E,
ISO885910, ISO885911, ISO885913, ISO885914, ISO885915, ISO885916,
ISO_646.IRV:1991, ISO_2033-1983, ISO_2033, ISO_5427-EXT, ISO_5427,
ISO_5427:1981, ISO_5427EXT, ISO_5428, ISO_5428:1980, ISO_6937-2,
ISO_6937-2:1983, ISO_6937, ISO_6937:1992, ISO_8859-1, ISO_8859-1:1987,
ISO_8859-2, ISO_8859-2:1987, ISO_8859-3, ISO_8859-3:1988, ISO_8859-4,
ISO_8859-4:1988, ISO_8859-5, ISO_8859-5:1988, ISO_8859-6, ISO_8859-6:1987,
ISO_8859-7, ISO_8859-7:1987, ISO_8859-7:2003, ISO_8859-8, ISO_8859-8:1988,
ISO_8859-9, ISO_8859-9:1989, ISO_8859-9E, ISO_8859-10, ISO_8859-10:1992,
ISO_8859-14, ISO_8859-14:1998, ISO_8859-15, ISO_8859-15:1998, ISO_8859-16,
ISO_8859-16:2001, ISO_9036, ISO_10367-BOX, ISO_10367BOX, ISO_11548-1,
ISO_69372, IT, JIS_C6220-1969-RO, JIS_C6229-1984-B, JIS_C62201969RO,
JIS_C62291984B, JOHAB, JP-OCR-B, JP, JS, JUS_I.B1.002, KOI-7, KOI-8, KOI8-R,
KOI8-RU, KOI8-T, KOI8-U, KOI8, KOI8R, KOI8U, KSC5636, L1, L2, L3, L4, L5, L6,
L7, L8, L10, LATIN-9, LATIN-GREEK-1, LATIN-GREEK, LATIN1, LATIN2, LATIN3,
LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN9, LATIN10, LATINGREEK,
LATINGREEK1, MAC-CENTRALEUROPE, MAC-CYRILLIC, MAC-IS, MAC-SAMI, MAC-UK, MAC,
MACCYRILLIC, MACINTOSH, MACIS, MACUK, MACUKRAINIAN, MIK, MS-ANSI, MS-ARAB,
MS-CYRL, MS-EE, MS-GREEK, MS-HEBR, MS-MAC-CYRILLIC, MS-TURK, MS932, MS936,
MSCP949, MSCP1361, MSMACCYRILLIC, MSZ_7795.3, MS_KANJI, NAPLPS, NATS-DANO,
NATS-SEFI, NATSDANO, NATSSEFI, NC_NC0010, NC_NC00-10, NC_NC00-10:81,
NF_Z_62-010, NF_Z_62-010_(1973), NF_Z_62-010_1973, NF_Z_62010,
NF_Z_62010_1973, NO, NO2, NS_4551-1, NS_4551-2, NS_45511, NS_45512,
OS2LATIN1, OSF00010001, OSF00010002, OSF00010003, OSF00010004, OSF00010005,
OSF00010006, OSF00010007, OSF00010008, OSF00010009, OSF0001000A, OSF00010020,
OSF00010100, OSF00010101, OSF00010102, OSF00010104, OSF00010105, OSF00010106,
OSF00030010, OSF0004000A, OSF0005000A, OSF05010001, OSF100201A4, OSF100201A8,
OSF100201B5, OSF100201F4, OSF100203B5, OSF1002011C, OSF1002011D, OSF1002035D,
OSF1002035E, OSF1002035F, OSF1002036B, OSF1002037B, OSF10010001, OSF10010004,
OSF10010006, OSF10020025, OSF10020111, OSF10020115, OSF10020116, OSF10020118,
OSF10020122, OSF10020129, OSF10020352, OSF10020354, OSF10020357, OSF10020359,
OSF10020360, OSF10020364, OSF10020365, OSF10020366, OSF10020367, OSF10020370,
OSF10020387, OSF10020388, OSF10020396, OSF10020402, OSF10020417, PT, PT2,
PT154, R8, R9, RK1048, ROMAN8, ROMAN9, RUSCII, SE, SE2, SEN_850200_B,
SEN_850200_C, SHIFT-JIS, SHIFT_JIS, SHIFT_JISX0213, SJIS-OPEN, SJIS-WIN,
SJIS, SS636127, STRK1048-2002, ST_SEV_358-88, T.61-8BIT, T.61, T.618BIT,
TCVN-5712, TCVN, TCVN5712-1, TCVN5712-1:1993, THAI8, TIS-620, TIS620-0,
TIS620.2529-1, TIS620.2533-0, TIS620, TS-5881, TSCII, TURKISH8, UCS-2,
UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UCS2, UCS4, UHC, UJIS, UK,
UNICODE, UNICODEBIG, UNICODELITTLE, US-ASCII, US, UTF-7, UTF-8, UTF-16,
UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF7, UTF8, UTF16, UTF16BE,
UTF16LE, UTF32, UTF32BE, UTF32LE, VISCII, WCHAR_T, WIN-SAMI-2, WINBALTRIM,
WINDOWS-31J, WINDOWS-874, WINDOWS-936, WINDOWS-1250, WINDOWS-1251,
WINDOWS-1252, WINDOWS-1253, WINDOWS-1254, WINDOWS-1255, WINDOWS-1256,
WINDOWS-1257, WINDOWS-1258, WINSAMI2, WS2, YU
[email protected]:~$

HTML formatting in email is EVIL!!

i know, i’m fighting a losing battle here, but it has to be said… 😐

when you send email, the person who receives it has to play along with your rules, or they don’t get to read what you had to say. that’s the bottom line.

when you send an email that is formatted using HTML, you are assuming that your recipient has an email client that is “smart enough” to interpret the HTML, otherwise the message looks something like this:

<body>
    <table width=3D"620" cellspacing=3D"0" cellpadding=3D"0" border=3D"0" a=
lign=3D"center"><tr><td bgcolor=3D"#F0F0F0">
      <table width=3D"578" cellspacing=3D"0" cellpadding=3D"0" border=3D"0"=
 align=3D"center">
        <tr>
          <td height=3D"16"></td>
        </tr>
        <tr>
          <td>
            <img src=3D"http://s.ytimg.com/yt/img/email/digest/email_header=
.png">
          </td>
        </tr>
        <tr>
          <td height=3D"16"></td>
        </tr>

        <tr>
          <td align=3D"left" bgcolor=3D"#FFFFFF">
            <div style=3D"border-style:solid; border-width:1px; border-colo=
r:#CCCCCC;">
              <table width=3D"578" cellspacing=3D"0" cellpadding=3D"0" bord=
er=3D"0" align=3D"center">
                <tr>
                  <td height=3D"22" colspan=3D"3"></td>
                </tr>

                <tr>
                  <td width=3D"40"></td>
                  <td width=3D"498">
                    <div style=3D"
  font-family:arial,Arial,sans-serif;
">
                                <table cellspacing=3D"0" cellpadding=3D"0" =
border=3D"0">
    <tr>
        <td bgcolor=3D"#FFFFFF" align=3D"left" width=3D"50">
          <img src=3D"https://yt3.ggpht.com/-qroilmK3p5o/AAAAAAAAAAI/AAAAAA=
AAAAA/iFjUrN4F6lA/s50-c-k-no/photo.jpg" height=3D"50" width=3D"50">
        </td>
        <td width=3D"16"></td>

      <td>
        <div style=3D"
  font-family:arial,Arial,sans-serif; font-size:18px; color:#333333; line-h=
eight:24px;
" height:"59" dir=3D"ltr">
         =20
<a href=3D"http://www.youtube.com/attribution_link?a=3DUIzdYgZkFkg&u=3D/cha=

most people could probably read it, if they took a while, but it’s really frustrating…

also, HTML formatting takes a simple phrase like “i’m on my way. see you soon.” and turns it into two or three pages of, for lack of a better term, GARBAGE to one who doesn’t have an email client that is also a browser…

now i know that most email clients these days have software that renders HTML incorporated into their inner workings, including mine… but the important difference is that while my email client came with the ability to render HTML turned on by default, one of the first things i did was to turn that ability OFF, and here’s the primary reason i did so:

if you write an email message that is formatted by HTML, when you put in a URI, you also put in some “descriptive phrase” that is “automatically” linked to the URI, like this — <a href="http://www.somewhere.us/">descriptive phrase</a> — you don’t actually write the code out any longer, because the software does it for you these days, but that’s what it amounts to…

so, if i were to put a link to microsoft in my HTML-formatted email message, it would end up looking like this — <a href="http://www.microsoft.com/">microsoft</a> — and because of the HTML rendering capability of my email client, it would look like this in the resulting email message: microsoft.

those of you who are observant may notice that, while my link says “microsoft”, the link actually points to MicrosoftIsEvil.com. for those of you who aren’t so observant, click on the link, or (because of the fact that you’re reading this in a browser) mouse-over the link and look in the lower left-hand corner of your browser window, and you’ll be able to see the link in a pop-up window…

however, in my email client, and, as far as i know, in most other dedicated email clients, there is no such pop-up window. i could have created a special URI that automatically opens a “back-door” to your computer, and sent that URI to you in an email message with the “descriptive phrase” being something that you might be interested in reading… and because of the fact that you read it in your email, when you clicked on it, thinking that you were going to get an interesting article, you would never know that i had opened the “back-door” of your computer and now have the ability to send email, AS YOU, as well as doing other things like stealing your identity, installing viruses and malware, denying service to other web sites, pirating software, and any number of other things that you Don’t Do To Other Peoples’ Computers®

things may be a little different if you’re using IMAP and a “WebMail” application, but the underlying concept is the same: some evil person impersonates somebody else (whose computer they have already compromised) and sends you a specially designed URI in HTML-formatted email, and because IT APPEARS TO BE from someone you trust, you click the link without looking at where it points to first, and…

BOOOOOM! you’ve got a big mess that you don’t have the first clue how to clean up… and, because of the fact that i’m a computer geek, i get more than my share of phone calls saying “hey, can you help me? my computer is broken…” 😐

and about 95% of the time it’s because someone wasn’t paying attention when they opened an email message.

so PAY ATTENTION, because i have a tendency to “fix” peoples’ computers by installing linux, which doesn’t have anywhere near the same vulnerability to viri that windoes’t or mac does. πŸ‘Ώ

and, while linux is a smart operating system, it doesn’t automatically fix stupid users.

Master Foo and the Script Kiddie

Master Foo and the Script Kiddie

A stranger from the land of Woot came to Master Foo as he was eating the morning meal with his students.

β€œI hear y00 are very l33t,” he said. β€œPl33z teach m3 all y00 know.”

Master Foo’s students looked at each other, confused by the stranger’s barbarous language. Master Foo just smiled and replied: β€œYou wish to learn the Way of Unix?”

β€œI want to b3 a wizard hax0r,” the stranger replied, β€œand 0wn ever3one’s b0xen.”

β€œI do not teach that Way,” replied Master Foo.

The stranger grew agitated. β€œD00d, y00 r nothing but a p0ser,” he said. β€œIf y00 n00 anything, y00 wud t33ch m3.”

β€œThere is a path,” said Master Foo, β€œthat might bring you to wisdom.” The master scribbled an IP address on a piece of paper. β€œCracking this box should pose you little difficulty, as its guardians are incompetent. Return and tell me what you find.”

The stranger bowed and left. Master Foo finished his meal.

Days passed, then months. The stranger was forgotten.

Years later, the stranger from the land of Woot returned.

β€œDamn you!” he said, β€œI cracked that box, and it was easy like you said. But I got busted by the FBI and thrown in jail.”

β€œGood,” said Master Foo. β€œYou are ready for the next lesson.” He scribbled an IP address on another piece of paper and handed it to the stranger.

β€œAre you crazy?” the stranger yelled. β€œAfter what I’ve been through, I’m never going to break into a computer again!”

Master Foo smiled. β€œHere,” he said, β€œis the beginning of wisdom.”

On hearing this, the stranger was enlightened.

spam WTF?!?

i’ve got a directory of addresses to report spam originating from certain domains. quite a few of these domains include an upstream domain (which, theoretically, is responsible for making sure the hosted domain doesn’t send spam) that is enom dot com.

just out of curiosity, i typed host enom.com into a terminal, and it gave me 98.124.253.221

then i typed dig -x 98.124.253.221 soa which told me that rightside.co is the SOA for that IP address. whois rightside.co gave me enom dot com, which uses nameservers provided by akam.net

rightside.co or The Rightside Group owns enom dot com, and a bunch of other registry-related web sites…

host akam.net returns nothing….

[email protected]:~$ host akam.net
[email protected]:~$

however, i have a sneaky way to get around things that return nothing in my terminal, and that is DomainTools dot com. they tell me that akam.com is owned by Akamai Technologies… the people who are responsible for serving between 15 and 30 percent of all web traffic…

so, to conclude, quite a number of the people behind the domains responsible for the spam i receive on a daily basis, ultimately, buy their server time from akamai technologies.

i’ve read that up to 80% of all internet traffic is spam, and it’s all coming from a company that serves between 15 and 30 percent of all web traffic…

how does that make ANY sense whatsoever?!? πŸ˜›

케첩

also, i am “in the cloud” now…

recently i bought a 2TB hard disk with NAS (from frys, for under $100!), which allows me to connect, literally, from anywhere. now i’ve got a place to keep my /home directory that’s accessible by ALL my computers and electronic devices but, conveniently, NOT accessible by anybody else (unless i, personally, make an account for that person), and, most significantly, is NOT owned by apple, microsoft, google, yahoo, dropbox, or any other corporate interests.

now, along with all the other stuff i have to do, i have to move my /home directory from both my linux box and my mac over to the cloud drive, and compact them, because a lot of the information from my /home directory is duplicated on both machines…

<sigh>…

it doesn’t seem like it was that long ago that i was terrifically impressed by the 4TB array i was working with, which had the capability to handle millions of individual email messages to thousands of different users… and it doesn’t seem like it was too much longer ago than that, when i was totally impressed with an 80MB external hard disk, which i likened to an “electronic black hole, into which i could toss files forever and never be able to fill”…

the 2TB drive sits on my bookshelf, with two other terabyte drives, one 2TB and one 1TB, surmounted by my router, which is about the same size as one of the drives…

snicker

i have owned ebeneezer dot net and ebeneezer dot org for many years… like “more than 12″… when i first bought ebeneezer dot net, ebeneezer dot com was owned by somebody else — it may have been Dr. Martin Luther King Jr.’s organisation, but i don’t remember — anyway, it was for sale, but i figured i didn’t need a “COMmercial” address for a church, so i turned down their offer of $5,000 to buy their domain.

a couple of years later, i noticed that ebeneezer dot org had become available, and i purchased that, as well, and moved my “dot net” domain to a domain — “dot org” — that was more suited for a church anyway. at that time, i noticed that “dot com” was also available, from the company that hosted it when it was in use. i still wasn’t interested in a commercial address, so i didn’t even bother looking up the price.

today, just for a laugh, i looked up ebeneezer dot com again. this is what i found:

ebeneezer dot com
Ebeneezer.com — The Leading Ebeneezer Site on the Net

dot com is now owned, apparently, by frank schilling. if his marketing department is to be believed, all i have to do is register “dot com” and the money will start pouring in… all i would have to do is pay frank schilling’s price… which, i guarantee is going to be a hell of a lot more than $5,000…

as the current, and past owner of dot net, and dot org, i sincerely doubt that is going to happen… even if i did have the unreasonable (given that i registered ebeneezer dot org, AND dot net for free 😐 ) price frank schilling is, undoubtedly, demanding for it.

also, it just occurred to me… it could very well be that the fact that i own dot net and dot org contributes to the fact that dot com is probably never going to be purchased by some upscale retailer or restaurant… i mean, who would want to be accidentally confused with this kind of nonsense… my name could be frank schilling’s curse… although, given that “His registry, domain marketplace operation and assorted name-holdings are estimated to be valued in the vicinity of $500 million”, i kinda doubt it.

i think i know too much EVER to be enticed into thinking that i can make money, solely by owning a piece of “property” on the internet. it may have been possible once (although i kind of wonder, even about those people who have made their fortunes on the net), but it’s certainly not possible any longer.

et cetera (and others)

i broke down and paid for a year of VPN service. now the IP address of my linux box is in stockholm, sweden, the IP address of my mac (which is in the same location) is in southhampton, england, and the IP address of my phone is in austin, texas. i imagine that this may present a bit of a problem when i log into the moisture festival artist’s WIFI, but i’ll deal with that as it happens, rather than worrying about it now.

i got an order for 50 boxes of aparajita from essence of the ages, which is run by what appears to be a “christian” woman. i don’t know why she’s buying incense from me (apart from the fact that i am the only vendor in the western hemisphere who sells what she wants to buy, and she has customers who want to buy what i have to sell) but i think it’s pretty amusing. the up side of it, for me, is that it makes the occasion of my buying my first incense from the actual distributor for sri satyanarayana parimala factory EVER, possible… 😎

the panto starts next week. we’re doing amazingly well. we had our first official, complete run-through last wednesday, and there are still two more rehearsals before we open. we’ve still got one more piece to learn before we open, but that’s pretty standard. and the shows have been selling out really quickly, which is really good.

my “old school” stereo system works exactly the way i was hoping it would, and tomorrow (or monday, at the latest) i plan on making a trip to pacific custom cabling to get another ⅛"-mini-stereo-to-stereo-RCA cable, and then both of my computers will be hooked up to it. for the first time EVER i will have a decent-quality stereo behind my attempts to compose music with reason and/or sibelius. what is the world coming to? πŸ˜‰

<blink>

the <blink> tag has been removed from the latest version of firefox (mozilla).

i wouldn’t have noticed it if it weren’t for the fact that i just used it the other day in a rare fit of rage against spammers…

i’m sure there are other, more correct ways to create the blink effect using CSS or something like that, and, because of the fact that <blink> was originally introduced as a netscape “extension” to HTML, i’ve never been particurlarly fond of it, but it was convenient, if nothing else…

truly geekworthy

so, you know what an escape sequence is, right? an escape sequence is a series of characters that you can type on a standard keyboard, which represent characters which cannot be typed from a standard keyboard. for most places in the first 255 ASCII character codes you can actually represent a character with either an escape sequence or a character entity. the escape sequence is the numerical value of the character, and the character entity is a word that describes the character. for example, the character Ð can be represented either with the escape sequence &#208; or with the character entity &ETH;

in the same way, i have found that by adding an x to the equation, you can represent the characters using the hexidecimal equivalant, thus &#208; can also be represented by &#xd0;

neet, huh? 😎 ॐቱ༊⊚⡺孻

so it begs the question… if you can represent characters in hex by adding x, what do you have to add to represent the characters in binary? presumably it would be the delimiters &# then something followed by the binary equivalent of 208 – which would be 11010000 – and then the end delimiter ;

but what? that’s what i wonder…

i have reasons for wondering this. i’ve found that even hexidecimal escape sequences are able to be read by spambots… but i’d be willing to bet that they haven’t cracked binary… yet… 😎