Bans for Fun & Profit

The way I use this server gives me a luxury that bigger sites don’t: my visitors come from a select range, and I don’t have to worry much about blocking people erroneously. Therefore I can be quite aggressive in blocking IPs. /etc/hosts.deny is my new favorite file.

When I moderate comments here, I have a few choices… I can approve it, delete it, or mark it as spam. I never got what marking it as spam did… Apparently it doesn’t do much but set a ‘spam’ bit. (I’d hoped it trained Bayesian filters or something, but no such luck.) But what it does do is make it super-simple to construct an SQL query to pull out all the IPs that have posted spam. Add a little more and you get just the IPs this month that had posts flagged as spam. And you drop them in /etc/hosts.deny.

But then I was watching the system log file, and noticed lots of spam coming in. I’m not running much of a mailserver, so most addresses are bouncing. (Especially since they’re spamming addresses that have never existed?)

This is good news, though, for the IP-banhappy out there. Here’s my latest concoction:

grep NOQUEUE /var/log/messages | awk '{print $10}' | \
sed "s/[/ /g" | sed "s/]/ /g" | awk '{print "ALL", $2}' | \
sort | uniq -c | sort | tail

In a nutshell, we look for “NOQUEUE” in the log files, pull out the 10th column (IP), split out the junk so it’s just a numeric IP, sort it, weed out the dupes with uniq and pass it the -c flag, which has it count the number of times each line occurs, and then we sort that, so that the list is now sorted by the number of bounces. It defaults to ascending order, so that the top of the file is all people who’ve only e-mailed one invalid address. So the ‘juicy’ part is the end of the file. So we pipe it to tail, which, by default, shows the last ten lines. So the output looks like:

      5 ALL 219.140.194.117
      5 ALL 85.130.84.9
      6 ALL 86.152.15.119
      7 ALL 83.182.186.224
      8 ALL 125.181.70.135
      8 ALL 207.144.11.87
     10 ALL 125.212.188.156
     15 ALL 88.238.145.22
     17 ALL 217.26.169.66
     17 ALL 62.149.197.247

You could use a little more magic to automatically add the second and third columns to /etc/hosts.deny, but I prefer to do it this way… The reason is that sometimes (not in this example) you’ll see posts from a range of similar IPs. It’s more of a judgment call where you draw the line, so I like to give it the once-over.

Business Idea #49240924

I’m a big fan of things that don’t suck horribly. Sometimes I like to look up song lyrics on the Internet. And there are no sites that I’m a fan of, if you catch my drift…

There are a handful of lyrics sites that always rank highly on Google. But I’d say that 98% of the time, the lyrics contain egregious errors. They completely mishear a line (often in ways that just common sense can show is wrong), or have glaring misspellings, or just typos. And terrible formatting. Always.

I don’t get how a whole industry can be crappy, but that’s beside the point.

There’s a site called WikiLyrics. At one time the founder commented on a blog from years ago when I called for such a service. But the site is pretty hard to navigate, and looks too much like a wiki.

SongMeanings is the site I like most. The lyrics are usually spot-on. And, best of all, you can post comments on the ‘meaning’ of a song. But they have odd uptime problems, where the site will be down for days at a time. I haven’t been able to get to it for several days now.

If I had a lot of money, I’d buy out the handful of companies that always rank highly on Google for song lyric searches, along with Song Meanings, and develop one site to rule them all. Registered users could edit the lyrics, with some oversight. (My intuition says that music-related stuff is much more prone to vandalism.)

Rather than a bajillion obnoxious ads, we’d have a couple tasteful ads. Ideally, it would be more specific links: buy the song from a vendor who pays me a cut of every sale, and buy band merchandise with a similar arrangement. You could also try to work out something with concert tickets.

Work on setting up 30-second samples of the song. It is my understanding that 30 seconds counts as fair use.

Let people leave comments, but have Digg-style ‘voting.’ (Plus active moderators.) People can leave comments. The stupid ones get moderated down, the really stupid ones get deleted, but the good, insightful ones show up on top. The ones that say, “This song is about…”

And, most importantly, you need a nice clean, easy-to-use UI. Every single lyrics site gets this wrong. I don’t want to go through categories. I don’t want to have to specify whether it’s a song or an artist. I want to type in something and get it. I don’t want the lyrics to be in a 300-pixel wide frame that’s flanked by ads and other useless crap.

