MacBook, defective by design banner

title:
Put the knife down and take a green herb, dude.


descrip:

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.
x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Tuesday, January 31, 2006

From Mac Rumors:
Another tidbits revealed to resellers, AppleWorks no longer comes with the iMac with no plans of a universal version.

Hrm. I know Apple offers Pages now, but I got the feeling Pages was more layout manager than word processor. TextEdit opens MS Word docs now, but it really isn't a program that makes me want to write a 10+ page paper. I wonder if this isn't a concession to MS for keeping Office on Mac for five more years -- though I have a hard time believing that would be the case.

If I had to guess, I suppose it's that Apple bought ClarisWorks, made it AppleWorks for X by Carbonizing, and doesn't think it's worth the rewrite into Intel Mac-land. Hrm again. Makes me wonder about the wisdom of the Intel move if your in-house apps aren't worth the trouble of transition. Perhaps Pages is better than I give it credit for being.

posted by ruffin at 1/31/2006 11:11:00 PM
0 comments

I'm starting to understand how application crackers feel. I received an MS Word *.doc file that apparently has some sort of macro that 1.) Makes the Mac version of Word explode and 2.) Even on Windows won't let you print a subset of the whole document. I kept trying to print pages 8-26 only and no print job ever got created. Weird.

So for the Mac, I opened in AbiWord and, long story short, translated from .doc to .abw and back to .doc. It opened in Word now and I could print however I wanted from AbiWord, but some of the formatting was busted.

On the PC, I saved out a few different ways, first to Word 97 format, which had issue formats, and as .rtf, etc. Either it kept the printing restriction or the formatting (mostly some bullets and extended char set members) would screw up.

It was nearly getting personal. There was nothing in the license for the file saying I couldn't print part of the chapter that was in the Word doc and, more annoying, I'd printed out seven pages before my ink cart ran out so all I really wanted to do was not print those seven over again.

