Undead Blog
ex·an·i·mate | no longer living, post-life
Sat, 2019 Sep 14

Multi-timezone digital xclock

Here is how to get an xclock display that would show multiple color coded timezones for each hour, but otherwise was small and out of the way. Timezone has to be set for each xclock element. The individual color coded hour elements are spaced so that they fall in the blank space(s) of the larger UTC clock.

The code below lives in my ~/.xsession file. It is important to put the individual color coded hours first, and the larger UTC time clock last, as the .xsession file is processed "front to back" for displaying the xclocks in a layer.

(export TZ=US/Pacific ; xclock -d -fg purple1 -padding 1 -font "-urw-urw chancery l-medium-i-normal--24-0-0-0-p-0-iso8859-13" -g -36+0 -strftime "%H ") &

(export TZ=UTC ; xclock -d -fg darkgray -padding 1 -font "-urw-urw chancery l-medium-i-normal--24-0-0-0-p-0-iso8859-13" -g -1+0 -strftime "%F [ %H / ]:%M ") &

[] permanent link

Taking a screenshot from the CLI on OpenBSD

First, the one you will probably never use because you don't get the output in a easily usable format. xwd -screen -out shot.xwd and xwud -in shot.xwd get and display screenshots. Unfortunately, it doesn't display them in a format other than xwd, the "X Windows Dump" image format.

I'm going to assume you want to get a screenshot with an image that you can actually use later on, in a blog post or the like. This would mean converting the image, which means installing ImageMagick. Chances are, it was already installed as a dependency, but if not using doas pkg_add ImageMagick will fix that. One of the tools is import. Simply import shot.png. The file can be used immediately.

Old xwd files can be converted to any format by the Image Magick convert tool, as simple as requesting the file be renamed from one format extension to another- convert shot.xwd shot.png.

[] permanent link

Sat, 2019 Jul 27

The Unfortunate Experience of a Phone Spammer

This happened in the late '90s, at an unnamed ISP. None of the names are the names of the people involved. But I was asked to give my Phone Spammer story a bit more than a paragraph, so here you go.

The morning was less frantic than normal. We were an early market leader in data center hosting and we had already grown by leaps and bounds across the United States with deals being worked out in Europe and Asia. The building that had all of the network engineers for Santa Clara was remarkably quiet. Back then, with everything still running on mostly analog last mile services, infrastructure went down all of the time. Quiet days were pretty rare, so nobody was pleased when our desk phones started ringing off the hook.

Normally, a desk call was pretty important. Our company had a hot hand off rule for resolving customer issues, which meant that customer hold time could only be long enough to transfer a call. If it was a network issue, it went directly to network engineering if the NOC couldn't solve it in 5 to 15 minutes. This meant that we got to deal with a lot of gripy and grumpy senior admins and startup executives freaking out about how they were losing x amount of thousands of dollars an hour or minute that their problem wasn't immediately resolved. Desk calls were something to be avoided like the plague, and we would either use our private IRC that corporate didn't want to know about, or our cell phones to make calls to each other. When I say that the phones started ringing in serial at every desk, the mood went from relieved to frantic. Nobody was happy hearing it ring.

I can't even really remember what the phone scam was. But it was dumb enough to piss off every single network and systems person who had their peace interrupted. Someone had come up with some clever way of finding out if the person picking up was human, and then transfered them to someone with a clever script to waste their time figuring out if it was a business call or not. After the 5th person slammed their phone on their handset, my manager popped his head up over the cube farm and quietly announced that the next call came to him, straight transfer, and he would pick up.

Sure enough, not only did my manager, lets call him Steve, pick up the call but he picked up every call for about 30 minutes. Not only did he listen to the call, he recorded times it took to auto transfer, what exchange was being used, the sound of the dial tones and clicks, I mean everything. He then got onto his computer, and being curious I asked him what he was up to. He had set up auto calling systems for Luna Trips, and knew the ins and outs of most call routing and management systems at the time. He had figured out from the delays and clicks exactly what type of phone system was in use. He also looked up the phone exchange the calls were coming from, and with a few phone calls to the telcos we had direct communication with at the central office, he was able to pinpoint the building, floor, and office that the lines terminated. From there, he found out everything he could about the business, who owned it, and any other details he needed. He then put his plan together, and called us to the meeting room overlooking the data center floor.