You can develop this on your own, but buying some other lyrics sites gives you steady traffic, high link rankings, and an established set of lyrics, however pathetic they may be. And, by buying them out, you ensure that the Internet has one less terrible website.

You are free to steal and use this idea. In fact, you are encouraged to steal and use this idea. 

Credit

I basically have no credit history. Applying for a credit card has been on my to-do list for a long time, but it’s one of those tasks that’s very easily displaced by almost anything.

The more I think about it, though, the more I don’t want to. I need to do something to build up my credit, but I see it as giving in to them. And what scares me most is that I’m not sure who they are. Who determines my credit score? What variables do they use? They won’t say! They made up their own game with their own rules, didn’t tell anyone the rules, and expect everyone to play the game.

If I go to apply for a loan, I don’t like the idea of the bank telling anyone. I don’t like the idea of the bank asking someone about me. And I certainly don’t like them asking someone I’ve never even heard of about me. Especially when that someone is only obliged to tell me what they have on file about me once every three years. (Sort of.)

And so far I’ve only described my issues with credit ratings. That’s the least of my worries.

What scares me most is all the horror stories. Some of them aren’t that big of a deal to me. I’m very averse to the idea of spending money I don’t have, so I don’t see myself ending up in credit card debt, and would expect to pay off my balance immediately. So in that way, the interest rate isn’t a big deal.

But that’s just one of their shady tactics. One company apparently tried just adding a nominal fee to what you owed, so that if you owed nothing, you’d end up accruing charges. Others make it all but impossible to cancel your card.

The overall impression I get from the credit industry, in a word, is deception.

Signing up for a credit card to build my credit history, to me, is basically saying, “Let them abuse you now so that they don’t abuse you later.” I’m sure 90% of people don’t have issues with their credit card companies. (Actually, I’m not sure at all. I’m sure that more than 10% don’t have issues, but I’m not comfortable putting the number at 90%.) But the fact that the majority of people don’t get scammed/abused/raped doesn’t mean that I want to sign up. (The majority of Iraq soldiers come home alive and well, but I’m not going to enlist.)

I have a check card from my bank. I can use it as a credit card, or a debit card, or an ATM card. It’s all I need. The things I can’t do with it are things that I don’t want to be able to do: I can’t buy a car and charge it to my credit card, for example. But it would be financial suicide to do that anyway.

I intensely dislike the idea of playing by their rules. I’m not sure I have a choice, but I’m not jumping up to do it, either.

Words I Still Can’t Spell

Here’s a list of words I screw up almost every time I try to spell them:

  • Ubiquitous
  • Silhouette
  • Schizophrenia
  • Curiosity

(Ironically, I got every one right on my first try here.) Curiosity is the surprising one, because it’s a simple word. But why the heck isn’t it curiousity? I guess the key is that you drop the “u” sound when going from “curious” to “curiosity,” but it still messes with me. Ubiquitous just has way too many vowels. Silhouette is French, and I always screw up French words. There’s no reason for there to be an h in it, nor a u, really. And the problem with schizophrenia is that it’s prounounced “skit-za-phrenia,” so you expect a t in there, and you don’t expect it to start sch. But it does.

Windows, Reviewed

Mr. T’s post jibed with something that was in the back of my head. I can’t sleep right now, and have sent my friends enough meandering e-mails, so I’ll post here.

For at least the past month, I’ve been in Linux exclusively. I have a 160 GB, 5400 RPM drive with Linux, and a 60 GB, 7200 RPM drive with Windows. (I also have a combination of network storage and external drives for moving/storing data.)

My roommates have been big into Orange Box lately, so I figured I’d give it a try. (It can apparently be made to run under Wine, actually, but I didn’t want to bother.) I swapped out disks, booting into Windows. And it was just one thing wrong after another after that. Admittedly, many of the problems weren’t directly the fault of Windows, but it was truly the worst experience I’ve had in a long time. (Steam was even more badly-behaved than Windows.)