So, finally, a bright idea hit me. Why not just delete the first seven pages from the doc? That worked, I renumbered the pages to fit (it'd moved everything back seven pages b/c the footer was starting with the same number, no matter what), and printed "the whole thing". Voila!

Seriously though, I eventually entered the mindset, "I'm going to skin this cat whether you like it or not. It's just a matter of time." It's not unlike wanting your opponent to concede checkmate when there are technically 5-10 moves left in the match. If your opponent has any class, s/he concedes early once beaten. Boy, I just wish the makers of this doc had done the same and saved me 10-12 minutes of my life.

So, as I started, I wonder if this isn't how crackers feel? They're still EVIL (c) 2006, but at least I sympathize now.

posted by ruffin at 1/31/2006 08:31:00 PM
0 comments
Wednesday, January 25, 2006

Macworld: Mac 911: Breaking with the past:

It's possible that someone will develop a PowerPC emulator for Intel Macs that lets you run these old applications -- such work is already underway in a beta of SheepShaver. But without Apple's support, there's no saying how effective and speedy such an emulator might be.

Um, you could try the old emulators for X under Rosetta, perhaps?

posted by ruffin at 1/25/2006 03:54:00 PM
0 comments

Bad news on the Intel Mac front:

The work required to transition Carbon applications such as Photoshop and Office is reportedly substantial.

Guess I shoulda sold short when the Intel Macs came out after the initial stock explosion.

Nobody knows what the Intel Macs are going to mean for long-term development. From all I've seen, most everything works right well in Rosetta, at least speed wise. Heck, with two processors, give or take, it's no surprise that the new Intel Macs are able to keep up fairly well with the G5 iMacs that preceeded them. People who upgrade today shouldn't be any less happy with their experience on Macs than those who swapped up to G5s a few months ago.

But the problem, as I've suggested, is that pretty danged large companies ain't real sure if shoving tons of dough into Mac versions of their apps is the best place to invest their resources -- again, mind you: once for OS X and Carbonizing and now for a complete rewrite. Carbon was supposed to be the route Apple gave for salvaging old code and making it OS X-native. It's what convinced Microsoft and Adobe to stick around through the first OS reinvention. Now Apple's making resources from that transition mean no more than a few short years' revenue on a fringe computing platform.

Still, I expect it to be a speedbump. Photoshop's customers are Mac people. They like form as much as function, and if Photoshop doesn't leverage their expertise to recreate Photoshop, well, Apple will. Their professional apps look pretty nice already, and I don't believe they'll have any trouble eventually converting Photoshop users if Adobe drops out -- and that's precisely why Adobe won't. If Apple gets a nice app on Intel Macs, well, now Adobe's got a competitor that could jump platform quicker than you can said Bird Flu.

If MS doesn't rewrite Office, well, Apple's in trouble, but they've already invested enough into iWork and even TextEdit (which now reads .doc to some degree) that they'll at least have a serviceable replacement.

We don't have to ask Joel Spolsky to know that Apple's going to lose a ton of customers if either happens, however. Not Office? For many users, that means goodbye. That's why Office is the benchmark and test case for Rosetta in Apple's demos, naturally. Could be quite a while before they all come back.

Still, back they'll come, and in the meanwhile I'm eager to watch as Apple-as-BMW-of-PCs releases the new Mini, which is rumored to be quite a consumer device, perhaps creating the market for high-end TiVo's/DVRs. The description of Apple users might chance in composition a bit, but I'm still thinking the future is pretty bright.

posted by ruffin at 1/25/2006 01:05:00 PM
0 comments
Tuesday, January 17, 2006

Hate the new "Ministore" in iTunes 6.0.2 that encroaches on your library? Apple-shift-M gets rid of it, thank heavens. Things had better not get worse. It's bad enough that they want each song in my library to link to the artists who made 'em (another option you can turn off), but to have a billboard in iTunes is very Limewire-esque, and I've paid my fair share for iTunes (in Limewire, if you pay, the ads turn off).

posted by ruffin at 1/17/2006 11:30:00 PM
0 comments
Sunday, January 15, 2006

Ah, programming again. Very nice.

Anyhow, here's the quickest possible primer on how to write files to disk as zips from Java:

import java.util.zip.*;

...

String strOut = "Wackity wack wack";
String strPath = "C:\\someMorePortableFilePath"'

ZipEntry tempZentry = new ZipEntry("UniqueZipEntryName");
ZipOutputStream zos =
new ZipOutputStream(new FileOutputStream(strPath));
zos.putNextEntry(tempZentry);
zos.write(strOut.getBytes());
zos.closeEntry();
zos.close();

posted by ruffin at 1/15/2006 06:59:00 PM
0 comments

Can you use the iBook G3's keyboard on an iBook G4? Yes, but you probably don't want to, as you'll likely have a busted ribbon and scratch your G4 iBook's screen. Can you use a G4's keyboard on a G3? Not practically speaking unless you hack in more ribbon. Skip to Conclusion now.

UPDATE: Because of the length of the ribbon, you cannot use the iBook G4's keyboard in the iBook G3. "Cannot use" might be a little harsh, but you can't seat the G4 keyboard with the latches in the G3 which means the keyboard floats around and you can't close the lid Yes, that's right, this means my donor iBook G3 500 has an unseated keyboard sitting in it right now. I imagine the danged thing works (not plugged in right now, I'm afraid, and the battery's dead), but it's not exactly a great mobile computer now. I take that back -- I guess I've now got an unseated, broken keyboard in the G3 now. Luckily the thing's just my print server on a KVM, but, um, fair warning. Your donor G3 is going to be worse for the operation, so try and order an extra G3 keyboard if you try this idiotic idea.

Back to the unecessary exposition: I have a bad habit of taking my Macs apart and not putting them back together so well. Well, chalk up another. As I've ranted here before, I've really disliked the keyboard on my iBook G4, which repeats h's and drops spaces and is a particular shame, since I liked the keyboard on my iBook G3 about as much as I've ever liked a laptop keyboard. I'd thought about swapping, but a quick call to Small Dog, who told me the keyboards aren't interchangable, talked me out of it.

Lately, however, my G4's keyboard has started taking over my computer periodically, typing swx2's, tabbing like mad, closing windows, and pushing the screen's brightness up as high as it'll go. Replacements are $100 so I thought I'd check out the G3 keyboard which is still hooked up to an older iBook that's been the victim of many experiments. Turns out the keyboards are dead ringers for each other when held on top of one another -- that is, all the keys are in the same places, as are the latches, etc, even the ribbon's final connector to the motherboard. The external differences are limited to color, feel, and the length and location of the ribbon/wire that goes between the boards. The keys do latch much differently and use metal parts under the key covers on the G4's keyboard, I've noticed but, again, feel horrible.

Could they possibly be differently wired? With this many simularities, I couldn't believe it. So out comes the G3 keyboard and I mad scientisted it into the G4, bending the ribbon something awful.

Conclusion: Yes, G3 iBook keyboards work in G4s. The ribbon plugs in and the keys are the same. You have to bend the ribbon that connects the keyboard to the iBook motherboard over itself, which is A Very Bad Idea (c), but it works. This also means the board bows out a bit to try and accomodate the extra space the ribbon needs, so the keys will likely be scratching my screen up soon as they'll rub when the screen's closed. The extra stress on the ribbon probably means the ribbon'll be borked soon as well.

So there you go. It works. Horrible idea. YMMV.

posted by ruffin at 1/15/2006 02:30:00 PM
0 comments
Friday, January 13, 2006

I've seen some posts wondering if Windows will run on the new MacBook with x86 processor, and some have mentioned that they think that the MacBook's not having a BIOS (no idea if that's true, but I'll stipulate for now ;^D) might be a problem.

I've got one word for youse guys: BootX

If you've got access to a computer with a nice, mature OS with direct access to the hardware, I bet somebody, somewhere has the knowledge to put whatever 0s and 1s you need where you need them for whatever it is you'll need to be doing. Now unless there's something about the BIOS that needs to be checked consistently, and it's my understanding that the BIOS isn't all that important after booting, which I might add is an admittedly naive understanding of BIOSes, you should be able to use Mac OS X as a host OS to set the table for your Windows boot, much as BootX did with Mac OS 9- for Linux.

Anyhow, if you build it, the OSes will come, Shoeless Joe and all.

posted by ruffin at 1/13/2006 01:24:00 PM
0 comments
Thursday, January 12, 2006

Ah, the anonymous source at Cult of Mac:

And he tells me the keynote that Jobs gave was not the keynote he had planned. Some of the speech had been cut out. Key products were missing.

My source said there was some stuff, 'some very, very cool stuff,' that Jobs couldn't unveil because of 'supply issues.'

'They can't get enough Core Duo (chips),' said my source.

He also said that if he were me, he probably wouldn't order one of the new MacBook Pros.


Wonder if there's any truth to that one? The keynote didn't exactly fit the rumors, but they weren't so far off to make me think something was missing. Hrm...

posted by ruffin at 1/12/2006 08:18:00 AM
0 comments
Wednesday, January 11, 2006

Apple announced its move into x86 is now a consumer reality yesterday as it introduced new iMacs and "MacBooks". I don't know that I've had a computer I've liked more for daily use than my current iBook G4, minus the horrible keyboard (space bar sticks and "h" repeats at the slightest touch), but the thought of one day having a laptop that runs both OS X and Windows is awfully intriguing. How difficult would that really be?

I think we can take a hint from this interview with ATi at InsideMacGames.com::

When asked about using a PC ATI card in a Mac, however, it was pointed out that the Mac cards still feature different firmware sets as well as use different drivers.

I wonder if that's significant trouble. My initial guess is no. My "WinPC" Voodoo 3 PCI card needed a BIOS flash to run 3D games on my old StarMax, but booted stock 2D video just fine.

Now, OS X does use a video card's hardware to run "Quartz Extreme", so I wonder what sort of trade-off one'd have to take. Could you use a Windows BIOS, run OS X without Quartz Extreme in the MacBook, and be able to play 3D games in Windows? Or would you have to use a Mac BIOS for Quartz Extreme, settle for gaming in Macland, and use a generic set of display drivers in Windows? I'm pretty sure the latter is worst case, as Windows by design is ready for pretty wild combinations of hardware, like putting that Voodoo 3 into a PCI slot of a dual processor, 64-bit AMD motherboard.

In any event, I think I'll be just fine in iBook G4 land for a while yet, as I wait for more to become Mactel native -- you'll notice that though Apple's billing the new Intel iMac as being twice as fast as its G5 predecessor, PowerMacs still use G5s. Why? Because the high-end apps on OS X are still coded for PowerPCs, not Intel processors, and the power uses aren't settling for the drawbacks of emulation. So I'll be plenty happy using "Universal Binaries" for as long as I can, I hope. But in a few years, boy, it sure will be great to be able to hack VB.NET on the same portable hardware that's running OS X -- and at native speed for both!

posted by ruffin at 1/11/2006 10:25:00 AM
0 comments
Monday, January 09, 2006

PUBLIC ENEMY | Public Enemy Official Website:

Hank [Shocklee of Bomb Squad] gave us the lowdown on how primitive techniques were back then, and for that ongoing debate on which is better: "Digital is a photocopy of analogue ... you'd need at least 12 Mac G5's to get even close to giving you that Neve board sound.

posted by ruffin at 1/09/2006 11:49:00 AM
0 comments
Sunday, January 08, 2006

Want to send or receive email from Windows? Sheesh heavens, this site has it all. No, really, everything, from MAPI to talking TCP with Winsock, even a way to send mail from the command line.

Sure, I've seen a few of these before, but never so nicely presented in one place. A great resource, and to think it's just an outgrowth of the guy's stuff on how to use Access. Wow.

In other news, I decided to use JavaMail on a current project instead, since I've got some pretty mature code sitting around, but still needed to talk to Excel on Windows. If I wanted xplat, I'd've gone comma separated values, I suppose, but luckily this is a Windows-only task. So JavaMail with what? Or do I go VB6 with one of the above?

Luckily, devx has decent article on JCOM that has a dll and Java wrappers for automating Excel from Java that works well with at least Win2k and Excel 2k. There are some issues, like asking for a count of rows gives you 65536, a number which should always raise eyebrows, and only for a second before that knowing look comes back. So it's not exactly perfect, and much of the documentation is in Japanese (a negative for me, I'm afraid), but it does let you play with Excel in a VB-like fashion with Java, and that's good enough for me.

