Shared posts

16 Nov 17:47

The inside story of the outside investigation of SoftRAM 95

by Raymond Chen

With the release of Windows 95 came quite a number of software products tailored to run on it. One of them that drew a lot of attention at the time was SoftRAM 95, a product whose box claimed it would “Double Your Memory”.

It turns out that it didn’t.

There are many write-ups of what the software did (and notably didn’t do), but almost none of them dug deep into the code to explain what it was doing.

So I’m writing one.

In late 1995, I was asked to investigate the product because it was causing Windows 95 machines to crash and was generating a lot of support calls, not to mention bad PR. It’s possible that the software was tripping over some bug in Windows 95, and that meant having to put out a patch for it.

I ended up doing a full disassembly of the custom paging driver they installed. The Windows 3.0 and 3.1 device driver kits (DDKs) included the source code for the paging driver, and the software’s custom paging driver was clearly based on the one that shipped in one of the older DDKs.

What they did was allocate a chunk of non-paged memory at system startup and use it as a compression pool. When memory was paged out, the driver compressed the memory and added it to the pool. The format of each block in the compression buffer was a byte specifying the compression algorithm, followed by the compressed data.

When the system asked to page in some memory, the driver checked if there was a compressed copy in the pool. If so, it decompressed the data and returned it. If not, then it read the memory from disk in the usual manner.

To explain what’s going on here, let’s draw some pictures. We’ll rank the pages in the system based on how likely they are to be used, with hot pages (most likely to be used) closer to the left and and cold pages (least likely to be used) closer to the right. An unmodified system looks like this:

                                             
In memory
(fast)
On disk
(slow)

In the above example of a hypothetical system, we have the 16 hottest pages in memory, and the remaining pages on disk. The size of the “In memory” section is the amount of RAM you have. The size of the “On disk” section can grow up to the maximum size of your page file.

When a new page is allocated, it is inserted on the left as the hottest page. Since the size of the “In memory” section is fixed, that pushes the lowest-ranked in-memory page to disk. In general, nearly all of the pages in the system are cold, so the above diagram is not to scale. The “On disk” section is far bigger than the “In memory” section, but all the excitement is in the “In memory” section, so I’ve zoomed in on that part.

The idea is to convert some of those RAM pages into compressed RAM pages:

                                                             
In memory
(fast)
Compressed
(medium)
On disk
(slow)

I’ve taken half of the RAM in the system and compressed it. The diagram shows the compressed pages smaller than normal than normal pages due to the compression, to emphasize that the total amount of RAM hasn’t changed. What changed is how the memory is being used.

But I can redraw the diagram so that each page is the same size. This is the view of the system from point of view of applications and the memory manager:

                                                             
In memory
(fast)
Compressed
(medium)
On disk
(slow)

From the point of view of the rest of the system, it looks like you gained more memory, sort of.

Compressed memory isn’t immediately usable like regular memory: When an application requests access to memory that has been compressed, the compressed data is uncompressed into a normal page, and the lowest-ranked normal page becomes a compressed page.¹ This compression and decompression takes time, but since you’re competing against a hard drive, it’ll still be faster than disk I/O.

The hope is that even though you took away a bunch of fast pages, you replaced them with a larger number of medium-speed pages, thereby lowering the number of accesses to slow pages. In the above example, we’re assuming a compression ratio of 2x, so we took away 8 fast pages and turned them into 16 medium-speed pages.

  Before After
Normal pages 16 8
Compressed pages   16
Pages on disk N N − 8

Whether this is a net win depends on the memory access patterns of the applications you use. If you had an application that had 6 very hot pages, and 14 additional warm pages, then this could very well be an improvement, since the very hot pages could stay in normal memory, and the 14 warm pages could take turns occupying the two remaining normal memory pages. On the other hand, If you had an application that had 10 very hot pages, and 10 additional warm pages, then this could end up a net loss, because there aren’t enough normal pages to hold the application’s very hot pages, so you are constantly compressing and decompressing memory, and that extra time spent on compression could exceed the time saved by avoiding the I/O to the four pages that didn’t fit in RAM before.

Okay, so we see that the design hinges on the quality of the compression engine. You want to be able to squeeze as much data into those compressed pages so that you can more than make up for the loss of normal pages with a much larger number of compressed pages.

Back to the analysis.

I found the compression algorithm. It was called to take the memory from the I/O buffer and compress it into the compression buffer. Its counterpart decompression algorithm was used on page-in requests to decompress the data in the compression buffer and put it in the I/O buffer.

They implemented only one compression algorithm.

It was memcpy.

In other words, their vaunted patent-pending compression algorithm was “copy the data uncompressed.”

The whole compression architecture was implemented, with a stub compression function that did no compression, presumably with the idea that “Okay, and then we’ll put an awesome compression function here, but for now, we’ll just use this stub function so we can validate our design.” But they ran out of time and shipped the stub.

It’s like creating a RAM drive for your swap file. All you did was take some pages away from the “fast” category and create the same number of pages in the “medium” category.

So far, what we have is a placebo with some performance degradation. Why was it crashing? Did their design uncover a bug in the Windows 95 memory manager?

When they added code to implement the compression buffer, they didn’t use critical sections or any other synchronization primitives to protect the data structures. If two threads started paging at the same time, the driver corrupted its data structures due to concurrency. The next time the driver went to uncompress the data for a page, it got confused and produced the wrong memory, and that’s why Windows 95 was crashing.

They were inadvertently simulating a broken hard drive.

This also explained why the crashes usually happened when the system was under heavy paging load: Under those conditions, there is more likelihood that two paging requests will overlap, thereby triggering the corruption.

Oh, remember that I said that their driver was based on the one included in the DDK? They didn’t bother to change the name in the device driver description block, so when the driver crashed, the crash was blamed on PAGEFILE. Since this is the name of the default paging driver, the crash message made it look like a default Windows driver had crashed, when in fact it was their substitute with the same name.

Bonus reading: I was not the only one to do an analysis of the internals of SoftRAM 95. Some guy named Mark Russinovich also took the product apart and came to the same conclusions. I wonder what happened to that guy. He seems kind of sharp.

Bonus chatter: A colleague of mine noted that SoftRAM 95 was a follow-up to a similar product designed for Windows 3.1. The Windows 3.1 version tuned your system in two ways to increase the number of programs you could run at once: First, it increased the size of your page file, which is something you could have done manually anyway. Second, it used some tricks to keep certain components out of conventional memory. These tricks were well-known to system optimization tools, and you could even get a utility from Microsoft for free that did the same thing, written by that very colleague. Windows 95 used a dynamic page file, and it addressed the conventional memory problem as well, leaving the Windows 3.1 of their product with nothing to do when ported to Windows 95.