Here are some things that really bug me:

  • Performance. Windows has my ‘fast’ hard drive. I scan regularly for viruses and spyware. (But I’m so OCD that I’ve literally never had any viruses, or even any malware, on this machine.) I disable unnecessary crap from starting up. I run a lean, mean machine. And with a dual-core processor and 2 gigs of RAM, it should fly. Especially on the 7200 RPM drive. And yet I can be in Firefox browsing the web under Linux in less than it takes Windows to finish logging me in. I don’t really understand what’s going on, really.
  • Fragmentation. Maybe this partially explains the above point. Most operating systems don’t make a big deal about disk fragmentation. It’s (supposedly) just a non-issue on both Linux and MacOS filesystems. I suppose I wouldn’t know, not having a defrag tool. But my Windows drive is laughably fragmented. I have more fragmented files than non-fragmented. And, when I was using Windows regularly, I’d run a pull-out-all-the-stops defrag every week or so, scheduling a boot-time defrag to make sure it also got my paging file and the MFT. Having successfully “fixed” my heavily-fragmented paging file, I thought it a done deal. But it’s again in about 300 pieces. What the hell? I thought it was one file. Where did it go? I know it stays between sessions because I tried to get rid of it when shutting down and couldn’t. So what happened?! And really, shouldn’t that be permanently mapped out?
  • Bizarre errors. I never thought I’d see the day when I was criticizing Windows and not Linux for this. Linux still has its share of bad errors. But what’s with the “The memory cannot be ‘read'” errors? (BTW, Memtest finds nothing.) What’s with rtvscan.exe crashing?
  • Slow performance. Not just bootup, mentioned earlier. When I go to start an application, I usually sit there waiting for several seconds. Just sitting, waiting. I’ve never had this problem under Linux. Maybe it’s just that Linux isn’t a fan of big ‘suites’ of programs, preferring to have lots of little lean applications. But I click on the Firefox icon in Linux and Firefox pops up. I click on the IE icon in Windows and my disk churns and, five seconds later, it pops up. Why?!
  • Disk mounting. Again, I never thought I’d see the day when I thought Linux had this better than Windows. It used to be that you’ve have to pull up the command line and su to root and mount a device manually, specifying the device name and a mount path and the file format and various other parameters. Unplugging the device without unmounting it would usually lock up the system and/or cause a kernel panic. Now in Ubuntu I just plug in external devices and they show up on my desktop. They’re comparable that way. (Although Linux doesn’t give me five little bubble icons in a row about “Unknown device” and searching for drivers.) But what about when I want to remove something? In Linux, I right-click and select “Unmount,” and the icon disappears and I remove it. I forget periodically and nothing bad happens. I consider myself to be a very advanced ‘power user’ of Windows, and I’m still not sure. Do I click on that little icon in the system tray? Why is it so hard to use? I’ll find something that sounds like what I want, and I click on it, and it brings up this hierarchy of devices, ranging from the name of the physical disk to a ‘mass storage device,’ and asks which I want to stop. And honestly, I know a lot about Windows and I know all about the hardware, and I’m still never sure. Rusty informs me that Vista’s the same way.
  • Updating. I guess it’s not as practical since Windows has a whole different environment, but MacOS and Linux both have a centralized package manager. An automated daily check might inform me that my word processor and graphics editor have new versions, and let me choose what to do. In Windows, each application does this on its own. It’d be kind of nice if Windows had a central package manager, just so that I wouldn’t have constant headaches when running Windows for the first time in a month with everything I start going out and downloading new updates.
  • File copying sucks! I’ve long-complained about how copying a group of files shouldn’t abort completely when it hits one bad file. But I discovered something else. I was getting low on disk space, so I was moving things over to another drive. I had about 3 GB free, and was going to move a DVD ISO over to the external drive, too, for 7-8 GB free. But it wouldn’t work, due to insufficient disk space. I was confused, because there was plenty of space on the target disk (like 400 GB free). It’s apparently that the Windows drive didn’t have enough space. Which for a second almost made sense: it’s a big file, so it needs room to work. But wait… Why? It can move it, chunk-by-chunk, over to the new disk. I can’t think of any other way of doing it, in fact. And there’s enough room to copy it at least 75 times.

Half-jokingly, I pondered over e-mail, “Why do people ask if Linux is ready for the desktop? The question, I think, is ‘Is Windows ready for the desktop?’ And I’m not sure.” But really, if I have constant headaches, I can only imagine how the people with 75 IE toolbars and lots of spyware and viruses and no idea how computers work must feel. I think my computer is slow? I have bizarre, unexplained errors? I’m confused by technobabble messages that pop up?

