An IDE Without A Victim Class: Eclipse

I’d been following this thing awhile from afar; I knew IBM turned it loose to the caring feeling open-source community with its own foundation or something, and I’ve actually downloaded it and now installed it twice (perhaps third time’s the charm?). ... There was always something screwy, and finally I broke down and got a password so I could check-out the newsgroups — and Shezam! ... Just reading the topics explained everything....

The Past

I’ve used Borland IDEs for years to write software the EZ way: from the original Turbo Pascal through today’s poor faltering Delphi, the IDE is a single environment in which one may write and debug, and — since Visual Basic and Delphi — design the visual presentation. ... Of course Microsoft tagged-along, and now is ever so gradually putting Borland in the ground, most recently with the cheapo “Express” versions of the NET IDEs (but then Borland already abandoned the individual programmer for giant faceless corporations long ago). ... All these IDEs have a “victim” class, i.e. me: the user. ... We pay the freight, and the publisher collects the fare, along with third parties who sell add-on gadgets.

The Brave New World

But as it turns-out, apparently Eclipse has no users. ... All the newsgroups were about adding components and features to the IDE; there were no discussion of using it! ... And actually, if I had bothered to read the various Eclipse documents, it is what they wrote:

    Eclipse is a kind of universal tool platform — an open extensible IDE for anything and nothing in particular.

Cool, eh? I must’ve missed that in the 10,000 magazine articles....

... In theory, you can write Java in the basic Eclipse “SDK” and, oh so wonderfully, the whole thing itself is written in Java with a visual interface you can reuse in your own projects! ... But I bet the Eclipsoids don’t actually rely on the IDE for their Java — at least judging by my brief experience (but see below for later developments). ... The funniest part was when the cute little “cheat sheet” help thing advised me to add this string to the VM parameters so I could actually compile the “Hello World” basic app:

    -Djava.library.path=${system:ECLIPSE_HOME}
    /plugins/org.eclipse.swt.${system:WS}_3.0.0/
    os/${system:OS}/${system:ARCH}

but without the line breaks. The cheat sheet of course had line breaks, but best of all, I couldn’t copy from it! Yes I actually had to type it in with my fingers, peering at the screen! ... And they say programming is all intellectual la-dee-da! ... Finally, the cheat sheet was wrong; it uses mumbo-jumbo macros for everything on earth except the version — which should’ve been 3.0.1! ... So I’ve got to suspect user issues have not been intensively-addressed in Eclipse — which makes sense, since only IDE developers actually do anything with it! ... Well, then again ...

... Oh Owen Come On! ... Give the Kids a Chance!

Time passes and Eclipse got much better! ... Version 3.2 from a British 2/07 magazine DVD is actually functional! ... I don’t want to get all giddy here, but I installed it and did the “hello world” example with absolutely no nonsense! ... If you’re looking to investigate Java, Eclipse is probably a good bet.

(... In contrast, I tried Sun’s “Creator” offering at the same time, and it was strange and hostile. The new project choices for instance were limited to “web” or something, i.e. they were flogging their server offerings, and there was no obvious way to create a HelloWorld command-line program; they wanted me to create a HelloWorld web page. ... Which I couldn’t since their servers and things just sulked...)

— the feckless programmer
Friday, September 14, 2007 3:40 pm

Delphi 5 versus XP’s ntdll.DbgBreakPoint

Delphi 5 is really the last working version; Delphi 4 was not a happy thing, and while Delphi 6 and 7 have numerous features, including a workalike Linux “Kylix” version, Delphi 5 has fewer quirks and generally behaves better. ... Anyway, it’s what I use for the odd Windows utility, but in the Integrated Development Environment (IDE) in Windows XP, with some of my programs, when the program starts it breakpoints in an assembly-language Window at a “ret” instruction which, further inspection reveals, is like (your addresses may vary):

    ntll.DbgBreakPoint:
    7C901230 int 3
    7C901231 ret

After the initial horror, it’s really quite harmless; just press F9 and be on your way — a minor annoyance is the assembly window stays open until you close it. But you can stop it by including some code — courtesy of a kindly german “Matze” — in your project, and this is it in a zip; see the comment in main.pas for what instructions I can offer.

Note again the program you’re creating in Delphi runs fine by itself without any tinkering; the silly breakpoint only occurs in the IDE. ...

— Wednesday, April 6, 2005 6:51 pm


