Shared posts

25 Apr 03:05

RealNetworks

by jwz
The last time I heard the name "RealNetworks" was in 2020 when I was surprised to learn that A) they still exist and B) they got a $2.8 million Payroll Protection Program loan that they did not give back.

But "RealNetworks Military Drone Facial Recognition" was not on my 2023 bingo card:

According to a contract between RealNetworks and the U.S. Air Force, the facial recognition software will be used on small drones as part of special operations missions. [...]

This contract does not describe putting facial recognition software on large Predator and Reaper drones that will make decisions about who to assassinate in a war zone. The contract describes a use-case where teams of special operations soldiers use the facial recognition technology on smaller reconnaissance drones during operations in foreign countries.

But the contract did describe a world where sUAS will be used by America's operators for intelligence and target acquisition. It's possible this software will be used to identify targets, it's just that a different human -- or machine -- will be pulling the trigger. Larger drones identify targets through a combination of high powered cameras and cell phone tracking. They make mistakes all the time.

"Spectacular Optical makes inexpensive eyewear for the Third World, and missile guidance systems for NATO. We also make Videodrome."

Previously, previously, previously, previously, previously, previously, previously.

06 Mar 03:51

Book Giveaway! Blue Christmas and Bucket Lists…

by Max Allan Collins
The Big Bundle audiobook
Hardcover:
E-Book: Kobo Google Play
Digital Audiobook:

We have a book giveaway this week – ten copies of the hardcover of The Big Bundle. You agree to write a review for Amazon and/or other on-line reviewing sites, like Barnes & Noble or even your own blog. This is for USA only – overseas is, I’m afraid, too expensive.

[All copies have been claimed. Thank you! –Nate]

The book will be out in about a week and a half, so time’s a wastin’. (I may not be writing Caleb anymore, but some things get in your blood.)

The audio may or may not already be available – I haven’t been able to determine that. But it will definitely be out when the book itself is released (it’s out there now on e-book). Barb and I listened to the first third of it on a jaunt to Cedar Rapids yesterday, and Dan John Miller is simply brilliant as Nate Heller and this extensive cast of characters. He’s always good but he’s outdone himself here.

* * *

We hope to include Mickey Spillane’s Encore for Murder on a Blu-ray/DVD release of the expanded Mike Hammer’s Mickey Spillane documentary, which Phil Dingeldein and I are working on right now. I think this makes more sense than releasing it on its own, because it is after all a local production, even with the commanding presence of Gary Sandy, who I think is really terrific as Mike.

But the experience of shooting the play (which we did live, as well as two dress rehearsals) and then editing the footage into a kind of movie got those juices flowing again. I honestly didn’t think, post-heart surgery, that doing a film project was possible. But this showed me, on a more limited scale, a project was possible.

We are going after grant money to get Blue Christmas off the ground. It will be, to say the least, a low budget production. Probably $75,000 plus that much again “in kind.” We initially were going to mount it as a play and shoot it that way, as we had with Encore for Murder, only with actual pre-production, as opposed to me just realizing we might have hold of something and oughta shoot it.

If the grants don’t come through, we would still do it, most likely, and would go the play route in the fall, with four cameras recording two dress rehearsals and two performances. We will be in a smaller theater – at Muscatine Community College, where years ago Barb and I fell in love and I later taught for a while – and if we do shoot it film-style, that black-box theater will be converted into a studio.

There is a part of me – the part of me that loves movies at least as much as I love books – that wishes I had gone the film route. There is a power to Chinatown, Vertigo and the Aldrich/Bezzerides Kiss Me Deadly that in my experience can rarely be touched in a book. (Feel free to disagree. I was shaped as a storyteller more by Hammett, Chandler, Spillane and Cain than by TV or movies. So I get that view.)

But I also like the collaborative aspect of making a film. It’s part of why I’ve stayed active with my band since 1974 (and from 1966 to 1971 before that). I am fine with working by myself, and as an only child am a loner. And the control that can be exercised in writing a novel or story is all-inclusive – nobody tells me what to do.

In collaborations, however, the human interaction is compelling and rewarding. Since I am a natural leader – I don’t know how to behave otherwise (I’m not proud of it) – I still tend to hold sway over the decision making. But that input from others makes the result far richer.