Of course, in the interest of fairness, there are two things that I’m liking about Windows:

  • I can put my laptop into standby / suspend. It’s been possible under Linux for years, but doesn’t work properly out of the box for me, and I don’t feel like jumping through hoops to make it work.
  • There’s this one insidious bug (I’m running the “bleeding edge,” Ubuntu’s Gutsy Gibbon, so I suppose I can’t complain too loudly) where the logout/shutdown button locks up the machine for 30 seconds before it displays. This is apparently a known problem with several different causes, but it seems pretty pathetic that it’s still an issue.

Oh, see, this is exactly what I hate! As I’m writing this, I can hear my hard drive going. And the disk activity light is on solid. What’s going on? I have no clue! All I have open is Firefox. Some background process is apparently accessing my disk. What is it? I’m not quite sure!

Getting Familiar with the CLI

As long as you’re doing lots of work in Linux, there are some more things you’ll want to get used to. I spent a lot of time in the command line. (It’s kind of hard to avoid when you’re working on a headless server.) These tips are useless if you don’t have a basic familiarity, but for people with a relatively basic knowledge, here are tips that might come in handy:

Very often in less, I want to jump to the end of a file and work my way up. I can hit space over and over. One day I thought I was clever, when I realized it would tell you how many lines were in the file, and I began telling it jump to line 123 by typing :123 within less. But it turns out it’s even easier. G takes you to the last line. g takes you to the first line. There are many more handy tips here.

Of course, I spent even more time in vi. Search and replace is handy. But keep in mind that the :s/old/new command will only work on one occurrence. You can append a g, ending up with :s/old/new/g, but it’s only going to work on one line. This is usually not desirable. You can specify a line range. Generally, though, you want the whole file. $ denotes the end of the file, so you can do it as “1,$,” denoting “From line 1 to the end of the file.” But it’s even easier: % means “the whole file.” So I end up with…. :%s/old/new/g to replace all “old” with “new”. And if this isn’t what you want, press u to undo. The “G” trick to jump to the end works in vi, too. Turns out you can replace :wq with ZZ, which is essentially the same.

I’ve known about the uniq command for quite some time: its goal is to weed out duplicate lines. This is handy far more often than you might imagine: say you strung a ton of commands together to pull out a list of all e-mail addresses that your mailserver has rejected. There are bound to be many, many duplicates, because apparently bumttwagnerfor@domain is commonly-spammed (?!).

But uniq has a peculiar quirk that I missed. They call it a feature, although I’m not sure I agree. It’s for filtering out sequential duplicate lines. If the duplicate lines aren’t in order, it will merrily pass them on. I suppose there may be scenarios when this is desirable, although I’m at a loss to think of any. In a nutshell, whenever you want uniq, you probably want to run it through sort first. grep something /var/log/messages | sort | uniq, for example, will pull out all lines with “something” in them, but omit all duplicates.

And note that use of grep. For some reason people seem to think that echo filename | grep search_pattern is the way to do it… There’s no reason for echo. Just do grep search_pattern filename.

Fun with Shell Commands

I’m now running a mailserver, and I was trying to set up Mailman to handle a mailing list. I was having some odd behavior causing Mailman to barf up a fatal error, so I used a trailing monitor on the log file with tail -f.

In the course of doing that, I noticed several hosts connect attempting to deliver mail (presumably spam) to “bumttwagnerfor@domain…”, a bizarre address that definitely doesn’t exist.

It’s not a big deal, because the mail’s just bouncing. But it got irritating watching them all in the log file.

I wanted to ban them. It turns out that Linux makes this easy: there’s a hosts.deny file, and anyone in it is banned from connecting. I already have a script that watches for repeat failed login attempts on ssh and bans them. (And I have something like 200 IPs banned, although I suspect that it’s not purging them appropriately.)

All the log entries are in a common format, and look like this:

Oct 8 05:41:31 oxygen postfix/smtpd[23212]: NOQUEUE: reject: RCPT from unknown[62.233.163.250]: 550 5.1.1 : Recipient address rejected: User unknown in local recipient table; from= to= proto=ESMTP helo=<250.248/30.163.233.62.in-addr.arpa>

We can see (actually, guess, in my case) that the IP is the 10th ‘column’ (using a ‘space’ as a delimiter). So we can begin a rudimentary script to print out just that:

