ideatrash

Writing, publishing, geekdom, and errata.

Worried about your privacy online now? Try this VPN deal!

No comments
Now that the FCC has decided to destroy Net Neutrality (though the fight isn't over yet), it's more important than ever to keep things as private as possible.  A VPN - and one of the few that is proven to not keep records - is a good step in that direction. 
Private Internet Access (the VPN that I use) is running a special of two years of quality VPN service for $59.95.


Still not sure why you might want a VPN?  Check out PIA's FAQ here: http://bit.ly/2C8iW74

Up to five devices, and no records kept.

You can get this deal (and save you some money) only through the end of the day on 5 Jan 2018 through this affiliate link:

https://www.privateinternetaccess.com/pages/pia-2yr-deal/ideatreash

As they say... I'm also a client.

No comments :

The Beautiful Aspect of Nihilism

1 comment
There's something beautiful about nihilism - something that can make it optimistic.

Nihilism is a philosophical doctrine that suggests the lack of belief in one or more reputedly meaningful aspects of life. Most commonly, nihilism is presented in the form of existential nihilism, which argues that life is without objective meaning, purpose, or intrinsic value.

You'd think that such an ethic would be inherently depressing, and a lot of folks seem to see it that way.

But.

The thing is, so many of us have been constrained, limited, and actively hurt by the constructs of modern life.  Religion, political ideology, gender roles, and so many more beliefs have been imposed on us without our consent.

Not only have we been forced to believe, we've been forced to maim ourselves.

And suddenly those painful, harmful beliefs are just... gone.



When you reject the reality of those harmful things, then suddenly there's room for purposeful growth and self-expression.

Sure, there may not be any inherent meaning or intrinsic value in the ethos that you end up developing yourself.

But finally, at least, you're living your most authentic and fulfilling life.

Stop being cowards, men: Own up to and fix the sexual violence in our culture

No comments
I shared this link earlier today from an article titled "Women are having sex out of politeness and that’s got to stop".  (Triggers behind the link, obvs.)

http://metro.co.uk/2017/12/11/women-sex-politeness-got-stop-7149789

What's terrifying about this (for me) is that it's almost certainly happened to me... and I had no idea.  Our society has taught women (and accurately) that men are a threat to women, and they simply can't bet that I'm the exception.



This might be invisible to other men, but it's real.

Like so many of these things, it will require those with power (men) to specifically say and follow through with "You don't have to" first.  And we (men) will have to show it and act like it because women have dealt with men who said one thing and did another.

That does not mean that all men are evil, or bad, or anything like that.  But we are swimming in privilege... whether we realize it or notWe can all be well meaning white guys... but still cause insane amounts of damage without meaning to.

And here's the thing, my droogs:  even after you realize that this is a world where sexual violence is something that every woman is painfully, always aware of, a world where sexual harassment and abuse of women is the norm, the responsibility for fixing things lies with those who currently hold the power, whether they asked for that power or not.

And in this case, that means men.

Unless you other men are too cowardly to face up to your responsibilities.

And then, well, you're not really men, are you?

No comments :

You can't respect yourself if you don't know yourself... and tell others.

No comments
You'll usually see this quotation weaponized after a breakup:  "Respect yourself. If you don't, others won't either."

I say that you'll see it "weaponized" because in those cases what's really being said is "I didn't get what I wanted, and I'm upset about it."  The intent is less to build up the person saying it, and more to tear down a (specific) person hearing it.

You can also see it in the way it was originally meant - that women are typically socialized to defer to men, and that deference doesn't lead to politeness or respect.  Deference there leads to becoming a doormat.

But it can also mean that you should respect what you're able to give.  Maybe your time is limited, or you can't move, or, or, or.  If you don't respect what you can (and can't) give in a relationship, you won't be respected either.  It's challenging when you really want a relationship to happen, but if you don't respect your own abilities - and what you're able to give sustainably - then someone's going to feel disrespected real soon.

And I think it can also mean respecting what you're willing to receive - that is, what "price of admission" you're willing to pay.  The other person has (or wants) children and you don't?  They're poly and you're not?  They don't want to marry and you'll only be happy if you do?  You have to respect your own boundaries and be honest and open about them.  Otherwise, the other person(s) in the relationship will seem like they're not respecting what you want... even though they're respecting the boundaries you said out loud.

No comments :

Reflections on a birthday

1 comment
Photo by Nikhita Singhal on Unsplash
Even though I knew it was a joke, I kind of expected the big "forty two" to provide some answers.

It didn't, really.  Sure, I continued to heal from a past trauma, I continued to keep doing what I'd been doing, but... well, it didn't feel like there were answers.

Toward the end of the middle of my forty-second trip around the sun, I met someone.  And that was a good thing bigger than anything else.  I thought, maybe, this was going to be a sign of a better year.

It was not a better year.

My forty-third trip around the sun - well, like many people, the end of 2016 and most of 2017 was pretty crap overall.  The nice moments were overwhelmed by mountains of debt piling up on either side, by the problems and sudden unpleasant changes suffered by my friends and loved ones, by the horrors of this administration.

But through it all, there have been some positive constants.  B, my loveable spiky floof, and her ongoing journey of self-discovery.  My other relationships - new and old - which have provided joy and a check to make sure that I'm not being an idiot. My friends - in all communities - who have shown that they care, even when I'm not being the best friend possible.  My son, who's being pretty level headed about getting things together and moving on with his life.

I have no idea where year forty four is going to take me.  I have no idea if it's going to be better or worse than the last trip around the sun.  Money is an issue.  There's been big transitions in my relationships. I don't know if I'm going to keep publishing or not.

But if I have the loves and friends and family that I've had this last year?

I'll be okay.

BiWeekly Weekend Long Flash Challenge starts TONIGHT!

No comments
Keep warm with writing!

Several of us have started our own, self-hosted, flash fiction challenge over at a website we're calling Obsidian Flash.  It's on a forum behind a password, so that anything you write and submit is considered unpublished.  Registration is quick, free, and pretty painless.