We are also in the “bucket list” area – not a term I love. But I am going to be 75 on March 3 (start shopping now!) and (like I said before) time’s a wastin’.

I began having a sense of the ticking clock well before my health issues kicked in. I started ticking off dream projects as early as Mommy, which was all about my obsessive desire to see Patty McCormack play a grown-up variation on The Bad Seed. USS Powderkeg (also published Red Sky in Morning) was about honoring my father and getting his WW2 story, with all its racial implications, told. Black Hats represented my desire to do a Wyatt Earp book.

Sometimes bucket list projects have foisted themselves on me. I thought Eliot Ness: An Untouchable Life was my last word on Ness. But Brad Schwartz convinced me we should write the definitive history of both Ness in Chicago and in Cleveland – though the instigator was Ken Burns. When he got Ness wrong in his Prohibition documentary series, by listening to uninformed, biased “experts,” those two massive books Brad and I did became necessary.

Blue Christmas is a story that has great meaning for me. As I’ve said here before, it was a story written on Christmas Eve 1992 – all fifty pages of the novella, in one fevered sitting – that got me back up on the pony to ride, after the bastards at the Tribune took Dick Tracy away from me.

I, of course, did not realize the Tribune had done me a favor, because I was about to fill the slack with Road to Perdition. I know I’ve mentioned this before, but I also think about what Dean Martin said: the two best things that ever happened to him were teaming up with Jerry Lewis…and breaking up with Jerry Lewis.

* * *

The great Ed Catto has written a lovely piece about Ms. Tree. Don’t miss this one. It’s right here.

J. Kingston Pierce was nice enough to say this at the Rap Sheet: “Among the non-fiction releases I look forward to seeing (is) Spillane: King of Pulp Fiction, Max Allan Collins and James L. Traylor’s ‘first ever’ biography of ‘the most popular and most influential pulp writer of all time.’” See that in context here.

Here’s a nice look at Jacques Futrelle, the detective mystery writer who starred in my The Titanic Murders. (I rate a mention!)

You may have already seen this interesting article on Quarry, but it’s worth at least one look.

M.A.C.

21 Feb 05:59

Infinite Mac: 2022 In Review

by Mihai Parparita

I've come to think of Infinite Mac as my forever project. There's always something to work on, whether it's expanding the library, improving compatibility, adding more platforms, improving performance, debugging data structures, bridging APIs from 30 years ago with modern web platform features, or fighting with frontend tooling. With that in mind, here's where things stand at the end of the year — there have been quite a few changes since my last post on the project.

Foundations

Befitting a long-term endeavor, I invested some time into maintainability. This included small changes like setting up auto-formatting and bigger ones around code organization. I moved all of the browser-specific audio, video, clipboard and other subsystem implementations into their own modules, instead of adding lots of branching to existing ones.

That cleaner separation, combined with changes to reduce diffs with the upstream, made it possible to rebase the repo on a more recent version of Basilisk II — I had still been basing my work on James Friend’s initial Emscripten port, which was a snapshot as of 2017. Most Basilisk II development is happening in the kanjitalk755’s fork, and I switched to building on top of that.

Finally, I made it easier to do native (macOS) builds of Basilisk II (and SheepShaver) from the same repo. This reduced the friction when tracking down behavioral differences between the native and web-based versions: I can instrument or modify shared code and then run it in both builds to see how it differs.

SheepShaver and Mac OS 9

With things on a more maintainable path, I decided to tackle a bigger project: PowerPC support (which would allow Mac OS 8.5 and later to run). This involved porting SheepShaver to WebAssembly/Emscripten. Luckily, it shares a lot of code and architectural decisions with Basilisk II (not surprising, since they were both created by Christian Bauer). The initial bringup and integration involved similar autoconf tweaks and #define changes to get the Emscripten build on the right code path. After that it was a matter of hooking up each subsytem to the existing implementations that bridged to the JavaScript/browser world.

The end result is running at macos9.app. My main takeaway is that it feels more sluggish than System 7 or Mac OS 8. A lot of that appears to be due to bloat in Mac OS 9 itself, running a PowerPC version of System 7 feels snappier. There’s probably low-hanging fruit in the emulation itself when targeting WebAssembly, but I have not done any investigations in that area.

Features

Infinite Mac Mac OS 9 ScreenshotMac OS 9 in an Apple Cinema Display bezel with dynamically-generated Stickies