"Okay, here is what we are going to do today. Before any of you ask, anything about this is on me, I asked you to do it, and it wasn't optional. But I'm not going to have some assholes abuse our phone network, especially since they are running through ALL of our exchange numbers, even the ones we give our customers for cage POTS lines for dial in- meaning they are tying up lines meant for customer emergency access. I already told these fuckers to stop, and they shined me on, so fuck them. Hard. I want all of you to call this list of numbers, and use every line on every handset on your desk to do it. Use your cell phones as well. Bounce between the lines and keep everyone on the other end busy as long as possible until they hang up. Then redial them back. Keep it up until I tell you to stop."

He points at me, "I want you to get with Nicky in the call center, and have her coordinate anyone not taking a call, and have them do the same thing. After that, get on IRC and see if you can't get East Coast and LA to do the same thing." I knew Nicky in that we all started with Steve. I was in charge of all of the regional NOCs, as well as being a Network Engineer. She had transfered over to running the new national call center, so we worked together often to manage large outages. Getting her to have several dozen of her staff stall people on phone lines would just be another fun challenge for her. It was more my job to keep her from using too many people on that rather than convincing her to help.

I didn't even need to convince the other data center offices. They all hated spammers, whether it was in mail, newsgroups, or on phones. If anything more useless ate up our time, it was any type of stupid abuse of the systems we managed, so turning that around wasn't fair play, it was delicious revenge. Word spread so fast I had to keep the flood down to a dull roar until folks could finally get on script with the plan. We were only supposed to do this in a certain way- if there were any complaints that the people on the other end of the call could make by the time they realized they were being had, we were to direct their CEO, by name, to call my manager's cell phone number. We were also supposed to stop when he told us to, which generated quite a bit of humourous groaning.

So, the scummy spammer CEO finally had enough in about 40 minutes. When my manager got the call, he put it on speaker so we could hear everything. We all stayed silent as church mice while Steve had a back and forth with the guy. First were the legal threats, which Steve brushed aside. Steve knew this guy was operating outside the law at the time, and wasn't even mildly impressed. This sent the Spam Mogul into fits of apoplexy, I mean you could feel the spit hitting the phone on the other side of the line. He started screaming about how we literally melted his phone system. It would take him days to be back online. He was losing money every second he couldn't have people on the line, and somehow we were going to pay him.

Steve wasn't having any of that. We got threats like that daily, and this guy was not only not a customer, he was abusing our customer resources and otherwise wasting our time. Basically, Steve told Spam Mogul that not only did we not owe him a dime, he is lucky he doesn't owe us line charges for every unsolicited call, plus our time for addressing his issue that he somehow couldn't fucking fix on his own when politely asked to stop. After another whiny tirade from the spam guy receded, Steve continued reaming him out, telling Spam Guy that if he ever tried this shit again on any of his exchanges, we would melt the next system as well, black hole his internet access, and send every nasty fucker we knew who tried to penetrate our systems at him with a promise of free shell access for a month if they succeeded at fucking him over.

Spam Goober had enough, and hung up. Everyone in the office started laughing their asses off, and the secret IRC server was blazing with stories that got more ridiculous with the retelling. Steve told us to lay off, and to have Nicky rein in her bulldogs. No point now that we knew the guy's phone switch was kaput. Later, when we were having a smoke outside, Steve told us he knew how hot those kinds of phone systems could run, and cooling them was always a problem. He figured that some guy putting his phone system in a closet of a poorly air conditioned LA office complex probably would have issues, and if his system didn't, the analog stuff boxes sitting in the hot LA sun would probably have issues that the phone company may have to come out to deal with. It was just a matter of time once we started pounding them.