Seriously, this thing is the perfect thing for you to do if you think writing is hard (or finding time for writing is hard), and especially if you haven't been writing for a while.  It's also great if you have problems with getting past ideas that "you suck" (every first draft sucks, face it) or self-doubt. And if you're writing for NaNoWriMo, we've put in a tweak to the rules so you can still participate without having to stop writing on your story.

Go sign up now at http://obsidianflash.com/forum and we'll see you writing this weekend!


Here are the rules:

Welcome to the Flash Challenge!  Our Flash Master is...Anton Cancre!

Here are the rules, slightly changed for NaNoWriMo:

1. All stories should be complete, written and posted within 24 hours of the prompt being posted, and can be anywhere from one sentence to 1,000 words in length.  Typically the prompt is posted by 8pm EST on Friday, and stories are posted by 8pm EST on Saturday.  at the beginning so we know!

2. You may choose to write your story in any genre.

3. Your story must be built around the restrictions—words, themes, photo prompts, word limits, etc.—provided by the Flashmaster at the beginning of the challenge.

4. Once the participants’ work is posted, the voting and comment session begins and continues until all votes are in. Time limit for voting will be determined on the spot, depending on how many people finish the challenge.  Typically this is within 24 hours of the end of the writing portion, or 8pm EST on Sunday.

5. The winner becomes Flashmaster and chooses the prompt(s) for the next contest.  Also, you get all the Internet Bragging Points you think you can get away with.



Don't wait - get going and register at http://obsidianflash.com/forum right now and join us!

No comments :

Hey, here's some services and stuff you might find useful. I do.

No comments
There's a couple of services I use and recommend for other folks; these are referral links, and will (in almost all cases) benefit both you and I.

DoorDash: This delivery service goes and picks up food for you from places that might otherwise not deliver, and brings it to you. There's a bit of a fee, but the service has been great to me so far, including my personal favorite: bringing breakfast to me and my darlin' on the weekends when we're just lounging about.  http://drd.sh/FezNVu/

Project Fi: I've had nothing but good experiences with Project Fi, especially since I don't use a whole ton of wireless data every month.  I lowered my mobile bill by 50% and got a new phone in the process. https://g.co/fi/r/0R54FN

Dropbox: If you don't already have a Dropbox account, you're missing out. There's a lot of services that allow you to synchronize your data via Dropbox between your home computer and mobile, and that alone makes it worth the free tier. http://db.tt/PeYcFIot

Namecheap: I've been using Namecheap for both DNS registration and hosting for years. Their service has only gotten better over time.  They don't handhold you, but they don't let you dangle either. http://www.namecheap.com/?aff=41387

Insync: This crossplatform utility lets you synchronize Google Drive to your home computer - and does so with only a one-time fee.  Especially if you're on Linux, this is a must-have.
https://www.insynchq.com/r/109458505937185551876

Private Internet Access: With the end of Net Neutrality looming on the horizon (you have made phone calls and emailed your reps, right?), it looks like a reliable VPN provider may be a necessity instead of a luxury.  PIA has a history of providing good service without maintaining logs, and runs a reasonable price. I've been using them exclusively for a little bit over a year and have been quite pleased.
https://www.privateinternetaccess.com/pages/buy-vpn/ideatreash

No comments :

It's time for another round of reasonable-sounding bigotry!

No comments
I wasn't expecting to hear it. Not any more.

"Beliefs should be respected," he said. "Just believing gay people shouldn't get married doesn't make me a bigot."

"Believing same sex people shouldn't marry doesn't make you a bigot," I replied, "trying to force someone else to live by that belief does."

After a second, he said, "Well, yeah, but they're trying to force gay marriage on people. Our beliefs should be respected. That's just reasonable."

I'm a little disappointed that two years after marriage equality became, um, the law, that this is still some kind of talking point. It sounds like it should make sense, and sounds innocuous; it's anything but.

So let's go through this latest permutation of reasonable sounding bigotry.

Beliefs should be respected. No, beliefs should be acknowledged. Unless you're going to respect my belief that everyone should tithe 10% of their income to me.

 This statement always is a charade, a scam to try to make the statement "Everyone should do what I want because it's a belief" look reasonable or fair.

 You can acknowledge someone's belief ("Oh, you think the Earth is flat? Okay.") without having to respect it ("You think I should defund NASA because you think the Earth is flat? Um, no."). Or as Patton Oswalt put it:
“You’ve gotta respect everyone’s beliefs." No, you don’t. That’s what gets us in trouble. Look, you have to acknowledge everyone’s beliefs, and then you have to reserve the right to go: "That is fucking stupid. Are you kidding me?" I acknowledge that you believe that, that’s great, but I’m not going to respect it. I have an uncle that believes he saw Sasquatch. We do not believe him, nor do we respect him!”
They're trying to force gay marriage on people. No, we are trying to end discrimination and ensure that marriage (and all civil rights) apply to all people in this country equally. Has your opposite-sex marriage been nullified and your court-appointed same-sex partner been assigned to you? No? THAT'S BECAUSE NOBODY IS DOING THAT. Get married, or don't. Equal opportunity under the law.

But this business owner believes... Oh, FFS. Yeah, that baker's case is headed to the Supreme Court. Yeah, y'know what? Imagine that business is not selling to white people. Or refuses to sell to Christians. Would that be okay? (Hint: we know the answer, given the uproar when a theaters had some women-only screenings of Wonder Woman.) Here we go - a gun store owned by a Persian couple that only sells guns to Muslims. Think Fox News commentators would be cool with that? 

There's a simple as hell test to see if something's bigoted - change the people it effects and see if it pisses you off.  If so, then it's probably bigoted as hell.

Remember, if it's not inconvenient, it's not a principle.

No comments :

I liked Christmas music too much...just like everyone else.

No comments

It's not that I don't like Christmas music, though I'm going to bah and humbug my way through this month.

I liked it too much.

Now... it's become something different.