The Stereopticon’s Time Has Come!

I mean, really, we have the cameras, we have the printers, we have the software, ’n’ everything’s so cheap ’n’ EZ — so why is the world not exploding with new-age stereopticon pictures? ... I certainly can’t think of a reasonable excuse. ... So get to it, world! The delay is unforgivable....

... And oh it says here somewhere that referring to this instrument as a “stereopticon” is “a common misnomer”. ... But since I wrote that, the Great Wikipedia changed its collective mind, as it will; still a good article, with pictures....

— Wednesday, September 14, 2005 4:04 pm


JG32: My Own Private RS232 Program

And yours too. ... If you have some version of Delphi that can compile it, it comes with source (Delphi version 5). Source for an RS232 DLL, which I hacked from the admiral Howe code, is also included (C++Builder version 5)....

Also known as a “terminal emulator”, I wrote JG32 so I could talk to my ancient PROMPRO7 (1984) Eprom burner; which, since I set my ChipMaster 2000 on fire (1985? — that’s when I got it; I set it on a fire relatively recently), is the only thing in the Computer Attic that’ll burn an 8749, an obsolete microcontroller.

And of course RS232 itself is mostly obsolete. ... As am I, for that matter. ... But here it is, and maybe you can talk to some old RS232 junk with it....

— the prom burners of fire programmer
Monday, July 7, 2008 6:42 pm

The Proxies! The Proxies!

Well specifically FreeProxy and Proxy+. ... The latter limits you to three connections — unless you pay the fellow $300! — and the former, although it supports unlimited connections, doesn’t work anymore. ... The beat goes on....

... I was sitting in my little computer zoo, basically a bunch of PCs connected together with CAT5 cable and ethernet switches. Many of the XP machines have USB wireless adaptors and get on the internet through the FIOS wireless router downstairs, and some have a proxy installed on them. ... The differently-abled machines — the Windows 98, the odd Linux — connect to the internet by using the address of one of the XP/wireless/proxy machines in the browser’s proxy setup. ... So it was a cold and sunny day (“spring” the calendar said); I was carelessly installing the free Ashampoo firewall, replacing the increasingly cranky ZoneAlarm....

Whereupon the FreeProxy server I had on that XP machine ceased to function. ... Previously, upon the advent of my FIOS broadband I had reverted FreeProxy from its 3.92 version which had stopped working to 3.81 which seemed to work more-or-less OK. but then it — and all the other “backup” FreeProxies which I thought were working — ceased. ... Like a Philip K. Dick story, they keeled over simultaneously while a UPS went into squealing death after a power-flicker.

Which way they go?

I still don’t really know what happened; maybe XP updated itself, but in the morning I used the proxy and then it was gone! ... It felt terrible, like I was suddenly deprived of my super powers and left whimpering in the corner, a mere mortal user! ... I uninstalled the Ashampoo firewall; I reverted the XP machine. Nada; it was over. ... FreeProxy proxied no more....

Proxy+

So I moved on to Proxy+, which has its crochets. ... Indeed, I knew it before; in the interval since then I believe the free version got another connection and in the same period my community of connectionless W98 computers dwindled, so today it’s a plausible match and in any case I am without choice. ... Communication is not the fellow’s strong point; the latest version defaults to “no connection” and if you read the help, which seems to be in English but is still totally opaque, you are doomed....

So you install the thing and run it. Then you use a browser on the same machine and goto http://10.1.1.19:4400/ — if the command-line “ipconfig” suggests “10.1.1.19” is the address of your machine. ... Of course I use numeric addresses here in the attic. ... Anyway the idea is “http://<your address>:4400/ and then you flawlessly get the administrator screen....

Then, the secret to make it work is to set “Security / Secure Interface” to the range of addresses of your LAN (i.e., the machines you want to connect to the innernet from) something like “10.1.1.1-10.1.1.254” as shown in the illustration. ... Also set “Secure Clients” to the same numbers. ... The “help” has an enormous amount of nonsense about very clever things in the “Access List” — ignore that completely. ... Unless, unlike me, you know what you’re doing....

... I also went to “Proxies / General” and changed the “HTTP Proxy” “port” from whatever it was to 8080, just so I wouldn’t have to change the port in my pitiful little browsers....