A somewhat silly feature I wanted to implement was to show the changelog in the set of stickies that is shown at startup. I had been previously been embedding the data by hand (by booting each image and editing the Stickies file), but this was becoming tedious now that there were four separate variants and more frequent edits. I therefore reverse engineered the Stickies data format and then switched to dynamically generating it, including the changelog. A bit over-engineered perhaps (see the caveat below), but it was fun to reconstruct what Jens Alfke had implemented almost 30 years ago.

Another “because I felt like it” feature was adding era-appropriate screen bezels to the ersatz monitor that is shown around the screen. Technically beige was no longer in use by the time System 7 was released (the Snow White design language was fully rolled out a few years prior), so this may be something to revisit if older OS versions are supported.

I also added a couple of useful features: the ability to swap the control and command keys (so that shortcuts like Command-Q and Command-W can be used even when not in full screen mode) and clipboard syncing support. The latter has some interface impedance mismatch issues, since the clipboard API is asynchronous and has gesture trigger requirements. However, it seems to work well enough to get text in and out of the emulator in a more natural fashion than files saved in the “Uploads” folder.

Improved Compatibility

For the emulators to be more than just a curiosity (that gets played with for a few minutes and then forgotten), having compatibility that’s at least as good as the native builds is important. I spent some time fixing small bugs, like missing thousands/16-bit support, handling screen resolution changes, and making the audio less laggy.

A bigger task was improving the accuracy of FPU emulation. This manifested itself as two bugs that initially seemed unrelated - a calculator program failed when doing any operation, and scroll thumbs did not move in Mac OS 8. A tip from a user pointed out that native builds of Basilisk II used to have the latter problem too, back in 2018. Running with a build from that era reproduced the scrollbar behavior, and the calculator issue too, when I tried it on a hunch (presumably the scroll thumb drawing routines do a floating point division to compute the offset).

I then did a bisect of changes to find where it got fixed, and ended up with the switch in FPU implementations to a standard IEEE 754-based one (instead of a custom implementation). However, the WebAssembly version was already using the IEEE 754 implementation, thus it should be on the same code path. I eventually realized that the native build (on an Intel Mac) was on the USE_LONG_DOUBLE sub-path, while the WebAssembly one ends up with vanilla 64-bit doubles. Both x87 and the 68881 support extended precision (80-bit specifically), which makes IEEE 754 a good match for them, but that’s not the case for the WebAssemby virtual machine. I then checked to see what the arm64 port of Basilisk II does (as an example of another platform without extended precision support), and it uses a different FPU implementation, based on mpfr. Switching to it resolved the issue, albeit with a performance hit (hopefully no one is doing long Infini-D renders in a browser).

Another place where an external tip provided a key clue was in tracking down the case of missing sound support in Mac OS 8 and 9. A user that was hosting their own instance of the emulator reported that sound worked for them, which was surprising. I initially thought it was due to a different system image, but I could still not get it to work even when I used theirs. I eventually realized that they had a simpler build process, and were not using machfs to do the dynamic Stickies insertion mentioned above. When I switched to passing through my system image unmodified, sound began to work.

There’s probably another subtle bug in the HFS data structures that machfs emits (I have already fixed a couple), but I did not feel like diving into Inside Macintosh: Files again just yet. Instead I switched to a lower-tech way of inserting the dynamically-generated Stickies file into the disk image: a placeholder file whose contents can then replaced by operating at the raw bytes level.

Coverage

Somewhat surprisingly, the SheepShaver/Mac OS 9 work ended up on Hacker News before it was fully ready. The discussion was nice, though mostly in a nostalgic/“they don’t make them like they used to” vein. Amusingly, the TL of the .app domain project noticed their use. The discussion also inspired me to change the default alert sound to Sosumi.

The Register also had an article about Mac OS 9 where the author actually reached out and got some quotes from me — I appreciated the effort. A Japanese site had a pretty in-depth article about kanjitalk7.app, it’s nice that the localized version was noticed.

My favorite was a very thorough YouTube video about the project, including a demo of the LAN/AppleTalk functionality that I cobbled together over the summer.

What’s Next