Think about it for a minute.  If you actually played one version of all the "traditional" Christmas songs back to back, you'd have a playlist that lasted maybe two or three hours.

And that playlist is playing on repeat in nearly every store, every cafeteria, every mall, every waiting area, and even public areas.

For a month.

I'm just old enough to remember when music wasn't quite so portable.  When it wasn't quite so ubiquitous.  When hearing your favorite carol or Christmas song was unusual, and something special... not an experience that you could count on happening within an hour or two.

And the way that Christmas music has tentacled its way into every bit of the background of our lives has robbed it of that specialness, of that reverence.

Regardless of one's faith tradition (or even a lack thereof), it's a good thing to stop and reflect every once in a while.  It's a good thing to have a ritual, a special event where you have to reflect.

Maybe that's a church service.  Maybe that's looking at lights in your living room or driving around the neighborhood.  It can be anything.

Even hearing your favorite Christmas song for the first time that season.

But for it to be special, it can't just be commonplace.  It can't be the background to everyday life.

And that's what Christmas music has become.

And to that, I say humbug indeed.

No comments :

If it's not inconvenient, it's not a principle.

No comments
A principle is a principle even when it's inconvenient.

The fact that it's that inconvenient, a pain, arbitrary, and applies universally (including yourself) is what makes it a principle instead of just a rationalization of your own biases.

Sometimes, while describing my own principles, I've been accused just trying to make myself look good.

Which is kind of funny.

First that means they're clearly not of aware of the times - the many, many many times - that I've screwed up my own principles and failed to live up to the person that I think I should be.

Second,  I mean it when I say that principles are universal and apply to me as much as they apply to other people.

That means that if someone else's behavior violates a principle that I'm espousing and my behavior exemplifies the positive... that's not an accident, but neither is it an attempt to paint myself with the "good" brush. That's simply an example of me succeeding at living up to the principles that I hold.

Believe me - there's plenty of times that I don't.

And that's true of everyone.  We all fail to live up to our own ideals at least some of the time.

The question is - do we actually work to live up to our ideals, or do we just espouse them when it's convenient?

No comments :

This is not a drill: there is a fire in your (digital) house.

No comments
Photo by Andrew Gaines on Unsplash
This is not a drill.

This is a fire alarm.

This is the real thing.

Your digital house is on fire, and everyone needs to chip in right now to stop it from burning to the ground.

I get it. Seems like you've been hearing about net neutrality for a long time.

And you have been.

Because the people who want to make money by removing net neutrality have been trying to do so for a long time. 

What they're counting on is your fatigue. They are counting on you having heard the fire alarm so many times that you'll ignore it now.

They are counting on you retreating to places on the internet where you won't have to hear about it.

They are counting on you unfollowing your political friends.

They are counting on you only reading posts in forums and groups where politics and current events are not allowed.

And they are counting on you forgetting that the very existence of those places where you are retreating to will be directly impacted by net neutrality.

This no more a political issue that the fire alarm in your physical house.

It will effect you. It will affect every place that you go online. Every activity, every app, every service.

Corporations exist to make money. And the more popular and useful something is, the more they think they can charge for it. And the more they will try to control it and get rid of competitors.

Net neutrality is the antitrust law of the internet.

And the corporations that will profit want to repeal it.

This is not a drill.

This is a fire alarm.

And there really is a fire.

Act right now to help put it out.

Seven things you can do right now to save the internet:
https://www.commondreams.org/views/2017/11/22/seven-things-you-can-do-right-now-save-internet

Battle For the Net: https://www.battleforthenet.com/

No comments :

It's not being "Awkward", and the difference between Excuses and Explanations

No comments
With missing stairs being called out in more and more industries, I'm seeing some of the same arguments that we've had in fandom be pulled out again for a wider audience. I want to talk about one of these in particular - the "awkward" excuse.

Awkward or Asshole