posted by ruffin at 1/08/2006 05:33:00 PM
0 comments

Happy new year, etc. USENET has roped me back into my favorite discussion: How shareware authors are doomed, DOOMED! More seriously, there is no perfect solution for protecting shareware written in interpreted languages, and it appears it's worth talking about again. So with the magic of cut & paste, here's what I had to say! Yay!

Peter Olcott wrote:
> "Nick Hebb" wrote in message
> news:1136626317.968074.44360@z14g2000cwz.googlegroups.com...
> > Another option is to use a traditional license protection tool (e.g.
> > Armadillo). Put some critical bits of functionality in a COM DLL called
> > through interop. The COM DLL can then be wrapped with the protection
> > tool.
> >
>
> This is the only one that I could find that works with .NET. It also seems to
> work with everythig else.
>
> http://www.ionworx.com/SerialShield.html
>
> This product seems to have all the features of an excellent copy protection /
> trialware maker. It has one feature that I was not even aware was possible. It
> apparently can prevent itself from being reverse engineered through
> anti-debugging.
...


There seem to be a number of issues here. For the first quoted post, if you put your license check in a DLL, it'll be hard to decompile that, but still just as easy to decompile the portion of your .NET program that accesses it.  At some point, .NET code is still going to be your weak link, and your "protection" is still toast.