# grep bumttwagnerfor /var/log/messages  | awk '{ print $10}' | head
unknown[211.49.17.175]:
81.202.185.36.dyn.user.ono.com[81.202.185.36]:
host-89-228-234-224.kalisz.mm.pl[89.228.234.224]:
LSt-Amand-152-32-14-78.w82-127.abo.wanadoo.fr[82.127.29.78]:

But there’s an obvious problem: the hostname is rammed up against the IP. I want to just ban the IP, and strip out the hostname. The correct way is to write a lengthy regular expression to match just whatever’s between the [ and ]. (Note that you can’t just write a regular expression to match IPs: the very first one has an IP in its hostname, for example, which would throw you off.)

The quick and easy solution is to replace the [ with a space and the ] with a space, which gives you “hostname IP “. And then you use awk again to print it:

grep bumttwagnerfor /var/log/messages | awk '{ print $10}' | sed "s/[/ /g" | sed "s/]/ /g" | awk '{print $2}'

This is a pretty ugly command. Just the way I like it. 😉

But we’re not quite done! The format for hosts.deny is “Service: Address.” We’re just getting addresses here. I want the output to be something like ALL: 1.2.3.4 for each entry. (If they’re spamming me, I don’t want to allow them access to any other services.)

When it’s all said and done, here’s the command:

grep bumttwagnerfor /var/log/messages | awk '{ print $10}' | sed "s/[/ /g" | sed "s/]/ /g" | awk '{print "ALL", $2}'

You can just append a >> hosts.deny to deny them right away, or parse it through head or less to review first.

And viola. 440 IPs banned.

Seriously, though. wtf is going on? 440 different people have tried spamming this address that has definitely never existed.

Car Cleaning

Having spent at least a month in the parking garage, my trip home was a clear cry for help from my filthy car. And if you’re going to do it, you might as well do it well.

I found some stuff called Krud Kutter. It’s a strong cleaning product. So I used lots of it. There were a few spots (like my gas cap) that had lots of caked-on dirt. I also used it on the base of the car, which had gotten quite dirty. As had, not shockingly, some parts under the hood, and my wheels. I’m telling you, wheels are the secret to having your car clean.

I first sprayed it where needed, and then let it sit while I went and got the hose set up. About five minutes later, I hosed off the car. Already, it was looking much better.

Turtle Wax apparently makes a car wash solution that’s supposed to leave a ‘hard wax shell.’ I don’t believe that, because I cleaned my windows with it too, and there’s definitely no hard wax shell on my windows. Of course, while scrubbing the car clean, you’ve got to re-apply the Krud Kutter and scrub the dirty parts, which suddenly looked much cleaner.

When all was said and done, you dry it off with a Calfironia water blade. It makes quick work of drying your car. (If you don’t dry the car, you’ll get water spots everywhere and it’ll end up looking worse.)

Take a break to let everything dry completely, including the tires. (Actually, I cheated and used another cloth during this time to scrub the wheels with Krud Kutter and a rough sponge again: using the same cloth you’re cleaning the car with is just asking for trouble.)

With everything dry, there are some more steps:

  • Re-apply Rain-X to the windows. I find that you just need to do front and rear, the front side windows, and the mirrors.
  • Since it’d been a long time, I used a clear-coat safe polish. It was supposed to be a wax, too, but I was using it for the polish qualities. (In theory, a polish is slightly abrasive, so you’ll end up with a much shinier finish, and the extremely thin scratches that had been built up disappeared.)
  • As I waited for that to dry, I used Armor-All on the tires. It makes much more of a difference than I expected the first time. Over time your tires turn a dull gray, and your wheels go from silver to, well, dull gray too. Having just gotten the wheels shiny, the tires still looked their dull gray. After applying the Armor-All, they looked pretty much brand-new. But they don’t have that ridiculous shiny look that the tire-shine sprays do.
  • With that done, I now had the tell-tale white haze all over my car from the polish/wax. I took a cloth and wiped the car down. (Hint: for an SUV, you’ll really want more than one cloth.) It’s important to note that the car has to be spotlessly dry, or you’re wasting your time wiping it down: any moisture will just smear the white haze around and make it look even worse. It’s not a fatal mistake, you can wipe it down when again when it dries. It’s just a colossal waste of your time. The key is to dry your car prior to polishing/waxing, but there’ll inevitably be some little bits of moisture anyway: so you just get them as you’re waxing. You’re supposed to apply it with a damp cloth anyway.
  • You always follow up a polish with a wax. I’m a big fan of this wax, which smells so good that I want to bathe in it. Let that dry and then wipe the haze off.
  • Here’s a secret: when you’re done waxing the car and you need to wait a few minutes for it to dry, wax your wheels. No, really. Not only will they shine more, but it’ll make it harder for brake dust and tar and the like to stick to them. Even having scrubbed them super-clean, I do them last, to make sure any dirt on them doesn’t get transferred to my car, where it may scratch the paint.
  • While waiting in between steps, you can apply Armor-All to other plastic/rubber surfaces. (In my case, some trim around the engine, a plastic cover on the rear bumper, the rear windshield wiper, and the ‘knobs’ on my roof rack.)