Bonus bonus chatter: I heard through the grapevine (by way of marketing) that the company had two developers for the product, one for the device driver and the other for the user interface. So I guess what they were missing was a third developer to write the compression engine.

Bonus bonus bonus chatter: My boss at the time was sent to staff a booth at a trade show. One of the other companies at the show was the manufacturer of SoftRAM 95. When the show concluded, he went over and traded a Microsoft staff shirt for one of their shirts, and then gave it to me.

Bonus bonus bonus bonus chatter: How did this program manage to earn a “Designed for Windows 95” sticker? Easy: Because it was designed for Windows 95. The logo program rules say that you have to follow certain guidelines, like using the standard File Open dialog to select files and installing into the Program Files directory. The program followed those guidelines, so they got the sticker. Some people point out that it should have failed the “functions substantially as described” rule, but that rule wasn’t saying that every claim must be independently verified by an in-depth reverse-engineering. If that were the standard, then it could take years to pass that test. Validating a “Learn German in 30 Days” program would have to verify that all the vocabulary and grammar are correct, and then have somebody use the program for 30 days and see if they learned German. What the rule is trying to do is catch a program that fails to run on the minimum system configuration, or which purports to be a word processor, but in fact plays tic-tac-toe.

¹ From what I recall (but my recollection could be faulty), the compressed data was managed in a simple way: In a circular buffer. Whenever a new page was compressed, it was appended to the buffer, and whenever a page needed to be evicted, the page at the head of the buffer was chosen. This makes bookkeeping very simple, but it does have its own inefficiencies: When a page got paged in from the compression buffer, and then was paged back out, the memory for the old compressed data still hung around in the compression buffer wasting space. In theory, they could have reused that memory right away, but doing so would have complicated the algorithms since you now have fragmentation to deal with. The circular buffer design has the advantage of having extremely simple memory management. This was back in the days when device drivers were all written in assembly language. Simplicity of design is very important because you’re implementing that design instruction by instruction.

The post The inside story of the outside investigation of SoftRAM 95 appeared first on The Old New Thing.

16 Nov 15:36

ADB-USB Wombat Restock

by Steve

The Wombat ADB-USB input converter is now back in stock at the BMOW Store. Thanks for everybody’s patience during the manufacturing delay.

The Wombat is a bidirectional ADB-to-USB and USB-to-ADB converter for keyboards and mice.

  • Connect modern USB keyboards and mice to a classic ADB-based Macintosh, Apple IIgs, or NeXT
  • Connect legacy ADB input hardware to a USB-based computer running Windows, OSX, or Linux

No special software or drivers are needed – just plug it in and go.

The Wombat was developed by Steve Chamberlin here at Big Mess o’ Wires, and it’s great for breathing new life into your vintage Apple hardware collection.

For more details, please see the product description page.

16 Nov 14:57

our polyamorous employee wants to bring their 3 partners to the holiday party

by Ask a Manager

This post, our polyamorous employee wants to bring their 3 partners to the holiday party , was originally published by Alison Green on Ask a Manager.

A reader writes:

I have an employee who threw me a curveball after receiving their RSVP to our office’s holiday party with the option to include a +1. They are polyamorous and wanted to invite all three of their partners (with whom they share a home), so they reached out to HR and asked if they could do so. HR told them no, and then my employee asked me about it. We found a workaround (they’re asking other coworkers if their partners can come as the coworkers’ +1s), but now it’s really got me thinking about +1s at office holiday parties in general. Can you think of an equitable solution to this that also doesn’t devolve into people having to prove the validity of their relationships, while still respecting the need to limit head counts at holiday parties?

I think you can either say partners are invited and accept that might mean someone has more than one partner or you can give everyone a plus-one (without specifying that it’s for partners) and explain preemptively you can’t offer more because headcount is limited.

However, I’m curious if your HR has ever said yes to someone bringing a partner and kid(s). If they have, this is about polyamory, not headcount.

(One other thing — make sure your other employees don’t feel pressured to give up their own plus-ones to make your workaround work!)

16 Nov 14:22

Jesus loves budgets

by Mary Kelly

what husbands wish their wives knew about money

What Husbands Wish Their Wives Knew About Money
Burkett
1977

This book is a mix of scripture and financial advice. For the most part, the author assumes that the woman is clueless about the intricacies of money. This book is to help the husband explain the big bad world of money management. There are lots of stories sprinkled throughout the book on women being trapped by credit. (I guess the men are more immune to the the call of credit.)

The couples profiled have a variety of problems: wife wants to live way above the family’s means, the husband is a miser with the funds, and wife resents him. A husband is somewhat “shamed” for making his wife take a job typing in her spare time. Good husbands don’t do that. The wife, in another scenario, “borrows” from her father. This is bad too. Her husband needs to step up. The couples are headed for trouble unless they start taking budgeting seriously. For the most part, the wives are the problem. They just don’t understand that they can’t buy everything and need to stand strong against evil credit.

Bottom line: Jesus loves budgets.

Mary

 

record keeping fatigue pressure of success credit

The post Jesus loves budgets appeared first on Awful Library Books.

16 Nov 14:21

Comic for 2021.11.15

New Cyanide and Happiness Comic
15 Nov 21:00

Bernie Sanders Double-Dog Dares Elon Musk to Sell His Stock

by Lawrence Wang

“Elon Musk, the head of Tesla, attacked Sen. Bernie Sanders on Twitter on Sunday after the lawmaker from Vermont tweeted that ‘we must demand that the extremely wealthy pay their fair share.’ Musk responded to the 80-year-old senator by saying: ‘I keep forgetting that you’re still alive’ and later raised the possibility of selling more Tesla shares, which would require him to pay taxes. ‘Want me to sell more stock, Bernie?’ Musk tweeted a little while later. ‘Just say the word…’” — Slate, 11/14/21

- - -

Dear Mr. Musk,

It has come to my attention that we are “beefing” on Twitter.

This is the kind of thing I typically wouldn’t respond to, because I have my hands full trying to pass a sweeping $1.9 trillion budget that would combat climate change, build affordable homes for low-income families, and fund universal pre-K for six million kids.