For the second, I went to the site for the SerialShield to see what "antidebugging" is. Here's a quote:

"The main purpose of SerialShield is to make the crackers job more difficult should they attempt to crack your program(s). "

I believe the key phrase is "more difficult". As best I can tell, this feature is code obfuscation. This is a good thing to use, and strips out much of the info that would make decompiled code easier to understand, but still isn't much protection from ultimately being cracked.

Perhaps I've missed something, however. Anybody know exactly what this feature is trying to do if it's not obfuscation?  The rest of the features seem interesting, but I wonder how you'd implement without adding a check for the, eg, Machine ID, somewhere in .NET and then *poof*, .NET is your weakest link again.

I released a shareware app in Java some years back, which is also an interpreted language, and started having some of the same questions. There's a relatively interesting (well, to me anyhow) and detailed thread on the same subject from the point of view of Java developers here:
[click me]

I asked pretty much the same questions, and the answers were every bit as disheartening as I'd suspected.

The key to remember is that you need to go in thinking not, "How do I remove any possibility to crack my program?" but "How do I maximize my returns by making my app more difficult to crack?"  I wax prolific on this one too, I'm afraid. This URL:
[click here]

Good luck,

mfn

posted by ruffin at 1/08/2006 09:56:00 AM
0 comments

Support freedom
All posts can be accessed here:


Just the last year o' posts:

URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* git repo mapped drive setup * Regex Tester
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ¢, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.