Back when harassing missing stairs first started getting called out in the SF/F/H convention community, there were some folks who claimed it was or could be "social awkwardness" (or Asperger's) instead of "actual" harassment.

This is, of course, bullshit.

I'm reminded of a panel I was on with three women, myself, and one guy who kept talking over all the women - to the point that the women on the panel were getting visibly upset.  I intervened as best I could, and afterwards went up to the guy.

After a bit of introduction, I asked if he had Asperger's.  He was surprised, and said "How can you tell?"

When I explained what had just happened in direct language, he was horrified, and said that he'd try to pay more attention, and from what I later heard, he did work to change his behavior.

In my interactions with neuroatypical (substitute your term of choice here) and socially awkward people, this is what happens when their interactions with others aren't how they perceive them.  People who are socially awkward or are in the Asperger's range of the spectrum have empathy, they just aren't always able to read social interactions or perceive the social cues that others think they're giving off clearly. When they're made aware of what's going on, their behavior changes.

Contrast this with the doubling down ("It wasn't harassment") or non-apology apologies (see the Celebrity Perv Apology Generator) that we get from assholes. What they say has everything about deflecting blame. It's all about how it wasn't their fault somehow. Their behavior doesn't change unless someone forces them to.  Louis CK's non-apology after years of denying and dismissing the charges he later admitted to is a good example of this.

I call it the "awkward or asshole" test.  If they admit responsibility for what they've done, and work to not do it again, it was probably awkwardness. If not, they're probably an asshole.

Explanations and Excuses

It's a fine distinction between providing an explanation for a behavior and offering an excuse for a behavior. "I didn't realize how it made you feel" could be either; it's when one adds "that was a horrible thing for me to do" before and/or afterward that it stops being an excuse.  It's the taking responsibility that's the important part.

It can get tricky sometimes to tell the difference.

Despite my "artistic license" policy, and that any post you read here might be written anywhere from a minute to over a month before it goes up, I occasionally have someone accuse me of writing specifically about them.

One person in particular insisted that I'd been writing about them for about a month, and confronted me about it.  I hadn't, so I apologized for the effect my writing had on them, and assured them that I'd not been writing those posts about them. I even revealed who or what situations had been the source or inspiration for those posts.  And this person insisted that wasn't enough, and demanded that I apologize specifically for writing those posts about them.

This was a really hard position for me to be in. I took responsibility for the effect my actions had - even though I'd not intended it that way.  However, I was being asked to admit that I'd meant for that effect to happen... and that simply wasn't the case.

I've rarely spoken to that person since, because we reached an impasse. That was enough of a resolution for me. But had that been a public incident, I don't know how it would come across.  Would that be seen as an excuse? As an explanation?  I'm not sure.

But - and this is important - I'm not worrying about it too much.

Because when we are still dealing with a world and society where non-apologies are accepted, or where people choose which predatory actions are "acceptable" or "believeable" based on political parties or social convenience, trying to wring one's hands about tricky edge cases is a way of distracting and delegitimizing the far worse and clear cut cases.

So it's an interesting thought experiment, but it is most definitely a "future us" problem.

In the meantime, we have work to do and more missing stairs to replace.

No comments :

Please bugger off with your advertising disguised as a "guest post"

2 comments
I think the title really says it all, doesn't it?  Of course, that doesn't stop the repeated - and I mean repeated - requests all following the same template:  "I saw this post (mention of keyword, no matter how inappropriate or out of context or how old that post might be) and thought you might be interested in a guest post/linking to our thing."

And y'know, I'm aware of bitrot and the like, but damn.

Sure, one e-mail is fine. No big.  Maybe it will pique my interest.  (Probably not, but maybe.)  But for FSM's sake, don't keep following it up with more and more aggressive e-mails.

So here's my form letter I'm going to start sending out to folks who keep bugging me about their oh-so-sponsored "guest post" to their product or service:

Hi! You may know me as the friendly publisher of a blog, and you've tried to get me to post something of yours on my blog.

NO.

I got your request. And I noticed that it wanted me to link to your product or service.

And quite frankly, that isn't what I do.

Maybe that isn't the smartest way to run a blog. Maybe I'm shooting myself in the foot here by not monetizing things more.

But really?  I'm just not interested. I blog because I feel like it, about things that I think are interesting or need talked about.

If your request had caught my attention, I would have replied.  Instead, you're wasting my time and yours.

So again, I repeat to you:

NO.

2 comments :

Review: Valerian's huge problems sink a very pretty film

No comments
I just watched Valerian and the City of A Thousand Planets, and it reminded me of an issue of the magazine Heavy Metal, circa 1989, in the best and worst possible ways.

First, the best ways:  The movie is visually imaginative, riotiously so. The opening sequence, for example, is a great bit of visual moviemaking.



Sadly, this visual element is nowhere near enough to redeem the large flaws the rest of the film has. In no particular order:

1. Dane DeHaan (as Valerian) sounds like he's trying to do a Matrix-era Keanu Reeves impersonation throughout.

2. Valerian is an insufferable asshat throughout the movie. He's just a jerk, and often only succeeds due to others saving his ass. Cara Delevingne's Laureline is a competent character but largely one-dimensional and flat.

3. The entire "romantic" subplot is quite literally a case of sexual harassment, as Laureline, his partner, is a "sergeant". That means she's enlisted, and quite definitely junior to Valerian's commissioned rank of "major". And yes, she starts off rejecting him, but stomach-churningly comes around to care about this churl that she has to keep saving.

4. The "humor" seems crammed in at the last second, isn't funny, and is pretty uniformly sexist.

5. Rhianna's cameo (as "Bubbles") is largely a several minute long pole-dancing performance, literally embodying the concept of the male gaze, since Valerian is sitting there watching her the whole time. The tacked on "immigration" bit doesn't help.

6. We're not given enough time (or reason) to empathize with any of the characters who sacrifice themselves - except for the race we see immediately after the credits, which we then see our nominal protagonists try to fight for a good portion of the movie. Since we see the aliens first, our expectation is that we're going to empathize with them and quite a bit of time ... too much time ... is spent lingering over their soon-to-be-obliterated island paradise. So to then see these unlikable "protagonists" fighting them is really problematic.

7. The visuals take second-place to worldbuilding or coherence.  At one point we see Valerian (literally) shoulder his way through the walls of multiple habitats in a space station.  Habitats which are not compatible with each other (water, gas, terrestrial) before finally shouldering his way into space.  It's treated as a "whoops, the woman got the directions wrong" joke (told you about the sexist bit), and completely ignores that Valerian just killed a bunch of civilians because, um, he just compromised a bunch of habitats required to sustain different times of life!  Nobody ever even notices or pays attention to the deaths he surely caused, but that kind of callousness and stupidity is, sadly, endemic here.

And that's just what I bothered to remember.

So if, like me, you were waiting to see Valerian at home after the initial ho-hum reviews, I'd highly recommend against it unless you have no other source of shiny pretty graphics available.

No comments :

What song popular during your life are just wrong now that you look back on them?

2 comments
Today at work, I'm not in control of the music... which means that we're listening to a lot of pop songs from the 70's, 80's, and 90's.

And daaaaaaaamn.


Because it's occurring to me exactly how many pop songs are just... creepy and inappropriate.

For example, "I Can't Stand Losing You" by the Police.

Yes, that is the real single cover. No, I didn't know that until five minutes ago.
Not only is it creepy for being a song about suicide, but it's also manipulative as hell, using suicide (or the threat thereof) as emotional blackmail.

So folks, what song(s) that have been popular during your life are just wrong now that you look back on them?

2 comments :

Free Software Activity: MPDQ, an Autoqueue client for MPD with little configuration and no reliance on external services

No comments
There are a lot of ways to autoqueue or create "smart" playlists; there's problems with all of them. I've completed a program that solves quite a few of them.

I've written it with MPD (the Music Player Daemon) in mind; it works well with several of the other programs that I've put together (like volume normalization and bpm setting and getting cover art on your phone), but if you use RhythmBoxAudacious (or any players that allows input from the commandline) it's easily hackable.

Which brings us to why I put it together.  I used to work with GJay, but GJay highlights several of the problems I've run into:

* Opaque code (in a language I don't know well)
* HUGE amounts of user input needed to judge the "color" of each song to get it to work well
* Data stored in XML, which tends to require special tools to parse
* Does not handle UTF-8 or UTF-16 filenames (for, say, a Japanese band) well.

MPD_sima is another tool I tried, which highlights the other problems I kept running into:

* Relies on external services (which don't always give good suggestions)
* Is completely reliant on black-box algorithms (Pandora, Google Music, Spotify)
* Falls back on completely random selection from your music library

And so that's where mpdq comes in.

* It's written in bash, and aside from MPD, only requires MPC, Zenity, AWK, and ffmpeg (and if you're on linux you probably have all of those in your repositories).
* It stores its configuration files in plaintext in $HOME/.config/mpdq

There's two setup stages for it after you configure the setup file.

The first is associating genres with each other (and that's where it uses Zenity).  It goes through all the genres you have, asking you to match it with other ones.  Perhaps New Age goes with Acoustic and Downtempo for you, or it only goes with New Age.  Doesn't matter.  If you skip this step, mpdq will use the genre of the currently playing song.

The second setup stage you can't really skip - you have to let it scan all your music files for BPM data and song genre.  (MPD does not store BPM data in its database, so we have to store that separately). That can take a while, but can be updated easily.

Both of those take a bit of time, but not nearly as much as trying to tag each and every file in your music library with an arbitrary "color".

When mpdq is running, it first looks at the currently playing song. If there are matching genres already configured, it picks one of those genres randomly. From that set, it narrows it to songs within the defined BPM range. And then it checks to make sure it's not been played within the user defined length of time.

If the first match doesn't work, it tries again with a slightly wider range of BPM values. It repeats this up to ten times, and if it still cannot find a match, it will try to find a song within the original BPM range in any genre.

It's as good as your music tagging and "matching" of genres is; if you cross-pollinate a little too much you can end up with some "drift", but even then it's a pretty natural and easy slide and not as jarring as going from "Nights in White Satin" to "Bodies".

If you use MPD, I hope you give mpdq a shot.  You can find mpdq on GitHub at https://github.com/uriel1998/mpdq

And if you use another music player and use this program as the framework to create an autoqueue for it, please let me know!

No comments :

Stranger Falls

No comments
Don't judge. You know you'd watch it.




No comments :

Bi-Weekly Flash Challenge: SPECIAL NANOWRIMO EDITION

No comments
We've got a tweak to our flash fiction rules this week due to NaNoWriMo!

Several of us have started our own, self-hosted, flash fiction challenge over at a website we're calling Obsidian Flash.  It's on a forum behind a password, so that anything you write and submit is considered unpublished.  Registration is quick, free, and pretty painless.

Seriously, this thing is the perfect thing for you to do if you think writing is hard (or finding time for writing is hard), and especially if you haven't been writing for a while.  It's also great if you have problems with getting past ideas that "you suck" (every first draft sucks, face it) or self-doubt. And if you're writing for NaNoWriMo, we've put in a tweak to the rules so you can still participate without having to stop writing on your story.

The prompt IS UP RIGHT NOW...and here it is!

https://panfoto.deviantart.com/art/Fire-714273032


Go sign up now at http://obsidianflash.com/forum and we'll see you writing this weekend!

Here are the rules:

Welcome to the Flash Challenge!  Our Flash Master is... me!

Here are the rules, slightly changed for NaNoWriMo:

1. All stories should be complete, written and posted within 24 hours of the prompt being posted, and can be anywhere from one sentence to 1,000 words in length.  Typically the prompt is posted by 8pm EST on Friday, and stories are posted by 8pm EST on Saturday. (It'll be a little early this week because of my schedule.)

1a. Because it's NaNoWriMo, you may wish to post a scene, chapter, or character study from your NaNo work that isn't standalone that you write during this time.  (For example, how would your main character react to the prompt?  How can you work it into your existing story? Great way to keep the creative juices flowing!) It won't be eligible for voting, but we value participation, and will give you feedback on it! Please label it NANOWRIMO WORK at the beginning so we know!

2. You may choose to write your story in any genre.

3. Your story must be built around the restrictions—words, themes, photo prompts, word limits, etc.—provided by the Flashmaster at the beginning of the challenge.

4. Once the participants’ work is posted, the voting and comment session begins and continues until all votes are in. Time limit for voting will be determined on the spot, depending on how many people finish the challenge.  Typically this is within 24 hours of the end of the writing portion, or 8pm EST on Sunday.

5. The winner becomes Flashmaster and chooses the prompt(s) for the next contest.  Also, you get all the Internet Bragging Points you think you can get away with.
Don't wait - get going and register at http://obsidianflash.com/forum right now and join us!

No comments :

Free software activities: SSH and TMUX, combined

No comments
I use SSH to manage a number of machines around my place, and sometimes having too many terminal windows open confuses this silly bear.

I poked around at some GUI SSH managers, but they either seemed overkill or too complicated or too mouse dependent for what I needed.

So, using the power of tmux sessions, I crafted a script that will create a new specialized session for SSH connections (if it's not already existing) and open a new, named window with that connection in it. And for bonus points, if there's already a terminal window open and attached to that tmux session, it won't attach - it'll just point you to the one already open.

I call it SSH Master (because ego, duh) and you can find it on github at https://github.com/uriel1998/sshmaster

No comments :

It must be fraud week for me or something... my experience with a text job scam

No comments
It's my week for scammers! Yesterday I got texts from a guy claiming to represent a company (which he didn't) trying to hire me for a position that I hadn't applied for. If you read this thread on Indeed: https://www.indeed.com/forum/gen/Job-Interviews/Job-Hoax/t474952/p4 you'll note that the wording is almost identical (just different company names), and it's a phishing scam.

I've yet to get a call or text out of the blue offering to hire me that wasn't a scam of some kind. (If you've not read it, take the time to read my account of when I went to an "interview" that turned into a MLM sales pitch.)  I've posted the screencap below, along with the text (my replies are in italics) if you can't see the image (click the thumbnail to embiggen it).

Click to embiggen
Good Day, I am Mr. James Love, The Admin H.O.D. Professional Diversity Network, Inc. I am Contacting you in regards to your resume reviewed and Selected on Activehire, I believe this is STEVEN M. SAUS?

Can I help you?

Your Resume Have been Approved by Professional Diversity Network, Inc. You are Qualified to function in one of these open Positions in the company: Accounting Manager, Payroll Clerk, Administrative Assistant, Clerical Admin, Customer Service Rep, Data Entry Clerk, Sales Rep, Sales/Marketing Manager, and Project Manager. Which of the above Can you handle perfectly?

I am woefully overqualified for all of those positions, mate. Also "has" been approved.

Do you have a Gmail account to proceed with the job and to know more about the company, pay scale and duties?

I thought you said you had my resume?
Also, Professional Diversity Network is based out of Chicago. Is there a reason you're texting me from a California area code?

Of course Steven, I need you to send to make sure it tallies with what i have here and also for record keeping. The company has a branch here in California.
This is strictly online and works from home job and you can as well work from anywhere of your choice or anytime that does suit you. Working Hours are flexible.

Then why didn't you e-mail me? I mean, it's not keeping with the script scammers have used (as shown on this Indeed posting) and what you're saying doesn't make sense for PDN.
But that's okay; I'm going to go ahead and send this screen cap on to them so they can decide whether or not this crosses the line of criminal impersonation for a phishing attempt.
And if I'm wrong, well, you weren't going to meet my current salary anyway.
Which you would have known if you actually looked at my real resume.

He didn't reply after that.  :)

No comments :

Social Engineering - It can happen to you!

No comments
Someone just tried to phish security information via social engineering at work.

The caller said: "I'm from the Upper Valley Installation Center and we're trying to install Allscripts down there to C:\windows\something[I don't remember] and we are having some trouble getting it to work and I was wondering if you could help me out?"

Which doesn't make sense, since 

1) We don't use Allscripts (though that's a real program), 
2) Nobody from that location would be installing software here, let alone remotely, and 
3) Our IT people would be handling it.

I tried to transfer them to security, but we couldn't get it to transfer. 

So I ended up saying "I think the problem is that you want to install a Windows program on our Linux machines". The female caller hung up quickly.

I don't know what they were trying to obtain, but there's enough examples of identity theft and security breaches for me to take it seriously.

Most information security breaches actually happen through this kind of social engineering.  Read up and make sure you're aware of the possibility:


No comments :

Free Software Activities: CGI-based remote for MPD (the music player daemon)

No comments
I use the Music Player Daemon (or MPD) for most of my regular music playing needs, including streaming my music library elsewhere. 

There's a lot - a lot - of different web UIs for MPD. However, they often rely on PHP, databases, don't have a feature I really want (such as cover art), or have features I didn't need (a separate webserver). So I decided to make this for a fast, basic, but featureful (as far as I'm concerned) remote control/status implementation. 