But then I heard that you challenged me to tell you to sell your stock. “Just say the word” were your exact words. So, as a yuge fan of making billionaires give up their ill-gotten gains, I have just one thing to say:

Do it, you pussy.

You heard me. I dare you to sell your stock. I double-dog dare you. I triple-dog dare you, coward.

I don’t mean selling a few billion to cover your personal debts either. I’m talking all of it. Every last cent. Forbes says you’re worth $271 billion? That’s $271 billion more than you’ll ever need. As if you’re not just going to beg taxpayers for another $4.9 billion to fund your next brainworm venture, like you did for Tesla and SpaceX.

Sell your stock and donate it to help someone you don’t know, you wuss. What are you going to do, not end hunger in the United States ($25 billion)? What about saving 42 million people worldwide from extreme starvation ($6 billion)? Don’t tell me you wouldn’t donate all $271 billion so that every American public college student can go to school tuition-free for the next two years, man. That’s weak sauce and you know it.

Donate it. Donate it all. Even the Bitcoin. Especially the Bitcoin. This is reparations for every person who ever had to listen to one of your fanboys wax lyrical about the transformative power of the blockchain or why Dogecoin is the future of cryptocurrency. This is payback for us having to hear the words “Papa Musk.” You did this to yourself. I want you to remember that.

Wasn’t it just a few years ago that you called yourself a socialist? Divest yourself of the means of production, bitch. Redistribute your wealth to the masses. Or was that just all talk too, like all the other shit you spout on the bird app? At least your ex pretends to read The Communist Manifesto. You couldn’t tell the difference between the proletariat and the lumpenproletariat if you tried.

I bet you won’t sell more stock. You don’t have the balls. You’re such a beta-cuck male. It’s embarrassing. A real chad would have sold their entire net before getting owned by an octogenarian granddad. A gigachad would have sold it just for the lulz. I would say that you bring disgrace to your family, but considering your dad was an emerald mine owner in apartheid South Africa, I think it’s fair to say your particular branch of the Musk family tree is already doing a bang-up job of being fuckups.

If I had $271 billion in stock options, you bet my ass I would be throwing that shit around. Hell, I wouldn’t even ask my Twitter followers what they thought; I’d be out in the streets making it rain like every day was a bar mitzvah. Except I don’t have a billion dollars, because I don’t exploit workers or turn a blind eye to forced child labor in my environmentally destructive cobalt mines. You do. And while no amount of money in the world can fix all the pain and suffering you have caused, your $271 billion can start making amends.

Start selling, bucko.

Sincerely,
Bernie Sanders
United States Senator

15 Nov 20:59

One Word

by Reza
15 Nov 20:59

Lassie Saves the Day

by Corey Mohler
Description: Lassie runs up to the Sheriff to get his attention.



Sheriff: "What is it Lassie? "
Lassie: "Ruff! ruff!"

Sheriff: "Timmy? He has fallen in the well?!"
Towns-person: "We have to do something!"

Sheriff: "What's that, Lassie?"

Lassie: "ruff ruff, ruff ruff ruff. ruff ruff, ruff ruff ruff. ruff ruff, ruff ruff ruff?"

Sheriff: "We can cause more total good by raising money for clean water in Africa, because our only moral obligation should be to cause the most happiness, and the happiness of those across the world has no less worth than that of the people we know and love?"

Towns-person: "Good job Lassie!"
Sheriff: "Who cares about Timmy, in particular!"
15 Nov 20:46

Vending machines in games

by Rob Beschizza

The Video Game Soda Machine Project archives examples of vending machines and similar devices found in games.

"The Video Game Soda Machine Project is my attempt to catalog screenshots of every soda vending machine that has ever appeared in a video game," writes Jess Morrissette, a Professor of Political Science and an amateur game developer. — Read the rest

15 Nov 11:51

Top 10 Worst SNES Games the Nerd has Played - Angry Video Game Nerd (AVGN)

by Cinemassacre

The Nerd has played a LOT of Super Nintendo games over the years. So, here's the Top 10 worst ones he's ever played! With AVGN episode 200 coming up we've been feeling pretty nostalgic for the series and especially for James' favorite console, the SNES!!

Cinemassacre Crew:
James Rolfe: https://twitter.com/cinemassacre
Justin Silverman: http://justysilverman.com
Kieran: https://www.twitch.tv/kieeeeern

For everything else Cinemassacre:
https://cinemassacre.com/

#AngryVideoGameNerd #SuperNintendo #Cinemassacre #AVGN
15 Nov 11:42

Time Flies When You're Cursed to Live Through History

this is a diesel sweeties comic strip

I can't believe the year is almost over.

14 Nov 23:18

Saturday Morning Breakfast Cereal - Ephemeral

by tech@thehiveworks.com


Click here to go see the bonus panel!

Hovertext:
Pro Tip: You can run around the woods with a camera, forcing people's art to be permanent.


Today's News:
14 Nov 15:01

we have to thank our coworkers for coming to work

by Ask a Manager

This post, we have to thank our coworkers for coming to work , was originally published by Alison Green on Ask a Manager.

A reader writes:

I’ve been at a small, 30-person company for a few years now — longer than the pandemic, but well less than a decade. Although this is not my first job, it is my first in this kind of industry. We provide services and education in the social sciences, and our customers may include social workers, therapists, teachers, etc. To paint a picture, we’re usually a pretty emotionally intelligent, vulnerable workplace. I don’t know how much that colors my perspective, or how much I’m getting pulled into toxic norms here.

In the span of about a week, we’ve had four people announce that they’re leaving — more than 10% of the staff, and certainly not the first people to leave so far this year. I’m not going to lie, it hit hard. These people were from several different departments and had been here for anywhere from mere months to several decades. Ths staff is a bit shaken up by it.

Here’s the thing. Every Monday morning we have a staff meeting, and this week, our VP asked us each to take a turn going around in a circle and tell the next person “why you’re happy that they came to work today.” So each of us would say something like, “Trevor, I’m glad you came to work today, because it’s so much easier to fight vampires (not our real work) with you by my side.” And then Trevor would use the same formula to Alucard, and so on.

There was no way to get out of participating, and everyone had to take a turn, including one staff member who had to finish by telling her why she was glad the VP came to work today. The VP thought it was a nice thing to do. My coworkers and I thought it was exhausting for a Monday morning, but we got through it. One person is arguing that it was outright manipulative, but they don’t feel comfortable saying it too loudly.