Right after the break was over, we were walking back in and Steve's cell phone rang. It was our CEO Greg Goodguy. I could hear the whole conversation as we were walking down the hall. Basically, Greg wanted to know why some guy in charge of a large internet marketing firm was threatening damages in the millions of dollars, and could Steve quickly explain how this happened? Well, Steve broke it down that the Big Telemarketer was a small time spammy grifter, his worldwide business was being run out of a tiny office in LA, and the guy was a lying asshole. Steve related that Spam Slob had been given an opportunity to stop, but decided to press his luck after being warned off several times. That was all Greg needed to know. Greg was on a first name basis with folks that are household names now. He could crush a guy like Spam Slob.

Steve had just sat down at his desk when he got another cell call. It was Spam Lord, again on the speaker phone for kicks. It was amazing how a 5 minute call with Greg straightened everything out for Spam Lord. The incredible stress he was under affected his judgement. Obviously, he would work with his staff to make sure they would understand which exchanges they would avoid in the future. Steve made it clear that not only would his people stay off, Steve would hold Spam Lord responsible if any other similar business people decided to try something similarly stupid. We didn't get a single spam call for something like 90 days.

However, we all forgot about the haxor bounty. Someone put all of the Spam Loser's credit info onto several newsgroups. Poor unfortunate spam loser...

[] permanent link

Thu, 2019 Jul 18

More small tasks

Since changing some things around, I'm getting to some small tasks I've been missing out on. Like making sure I get notified when I need to update the patches, firmware or packages. That is now done. yay. Now time to play with neomutt, because I'm not such a fan of alpine today.

[] permanent link

Tue, 2019 Jul 16

Teaching and other fun stuff

Started teaching my daughter about Linux and how to CLI in preparation for her to study for her Linux+. Today was learning the basics of vim, and how to use vimwiki to take notes about system activities. She is having a good time with it, and is learning it pretty quickly.

Fixed some minor issues with my phone by adding the F-droid repository. I'm still migrating to a more open platform though, since I'm not happy about Samsung obfuscating some of my personal data in order to try and strongarm me into using them or Google.

[] permanent link

Mon, 2019 Jul 15

Short posts are short

Because my time after work and on weekends is short, I limit my time to whatever I can fix or do in an hour or so. This means that I won't make a lot of posts, and my posts will be brief and will not have a lot of detail. If I do make time for a longer post, it will be for a reason important enough to block out time on my calendar.

[] permanent link

Sun, 2019 Jul 14

Stupid phone won't export calendars

After confirming I could do most of what I want with Zap, I decided to run some testing in the other direction. My phone manufacturer had decided it was a really great idea to only allow me to send .ics files to other people, and not save off a copy for myself. To add insult to injury, there is no local backup method for my calendar data at all, and the files themselves can't be found on the phone (so far). Worse yet, I am only allowed to sync my calendar with 4 providers of my phone manufacturer's choice, and not simply activate a caldav service.

I mostly got into computers because one of them tried to tell me what to do, when to do it, and told me to give up if something didn't work. My attitude has been- if I spent good money on something like that, I get to tell it what to do and how to do it, not the other way around. In that spirit, I've ordered a new phone that will be compatible with a loadable ROM. By next week, I should be able to do whatever the heck I want with my calendar data, thank you very much ;).

[] permanent link

Sat, 2019 Jul 13

Zap from zotlabs will export calendars

Playing around with my test installation of Zap I found that Zap will import and export calendars in .ics format. It isn't a caldav service (that is a plugin being built), but at least I can privately share calendars with family members.

Testing with my phone shows that my device has enough smarts not to re-import events as separate items, so this should work out.

[] permanent link

Tue, 2019 Jul 09

Starting with a new story

I found writing about myself to be difficult and boring. I'll be posting more technical things here, and keeping my personal stuff on social media.

There may, at my discretion, also be a platform change to make things easier to find, but that isn't for today.

[] permanent link