Friday, July 18th, 2008

Well, In That Case...

[info]allah_sulu

Two of the text-conversion functions built into the Massive Tool are "uppercase" and "lowercase". (You can access them through the uppercase.rim and lowercase.rim macro files that come with the Tool.) Of course, I couldn't just use the uppercase() and lowercase() string functions built into Delphi; oh no, that would have been too easy. I wrote custom functions which were designed to (a) ignore HTML tags between < > symbols, since some parts of HTML (URLs, in particular) are case-sensitive, and (b) recognize and convert ampersand codes for accented letters. Below is an example of a block of code, both before and after the uppercase.rim macro has been applied. Note that the only text which was affected was the text outside of the < > brackets, and note also that the accented é was also converted to uppercase:

BEFORE:Les Misérables<a href="http://en.wikipedia.org/wiki/Les_Mis%C3%A9rables_(musical)">Les Mis&eacute;rables</a>
AFTER:LES MISÉRABLES<a href="http://en.wikipedia.org/wiki/Les_Mis%C3%A9rables_(musical)">LES MIS&Eacute;RABLES</a>

Of interest to possibly no one else but me, I'm adding a "title case" function to the next release of the Massive Tool. Title case is what I generally use for the subjects of all of my posts – it means that Every Word Is Capitalized. As with so many other things, I figure "Why I should keep doing this manually, when I can just get the Tool to do it for me?"

(Leave a comment)

Wednesday, July 2nd, 2008

[Update] Allah Sulu's Massive Tool version 3.4.4

[info]allah_sulu
There's a new version of Allah Sulu's Massive Tool available for download. New changes include:

  • I added a line on the "Properties" window (from the FILE menu) listing the number of lines in the document. This value may change depending upon whether or not you have "Word Wrap" (on the WINDOW menu) enabled.
  • There is a new command on the EDIT menu, "Paste Special". Use this if you want to paste Unicode text (such as this) into the Massive Tool. The Unicode characters will be converted into ampersand tags. This command will also strip control characters (such as tabs) out of the pasted text, and correct for line breaks that aren't in the CR-LF format. The "Paste Special" function can also be activated by right-clicking on the Paste button on the Edit toolbar.
  • There are two new buttons on the Edit toolbar with arrows on them. If you click on the up arrow, it moves the cursor to the top of the document; and if you right-click on it, it selects all text from the top of the document to the current cursor/selection location (the latter is functionally identical to the "Select to Top" command on the EDIT menu). If you click on the down arrow, it moves the cursor to the end of the document; and if you right-click on it, it selects all text from the current cursor/selection location to the end of the document (the latter is functionally identical to the "Select to End" command on the EDIT menu).
  • Updated the "Find…" and "Replace…" commands from the SEARCH menu. I don't know if any of you ever edit megabyte-sized files in the Massive Tool; but I do, and some search-and-replace operations can take forever. Every now and then I manage to tighten them up a bit more.
  • I've added new functionality to the "Horizontal Rule" screen on the INSERT menu. In addition to creating <hr> tags, the Massive Tool can create simulated horizontal rules using <table> tags with background images, allowing you to have patterns, animation, and so forth in your dividers.
  • The "Images" window (from the HTML menu) has a new control – a sliding bar that lets you set the opacity/transparency of the image (see this post for more information).
  • There's a new option on the MACROS menu which provides a "Command Line" at the bottom of the screen.
  • I've changed the format of the reference pages generated by the Massive Tool (see this post for more information).
  • I corrected some minor issues (I won't call them bugs, because they're not all my fault) with the userpic names (loaded on the "Post to LiveJournal" screen) because they got confused by apostrophes and ampersands (I'll keep an eye out for other characters it might have difficulty with) and with the code for lists (which didn't work properly in someone else's journal because of their style, for some godforsaken reason. I know LiveJournal was the culprit, because as soon as I added ?style=mine to the URL, the problem went away).
  • As usual, there are more icons and backgrounds (including Q*Bert), and the internal scripting language has undergone a major revamping – many of the old macros won't work anymore, since I've changed many commands to make the whole more logical and consistent; but I've updated the macros that I include with the Massive Tool, and I can help with any others that may or may not exist out there.
(2 comments | Leave a comment)

Wednesday, June 18th, 2008

Firefox 3

[info]allah_sulu

Like the sheep that I am, I was part of the herd that downloaded the new version of Firefox yesterday. Then again, it was something I would have done anyway, since I've tested out a couple of the Firefox 3 Beta versions (without installing them over the Firefox 2.xxx that was my primary browser) already, and I prefer Firefox over IE for most applications. Anyway, if any of you also made it through the unprepared and overloaded servers to download Firefox 3 yesterday, here's an easter egg for you. Type the following into the address bar…

about:robots

Over the years, I've discovered a number of ways that Firefox and IE handle HTML/CSS differently, and not always to Firefox's benefit. I'm going through the tagged entries in this community about browser differences now, and it appears that Firefox has fixed one of them: Firefox 3 appears to be handling nested <marquee>s correctly now. However, it still isn't rendering nested borders properly, nor does it support compact definition lists – but I already have a workaround in the Massive Tool for that issue (simulated compact definition lists using <table> codes). So far, it doesn't look like I need to change anything in the Tool based on changes to Firefox, which is a good thing (since I'm busy enough re-arranging most of the innards of the built-in scripting language).