What do you think? Was this an okay way to start the week? Are we all burnt out and too tired to really appreciate where our VP was coming from, or can I not see the red flag through my rose colored glasses?

Nah, it’s weird. It’s not the most outrageous thing in the world, but it’s eye-rolly and if it becomes a regular thing, it’s worth pushing back on.

The thing that makes more problematic than your run-of-the-mill cheesy ice-breaker is the context that it’s happening in. It sounds like your company’s management knows people are rattled by all the resignations, and maybe are rattled themselves. Instead of looking at what’s actually going on and ways to make people want to stay (which are generally going to be big things like pay, culture, and management), they’re … asking people to thank their coworkers for showing up that day? Not only is that the world’s tiniest band-aid on whatever the problem is, but it also puts the burden of making people feel appreciated on their colleagues when it belongs on management.

If you remove that context, what your VP did would be annoying but pretty minor. In the context you’re in, it carries more weight. If he tries it again, you could say, “If we want people to feel more appreciated, could we open a more substantive conversation about how to do that?”

14 Nov 14:15

Pass the Casserole

by Mary Kelly

casserole cookbook

Better Homes and Garden
All Time Favorite Casserole Recipes
1977

The lowly casserole (aka hotdish for my friends in Minnesota) has once again graced our website. This is a staple of Midwest. I know this because many of my friends from other parts of the country have said “You have got to be kidding” when sharing my family’s tuna casserole recipe. They just never understood the power of a can of Cream of Mushroom soup.

Fellow Midwesterners, be sure to note the fancy Highbrow Haddock recipe (last image). Go ahead and substitute potato chips for the bread crumbs. I won’t tell. Believe it or not, this book boasts 4 different hot dog creations: Frank Tamale Pie, Franks and Vegetables, Frankfurter cheese, and Frank Stuffed tomatoes. The variety of the hot dog creations probably should be noted for a new edition of the Hotdog Cookbook.

Happy Eating!

Mary

frank tomale pie salmon macaroni pie

servings for 1 or 2.

highbrow haddock

The post Pass the Casserole appeared first on Awful Library Books.

14 Nov 14:12

Fingerplays for the Emotionally Disturbed

by Holly

Creative Fingerplays coverCreative Fingerplays and Action Rhymes: An Index and Guide to Their use
Defty
1992

Submitter: I am a newly-hired youth services librarian for a public library branch that had been without a children’s librarian for nearly 3 years. While evaluating my library’s professional development collection, I came across [this book]. Most of the information in this book is fairly standard for the subject: chapters cover developmental milestones for various ages, suggested fingerplays and rhymes, and some sample craft ideas. All of these fingerplays themselves are now nicely organized and demonstrated on sites such as Jbrary. And since 1992, a number of excellent trainings like Supercharged Storytimes have been developed and made available for youth services librarians. This 30-year-old book, therefore, was unlikely to get much use at my branch. Regardless, I felt the need to browse the book and discovered the sample page I’m including here on serving “mentally retarded and emotionally disturbed children.” Um, we don’t use those terms anymore, and I’m kind of surprised they were still being used in 1992! Even my colleague at my branch who hates the idea of weeding anything agreed this title had to go.

Holly: Sometimes it’s easy to miss books like these, that still have some value. I’m sure the actual fingerplays are mostly fine. It’s these hidden sections, like the one you submitted, that can be overlooked. You can always photocopy the pieces you can still use and recycle the rest.

Creative Fingerplays

The post Fingerplays for the Emotionally Disturbed appeared first on Awful Library Books.

14 Nov 14:08

Comic for 2021.11.12

New Cyanide and Happiness Comic
14 Nov 14:07

Comic for 2021.11.13

New Cyanide and Happiness Comic
14 Nov 14:04

Latin Mottoes for the University of Austin

by Dani Bostick

This week, conservative thinkers announced the formation of the University of Austin, whose aim will be to produce “antifragile” graduates and pursue the brand of truth “at the heart of education since Plato founded his Academy in 387 B.C.” They will start offering “Forbidden Courses” in 2022.

In announcing the plan, one of its founders wrote that it is time to “restore the meaning to those old school mottos. Light. Truth. The wind of freedom.” Here are a some options for meaningful University of Austin mottoes.

Veritas tam firma quam caelum
Truth as unchanging as the climate

Occidentalia sunt optima
“West is best”

Ab Atheniensibus ad Austinam
“From Athens to Austin”

Platonem et Ciceronem restituere
“Uncancelling Plato and Cicero”

O tempora! O mores!
Oh the times! Oh the morals!

A fragilitate fragiles tueri
“Protecting the fragile from fragility”

Nondum recognita
“Not yet accredited”

Sine campo, sine discipulis, sine gradibus
“No campus, no students, no degrees”

Sed re vera
“Well, actually”

Ad iura obtinenda pecuniam publicam repellere
“Rejecting federal money to uphold our civil rights”

Roganem et Muscum inicere
“Namedropping Rogan and Musk”

Lux, veritas, ventus libertatis
“Light, truth, the wind of freedom”

Academiam reddere magnam
“Making academia great again”

14 Nov 13:58

Fluffy bird

by Scandinavia and the World
Fluffy bird

Fluffy bird

View Comic!




14 Nov 13:55

Unusual

by Reza
14 Nov 13:53

by dorrismccomics
14 Nov 07:12

Saturday Morning Breakfast Cereal - MQI

by tech@thehiveworks.com


Click here to go see the bonus panel!

Hovertext:
This sort of thing is why I'm wary of happiness-based macroeconomic measures.


Today's News:
14 Nov 07:11

Saturday Morning Breakfast Cereal - Fake

by tech@thehiveworks.com


Click here to go see the bonus panel!

Hovertext:
I have to believe all spouses of economists are being constantly published about. It's a lifestyle choice.


Today's News:
14 Nov 07:10

Saturday Morning Breakfast Cereal - Norms

by tech@thehiveworks.com


Click here to go see the bonus panel!

Hovertext:
Looking it over now I'm very worried about the coffee in that cup.


Today's News:
14 Nov 07:09

Saturday Morning Breakfast Cereal - Vicarious

by tech@thehiveworks.com


Click here to go see the bonus panel!

Hovertext:
I've tried this and I'm usually good for about 3 hours.


Today's News:
14 Nov 07:06

Organs

by Sarah Andersen

null

11 Nov 12:22

The 14 Best The Real Ghostbusters Episodes

by David Court

