Thursday, May 7th, 2009

[Update] Allah Sulu's Massive Tool version 3.5.3

[info]allah_sulu
There is a new version of Allah_Sulu's Massive Tool available, which can be downloaded either in Windows installer format (setup.exe etc.; good for first-time installers but may not work with Windows 9x/Me) or as a simple ZIP archive of files which can be extracted into your existing Massive Tool directory over the current files (in either event, make sure that you are not running the Massive Tool while you're trying to install/extract the update!) New changes include:

  • The "Links" tab on the "Preferences…" screen (from the Edit menu) now contains data elements for entering and enabling proxy settings. Currently, this is only relevant for the "Update Icons/Tags" button on the "Post to LiveJournal…" window, the "Poll Results…" function on the LJ Menu, and some commands in the internal FORTH language that directly access the internet (such as the LJ Latest Images.RIM macro).
  • The "Reference Pages" tab on the "Preferences…" screen (from the Edit menu) has been removed. Some of the items from that tab have been relocated to the bottom of the "Links" tab, and the others have been eliminated. (To see all of the background graphics currently loaded into the Massive Tool, you must now run the Backgrounds.RIM macro.)
  • The "Images…" screen on the HTML menu now has the ability to create the code for my browser trick for you. There's a pull-down menu on the third line with "mouseover" as the default value; if you change that to the other option, "IE/FF layers", you'll be able to create the browser trick simply by entering the "IE URL" and "non-IE URL" values for the two images. Several of the other options on this screen are disabled when you're generating the latered image browser trick, but the others (such as "Alt/Title Tag" and "Border") are still available. Remember that both images should be the same size!
  • The "User Tags…" screen on the HTML menu has an additional option called "HSpace" (it's just to the left of "Height" and "Width"). This can be used to add one or more pixels of empty space to either side of the user icon, in cases where the icon is right up against characters on either side of it. For instance, in this post, I added an extra pixel to either side of the user icon for my sister since it didn't look good with the parenthesis right up against the left side. At some point in the not-so-distant past, I noticed that LiveJournal had started doing something similar to this, adding a blank pixel to the right of the user icon in between it and the user name – however, the method which they use to accomplish this doesn't work in Internet Explorer (unless they've fixed that in IE8); my method works in IE and in Firefox (and presumably in other browsers as well if it works for both of them). I also chose to add the extra pixel(s) to both sides of the icon, not just the right, for the reason given above. The default, of course, remains zero.
  • The "Alt/Title" field on the "User Tags…" screen has been renamed "Title Text", and is coded slightly differently.
  • The "Post to LiveJournal…" screen (from the LJ menu) now has a pull-down menu for the new pingback feature (although only Paid and Permanent accounts will actually recognize/support this feature).
  • Also on the "Post to LiveJournal…" screen: I don't think I've mentioned this before, although it's been a feature for a while; if you right-click on the "First Line" button next to the "Subject" field, the text in the subject field will be converted to Title Case.
  • The "Break at EOL" (that stands for "End of Line") option on the Window menu (and the toolbar) has been modified. Previously, it ignored blank lines and just put a <br> at the end of each nonblank line (that wasn't inside an HTML tag). Now, it will replace two (or more) carriage returns in a row with a <p> tag.
  • For the sake of consistency, I'm trying to get the Massive Tool to put quotation marks around all parameters (e.g. border="0" rather than border=0) – just as, in the past, I've made sure that all of the HTML tags are in lower case and provided the option to insert closing tags for HTML codes that don't normally require them (</p> et al.) This doesn't affect the functionality of the code generated; it merely makes it more consistent with some established standards… Although some sites (like LJ) can be fussy about code that isn't formatted "properly". Way back, I discovered that LJ doesn't consistently recognize hexadecimal color codes without a pound sign (#) in front of them (for backgrounds, for instance). And I just noticed now that Firefox doesn't render borders when the color is missing a pound sign – but has no problem with missing pound signs for text and background colors… Anyway, all hexadecimal color codes generated by the Massive Tool have had a pound sign ever since then; and I may have missed one or two, but I'm trying to enclose all of the parameters within quotes.
  • I've also sped up some of the code used by the internal FORTH language in such macros as the batch download, although the major limiting factors for that program are still your connection speed to the internet and the bandwidth of the site from which you are downloading.
  • There several new icons (including but not limited to the Doctors Who in Allah_Sulu.TMI and some more smilies in Dopple.TMI) and also a few new backgrounds.

There is no progress to report (yet) on increased DreamWidth compatibility, although I have done a bit more reading in the DW FAQs for relevant details. If anyone wants me to make this a higher priority, please say so.

(4 comments | Leave a comment)

Friday, March 6th, 2009

Son of a Batch

[info]allah_sulu

In this post I described the dl-images.rim macro that came with the previous version of the Massive Tool. A great deal of tweaking went into this function before it was even released, and the tweaking continues even afterwards. For instance, I mentioned in that post that LJ images (which include both avatars and scrapbook pictures) would not be recognized because of their lack of extensions (JPG, GIF, PNG, etc.) There are a few ways to grab all of the pictures off of a web site, but these are the two main methods:

  • Look for any URL that ends with a recognized images extension (JPG, GIF, PNG, etc.) and download it. This is the method that the first version of dl-images.rim used. The strength of this method is that you get all images that are linked from the page, not just the ones displayed. For instance, some pages only display thumbnails and you have to click on the smaller image to see the full-sized image (I mentioned in the original post that for some sites you'd get multiple images, the thumbnails and the full-sized versions). For the most part, this is the superior method.
  • However, an alternate method is to grab any url in an <img> tag and download it. This one will only get you the images displayed (see the thumbnail issue above) but it will also get you the extensionless images from LiveJournal pages.

Since each method has its strengths, I decided to have the new version of dl-images.rim do it both ways. However, that leaves you with another problem, in that you'll end up with some image files with no extension. Just as an example:

This is a LiveJournal avatar:
http://p-userpic.livejournal.com/50896982/659446
This is a scrapbook picture:
http://pics.livejournal.com/allah_sulu/pic/0001sy15

When you view and then right-click on LJ images to save them, the browser determines what extension to add for you – but if you really wanted to manually right-click and save every single image on a page, you wouldn't be using this macro. I recently had to download 84 GIFs (all from an LJ scrapbook and therefore without extensions) to string together into an animated GIF icon for Ray. The entire process (using the Massive Tool) took me under five minutes; it would have been a royal pain in the ass if I'd had to do it all manually.

By convenient happenstance, it turns out that I had already written a program (a small utility that ran from the DOS prompt) over a decade ago that's the answer to this problem. Back then, when I was downloading files from Usenet, I often ended up with some files with missing extensions (due to some people and/or programs being confused by the new long filename format that came with Windows 95, and/or the conversion of files between PC and Macintosh systems). I dug up that code, rolled it into the Massive Tool, and now you can access it via another macro named fix-ext.rim. When you run that macro and select a directory, it will test all of the extensionless files in that folder to see if any of them are in a recognized format (primarily images; I used to have it recognize more, but some of them are obsolete and/or not likely to be an issue). If it does recognize the format of the file, it will automatically add the appropriate extension.

(Leave a comment)

[Update] Allah Sulu's Massive Tool version 3.5.1

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

  • The Massive Tool now comes with a standard Windows setup.exe installer, so that it will extract all of the files and create a shortcut on your start menu for you. Just double-click on the setup.exe file. This should make installs and updates easier.
  • I added a "Count…" command to the Search menu. It simply tells you how many times a given text string appears in your document without making any changes. As with the "Find…" and "Replace…" commands, you can use the "Match Case" checkbox to turn case sensitivity on and off.
  • The "Date/Time…" option has been removed from the Insert menu. A macro with the identical function (named INSERT-DATETIME) can be found in commands.rim (see below).
  • I simplified the "Font Size" options on the HTML menu's "Font / Format…" screen. Now there are only two methods of selection rather than three – there is the pull-down menu (with sizes, superscripts, headline codes, etc.) and there is the numeric selector where you set the size based on a number and a unit of measure (pixels, point size, percentage, etc.) Any selection on the first option (the pull-down menu) overrides the second option (the numeric selection). To use the numeric selector, make sure that the pull-down menu to its left is empty (the top menu item). This is easier than having to click buttons to select which option is dominant, and the number of options was reduced by sticking the headline codes (which were a third, separate pull-down menu option) onto the bottom of the first pull-down.
  • The reason I did that was to make room on the "Font / Format…" screen for a new Font Stack option. When you click on the "Stack" checkbox, the two normal font controls (a button and a pull-down menu) are replaced with a single, wider pull-down menu. The menu contains a number of predefined font stacks (either from this page or created/modified by me), each of which starts with a short description (up to 15 alphanumeric characters) of the stack. Right now there are ten stacks available (evenly divided between serif and sans-serif selections, with monospace and unicode options), but you can add more using the "Add Font Stack" option on the "Font / Format…" screen's Edit menu.
  • The ability to select monospace font options through the generic font face pull-down menu or the font stack pull-down menu has made the the "proportional / fixed width" button redundant. I removed it from the "Font / Format…" screen (which made the other buttons, "boldface" et al., wider). If you want to do preformatted text, you can still stick in <pre> or <tt> tags manually, or access them through the "monospace" option on the Insert menu's "Paragraph…" screen (depending upon what choice you've selected for "monospc") on the "Document" tab of the "Preferences…" screen on the Edit menu).
  • The "Post to LiveJournal…" command on the LJ will now warn you if you attempt to exceed LiveJournal's maximum entry limit of 65,535 bytes. (Thanks to porridgebird and the_stowaway for that one.)
  • There's another function which I added an update or two ago, in my continuing effort to more fully tie the editor and macro language together, but hadn't mentioned yet because I was still tweaking it. Assuming you have the "Macros" toolbar enabled (Edit → "Preferences…" → "Program" tab), run the macro named "commands.rim" (Macros → "Run Macro…") and then right-click on the "Run Macro" toolbar button (it's the one with a light bulb in front of a folder). You'll see a pull-down menu appear (but only for ten seconds) listing the FORTH aliases currently defined in memory. (There are normally none when you start up the Massive Tool, but commands.rim holds several common, simple ones.) Selecting any of the aliases causes them to execute and the pull-down menu to disappear; selecting none of them causes the menu to disappear in ten seconds. This is a quicker and easier way of accessing functions such as "uppercase", "rot13", etc.
  • There are a few more icons in allah_sulu.tmi, and a bunch more backgrounds in the Massive Tool as well. There have also been additional upgrades to the macro language (new functions include finding the median and standard deviation of a list of numbers – if this is useful to you, let me know and I'll explain how to do it), and new, improved versions of dl-images.rim and search.rim (I added TVtropes.org – a highly addictive site, I warn you).

I haven't done anything else about proxies yet; but then, none of you have said that you were having any problems with them, so it's dropped down on my list of priorities.

(8 comments | Leave a comment)

Monday, February 23rd, 2009

Proxies

[info]allah_sulu

Almost all of the interaction that the Massive Tool has with the internet goes through a browser object (basically, the Windows interface to the internet, as defined in "Internet Options" (which is found both in the Windows Control Panel and on the Internet Explorer "Tools" menu). So, if you have to go through a proxy to get to the internet, and you've defined the proxy's address and port number in "Internet Options", then the Massive Tool will have no problem accessing the internet via those settings. (This is as opposed to other internet browsers/programs like Firefox, where you must also give them the proxy information before they can access the internet.)

I mention this because it was never an issue that grabbed my attention before; but recently, here in my office, we've had to add proxy settings to our browsers (I had to put the settings into both IE and Firefox) as my company added a new layer of protection to our network. For the most part, the Massive Tool was completely unaffected by this changeover. I say "for the most part" because there are a few places where the Massive Tool connects directly to the internet, without going through the Windows browser interface, and those operations will no longer work for me unless I provide the Massive Tool with my proxy settings. These are the functions which are affected:

  • "Open URL…" on the File menu downloads an URL directly into the Massive Tool without going through a browser object. This will not work if you require proxy settings to connect to the internet (although there are other ways around this).
  • On the "Post to LiveJournal…" window from the LJ Menu, the "Update Icons/Tags" operation connects directly to LJ to update your list of icons and tags. I may be able to rewrite this to go through the browser, removing the problem, but it may be less efficient that way.
  • The same applies to the "Poll Results…" function on the LJ Menu.
  • The "New Version?" check on the Help menu can very easily be reprogrammed to go through a browser object. In fact, I just finished doing that now, to test it out; so that will already be taken care of in the next version.
  • Finally, there are a number of different commands in the internal FORTH language that directly access the internet, many of which do not (and possibly can not, at least not easily) go through a browser object. The most obvious example is the procedure used by the batch download function to download files directly to your hard drive.

Has anyone else had a problem with this? As I said, I never even noticed the issue myself until they changed the configuration of my network connection at work. I think that it should be possible to rewrite most, if not all, of the Massive Tool commands to go straight through a browser object and thus use whatever proxy settings you've already entered for your internet connection; but to use some of the options in the FORTH language (directly or through the Macro files) you may need to provide it with proxy information. If this isn't a problem for anyone else then I'll just take of my settings, but not be in a rush to add configuration options for the rest of you via the Edit "Preferences…" screen.

(Leave a comment)

Sunday, January 11th, 2009

Name That Tune

[info]allah_sulu

Another thing I recently added to the Massive Tool, for no particular reasons other than that I had the time, couldn't sleep, and didn't see any reason not to, was the ability to play simple musical notes. The notes are defined by frequency and duration (see this chart for a listing of which frequencies correspond to which notes). In order to use this capability, you must make sure that your PC Speaker (to the far right of your Windows Volume Control panel, in all likelihood) is enabled and not muted.

If you run the notes.rim macro, it will load that table of notes into the Massive Tool's FORTH language (using durations based on simple 4:4 time). Once you've run that macro to load in the note definitions, go to the FORTH command line. If you don't have that enabled at the bottom of your screen, then hit F4 to open the interpreter window. Copy the text in the table below and paste it into the command line right next to the "Go" button, and then click on "Go".

G3w G3w G3w D#3h A#3h G3w D#3h A#3h G3w restq D4w D4w D4w D#4h A#3h G3w D#3h A#3h G3w restq

The letters "A" through "G", possibly followed by a "#" character, denote the note. A number from 0 to 8 immediately follows, indicating which octave the note belongs to. Finally, the letter "w", "h", or "q" defines the duration as either a whole, half, or quarter note (in 4:4 time, as I said earlier). Given some of the other chnges I made in the latest update, I could very easily make a sort of keyboard macro that you play in the Massive Tool and click on the keys you want to play … but I just haven't gotten around to it yet. Maybe in the next update.

(Leave a comment)

Batch Image Download

[info]allah_sulu

One of the new macros that comes with the latest Massive Tool update is called dl-images.rim, and is designed to download all of the images from a specified web page into a specified folder on your hard drive. When you execute the macro, the first thing you're prompted for is an URL. Paste in the URL of the latest thread from somewhere like 4chan.org (note that you'll get duplicate images, as the macro will download both the thumbnails displayed and the full-sized images they link to) or fark.com, or even your friends page (note that LJ avatars will not be recognized as images since they don't have .GIF, .JPG, or .PNG extensions) – any web page with images. Next, you'll be prompted to select a directory; this is where all of the images will be downloaded to. Once that's been accomplished, just sit back and wait. The amount of time that it takes to download all of the images will obviously vary depending upon the size and number of images, and how fast you're able to transfer data from the site (based on your connection speed and how busy the site's server is). For the download command, I disabled the normal FORTH error trapping routine, so that the batch download won't be halted if there's a problem downloading one of the images (which was happening when I tested this on fark.com). I've tried this out on a few different sites; obviously, I can't guarantee that it will work for all of them (especially if the images are actually being displayed by Flash code and/or are in other ways rigged to make downloads difficult, which is normal for some pay sites or just sites that don't want people easily taking their images) but if you have any problems, let me know.

EDIT: Note that the example links I gave above may contain NSFW content.

EDIT: Use this URL <http://www.livejournal.com/stats/latest-img.bml> to download the latest images posted to LiveJournal. The possible NSFW warning also applies here.

(4 comments | Leave a comment)

Tuesday, December 16th, 2008

My Macro Has A Bucket

[info]allah_sulu

Over the weekend, I created a new macro for the Massive Tool at devils_sidekick's request, which I have added to the download archive in case anyone else might find it useful. It's called PHOTOBUCKET.RIM, and what it does is take a Photobucket page like this¹ and generate HTML <table> code out of it for easy posting in LiveJournal, like this. )

Oh, and I also fulfilled evilgrins' request for an icon for his zombie community: Marvel Zombies. I'll be following up on this idea for a standalone program next.

¹I don't have a photobucket account of my own, so I selected the example page more-or-less at random.

(Leave a comment)

Friday, December 12th, 2008

What It Drag It Is Getting Code

[info]allah_sulu

Remember the Search macro I showed off with the previous Massive Tool update? Well, if you download yesterday's new update, you can check out another macro I've been playing with: DragMe.RIM.

To try it out, select "Run Macro…" from the Macros menu, and choose "DragMe.RIM". You'll be prompted to enter some text; I recommend "TOM MARVOLO RIDDLE". The Massive Tool will then create a document containing the text you entered, but each individual letter will be a separate, draggable object. Go ahead and try it – rearrange the letters to spell "I AM LORD VOLDEMORT". This is accomplished by using JavaScript to create a class named "dragme", and assigning that class to each individual latter via a separate <span> command. This code cannot be embedded into LiveJournal posts (LJ doesn't allow that sort of code); but you can create and save documents in the Massive Tool with this code, which can then be used in any browser.

It's not just limited to text, either. You can also apply the "dragme" class to images, and create a sort of Colorforms™ effect by dragging and placing images wherever you want them over a static backdrop. I've whipped up a quick example HERE – note that, as I said, you only need the Massive Tool to create the documents. Once finished, they can be uploaded or exchanged to be used on any browser. (One problem, though – the word balloons I included on the example page only seem to work properly under Internet Explorer. I haven't gotten Firefox to handle them correctly yet.)

(I had originally come across and customized similar code to this when I was working on my Icon Maker page. The first version of that page allowed you to drag and place the various pieces of icons together to construct your own custom user icons. Unfortunately, that didn't really work out well because the pieces were so darned small.)

My wife Q suggested that I create a standalone program, specifically designed to make it easy for anyone to construct their own Colorforms-esque documents, by providing the URLs and settings and letting the program do the rest. At the very least, parents could create some great customized computer toys for their kids this way (I plan on building a few for my son, mixing together his favorite shows/characters along with pictures of him and his friends). I also think I'll expand on the example given above, and make a page with images based upon myself and my LJ friends (and another for some other groups).

Poll #1314065 Colorforms
This poll is closed.
Open to: All, detailed results viewable to: All

Should I create a standalone program like that?

View Answers

Yes! I would have a lot of fun with that!
3 (100.0%)

Sure, I guess. I'm not interested, but some people might be.
0 (0.0%)

No, that's the dumbest idea you've had since the Mexican vodka.
0 (0.0%)

What double-entendre name should I give the program?

View Answers

(Leave a comment)

Tuesday, October 28th, 2008

Search Macro

[info]allah_sulu

If you download the latest version of the Massive Tool, it comes with a new macro I've recently developed: Search.RIM

This is how it works: highlight a word or phrase in your document, and then execute Search.RIM via the "Run Macro…" command on the Macros menu. You will be given a series of options (Amazon.com, Google, YouTube, etc.) to choose from. Once you've selected a search engine, that search wil be launched in your browser. This is useful if you like to find Wikipedia (or IMDb, etc.) links for things you cite in your posts, or want to find more information about the subject of your post.

I do that a lot, and I was tired of copying and pasting the key word or phrase from the Massive Tool into Firefox's search window. It just saves one step; but if you do that step a lot, it's a relief.

(11 comments | Leave a comment)

[Update] Allah Sulu's Massive Tool version 3.4.6

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

  • The "Replace…" window on the Search menu has a new option: "Fast Search/Replace". This speeds up the search and replace routine by deactivating the "Match Case (for Replace)" option, and by not counting how many replacements/deletions were performed. This option will probably only make a noticeable difference if you are working with a large document and/or will be making a great deal of replacements/deletions. As a side benefit, however, Fast Search/Replace operations can be Undone by closing the "Replace…" window and either pressing Ctrl-Z or selecting "Undo" from the Edit menu. Previously, none of the search and replace operations could be undone.
  • The "Lists…" window on the HTML menu has more formatting options for the "Table (Two Columns)" list.
  • The "User Tags…" window on the HTML menu has been made wider, for increased visibility of icons with long descriptive names, as has the selection screen (used when selecting which icons to load from an icon file, or which icons to include on a Reference Page).
  • The "Create Poll…" window on the LJ menu only displays four questions at a time, with navigation buttons to allow access to all sixteen possible questions. Trying to put all of them on one screen just made it too big and unwieldy.
  • The program has gotten a little smaller and faster, as I'm continuing to find places where I can tighten up the code to eliminate redundancy and make it more efficient (I reduced the executable's size by about 10%).
  • As usual, there are more icons and backgrounds, and expansions to the built-in programming language.
(2 comments | Leave a comment)

Friday, August 15th, 2008

[Update] Allah Sulu's Massive Tool version 3.4.5

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

  • The LJ menu has a new option, "Poll Results…" (described here). Some of the other elements on the LJ menu have been renamed or reordered (for instance, the old "LJ Poll…" option is now called "Create Poll…" to distinguish it from the "Poll Results…" option).
  • Also, in another Poll-related update, you can now get a rough approximation of what your poll will look like if you have <lj-poll> codes in your text and you turn on the "Display LJ Tags" option on the LJ menu. It is, as I said, pretty rough (since a more accurate preview would have required more code and significantly slowed down the preview window¹); but it's better than the Preview option on LJ's posting screen, which doesn't do anything with the <lj-poll> codes at all. (A much more accurate poll preview is available within the "Create Poll…" screen.)
  • You're probably sick of hearing about the differences between the <nobr> and <span style="white-space: nowrap;"> codes; so now you can simply select both on the Edit → "Preferences…" → "Document" tab. I figured that was only fair, since the HTML → "User Tags…" code is already using both because of the inherent differences and advantages.
  • There is a new option on the Window menu (with an associated toolbar button) called "BBCode". This allows you to work in Bulletin Board Code and have the Massive Tool's preview pane properly display the results. (The functionality of these codes vary from forum to forum, so I included just the basic set outlined in the Wikipedia entry.) Also, just as with the Wikipedia Code toolbar button, if you right-click on the BBCode button it will convert the codes in your text entry window from BBCode to HTML.
  • As discussed here, I've added a Title Case function to the Massive Tool. One way to access it is with the TitleCase.rim macro file.
  • As usual, there are more icons and backgrounds. Also, I've added instructions to the Reference Page.

¹The display in the HTML Preview window is updated every time you press a key or change the text entry window in any other way, so it behooves to not make the update process too complex. In fact, I simplified and sped up some of the other options for modifying the Preview display (see the Window menu) in this version of the Massive Tool.

(4 comments | Leave a comment)

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 should I 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)