It does a few things, well.  It shows the currently playing cover art, allows you to play/pause, go back and forward in the playlist, toggle shuffle and repeat, and to switch outputs.

And it does it all fast, and in a mobile-friendly web page.

It could also be installed on a remote webserver.

Credentials are stored in plaintext, but are protected by a .htaccess file, so you should be good to go there.

You can check it out at https://github.com/uriel1998/cgimpd

No comments :

Free software activites: Kodi command line interface and album collage from last.fm

No comments
Over the last week I contributed to a (small) free software project and finished one of my own. They're primarily useful for people running linux (although Mac users might be able to use them if they're using bash for their shell), but I think they're pretty neat.

I contributed to kodi-cli, a script that makes it easy and trivial to send JSON commands to an instance of Kodi (nee XMBC) that's running on your LAN.  Before I came along, it already had some pretty spiffy features, like an "interactive mode" from the commandline and interactive volume controls.  I added the ability to use a config file with the script, library maintenance, and an advanced example where (with the use of zenity, jq, and youtube-dl), you can "cast" a playlist interactively to your Kodi.

As I write this, the last hasn't been merged to the master branch at https://github.com/nawar/kodi-cli, though they're pretty good about merges. If it hasn't been merged yet, my branch is at https://github.com/uriel1998/kodi-cli.