I’d like to broaden the versions of System Software/Mac OS that can be run in a browser. There is some amount of “gap filling” between the 7.5, 8.1 and 9.0.4 images (Mac OS 8.5 has a special place in my heart because I got my start doing real development for the 32-bit icns icons that it introduced). However, older versions (System 6 and earlier) are only supported in other emulators, as this handy spreadsheet shows. There is an existing mini vMac Emscripten port that could serve as a starting point.

There is some cost involved with all this. Currently this includes 4 .app domain names at $10/each per year, the Cloudflare Workers Paid plan at $5/month (to get Durable Objects that are used for LAN) and a GitHub Git LFS data pack at $5/month. This is still at a point where it’s a reasonable “hobby” budget (especially compared to woodworking or 3D printing or photography, as examples of hobbies where gear cost can escalate), but I’m considering setting up a Patreon or GitHub sponsorship in case others do want to support the work.

Though I’m enjoying the solo aspects of this work (as far as working on whatever I want with no coordination overhead), I’m not opposed to outside contributions — it was nice to get a PR to improve the scrolling behavior on small screens. Hopefully there’ll be more of that in 2023.

But really the main goal is to continue to have fun.

20 Sep 20:40

Tales From High School #2

by evanier

You may at some point in your life have tasted and perhaps enjoyed a beverage made with water, High Fructose Corn Syrup, and less than 2% of: Concentrated Juices (Apple, Clarified Pineapple, Passion Fruit, Orange), Fruit Purees (Apricot, Papaya, Guava), Ascorbic Acid (Vitamin C), Citric Acid, Natural and Artificial Flavors, Pectin, Acacia Gum, Ester Gum, Red 40, Blue 1, Sucralose and Potassium. Sounds tasty, right?

It's more commonly know as Hawaiian Punch and, of course, it was not invented in Hawaii. It was concocted in a garage in Fullerton, California by A.W. Leo, Tom Yeats, and Ralph Harrison, who thought of it originally as something to pour over vanilla ice cream. At the time, it contained five fruit juices — orange, pineapple, passion fruit, guava and papaya…and perhaps those real juices at one time comprised more than 2% of every can.

No, I did not know any of this by heart. I cribbed all this info off the Internet just as you would have. And whether or not you have ever tasted Hawaiian Punch, you probably have seen one of the many commercials featuring a little mascot they call Punchy. Here he is doing his one and only joke…

In high school, I had an Art Teacher whose names was not Mrs. Nyberg but I'm going to call her that in this article.  She was very nice and she seemed to know her stuff and we got along well.  At this stage of my life, I was aiming for the career I'd decided on back when my age was in single digits — Professional Writer — but I still thought of Artist as a side vocation. I liked to draw and later, I actually made some money (not much) doing it. I was not good compared to actual pro cartoonists but I wasn't bad compared to my classmates, and I was pretty decent at lettering.

One Friday, Mrs. Nyberg gave us the oddest homework assignment: Monday, we were to bring household trash to class. It had to be either an empty box — like a box that had held cereal or detergent or something — or a can that had held canned goods or a beverage. The box or can was to be completely empty and if it was a can, it was to have been rinsed out and clean. Oh — and it couldn't be damaged or dented or anything. We didn't understand why but we did as we were told.

Monday, she had a nice display on the front table of forty boxes or cans and she explained what we were going to do with them. Our assignment for the week — starting that day and finishing by the end of class on Friday — was to design a new label for one of these products and paste it on the box or can. "Imagine," she said, "that the company that makes this product has hired you to give them a whole new look for their product."

We all thought this was a great idea. It would be fun and for anyone considering a career in commercial art, it would get us to thinking about pleasing customers. She had all our names on little slips of paper in a bowl and she drew them out, one by one. When your name was called, you got to go up to the table and pick the empty box or can whose front you'd be redesigning. You weren't allowed to pick the one you'd brought to school.

I set my sights on either the box of Sugar Frosted Flakes or the one of Trix cereal. The cartoonist in me thought it would be fun to draw Tony the Tiger or The Trix Rabbit but other classmates beat me to those. When my name was called, I picked the empty can of Hawaiian Punch.

I already had my design in mind: On the front of the can, I'd draw their mascot, whose name I did not then know was Punchy. He'd be standing under the big new HAWAIIAN PUNCH logo I'd design and he'd have a word balloon. It would read, "How about a nice Hawaiian Punch?" Then on the back, we'd have things like ingredients and some sales copy and a shot of him punching that guy he always punched in the commercials. (If you were doing a box, you just had to do the front of it. If you were doing a can, your new label had to wrap all the way around.)