The animated series "The Real Ghostbusters" ran from 1986 to 1991, the "Real" prefix added to distinguish it from Filmation's animated series of the same name, which was based on a live-action TV show that aired back in the mid-'70s. A spin-off from the incredibly popular 1984 movie "Ghostbusters," it continued the saga of Egon Spengler, Ray Stantz, Winston Zeddemore, and Peter Venkman (with the cast's appearances all slightly tweaked to avoid any pesky arguments over likeness rights, of course) and became a beloved series in its own right.

Indeed, in an era where a great many cartoons seemed to exist solely to promote a toyline, "The Real Ghostbusters" stood out. Yes, there were plenty of "Real Ghostbusters" toys, too, but the show's quality control prevented the show from ever feeling like an extended commercial (having a pre-"Babylon 5" J. Michael Straczynski on writing and story editing duties surely played a large role in that).

So, strap on your proton pack, flick off the safety on your particle thrower, and let's capture the 15 best episodes of "The Real Ghostbusters" in our containment traps! Just make sure you don't cross the streams -– that would be bad.

The Thing In Mrs. Faversham's Attic

The Peter Venkman of "The Real Ghostbusters" might come across as a sarcastic cynic, but in "The Thing in Mrs. Faversham's Attic," we get to see a rare sentimental side to the derisive doctor.

Taking a job from an old lady who hasn't been inside her attic for 70 years, the team crosses paths with Belleranthon, a gigantic, purple, demonic spirit with a talent for holding grudges and a name that sound like a brand of suppository. You'd be angry, too.

Venkman, in an act of altruism surprising to both the audience and his fellow Ghostbusters, does the job for free because Mrs. Faversham reminded him of his mother -- a plot twist as unexpected as Egon's PKE meter overloading due to Belleranthon was predictable.

The Grundel

Another episode featuring pure, high-octane nightmare fuel involves a ghost named the Grundel, an unsettling, red-eyed, green-faced, raspy-voiced fiend who could pass for Rondo Hatton in poor lighting. This loathsome spirit convinces children to be naughty, making them more like him; one particular scene, in which the Grundel hovers outside a boy's window asking to be let in, is very reminiscent of a similar scene from "'Salem's Lot" -– and is equally terrifying.

The versatile Ghostbusters team, clearly as comfortable hunting entities from Lewis Carroll poems as they are trapping ghosts, opens the episode by capturing a Jabberwocky (complete with fetching waistcoat). Later, they encounter Alec, a troubled teen suspected of being under the Grundel's influence. His brother, Lee, knows that something is wrong, and asks for the Ghostbusters' guidance.

Despite ending on a positive note that reinforces one brother's love for the other, the villain alone makes this one of the grimmer episodes of "The Real Ghostbusters," and would not mark the Grundel's final series appearance. 

Citizen Ghost

Directly following the events portrayed in the 1984 movie, "Citizen Ghost" sees our victorious heroes returning to their trashed fire station and its ruined containment grid (Thanks a bunch, Walter Peck). After getting rid of their old, ectoplasm-encrusted jumpsuits, Egon and the boys begin the lengthy process of repairing their headquarters. 

Over time, it becomes clear that an apparition is living amongst them: Slimer, the globulous green glutton from the Sedgewick Hotel and the first ghost the 'busters ever captured. He's joined by the since-forgotten jumpsuits, which come to life thanks to their ectoplasm coating and seek to rid themselves of their pesky, living equivalents.

Positioned near the end of the show's 1st season, "Citizen Ghost" makes a great "Real Ghostbusters" origin story. Not only does it reveal why these Ghostbusters have color-coded jumpsuits (as opposed to the khaki uniforms of the movies), but also explains why the team would choose to share their home with one of the very creatures they hunt down for a living. All in all, it almost makes "Citizen Ghost" a better sequel to the original film than 1989's "Ghostbusters II" (ducks the impending projectiles of flying ectoplasm).

Mrs. Rogers' Neighborhood

The argument that little old ladies can't be scary is, of course, somewhat dependent on how old they are. 70 years old? Not scary. 700 years old? Probably scary. And when the little old lady in question is, in fact, a mortal disguise for an ancient, class 7 demon? Forget about it.

It's a quiet day when the Ghostbusters are called to sort out a haunted house, and –- despite breaking Egon's PKE meter with an off-the-scale reading -– the little old lady who answers the door doesn't raise any red flags. Suspecting an easy job and a simple invoice, Ray takes Mrs. Rogers and her canary back to Ghostbusters HQ whilst the others investigate. It soon dawns on them that Mrs. Rogers may be more than she appears, and that her house is quite a bit more than a spirit-saturated snare designed to trap the Ghostbusters forever.

It's a simple premise, but a fun one. Puns galore are from a demon named "Wat," and the title conjures up pleasant memories of the lovely, inoffensive "Mister Rogers' Neighborhood" (Rumors that the real Fred Rogers was possessed by an ancient Kandarian demon are, at the time of this writing, unproven).

Ghostbuster Of The Year

When Charles Foster Hearse III (publisher of Boosweek and Spooks Illustrated) offers the Ghost Hunter of the Year award to whoever can capture his grandfather's ghost, our intrepid quartet are pitted against one another –- yet the only clue for the haunting is the ghost's mournful cry of "Rosebud."

"The Real Ghostbusters" was always at its best when it aimed to function on multiple levels, and in this case, it delivered a solid story while operating as a pseudo-sequel to one of the most revered films of all time. Barring the (minor) name change, the grandfather is Charles Foster Kane of "Citizen Kane" fame, and -– as anybody with a passing interest in cinema must know by now -– "Rosebud" was his final word before dying.

In addition to voicing Egon, Maurice LaMarche does his very best Orson Welles impersonation as the ghostly grandfather (and would go to voice him again seven years later, in Tim Burton's "Ed Wood"). Also worthy of note in this particular episode: Venkman mentioning Huey Lewis, which seems particularly apt given his unfortunate link to Ghostbusters.

The Boogieman Cometh

"The Boogieman Cometh" begins with the Ghostbusters capturing a ghostly gangster (which, incidentally, reinforces the rule that all cartoon mobsters must sound like James Cagney). Shortly thereafter, a few kids try to hire them with the contents of their piggy bank, claiming there's a boogieman hiding in their closet. Egon seems especially determined to take the case, and we soon find out why: This same legendary monster is directly responsible for Egon getting involved with the supernatural in the first place.

A far cry from the comparatively cuddly Sully and Mike from "Monsters Inc.," this closet-dweller -- with his pointed ears, rat-like features, and gargantuan head -- is capable of inspiring absolute terror (Indeed, one suspects the Boogieman of causing many nightmares in the wake of this episode's debut). "The Real Ghostbusters" was at its best when creating its own mythology rather than borrowing from the movies, and this recurring villain serves as a perfect example. There's genuine tension and peril here, and when Egon confronts the Boogieman in his own realm (in a scene reminiscent of Billy squaring off against the titular "Predator"), it's easy to forget you're watching a show aimed at children.

When Halloween Was Forever

The closer the Ghostbusters get to Halloween, the more difficult their busts become, and Egon suspects that a new museum exhibit (ruins dated to the seventh century) may be to blame. His fears are justified; soon enough, goblins have broken into the museum, releasing a pumpkin-headed creature from an ancient Irish monolith, who then proceeds to wreak Halloween havoc. The streets flood with spirits, apples –- once nonchalant about being bobbed –- begin fighting back, and grotesque statues perched atop churches come to life.

This is Samhain, who –- to the delight of ghosts, dentists, and pumpkin spice latte fans everywhere –- wants to make Halloween last forever. Ancient Irish monoliths haven't caused so much bother since "Halloween III: Season of the Witch."

He's eventually captured, but the episode ends on a chilling note: The other assorted specters within the containment unit are constantly agitated and seeking escape, whereas Samhain, already used to being trapped in a rock, waits there, patiently biding his time. This "Ghost of Halloween" would become a regular villain across the "Ghostbusters" franchise, appearing again in "The Real Ghostbusters" and also featuring in the "Extreme Ghostbusters" spin-off.

Ain't NASA-Sarily So

A suspected ghost collides with Space Platform Galileo (no relation to the USS Enterprise shuttlecraft, and any resemblance to Starfleet insignia is entirely coincidental) and the Ghostbusters are sent to investigate. They meet the multinational crew: a captain who throws in random Russian words as exclamations ("Rachmaninoff!," "Dostoyevsky!"), a paler-skinned Uhura, and a Scottish engineer who has to physically restrain himself from reminding the crew "he cannae change the laws of physics."

The Ghostbusters are excited (most of the team's just excited to be in space, while Venkman's thrilled by the prospect of a big, meaty, government contract) until they meet the ghost in question: A red, undulating, amorphous heap of eyes and mouths, it looks like it would be more at home terrorizing an Antarctic research station than a space platform. This ghost -– definitely not an alien, the plot is at pains to point out –- feeds from the proton energy in their packs, and any attack only strengthens it.

Are our heroes doomed to die in space? Of course not; Sony would never have jeopardized their huge franchise. But it is fun seeing our heroes in another environment confronted with an interesting and novel villain.

Ragnarok And Roll

Jeremy and Dytyllio, his Igor-esque hunchback companion, arrive at a hidden shrine in the mountains. This broken-hearted mystic, whose marriage proposal to his beloved Cindy has been rejected, decides to bring about Ragnarok (the literal end of the world) with a magic flute, which is more than a tiny bit selfish.

In New York, our exhausted Ghostbusters battle against waves of winged black fiends that seem immune to their proton shots. As Jeremy and his diminutive deputy arrive back in New York to oversee the final stages of the end of the world -– which is now tormented by earthquakes, volcanoes, and floods -– Egon fears for the worst.

There's a genuine sense of jeopardy here, with a threat of such intensity rarely seen in the series. At one point the despondent quartet realizes the only way to save the day might be to overload their proton packs, sacrificing themselves to save the world, but it's our team's mutual friendship, and Egon's last words being "Janine," that really strike a chord in the end. Dytillio makes for an interesting figure, still loving the world despite how cruelly it's treated him, and it's that level of characterization that makes this episode stand out from the crowd.

The Revenge Of Murray The Mantis

There's a rare moment of downtime for our busy 'busters. Egon and Ray are building an airlock for the containment grid (to establish diplomatic relations with the ghosts), while Ray and Winston are washing Ecto-1 in an effort to get it ready for the New York Thanksgiving Day parade. When a parade float -- a giant balloon of beloved TV cartoon character Murray the Mantis –- breaks lose, headstrong Peter thinks he's helping by shooting it down. Little does he suspect that the iniquitous inflatable is infused with dead energy, and the blasts from his proton pack bring the creature to life.

Confronted with such a huge foe, the Ghostbusters are left with no option other than to fight fire with fire –- or ectoplasmic, carnivorous insects with anthropomorphized chewy-sugary gelatin, at least. That's right, the Stay-Puft Marshmallow Man is released from containment. It is, quite frankly, a huge relief that they'd have the new airlock built just in time to make this whole concept achievable.

If you were ever desperate to see the Ghostbusters fight kaiju, here's your opportunity. It's great to see such an iconic character return to the screen (and Venkman back to his womanizing ways), but I wouldn't want to be the Ghostbuster responsible for trying to talk the Stay-Puft Marshmallow Man to voluntarily go back into containment.

Drool, The Dog-Faced Goblin

The Ghostbusters take a rare road trip out of the city, journeying to a remote travelling sideshow where Egon's interest gets piqued by a sign advertising a dog-faced goblin. They encounter the creature on stage, but the owner of the sideshow, Madame La Farge, insists that Drool is harmless, just a pet. Prevented from proton-packing it into purgatory, our team try to return home ... but a flat tire on Ecto-1 forces them to take refuge in a nearby hotel.

Encountering a shape-shifting antagonist during their stay, they suspect that it's Drool, but upon returning to the fair they discover that there is more than one creature capable of shape-shifting, and that they have made an ally in the unlikeliest of places.

Other than Slimer and a few occasional exceptions, ghosts and monsters are rarely portrayed sympathetically on "The Real Ghostbusters." "Drool, the Dog-Faced Goblin" deviates from this norm, presenting an affable, kind goblin –- far from the selfish, cunning, mischievous creatures in the series to date -- and the episode ends in a way that's both heartbreaking and poignant. 

Janine, You've Changed

Eagle-eyed readers may have spotted that, from this list, almost every episode is from the show's first two seasons. There's good reason for that, as a consultancy firm called Q5 were brought in during season 3 to shake things up. This led to Venkman's voice duties moving from Lorenzo Music to Dave Coulier, and Janine being rewritten to soften her up and make her more maternal, a change that saw story editor J. Michael Straczynski leave the show. In earlier episodes, she was a stronger personality, a worthy foil for the four male leads, but later episodes softened her, lessening her as a character.

"Janine, You've Changed" is a rare exception of that rule, a season 6 episode that's half-decent, seeing the brief return of Straczynski for an episode as meta as they came. The Ghostbusters, looking through an old photograph album of receptionist Janine Melnitz, suspect that something is awry: Her appearance has changed dramatically since they've known her, and her Brooklyn accent has vanished completely.

It's brilliant that the series could eventually acknowledge and justify the weird changes in continuity, and that Janine could star in an episode. If only they'd produced an episode that establishes why Venkman went from sounding vaguely like Bill Murray to sounding like he was on the verge of falling asleep.

Knock, Knock

Were you to be put in charge of guarding a door that holds back ancient spirits, preventing them from being released upon the end of the world, I'd recommend implementing a stronger security system than just an imposing voice repeating "Don't open until Doomsday." I would, in fact, recommend a padlock. If nothing else, that'd likely prevent some curious subway workers from stumbling upon it and then trying to open it, which, in turn, would save our intrepid ensemble of ghostbusters a whole heap of trouble. 

"Knock, Knock" is an interesting one. It doesn't have the strongest plot and the resolution is a little unclear, but it does have some wonderful character moments. Every one of the Ghostbusters gets a moment to shine here, and the episode contains a number of striking visuals (some of the designs of the monsters running amok within the New York subway are outstanding, perfect examples of classic "Ghostbusters" creature design). I'm also fond of the idea that the door is never properly defeated –- it remains, to be opened during some future Doomsday event, and not a moment before. Sumerians: If you can't get a decent lock for the door, perhaps rest a heavy rock in front of it.

The Collect Call Of Cathulhu

Like the episode of "The Waltons" with the poltergeist, "The Collect Call of Cathulhu" is one of those episodes where you might be tempted to wonder, "Did I imagine that?" upon thinking back on it later.

How do you get bigger than Gozer, the Sumerian god of destruction? You pit the Ghostbusters against Big Bad Cthulhu (here named "Cathulhu"), that's how. In the same way that the concept of fighting the forces of Hell with a shotgun in the videogame series "Doom" seemed vaguely silly but simultaneously amazing, so did confronting the High Priest of the Great Old Ones with four unlicensed particle accelerators operated by blue-collar New Yorkers.

Here in 2021, the Cthulhu mythos has wrapped its tentacles around every aspect of popular culture, but it was relatively rare back then: the Necronomicon, Arkham, Miskatonic University -- they're all in here, operating as a sort-of H.P. Lovecraft greatest hits collection. Cathulhu is repelled, but not defeated (presumably to keep the literary fans happy) and the episode offers a brilliant example of how to piggyback off another writer's mythology with just enough respect to make the whole thing feel like a heartfelt tribute.

Read this next: The 13 Scariest Animated Movies

The post The 14 Best The Real Ghostbusters Episodes appeared first on /Film.

11 Nov 12:05

You said this wasn't gonna be scary, dude! (by Jess Doll) - Game Grumps Animated

by GameGrumps

Original Episode ► https://www.youtube.com/watch?v=M4GsJfUKMBA&t=297s
Animated by Jess Doll ► https://jessdoll.com
Subscribe to Jess Doll ► https://www.youtube.com/channel/UCwlHDUXWj916AeucDs4MViw/featured
Jess Doll Twitter ► https://twitter.com/jessmdoll
Jess Doll Instagram ► https://instagram.com/jessdollart

MERCH ►► http://gamegrumps.com/merch
Support us on Patreon! ► http://patreon.com/gamegrumps
or support us by becoming a channel member! ► https://youtube.com/gamegrumps/join
Click to SUBSCRIBE ► http://bit.ly/GrumpSubscribe

*********************************************

We have NEW MERCH every other TUESDAY!

►►► http://gamegrumps.com/merch

*********************************************
FACEBOOK ► https://www.facebook.com/GameGrumps
TWITTER ► https://www.twitter.com/gamegrumps
INSTAGRAM ► https://www.instagram.com/gamegrumps/
WEBSITE ► http://gamegrumps.com

*********************************************

Game Grumps are:
Arin ► http://www.youtube.com/Egoraptor
Danny ► http://www.youtube.com/NinjaSexParty

#gamegrumps #animation #gamegrumpsanimated
10 Nov 12:49

blackballing people who didn’t work this year, my coworker is bad at Twitter, and more

by Ask a Manager

This post, blackballing people who didn’t work this year, my coworker is bad at Twitter, and more , was originally published by Alison Green on Ask a Manager.

It’s five answers to five questions. Here we go…

1. Blackballing people who didn’t work during 2021

I overheard my brother saying something that I find problematic (to say the least).

He and his friends, all of whom are managers at various companies, have an informal “pact” that they’re trying to spread. Basically, they’re tired of the labor shortage impacting everything from the global supply chain to how long they’re forced to wait in drive thru lines.

To that end, they’ve all gotten together and have decided that once the labor shortage is over (whenever that is) they will all refuse to hire anyone who didn’t work during 2021! Like they’re going to just bin the resumes once they have the option! Is it just me or is this really icky and gross?

It’s not just you. Your brother is in fact being icky and gross about the terrible tragedy that he has to wait in longer drive-thru lines while people are dying.

Please point out to him that his plan would illegally discriminate against women (who have disproportionately borne the brunt of the childcare crisis during the pandemic, resulting in many of them dropping out of the workforce) and people with disabilities (some of whom couldn’t safely work in-person during the pandemic or couldn’t work at all because of Covid-related health problems). Way to try to use his hiring power to harm those people.

You should also suggest he run his plan by his company’s legal department, who will explain to him why he’s being an ass.

2. My coworker is bad at Twitter — should I say something?

I work in a field where it’s common to maintain a Twitter account for networking, resource-sharing, and promoting one’s work. My colleague Ben has been very active online since he started in his current role several years ago and has amassed a significant number of followers. Ben’s grasp of tone, however, is tenuous at best. He’s not a troll or abusive, but often comes across as sanctimonious and self-important, and will often pursue a disagreement well past the point of productive debate. Since people know we work together and Ben has a high profile online, it’s not uncommon for people to ask me if he’s as awful in person as he is on the internet (he emphatically is not; he’s actually a very good colleague). Ben has expressed to me privately that he believes people in our shared professional space actively dislike him, and while he’s a little paranoid, that’s probably true — but it’s mostly because he’s so bad at Twitter. We are at parallel stages in our career and I know he’s invited into far fewer collaborative projects and shared spaces than I am, and I think that this is because his online presence is so off-putting.

I don’t know that Ben, however, has made this connection himself, and I’m sure whether to bring it up. If this were a friend outside of work I would definitely raise the issue, but since this is about how he presents himself professionally using an account that is not technically affiliated with our employer, I’m not sure how best to proceed, or even if I should say anything (our manager is probably vaguely aware that there are social networks out there besides Facebook; I don’t think she’d be much help here). This isn’t about badmouthing the job or trolling others; it’s about him making continual, unforced social errors for a few thousand people to read.

Tl;dr: my colleague has a bad, but not actively mean, social media presence that I believe is hurting him professionally; should I talk to him about it?

It sounds like he’s already talking to you about it, so yes! Although he hasn’t specifically introduced the topic of his Twitter account, he’s confided in you that he thinks people don’t like him — so why not be candid and say,  “Dude, your Twitter account is pretty off-putting, and it makes people wary of working with you.” And maybe, “I don’t think you can have a Twitter account like that and a good reputation in the field — you’ve got to pick one or the other.”

3. Should I mention my coworker’s anti-parent stances when I leave?

I will be notifying my supervisor of my intention to resign from my position within the next few weeks. Overall, it has been an excellent position and I enjoy my team and my supervisor.

While not the reason for my resignation, I’m wondering how or if to address some concerns about another member of the team. This other employee and I are both the right hand of our supervisor, and previously I did not want to alienate my supervisor by expressing concerns about the other person who is considered to be her close confidant. That said, this other employee (who was my supervisor before I was promoted) has repeatedly said things that were problematic about children and maternity leave. For example, I have heard her say of others with small children that it was their choice to have kids and it shouldn’t be her problem to have to cover for them when they have a sick kid. She told me many years ago that she didn’t think I would last in the office, because she thought I would leave to focus on my family. Following my return from maternity leave, I discovered that she had treated my team unfairly and when I approached her about it, she said, “Well, that’s what happens when you leave for three months.” These things have stayed with me and regardless of how she might say the right thing sometimes (usually when she’s in front of other people), I believe that I understand her true thoughts on employees with families and it has tarnished my experience in an otherwise supportive office environment.

I want to say something to my manager. I don’t believe she knows that these things are said out of her earshot, and I know she wouldn’t be okay with it. But I’m hesitant because (1) I don’t want to make my manager’s life harder by leaving and then also casting doubt on this other person, and (2) I want to use these people as references in the future and I don’t want this to override the good will that I have built up. Do I just leave it be? Are these comments innocuous enough that I brush it off? Or do I say something, knowing that would be potentially causing more chaos and complicating existing relationships?

Yes, please say something. Your coworker is in a management position, and your company has a legal and ethical responsibility to ensure that she’s not discriminating against parents* or subjecting people to a hostile work environment for taking family leave. Based on what you’ve described, it’s highly likely that she’s doing both those things and that her staff is subject to the same sorts of comments you’ve heard from her.

I’d be deeply upset if I found out someone didn’t tell me one of my employees was doing this because they didn’t want to make my life harder or more complicated! Your manager needs to know. (If it helps, put yourself in similar shoes — how would you feel if your staff didn’t tell you about something legally/ethically sketchy happening on your team because they thought it might be a pain for you to deal with?)

* Parental status isn’t a protected class in most U.S. jurisdictions — but when something has a disparate impact on women, as parenting stuff at work generally does, sex discrimination laws kick in.

4. Should higher level managers be available at all times?

I’m curious about your perspective regarding a conversation at my workplace recently. One of the higher level managers was lamenting the fact that some of her peers (other higher level managers in different departments) were out of the office and unavailable. She feels that at a certain level, managers should be continuing to keep work moving, even when on approved PTO.

Our employer does not allow comp time or work from home, so any work done on approved PTO (vacation, sick, etc.) would not be compensated in any way. These managers would be using PTO but still keeping at least some things moving and being available to their staff and colleagues.

What’s your take on this? At what level would this seem appropriate? At what point does it become exploitive or is it not exploitive for managers at the top end of the pay scale?

Whoa, no. There are some jobs where that can be an expectation at certain times. For example, if you’re overseeing a high-profile project and want to get away for a few days in the middle of it, the price of doing that might be that you’ll need to be available for questions or sign off on a draft. Or if a significant crisis happens, in some jobs you know you’ll be getting called regardless of whatever else you might be doing. But constant availability isn’t generally a default expectation, and it’s definitely not true that at a certain level managers should never be able to disconnect! Even many CEOs manage to take vacations where they fully unplug for a week or two or longer.

5. Can an employer require overtime?

My husband works insurance in claims, and they have regularly imposed mandatory overtime during periods of high volume or low staffing, even before the pandemic. They recently assigned four hours per week for an unspecified period of time, and today upped that to seven hours a week.

We have two small children and I work full-time in an exempt position. This is a serious logistical issue, as well as impacting our quality of life. Can they legally do this? Based on past experience, if he tells his boss he is not able to work this much overtime, he will be asked to detail why, when others who also have families make it work. I’m already burnt out just thinking about it.

They can indeed legally require overtime. He can try to push back, including explaining that he’s the primary caretaker for your kids when you’re working. But ultimately they can hold firm if they choose to. If that happens, it might make sense for him to look at jobs with hours that fit better — which is obviously not an easy or an overnight solution, but might be the most practical if those really are the conditions of the job.

10 Nov 12:44

Be a Working Woman!

by Mary Kelly

the working woman book front cover

Working Woman
Barbara and Jim Dale
1985

For a hot minute, I thought this Jim Dale was the actor who read the Harry Potter series on audio books. I was wrong. This Jim Dale partnered with his then wife Barbara Dale and made a few of these humor/cartoon books about working, marriage, and parenting, etc. They also started a cartoon strip in the 1990s that tried to capitalize on the parenting, marriage, family thing. It didn’t really go anywhere and was probably a bit too edgy for the newspaper. The Dales were also involved with creating greeting cards. The Dales divorced and Barbara bought Jim out of the greeting card business. These cartoons are dated, but they are also on point and probably a bit edgy for the time.

Cartoon books, and other types of literature probably should be weeded based on circulation or condition. If it works in your library, than keep it. I won’t stop you.

Mary

back cover male bosses male coworker pride in your working woman unannounced visits housecleaning sacrifices

The post Be a Working Woman! appeared first on Awful Library Books.