You don’t want to go too crazy, but it’s worth mentioning that you can clean your engine, as long as you know what not to mess with. (E.g., I wouldn’t spray the battery with a hose, and I avoid certain things that don’t look like they should get wet; overall, an engine’s pretty well suited to getting hosed down. Just make sure it’s cool, or you risk enormous problems!) I’ve cleaned the engine before, so it wasn’t that dirty, but a little Krud Kutter in strategic places got it looking much better, and then Armor-All on some hoses and plastic covers that looked like they could use it. Just use common-sense when doing this: components that are greased probably shouldn’t be sprayed with a degreaser, for example, and steer clear of things like filters, although they’re covered most of the time anyway. While I’m in the engine, I give it a basic once-over: I’m no mechanic, but it’s simple to see if the liquid reservoirs need refilling. I just had to top off my windshield washer fluid, which I just did with water.

It makes sense to me to clean the inside of the car at the same time. I usually do it afterwards, as I usually end up standing inside the car to reach the roof. The steps here are pretty common sense: pick up garbage, vacuum, clean the windows, dust, and wipe down with Armor-All where appropriate. Oh, and make sure the clock is accurate. That’s a pet peeve of mine. Follow the advice on the Armor-All bottle and don’t apply it to your steering wheel or pedals, because they’ll become slippery.

Discoveries

I’m eating some nuts right now. They’re unsalted, unroasted, so they’re really not even that good.

Which got me wondering… How did people discover nuts? Were they accustomed to ripping things off trees and eating them? Did they try acorns? All the trees with inedible berries?

But here are some other things I’ve always wondered about the discoveries of:

  • Smoking. I think I posted about this before, actually. I think that, even if I lived all by myself in the woods with nothing to do and nothing to eat and no basis for what was normal, I’d never think, “Let’s rip this leaf up, dry it, set it on fire, and inhale the smoke.” And why tobacco leaves? Did they try oak leaves? Grass? Cabbage? Corn? Poison Ivy?
  • Sex. No, really. What else did they try before their breakthrough discovery? I think a fair amount of what we hold as “intuitive” is really societal. Was it clear initially that it should be a male and a female, and what went where, or were there lots of other variations?
  • Beer. Who thought, “Let’s take these unappetizing ingredients, let them rot for months, and then drink it!”? Intuitively, wouldn’t you think, “This has been rotting for months, I don’t dare drink it?” What else did they let ferment before ingesting?
  • Cheese. Kind of the same concept. Spoiled milk is disgusting. But getting it to cheese? I don’t think I could ever even eat cheese if I really thought about its manufacture. And for the first, say, century after cheese was discovered, I’m fairly certain that there weren’t supermarkets that sold pre-packaged cheese.
  • Milk. Really thinking about where it comes from, what led us to drink that? Did we try drinking bodily fluids from other animals? Do I even want to know?
  • Meat. Seriously, who thought, “Let’s kill that cow, cut it up, and eat it?” Was cooking devised right away? I love my burgers, but I’d rather starve to death than go up and start gnawing on a cow. And cutting up a cow and then gnawing away sounds even more disgusting.
  • Contact lenses. I’m glad I got them long after the technology was perfected. I’m fairly certain that if someone came up to me and said, “I’m working on a revolutionary new technology that lets you stick ‘glasses’ directly to your eyeball,” I just would have laughed… Or run screaming. Depending on whether or not they wanted to try them on me.