Playing around with jq also gave me the solution to a problem I'd been having with another project. I liked the collage generator at http://tapmusic.net/ - enough so that I'd donated a bit of money to them - but I wanted something self-hosted, and that displayed the images the way I wanted them to.  Something where the images looked a little like this:
And so now I have! It's pretty self-explanatory once you look at the script, and hopefully inspires others to tinker with it and make it appropriately fit their needs as well.  You can find that script at https://github.com/uriel1998/lastfm_chart_services

No comments :

The War On Halloween

No comments
Ms. Anderson's voice grated.  "Are you enjoying trunk-or-treat, Billy?  You make such a cute angel!"  She handed him several cubes of low-fat, low-sugar, low-taste caramel.

Billy scowled.  "I wanted to be a werewolf."

Billy's mother blanched.  "Billy, is that any way to be on Beggar's Night?"

Billy shook off the costume's wings and walked away.  "It's Halloween," he muttered, low enough that neither woman heard him.

In the brilliance of the headlights, the congregation planned their defense against the War On Christmas.

Billy looked past the lights, past the suburbs, to the moon beginning to rise.

Billy began to howl.



(I originally wrote and posted this five years ago; I thought it appropriate to bring up again.)

No comments :

It's time for the last flash fiction challenge before NaNoWriMo (and Halloween)!

No comments
It's almost time for NaNoWriMo and Halloween; get in the habit and take an hour to write with us this weekend!

Several of us have started our own, self-hosted, flash fiction challenge over at a website we're calling Obsidian Flash.  It's on a forum behind a password, so that anything you write and submit is considered unpublished.  Registration is quick, free, and pretty painless.