Finally remember to stop and start Proxy+ to make it “see” this stuff. ... I think. ... And presumably put a link in a startup folder so it starts with the machine. It claims to have a “service” version but I’m staying away from proxy sophistication; clean and simple for me. ... And I’m installing it on three machines....

What It All Means

Unlike you and other rational beings, I still have a few Windows 98 machines. ... Numerous XP machines — and my imini! — are connected to the internet through wireless gadgets and the FIOS router downstairs; the Windows 98 machines, and miscellaneous Linux junk, connect through a proxy because W98 and Linux are too stupid to use wireless....

In the W98 and Linux systems, I configure Firefox the Browser to use a “manual” proxy, specifying its address as whatever machine Proxy+ is running on, and the port as 8080 (which is what I set the proxy to). ... And then google works again, even in benighted W98 / Linux.

... Windows proxy software was never plentiful but its days are probably numbered since everybody’s computer connects to the innernet through a wireless router, a kind of proxy (some of which are actually running Linux). ... And apparently significantly superior to the proxies I have known....

— the autumnal programmer
Thursday, December 11, 2008 2:00 pm

Today I Am a Macintosh Programmer: IPW, my Mac Password Program

The beautiful Macintosh comes with the “keychain” or something utility, and the modern web browsers fall over themselves to help you save your passwords — but that stuff makes me itch. ... I want a program that remembers my passwords when I tell it to, and lets me copy/paste them where I want. ... And even back up the files it uses, if I want! ... Like my windows program jgopw!

... So I wrote one! “IPW”: for whatever-I-stands-for (ipod iphone etc.) PassWord program! ... Not as good as jgopw, basically because the Mac doesn’t have my tattered but beloved Delphi, but still not bad and better than anything else I found for free when I looked for minutes and minutes. ... Among its startling features: you can put something like “http://www.google.com” in the URL/exec field, and then just click the little button to start your browser there! ... Even without a stinking password!

And Now — With Source!

Completely free of charge today only, IPW comes with complete BSD-licensed source! ... Change it, use it, abuse it! ... Learn to Program in Macintosh Xcode in 21 Minutes! ... Actually better than Xcode; with my feral geezer-programmer cunning I wrote most of IPW in C++, and just what I had to in the amazing Objective-C that Xcode favors — but in this case, OC++! (Note that by default IPW saves your passwords in clear ASCII any terrorist can read; see discussion at Why It Stinks.)

... So be up-to-date, save your passwords — throw away those post-it notes! — and see the inner secrets of Xcode! ... All here, absolutely free! ... Download to it your Mac desktop (or your download folder, or wherever it goes these days), double-click the thing, and drag the IPW icon to your Applications directory! ... When you run it, there’s a three-panel help thing with endless information about the program, its features, and my most personal hopes and dreams! (For the source, you right/control-click the IPW icon, “Show Package Contents”, click the disclosure triangle or something, and “ipwsrc.zip” should be right there; the “stories” help also has info.) ... It’s free free FREE! ... This offer may not last! ... IPW was written on my Intel mini with X10 version 10.4.9, but the NIB compatibility checker thing claims it’ll work in 10.3! ... And it might! ... Possibly even on a Power PC! ... And even in Leopard! ... More than once!

The Friday, June 8, 2007 10:51 am version tf7 has the all-new “locate” function so I can search my endless pasword records, implemented with my amazing iquery. ... Monday, June 11, 2007 11:10 am. Version tfa has various improvements including all-new cute RTFD help files! ... With pictures! ... Thursday, June 14, 2007 4:03 pm Version tfd: the Final Perfected IPW, with Rijmen / Bosselaers / Barreto public domain Rijndael (pronounced “rain doll”?!) AES source! ... Well now really the final perfect Thursday, July 26, 2007 5:02 pm tgq with “clips” feature and so much more; like the clip function (clips, clip button, et al) works often! ... (However note that a previous version tg9 was bad, and should be replaced.) ... And now only, an Owen Labs First: an Xcode Objective-C “Rosetta stone” — an actual graphic and text (see ipwbuts.png/ipwbuts.txt in the source) of the buttons and things and what they connect-to in the source. ... Not found in any other star system!

+ Delphi “InputQuery” in Xcode!

My precious antique Delphi environment provides, at least in version 5, an InputQuery function that

  1. Presents a little window to the user, with a prompt/question.
  2. Provides a box the user can type in.
  3. Provides buttons the user can click to dismiss the little window.