EDIT: OK, for those of you who don't yet have/want Firefox 3, here's what you see:

Easter Egg Spoiler )

(Leave a comment)

Monday, March 24th, 2008

[Update] Allah Sulu's Massive Tool version 3.4.2

[info]allah_sulu
There's a new version of Allah Sulu's Massive Tool available for download. New changes include:

  • Beneath "Open File…" command on the File menu is a new option, "Open URL…" This will allow you to open a web page directly into the Massive Tool for viewing or editing. It can also be used to open a directory, such as http://www.holyducttape.com/stuff/asmt-icons/, to easily peruse some or all of the files within (by using the "Open Links" command on the Window menu; more on that below).
  • There have been two changes related to the Edit menu. First, the Edit Toolbar has a new button (bearing a red asterisk) which will activate the "Select All" function (or, if you right-click it, will activate the "Select a Line" function, which was just added in the last update). Opening the "Preferences…" screen from the Edit menu will reveal a new tab for customizing the "Open Links" command on the Window menu – when you use that option now to simultaneously open all of the links in a document (or in the section of the document that you have selected), you can specify where the links are to be opened (into separate tabs in Firefox seems to be the best choice, at least for me).
  • The LJ user tag code created by both the "User Tags…" command on the HTML menu (and associated toolbar button) and from the Reference Pages has been expanded. I was torn in past as to whether I should use <nobr> or <span style="white-space: nowrap;"> tags around the user tags to try to keep the icons and usernames together on the same line, as each has its advantages and disadvantages. <nobr> is smaller, but for whatever reason is not supported by Firefox. The other method, however, doesn't work on LJ's User Profile pages; since LJ removes the CSS "style" commands from the HTML you post in your bio (leaving only "<span>" behind). After using one, and then the other, I decided to simply go with both henceforth. This means that you should be pretty much covered in your journal posts (unless there's some wacky S2 style which also strips out the CSS from the user tag), but you may be out of luck viewing a bio page in Firefox.
  • The "Post to LiveJournal…" screen on the LJ menu has been further expanded. In addition to the list of accounts that you can post from, you can also store a list of communities to post to. All other options for posting are made available to you, although some of them (like the Userpic selection) require you to enter your password in order to post with them. If you don't enter your password, this option works as it did before, sending all of your selections into the LJ post screen. If you do provide a password, then the Massive Tool can post directly to LJ without the need of using that intermediary screen. There is also a button which will read the list of icons and tags associated with a user or community into the Tool, to allow you to select them from before posting. (A few words on the passwords: the passwords are encrypted before they are used, or saved if you press the floppy disc button next to that field. According to LJ, this method of encryption is "Not perfectly secure, but defeats the most simple of network sniffers." In other words, don't use this method when you're unsure of the safety of your connection. I use the password for posting sometimes from home or work, but not on other people's systems and definitely not over wireless from my laptop. The most secure method of posting to LJ is with "challenge-response authentication", which I should be able to include in a future Massive Tool update. If you do save the passwords, they are saved in your ASMT.TXT file. Do not let anyone else get access to that file or they can use it via the Massive Tool to post under your name – so you also want to be sure of the sanctity of any machines that you save your password to. This is a useful option, but necessarily the best one in all circumstances.)
  • Also on the LJ menu is the "LJ User / Links…" screen which allows you to generate a number of different user-based LJ URLs. I have added the new "Send a Message" URL to the list of options, but I have not added the "Flag Journal" URL (for philosophical reasons).
  • I have updated many of the .RIM macro files, which you can execute with the "Run Macro..." command on the Macro menu. Some of them no longer functioned correctly given the constant changes and expansions I'm making to the scripting language, and others have been made better by the inclusion of new features in the language. Most of the macros function on whatever text you have selected when you run them (or your entire document if no text is selected) and perform various functions. I don't know how much (if at all) any of you employ the macros; but some of them are fairly easy to modify (and even have comments explaining how they work) if anyone wants to look "under the hood" (for instance, if you really wanted a blink command, you could make one very easily by modifying the overstrike.rim macro. Another macro to look at, if you want to see some of the things the Massive Tool's scripting language can accomplish, is quotes.rim.
  • A number of minor changes have been made to the Window menu. The "Tile" option has been changed to "Tile Horizontally", and a new "Tile Vertically" option has been added. (I generally use the Massive Tool with the Text and HTML Preview panes tiled, Text on top; but my new monitor at work is a 1920x1200 resolution widescreen monitor, so I figured I might want to tile the two panes side-by-side for some uses.) "Close Links" has been changed to "Close Internal Panes" to be more consistent with the choices listed on the Preference tab described in the second bullet above (since not all links are opened into internal panes); also, not all internal panes are from opened links (some are from the "Post to LiveJournal…" command). Finally, I added a "Reload / Refresh" option, which can also be activated by pressing F5 (which is the IE Refresh key; I couldn't assign the Firefox Reload key, Ctrl-R, because that's being used elsewhere).
  • There are, as usual, more backgrounds included in ASMT.INI and more icons in ALLAH_SULU.TMI – however, I have not yet made usericons of the Village People.
(Leave a comment)

Wednesday, August 1st, 2007

Quick question...

[info]nixchan
First off your massive tool is making my life so much easier...^^

Anyway, I'm having problems with the profile page of the community I'm setting up. In ASMT the table I'm creating looks fine - I'm wanting it to have a background colour - but on the user info for the community it is just coming up black and white. My only thought is that it is a basic account, possibly.

I'm kind of new to this stuff, any help would be muchly appreciated ^^
(6 comments | Leave a comment)

Friday, March 2nd, 2007

Because It's Been A While

[info]allah_sulu

I just uploaded the latest version (3.3.5) of Massive Tool. For the most part, there are just a few months of minor enhancements, bug fixes, and additional icons … But I did some major work on expanding the built-in macro scripting language.¹ There's a new macro named pretzel.rim that shows off some of the new functionality; just run it and enter some text when prompted.²

¹ I don't know if anyone other than me writes macros in the Massive Tool, but I know that some of you run them.
² I did not create those character graphics; I just made the macro as an example for someone.

(6 comments | Leave a comment)

Wednesday, March 29th, 2006

Translation - Another Use For The Massive Tool

[info]allah_sulu
I'm sure many of you are familiar with sites like Gizoogle, that translate text into "Jive" or other slangs (the Dialectizer has eight variants, including "Pig Latin" and "Swedish Chef"). Since those translators are, for the most part, merely a series of search-and-replace operations, I recently realized (while in conversation with Shalafi49) that the Massive Tool can do something similar with a macro – convert the text in the Tool, according to predetermined rules, before it is posted. All one needs to do for a basic translator is create a text file (with a .4th or .rim extension) defining the terms for the search-and-replace operations. For example, the following macro will turn all instances of "Brad" into "Asshole" and all instances of "Janet" into "Slut":
[Brad] [Asshole] replaceall
[Janet] [Slut] replaceall

(Sorry, but the Rocky Horror references were the first things to pop into my head for use as an example). Once you have that macro created, you can execute it upon the text in the Tool at any time by running it from the "Macro" menu. Advanced ) Just something we're playing with, that you might also find useful or amusing...

(11 comments | Leave a comment)

Wednesday, February 1st, 2006

RPN-Interpreted Macros

[info]allah_sulu

I've included in Allah Sulu's Massive Tool a scripting language for the creation of macros. It's an RPN (Reverse Polish Notation) interpreter based on the Forth language. (Back in college, I wrote part of a Forth interpreter for fun on a DEC VAX system; I saved the source code and ported it to the PC years back. Rather than make something new from scratch, I used this as the basis for scripting in the Massive Tool.) If you download the latest version of Allah Sulu's Massive Tool, you'll find some sample RIM files included; some of which have helpful comments so that you can easily modify them for your own purposes. For instance, one of the macros (Overstrike.RIM) will apply HTML tags to the beginning and end of a selected block of text to create the overstrike effect; you could modify this script to apply any other tag(s) you'd like to automate the inclusion of. The most recently-executed macros will be listed on the "Macros" menu, for ease of selecting those you commonly use. Some functions which were formerly included in the Massive Tool (like ROT-13) are now accessed through macros.

(3 comments | Leave a comment)