We spent the rest of the class doing rough sketches for our products. That evening, I went through some magazines we had at home until I found an ad I remembered of the mascot punching the guy and I used it as reference. I did a whole batch of sketches of the two characters in various poses. I did not copy or trace their poses from the ad.

The next day, my classmates were still working on rough sketches but I had my design all in my head. I picked out a kind of drawing paper that was thin but could handle ink and water color, and I cut it to the proper size to wrap around the can. I could probably have finished the whole thing on Wednesday but nobody likes a show-off so I took my time and finished when everyone else in class did on Friday.

Mrs. Nyberg was delighted with what some of us did. You kind of had to divide a class like that into two groups. You had the students who had no artistic ability or interest and were just taking the class because it was required. You also had students who had some talent and might continue to develop it either for career reasons or just as a pleasing hobby. Some in both groups did some pretty impressive designs.

Mine was pretty good and a lot of kids told me it was the best one. I hadn't done so well when Mrs. Nyberg had had us painting or sketching real objects. I was particularly bad at painting. But by turning the assignment into an effort of cartooning and lettering, I was playing to my few strengths. When Mrs. Nyberg was doling out the grades, I got an "A." Can't do better than that.

A week or two later, a note for me was delivered to my Homeroom/Period 1 class. It was from Mrs. Nyberg and it asked if I could come see her at our lunch period that afternoon. Lunch preceded my fifth period class…Art with Mrs. Nyberg. I had no idea what she wanted.

When I got there, I found out in a hurry what she wanted. She wanted to scold me, lower my grade on the Hawaiian Punch can, and tell me how deeply, deeply disappointed she was in me for plagiarism and passing someone else's work off as my own. Turned out she had never seen Punchy or the commercials and she'd thought I had designed that cute little cartoon character myself. Someone had told her I hadn't.

"Stunned" does not begin to describe what I felt. If she'd told me she was a werewolf from the planet Clarion, I could not have been more surprised. I stammered out, "It was just like on Bonnie's Sugar Frosted Flakes box when she drew Tony the Tiger or on Phil's Trix cereal box when he drew the rabbit on the package. They were drawing the established mascot for the product. That's what I did."

It turned out Mrs. Nyberg didn't know any of those characters. She didn't watch television and didn't buy those products and I guess she didn't look at ads in magazines. But she knew Tony the Tiger was on the Sugar Frosted Flakes box because he was on the real box Bonnie had modified, just as the Trix rabbit was on the box of Trix over which Phil pasted his new design. My crime was that Punchy had not been on the Hawaiian Punch can I'd redesigned. She said, "You thought I wouldn't know he was a pre-existing character."

I said, "No. I had no way of knowing you don't watch TV and had never seen a commercial that runs every six minutes. If I was going to steal a character design, I would have picked a character who isn't world famous!"

She said, "This character is not that famous. I'm going to have to lower your grade on this project to an 'F.'"

I said, "How about this? When class starts, you hold up my can and ask how many students in the room are sick of seeing that little guy on television. If even one student does not put up their hand, I'll accept an 'F." If it's unanimous, you let my 'A' stand."

She thought it over for a second, agreed, and when class convened and she polled the room, every single pupil raised a hand. Instantly. She nodded to me and then, without explaining why she'd asked, began that day's lesson. After class when we were briefly alone, she told me, "I'm sorry. I keep believing that because I'm a teacher, I'm expected to be right all the time."

When I graduated, she wrote in my yearbook, "Thank you for reminding me that teachers are human and we're allowed to make mistakes." I'd buried the whole incident in one of those corners of my mind where I rarely look but the inscription reminded me of it and I thought, "Hey, I oughta tell that story on the blog."

It's a good point and it's not just teachers. It's everybody — all of us — and it may even apply to guys who write comic books and blogs. Never admitting you're wrong is not the same thing as always being right.

Hell, it might even apply to those who hold or seek public office but few of them ever seem to learn it. Maybe we need Punchy to give some of them a nice Hawaiian Punch.

27 May 06:16

Phoenix, Arizona this weekend!

by obby

My dearest will be at Phoenix Comicon this weekend, along with much more than the FDA approved levels of B5. Pass by the table and say hi!

-obby