Together these allow a program to ask the user a question and get an answer! ... I actually came across a pilgrim on the web asking the Macintoshers how to do the Delphi InputQuery in Xcode, and the snooty know-it-all guru replied that (1.) why would you want do that!?, and (2.) there are all kinds of easy ways to do it, but he wouldn’t actually present an example because he’s so smart. ... But I’m not that smart; my IPW source includes my “iquery” code which, while not as simple as Delphi’s InputQuery, is as simple as I could get it; see, mostly, gpw.mm in the source with its numerous comments and complaints. ... It’s not as simple as it ought to be because I first wrote the password query code without figuring out iquery — and because the Macintosh still requires a callback. ... But if you, wandering pilgrim, still crave an InputQuery in Xcode — use the source. (I suppose I should confess that while contriving my inputquery graphic up there, various Windows things fell-over once or twice....)

Dire Threats

... Oh I see I’ve neglected to threaten the user; I now officially include the obligatory warning that IPW is guaranteed to turn your entire earthly if not spiritual existence, and that of your friends acquaintances and pets, into a sterile glass-like desert that will glow in the dark! ... It is free and I bear no liability — but will of course derive a sickly pleasure from your problems....

An Actual Real-World IPW Application!

It’s sadly true that I don’t actually use IPW that much; I think I keep my Apple Dev password in it, but even there I usually visit AppDev on a Windows machine (every year whether I need to or not). ... But then, over at the Match Museum this Lileks fellow has collected far more match books than most would countenance, much less laboriously scan and put on the internet. ... I, of course, am going through them one-by-one, but despite his obvious talents the fellow’s color schemes don’t work so good in Windows, favoring strangely the wimpy pastels of the Mac, of which he is a pitiful aficionado. To the point that at least a few of the match book images are in total darkovision — except on the Mac, where everything looks fine. ... I was fiddling with a custom color setup and all, but then I asked myself, in a blinding flash of insight: I have a perfectly functional imini; why not use that?!?! ... The answer, of course, is that in Windows I have all these clever macros and stuff that’ll shoot me over to the match book I left off at — mortals cannot view all the match books in a day — from the entry in my ascii journal thingey. ... But I can’t do that on the mini; at least not without weeks of work which, to be sure, I’ve already invested on the Windows rendition over the weary years. ... But IPW came to the rescue! IPW can do it! I just put the address of my most recent visit, like http:// www.lileks.com/ match/ gallery/ 185.html, into the URL field of my IPW Lileks record, and then a click of the tiny URL button starts-up the browser at the page! When I must leave the match books — for sleep hunger deluge fire war etc. — I simply paste the new page into the field; or, actually, just edit the number part of the field. ... It’s almost as easy as the Windows nonsense! ... For me, I suppose....

Naturally now that I actually used IPW for a little bit, I found a few stupid bugs which I’ll fix someday when the demand grows to overwhelming proportions. ... That is, when I get annoyed-enough; which, since I finished Lileks matchbooks, may not happen for awhile. ... Although now I’ve wandered onto the rest of his site, still using the imini of course, and it’s all really quite fascinating; at least for the terminally-past-obsessed....

The Web isn’t fast-enough: get some Ajax

“Web 2.0” and Ajax are really side-effects of the recent widespread adoption of high-speed internet access across our fair land. ... For years they told us the web would work great once we got rid of our childish amateur-night modems. ... It’s an example of the “scam penetration” effect I’ve noticed, when some wonderful thing becomes generally discredited when enough consumers have actually experienced the thing, as opposed to lying scammy media hype. ... Whereupon we all move on to the next thing....

Which, in this case, is Ajax aka Web 2.0. The web was supposed to be, at least eventually, fast-enough so the round-trip to the server would be unnoticeable, requiring at most some kind of anti-flicker trickery in the browsers. But sadly reality didn’t conform, so now they’ve fundamentally hacked the browser model, adding asynchronous trickery + totally spaghetti weirdo programming so we won’t update the entire page, and instead just transfer little dribbles of data when it’s appropriate. ... Which hides the annoying hesitations of the web: when we want to zoom on the wonderful Google maps, it can still take forever, but at least now we’re not staring at the entire page stopped at the 2nd letter of the headline while it happens....

... Of course, if we can just get those hyperspace modems working, everything will be unimaginably fast and sleek....

— the still-cranky-after-all-these-years programmer
Tuesday, September 11, 2007 7:18 pm