Seriously, this thing is the perfect thing for you to do if you think writing is hard (or finding time for writing is hard), and especially if you haven't been writing for a while.  It's also great if you have problems with getting past ideas that "you suck" (every first draft sucks, face it) or self-doubt.  Here's why:

1. Challenges like this are great for stimulating creativity.
2. You're supposed to write for an hour (ish); you can make that time.
3. You don't have the time to critique yourself.
4. You'll get helpful feedback from published authors and editors like myself, Donna Munro, Anton Cancre, and more.
5. We are friendly, despite all appearances to the contrary.  :)



The next challenge is scheduled for THIS weekend.  The prompt will go up this Friday (THAT'S TODAY, FOLKS) at 8pm EST.  Anton is our flashmaster!

Go sign up now at http://obsidianflash.com/forum and we'll see you writing this weekend!

Here are the rules:

1. All stories should be complete, written and posted within 24 hours of the prompt being posted, and can be anywhere from one sentence to 1,000 words in length.  Typically the prompt is posted by 8pm EST on Friday, and stories are posted by 8pm EST on Saturday.

2. You may choose to write your story in any genre.

3. Your story must be built around the restrictions—words, themes, photo prompts, word limits, etc.—provided by the Flashmaster at the beginning of the challenge.

4. Once the participants’ work is posted, the voting and comment session begins and continues until all votes are in. Time limit for voting will be determined on the spot, depending on how many people finish the challenge.  Typically this is within 24 hours of the end of the writing portion, or 8pm EST on Sunday.

5. The winner becomes Flashmaster and chooses the prompt(s) for the next contest.  Also, you get all the Internet Bragging Points you think you can get away with.

Don't wait - get going and register at http://obsidianflash.com/forum right now and join us!

No comments :

You can learn a lot about racism from a game of Monopoly

No comments

It's rare that anything is absolutely 100% clear when it comes to people and the way they divide themselves. And it's even worse when the words we use are unclear themselves.

Specifically, the words racism and prejudice.1

Prejudice is generally an individual's (negative) opinion about another. In this context it's particularly due to some kind of external appearance or signifier that doesn't have anything to do with the person's worth. Anybody - and really everybody - has prejudices. This is almost always what we're talking about when someone says "People in [GROUP] can be racist too"; that lack of clarity makes talking about this so much harder.2

Racism is signified by power. This power can be physical, emotional, or social - it doesn't matter. It is because of the power aspect that you will hear phrases like "black people in America can't be racist".  Prejudiced, sure.

Because it is about power and the structures of power, racism does not require prejudice. The Monopoly example from Privilege, Power, and Difference is an example of how the effects of an action can be separated from personal feelings.

When you play Monopoly, the objective is to screw over the other players. It has nothing to do with who they are, what race or ethnicity they are, or how you feel about them. It's simply how the game is played.

A classic real life example is the self-fulfilling prophecy of profiling. If you have equal rates of drug usage among the entire population, but search more people of color for drugs, you'll find more people of color being arrested for possession. That then turns into an after-the-fact justification for the profiling, but does not mean that the people actually doing the profiling are prejudiced against people of color. They may think they're just following the data, not realizing that the system has skewed the data in a racist way. The way we fund public schooling in the United States likewise perpetuates a racist system by making it harder for those who are not already well-off to get a quality education.  Or prosecutors giving better plea deals to white defendants.

Let's go back to the Monopoly example.

Several circuits of the board have been played, and the original players have left. Four other people have picked up the game where it stood. One player finds out he has far less opportunity than the others. Less money in the bank, fewer properties.  

This inequality is not the fault of any of the players currently sitting at the table.

But it isn't equal. Not at all.

If we were to try to make it equal at this point - if we were to make it a fair game based on skill of the players - something drastic would have to be done. Maybe we would take some of the money from the other three players. Maybe we would give that fourth player an extra turn, or give the fourth player extra money every time they passed "go".

Because giving that "advantage" to the fourth player would be the only way to make the game fair for the people playing now.

It might not feel fair at first to the other three players. It might feel like they were being discriminated against (which is what we see in real life)... until they recognized that the game they inherited wasn't fair to begin with.

This is where the example of Monopoly breaks down. Because Monopoly is an adversarial game. Monopoly is not a game about community or cooperation or citizenship. It is - and was designed to be - a game showcasing the worst aspects of capitalism. It was a game originally designed as a warning about the corroding influence of pitting people against each other in the real world.

In the real world, in our country, we have ideals and standards about cooperation. About helping each other to succeed, and having others help us when we need it. 

We have ideals about trying to be fair, and giving everyone an equal chance.

Following those ideals might break the game of Monopoly.  We might have to completely change the way the game is played.

But following those ideals, helping others, reducing inequality - even if, and especially if it's not our fault - strengthens our country.

And that's a far better goal than collecting cheap plastic hotels.


1 Please don't quote the dictionary at me. Dictionaries do not prescribe definitions, they describe them.
2 You can substitute sexism or other forms of bigotry for racism; the argument holds.

No comments :

The True Lesson of Halloween (and problematic costumes)

No comments
I shared the image presented below on Facebook.



The image had this caption: "Halloween is all about having a good time! Just make sure you're not having fun at someone else's expense. "

Notice how passive that phrase is. Notice how unoffended it is.

And then a bunch of people took offense at this suggestion. Maybe they weren't hearing themselves as they filled my bingo card with "but it used to be okay"/"PC police"/"taking all the fun out of it"/"you're looking to get offended". The comments ended with (as I'm writing this, though I'm sure there's more by the time this post goes live) a person saying (paraphrased) "So I guess we're not going to dress up and celebrate Halloween, then."

I don't expect children to understand the differences or the nuances or the politics around racial, gender, and ethnic identity. I don't expect children to understand what fetishizing the other means, or how reducing groups of people to a stereotype is offensive, or how dressing as a different gender for a laugh minimizes the experiences of those experiencing gender dysphoria.

I remember making Polack jokes as a kid. I didn't know any better and nobody stopped to correct me. They didn't even seem like racist jokes to me until I heard the exact same jokes being used with black people instead of Polish ones.

I remember being taught about "Indians" (yes, I'm old enough that I remember before we said "Native American", though this applies to that term as well) in school and in Scouts, and not realizing until much much later that the various First Nations were very different with distinct cultures and ways of living.

I didn't know any better because I was a kid.

We aren't children. We are adults and parents and we can teach our children to be better.

The mock outrage of the "I guess we can't dress as anything" crowd is pretty easy to dismantle. Go for imaginary characters like werewolves and zombies and vampires. Or better, go for professions like lawyers and doctors and firefighters.

And if your child insists on dressing as a character portrayed by someone of a different race or gender, take a cue from the cosplayers: gender or race bend that character. A female Joker. A black Superman. 

I have to wonder if these folks have stopped and listened to the words they're saying. How close their arguments about costumes sound like those who decry "how you can't say anything anymore" as they hurl insults and slurs at women, PoC, LGBTQIA folks, or anyone different than themselves.

But that really clarifies it for me.

Sure, this is to some degree political. This is, to some degree, about privilege and power in society.

But it's simpler than that.

This is about being empathetic and kind to others. About treating people the way they want to be treated.

And that's a lesson we definitely want to teach our children.

No comments :

Getting Covers To Show Up From MPD to MPDroid - SOLVED

No comments
I use MPD (the music player daemon) for my everyday music playing - both around the house and streaming to my phone. It's great being able to play whatever music (or playlist) I want without relying on someone else's webserver, decisions on what ads to play, and so on.

There's a little bit of a hiccup, though, in serving out covers to your phone client. (I use MPDroid (Google Play, GitHub), but this happens with other clients.)  You can try having it search online sources, but sometimes they're wrong, and dammit, I didn't spend all this time tagging my music collection properly to have it screw up.

You can have your covers on any server - I put together a one-liner script to be able to export your covers (only) to your webserver - which is nice.

But I kept having problems where MPDroid wasn't pulling in covers from the LAN, even though I followed the directions on the wiki. (I use apache instead of nginx or lightppd, but still.) Which is strange, because when I looked at the server logs, MPDroid actually looks for LOTS of variations of the cover name, even when you've got it set up to look for a specific file name:



So what was going on? Turns out that I was a little too smart for my own good, and the answer was implied in the wiki page. See all those 301 redirects? I'd set up my server to only serve out HTTPS links (as one should). And that's what screwed me up.  I had this in my .conf file for my server:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

It was easily fixed by adding a line (or two, because I couldn't remember whether it was "cover" or "covers") so that those are served directly over HTTP:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/cover
RewriteCond %{QUERY_STRING} !^/covers
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

And with that, boom, I was getting my covers quickly and smoothly, directly from my own server again.

No comments :

Easily create a native webapp for your operating system for ANY web page

No comments
While looking for something else, I stumbled upon Nativefier today. It promises to wrap up "any" web page as a native application for your operating system, and so far, it seems to fit the bill.
 I used it here to make applications for Blogger (what I'm writing this on now), Out of Milk (the shopping list app I use), and Remember The Milk (which has the things I'm supposed to be doing instead of this).

In terms of technology, it's simply an Electron wrapper around the site, but what's pretty cool about it is that it does allow you to have each site in it's own sandbox... but does two important things.  First, you can see that each application has its own icon (in some cases, that I've defined myself) in my taskbar.

 This is something you're not going to get if you're running, say, web versions of all your messaging apps in a different browser.

Second, unlike running a separate browser (or browser window), it's trivial to open links from one of these created Electron apps in my normal browser where I do the heavy-duty work.

It's also super easy to install Nativefier (and then super easy to install anything else) if you've already got Node/NPM installed.  Highly recommended and available on GitHub.

No comments :

Trump's Legacy: Dishonoring the Troops

1 comment
I'm having a hard time formulating my thoughts about the Trump Administration and the way that it is currently treating immigrants who signed up for the Armed Forces.

(Yes, it's real.  See the LexisNexis Legal Newsroom post as well as the DoD memo.)

I am having a hard time formulating my thoughts because I am so shocked and ashamed of this administration.

I am having a hard time formulating my thoughts because I remember being in AIT.

I remember my classmate at Ft. Sam Houston, an immigrant who came from Italy, and chose to serve in the armed forces though she was not yet a citizen  because she loved America so much.

She has loomed large in my memory.

When I read Starship Troopers, with its central thesis that the best measure of citizenship is the willingness to put the good of the citizenry and the country above one's own well-being, I thought of her.

Because for all Starship Trooper's flaws - and it does have flaws - that central thesis is still powerful. That central thesis is why people keep telling me "thank you for your service" even though I only served in MEDDACs and troop medical centers. Because though I was not a combat arms MOS, though I never served in a combat zone, I was willing to fight and, if needed, die. I signed up knowing that. Every recruit signs up knowing that, and knowing it's a very real possibility.

Especially now.

I spent a lot of time while I was in the military around new recruits. Some of them were the stereotypical Steve Rogers type. Far more were like me, wanting to pay off student loans or support a family.

But.

Regardless of our reason for signing up, we were all soldiers. That is what was important. I was continually impressed by those who signed up for the most banal and mundane of reasons who were still willing and ready to do what was necessary for their country.

And none impressed me more than those who were not yet citizens but who were willing to place their lives on the line to defend a country they believed in.

And with this action, this Administration dishonors them all.

This action is disturbing because it harkens to the paranoia of the Japanese internment camps and Korematsu v. United States. This action is disturbing because it harkens to the nationalism and jingoism of the pro Nazi rallies (dressed up as pro-American ones) by the American Bund that we have largely forgotten.

But what makes this action shameful, what makes this action deplorable, is the gross disservice and dishonour that it does to those who want to defend our country, though they are not yet citizens here. 

This is a decision that does not support the troops.

This is a decision that dishonors them all.