Google Ads

Friday, February 19, 2016

Everything I learned about linux and other shit, in the last two weeks.

I've moved for a job, three times in my life. The most recently being two weeks ago. Loneliness is a huge issue. I'm the worst kind of introvert. The one     that needs attention now and again. Besides developing the worst OKCupid strategey ever, I have done very little to combat this. To quote Charle's Bukowski,  "You get so alone at times that it just makes sense".

I know I haven't posted a lot in the last two weeks, I'm still settling in.  I updated linosh. I'm going to use it to make an auto-scaling tool for Linode.

I'm almost done with a let's get weird post, and I might post my terrible OKCupid strategy.

Some one liners for you, I've used at home and during work in the past two weeks:

Total Ram:
free -m | grep "Mem:" | grep -o -P "Mem:\s+\d+" | grep -o -P "\d+"
cat /proc/meminfo | grep MemTotal | awk '{print $2}'

Available Ram:
free -m | grep "buffers/" | awk -F"[:space:]+" '{print $5}' | grep -o -P "\d+$"
cat /proc/meminfo | grep MemAvailable | awk '{print $2}'

Kill steam mac:

kill -9 $(ps aux |grep team |awk '{print $2}')

Check for github on /r/linuxadmin/new

clear;while true; do curl |perl -ne'print"$1\n\n"if/(github)/'; sleep 180; done;

Thursday, February 11, 2016

Happy Valentine's Day Malvager

Happy VD ay. Ircislove ircislyf.

Friday, February 5, 2016

Three Reasons we already live in a cyberpunk reality

We are living in the end times. I swear it, and right before the cusp of the end is the dumpy little mess of cyberpunk. And we're here for it, right now. Hold on to your decks this is going to be a deep shadow run.

Cyberpunk Food anyone?

And I'm not talking about Chinese takeout and pizza. You can grow your own larvae to eat with farm 432.

Farm 432 enables people to become independent from the system of current meat production by growing their own protein source at home. After 432 hours, 1 gram of black soldier fly eggs turn into 2.4 kilogram of larvae protein, larvae that self-harvest and fall clean and ready to eat into a harvest bucket.  Black soldier fly adults don´t eat, therefore they don´t have any mouth parts and do not transmit any disease. The larvae can be fed on bio waste, therefore the production almost costs no water or CO2. Black soldier fly larvae are one of the most efficient protein converters in insects, containing up to 42% of protein (dried), a lot of calcium and amino acids.

There's also soylent which is a sort of "shake", that you drink and can be used as an all purpose meal replacement. Just two soylent shakes a day and your good to go. Cause fuck the joy of eating. I mean don't you consider eating inconvenient. I know I do, it takes forever to grow them damn fly's for a fucking meal.


We can now hack cars that are in motion. We also have cars that drive themselves. And Elon Musk has taken it upon himself to build a tube train not all that dissimiliar from tube travel in the Jetsons.


Tattoos that are made of electronics...or electronics that are made of tattoos. Thank you Chatoic Moon, I can't wait to have a bitcoin wallet tatted on my hand. Just call me Jesse James.

Also biohacking is a fucking thing now.

The end is nigh, but we can ride this cyberpunk dystopian future all the way to the edge, and hope the fall is thrilling. So you know what you should do? Take a hacked self driving car, to the hyperloop and head toward the coast you want to see the world end on. Turn the lights down, switch Johnny Mnemonic on, your infinite channel machine, and make a big spread of flies, soylent, have a drone from amazon bring the popcorn.

Oh yeah, and that one overarching theme of cyberpunk I missed. Corporations already own us.

Everything I learned in the past 24 hours about linux 1454703438

Convert all m4a files into mp3's in a directory:

IFS=$(echo -en "\n\b");for i in *.m4a; do name=`echo $i | cut -d'.' -f1`; echo $name; ffmpeg -i $i $name.mp3; done

@nayafia at has been blogging about open source infrastructure projects and the posts so far have been interesting.

I added these to my .bashrc:
alias volumedown='amixer -D pulse sset Master 5%-'
alias volumeup='amixer -D pulse sset Master 5%+'

For reducing and increasing the volume.

Choosing a mechanical keyboard

Start at Geek Hack, those guys know everything about keyboards.  Get familiar with the switches, I used this site to start with.

I started with what I imagine is a lot of people's starter mechanical keyboard, which is the das keyboard. I knew I would like the feel, and there was a mac version which was nice for me at the time. It was an easy decision to make. I wanted to get another one after that and I justified as, well one that has ctrl instead of cmd. Like you can't goddamn keymap it in linux or something.

I like clear switches for an office enviroment, they still give you the satisfaction of a tactile punch but they're a little more silent. But like a big goddamn jerk I got green switches in my current mechanical keyboard, cause fuck it I want to godzilla them keys. I really like the one I picked out, although now I wish I would have went with my original thought and got the ten keyless without function keys and arrows. I'll probably get one when I can afford it. I might actually go with clear switches next time. Actually, I'm about 95% certain I'm going to get a tenkeyless with topres. Who knows though. I love mechanical keyboards, and I think it's probably like wine tasting, as much as we want something to be objective, it's a subjective game. And some people just love Franzia.

Thursday, February 4, 2016

Let's Get Weird Part 2 of Sideways 8

Let's talk about flavors, colors, symbols and grocery stores, again? I feel like there's a pay off at the end of this one, so try to make it all the way through.

So let's start with Grocery Stores...I know we already did this. And I know grocery stores are not solely beholden to directing the customer to the product they want. They also want to place things, so that the customer buys more, and they also want to place things, like in the local stores place, maybe where those things stay fresher. Like having the cancer bread next to the refrigeration section. But let's continue to think about solving the customer finding the thing he wants problem.

What kind of symbols are universal? What could we use? What about flavors? Is the squinty faced emoticon (><) the universal symbol for sour? Do all cultures make that face, for sour, I mean sans people with like synestesia or something. I don't really have a lot to say about flavors, but organizing a grocery store around flavors sounds interesting.

 APL is a programming language that uses symbols. Like literal ones, not like some data structure concept.

 One thing in universal symbols I do want to share, is colors. Color's are interesting. Color's have meaning.(And as an aside, my favorite web safe color is cornflower blue, and it's not because it was featured in a 1999 movie release, heavily) They don't just have meaning, they have universal meaning.

We know that colors are universal in their interpretation, because cultures name them in the same order:

 Stage I: Dark-cool and light-warm (this covers a larger set of colors than English "black" and "white".)
 Stage II: Red
Stage III: Either green or yellow
Stage IV: Both green and yellow
Stage V: Blue
Stage VI: Brown
Stage VII: Purple, pink, orange, or gray*

Basic color Terms: Their Universality and Evolution.

Why do I know this? Because I am friends with a web developer who studied comp science and linguistics. Which isn't all that uncommon because linguistics, is important in AI. And also I know this, because Tyler knows this.

 "My shoes are not purple, mother. They're oxblood."

Color's sometimes identify ethics. What color is the background of this blog again? No for real, I suffer from a minor color blindness where I can't tell green from grey. Lots of men are colorblind in some capacity though.  I still can't tell what color the background of is. I also own a pair of pants I can't match with anything to save my life.

I think that most of you get, that I don't give a shit about the grocery store problem. And that clearly "Let's get Weird" is subtly, slowly, but with intention making it's way to something that is about hacking. But let me drop some not so subtle, "What this is really about" on you. Most of the knowledge I'm trying to impart in the let's get weird series is novel, and we tend to think of novelty as just some unique little thing that's interesting. We have to stop thinking like that. Novelty is how breakthroughs are made. Novelty is a snag in the universe, and when you find something like that, start pulling. Rip the universe apart.

In neurology we know that new and novel experiences help strengthen dendrites. Things like brushing your teeth in the dark.

So be smarter than me. Go figure out how one of these "novel" things isn't so much novel as it is a corner piece to the puzzle of the universe.

Tuesday, February 2, 2016

Everything I've learned about linux in the last 24 hours, 1454460884

Mostly I've been playing around with cacalabs stuff, which is awesome. Mostly I've been playing with neercs, which has screen like controls and allows for compiz style terminal windows. Cause you know it, I know it, and everybody knows it...the terminal needs more 3d.

Also check out the license page. WTFPL

No one liners or regexes for today.

Let's Get Weird Part One of Sideways Eight

Let's talk about Grocery Stores...and Signage...and Warehouses..and Cartoons...And mathematical Romance...and let's just face it, not one of you will ever understand how my shitty brain works.

Let's just jump into the crazy. I have a problem with spacial thinking. I can't think of things in a 3d environment. I can't arrange furniture in my head, I have no sense of direction. In fact if I "feel" I'm going the wrong way, I am almost certainly going the right way.

I have no doubt in my mind this is a contributing factor as to why grocery stores confuse me. I don't understand how they're classifying things. Like when I look for bread, I generally look in the "bakery" area. The processed  in a bag give you cancer bread is not in that area, it is in fact on the opposite end of the grocery store, with the refrigerated foods. When I was looking for honey I went to the cookingi(oils,shortening, vinegar, spices),    condiments, and sugar aisle. I thought, Honey is a sweetner, it's used in cooking, and hell if that's not it, it's a condiment. It was not in this aisle. I wandered around in a few other aisles looking for it, think a bunch of bears in wizard hats, should be easy to find. 20 minutes later, I found it. It was in the breakfast aisle.

Solutions that are unacceptable, talking to a gatekeeper of information. Whether this is a human being in the store, or an app for your phone. Both of these seem absurd to me, for one, during my honey adventure I broke down    and asked someone and the reply I got was, "Uhhh....I don't know." Which is perfectly acceptable it's much better than a wrong answer, but I don't want to have to talk to a human being anyway. I also don't want an app, because everyone assumes you have a smart phone, however a grocery store is universally used by nearly every demographic. Old people, children, the tech illiterate, curmudgeons maybe the Amish people. I don't know, but a 300 dollar device   should not be a prerequisite for shopping in a grocery store.

I think it boils down to a taxonomy problem. Of organizing like things appropriately. But maybe it isn't Amazon organizes there warehouses, using a system known as chaotic storage. In short they put stuff where it fits, and it works very effeciently for them. So maybe a book next to a mr potato head. The locations are recorded in a database. So I guess if your cart had like an rfid reader, or just a pad or something it you could input everything you needed, it would beep when you walked by, and you could get everything in one pass of the    grocery store. That sounds terrible. That's worse than an app probably? I don't know. My initial idea in lieu of this was have everything in alphabetical order, and then the singnage could just have regex, so like A[a-p] would have like animal crackers and apples. But that's like the worst idea ever. There becomes a thing about brand names, or types of things, chips or corn chips or potato chips or lays potato chips or what the fuck.

One thing I think would help, is better signage. But I get overwhelmed when I think about signage. Signage is so vastly complicated and that's probably why it's not properly utilized in grocery stores. If you don't believe me read this introduction to wayfinding.  99% Invisible had an episode about signage, and one of the things they stress in the episode is that it is near impossible to create "forever" signage. Like even the most basic thing, would people read from left to right, or   right to left would be important, but also unknowable. So someone may see these basic symbols on a toxic waste can and think, don't touch, kills you, but read in reverse, brings people back from the dead, how bad could it be.  I think that was the moral of the story, I haven't heard it since it's air date, so what do I know.

So I give two really crappy ideas, chaotic storage, and a sort of regex alphabetic system. For some reason I immediately think of the cartoon The Line and The Dot, A Romance in Lower Mathmatics. You should watch it. It's about  a dot who likes a scribble, because he's exotic and interesting and doesn't like the line. The line then try's really hard and learns he can become angles and shapes, and wins the dot's heart, and the dot shoos the scribble    away. I root for the scribble every time. Every time. The scribble is messy, the scribble is me. The scribble is chaotic storage. The scribble is a regex alphabetic system. The line is the current system of arbitrary rules.    But like seriously, watch it. (Also buy the Dvd)

So I think this was a post about grocery stores. And for sure grocery stores should have better signage...or at least a comprehensive navigable structure. But I don't know maybe I'm just dumb and I don't get grocery stores.  But mostly I just wanted to talk about amazon, bears with wizard hats, and cartoons I liked, and let everyone know they should be listening to 99% invisible. I'm sorry I stole your time. See you on let's get weird part 2.

Everything I learned about linux in the last, I don't know 64 hours? 1454425611

I try to make these things 24 hours, but I'm relocating to another state, and goodbyes had to be said. And packing and then thins that have to do with that and whatever. Anyways, let's talk about Regex:

I love regex. I once regexed a regex to prove a point. I don't know why but this sort of pattern matching is a puzzle I enjoy. Regex is one of the few things I like helping out with. Regex Crossword is one of my favorite things. I use them more than I should and it probably gets me in trouble. Notably there are many reasons you shouldn't use regex. As JWZ said (sort of but not really):

Some people, when confronted with a problem, think
“I know, I'll use regular expressions.”   Now they have two problems.

One problem in particular is parsing xhtml. This particular stack overflow post about it is hilarious.

Another problem with regex is performance, particularly in the case of "catastrophic backtracking". That occurs, usually when you have multiple groupings, and there isn't a match. Because of the order of operations of the regex, it becomes computationally expensive.

If you want to know more about catastrophic backtracking, and preventing it with atomic grouping, has a good write up. The regex buddy tool is an excellent way to debug regexes as well.

LibrePlanet in March will have Edward Snowden as a guest.

There is an upcoming Hack the Left hackathon. Hackathon's are getting interesting as there may now be pro hackathoners

I don't have a one liner or regex of the day today, sorry.

Sunday, January 31, 2016

Everything I learned about linux in 60 hours, 1454226440

In the last everything in 24/today post I didn't post anything on getting commands into the actual vim file you are editing. Whell for that you can use :read, so for the date something like:

:read !date

Sun Jan 31 01:49:15 CST 2016

Like so.

I've been busy with packing for the move, and working on some weird software stuff I can't really talk about just yet and smashing against a few API's so none of the good stuff in this post, just more dates like, if you don't want to use my(everyone's) perl one:

perl -e "print(time());"

You can always use the command line:

date +%s

I actually do a lot of stuff with time. And I have an argument and a some awesome knowledge on why Unix Epoch Time is the best time system ever... As well as things about Leap Seconds...Oh dear the things I could talk about   leap seconds.

But what's the big haps your going to see besides some of that stuff. Well I found the Second Edition of Kernighan and Ritchie's C oh my do you have some Classic  C stuff.

But OH DUSTY, WHY NOT C++. Go read jwz's wikipedia page, cause we agree on that wholeheartedly. Not that jwz actually knows me...


I had someone dis me for using perl today, all bragging about javascript and node, and I was like you don't understand I like node, and this conversation happened.

Facebook tier is the two words cut off at the bottom

Anyway for our one liner today I am tempted to talk about httpie, which is a python utility/module that makes everything easier. Sure curl is great, and you should know curl, cause it's classic and it's basic and it's         ubiqutious. But damn if httpie isn't a little sexier with a brighter syntax.

So let's pie this bitch:

http --verify no GET X-Auth-Token:shittoken content-type:application/json

So that's GETting, with a header of content type and an X-Auth-Token, if you are already super comfortable with curl, no worries and skip on. But otherwise, learn commit and do.

Thursday, January 28, 2016

Everything I learned about linux in the last 24 hours 1454016575

Let's start with this guy who automated the shit out of his job. Including built in hangover excuses, and smsing his wife he wasn't going to be home on time. As well as automating an entire customer workflow.

 Today I was doing stuff in vim and needed to use the command line, which you can do  with

so for the date:


And for my one liner of the day:

If you want to create a new buffer with the output of a command, like whenever I start the draft "Everything I learned about linux in the last 24 hours" posts, I start a new post like this:

:new `perl -e \"print(time());\"`

Confessions of a wanna be hacker

All I have ever wanted and strived to be is, a grubby little hacker. Those three words written indelibly in my mind:

grubby little hacker

Always lower case. In fiction they were smart, they were generally physically weaker than their antagonists. Clever won the day though. I became enamored with the idea after the advent of getting my first computer, an IBM PS/1 486 25 Mhz, Both types of floppy drives. A machine, that when it's broken doesn't get mad. You can work on it, and not get yelled at. As long as you don't get angry you can keep trying any solution until it's fixed.

My first experience fiction withstanding with anything even "hacking" related, was when I was young probably mid to late 90s. I needed a fresh install of Windows 95, and I didn't know what I was going to do. I didn't have an install disk from my current computer. And I was telling my friends about my woes and he said no problem he had a copy. His dad had a copy of Windows 95 on diskette. I don't remember the actual number of disks but at like 12 years old, I think I believed there was about 90 of them. But seriously installing windows 95 from diskette was an all day experience. It took like 8 hours because the disks were slow and every so often you would have to change one out. I wouldn't see a windows disk with a holograph on it for another 10 years. I think once we got installed we hooked up a null modem and played doom or something. Cause you know, there ain't no party like null modem lan party.*

About this same time I had my for dip into programming, thanks to a seriously outdated computer lab. It was the 90s, but they had a complete lab of full working Apple IIe's. They were awesome. I learned how to type in 6th grade and Basic in 7th. By 8th they replaced the entire lab with the multicolored mac's. But I knew after watching the cheesy videos about "Don't copy that floppy" and various other warnings of hackerly things in the class. That's what I waned. To own the machine.

We had the internet briefly at my home for a while, but my dad decided he didn't want to pay for it anymore. I ended up shoulder surfing dial up account usernames and passwords, from anyone's house that would let me near there computer. So I still had internet. At the time there was a free service called Juno that allowed you to connect to there service and download email then immediately disconnect. I used this as a cover for my parents if they ever picked up the phone and heard the modem cranking away.

In 1999 I installed my first linux install. I stole the cd out of the back of a book, from know cause it's difficult to download an os over dialup. I didn't know how much different my life would be. My mentor and friend at the time had told me about linux and though he had some enthusiasm at first, he would eventually move to windows 2000. I would as well but I always kept a frankenbox with linux on it, I knew it was going to be important. And my best friend at the time whenever I was working on it, or trying to learn my first scripting language (perl), he would call it "fake work."

In high school, I was a decent student, but I never did homework. I kept a more or less A/B average :). At night I was sleeping 3 maybe 4 hours a night either reading novels, tech manuals or working with the computer. In High School, I got in trouble a bit more than I care to admit. One day I had written something the administration didn't like, and they informed me they were going to call my parents, so for the remainder of the week I tied up the phone with the modem. My principle asked me if I told my parents about it, I said I had and nothing else came of it.

The towers came down, while I was in programming class. In the very same programming a class a group of friends and I shoulder surfed the Teacher's password. They all got in trouble for using the password at their desks. My machine showed no such usage.

High school ended. There was a break up with a girl, and a partion magic accident. I decided I wasn't using computers anymore. My personal life got dark. A theme of things to come.

Two years after that decision, my dad told me to "get my shit together" or else. And suggested I start going to school somewhere. I briefly looked into medical assisting. Ultimately deciding maybe I have to get back into computers again. There was a computer networking and security program, and I thought, security, and

grubby little hacker

echoed in my head again. During and after school my career would take off. In my downtime I wrote a piece of malware that I distributed as a credit card number generator(I still can't believe people downloaded and installed this thing). And created a small bot net, I mostly used to harass the installers of the program with the vbscript voice on windows.

I can remember the first time I used metasploit to solve an actual real problem at a job. And I can remember in between jobs being poor and cracking wifi networks just for internet access. Shortly after I would write webscrapers, for a semi-reputable company wanting to fill there databases with other peoples data. And then managing cloud servers for high availability sites, in the mid to late aughts. And then doing various dev and linux admin roles. Still toiling away after hours on various projects including shells, or what not.

Am I hacker, did I become what I wanted? It doesn't really matter what anyone says I don't think I'll ever believe it, I either have the worst case of impostor's syndrome ever, or I will just keep striving for the unobtainable.

You know what, I don't think I've ever written an exploit...I think I'll go do that.

*To be honest I don't think we got doom working, but we did get a file transfer going, much to the regret of FM radio listeners in a block radius.

Wednesday, January 27, 2016

Everything I learned about Linux in the Last 24 hours 1453914384

Unix stickers has a referal program so instead of just trying to hawk amazon goods I can try to sell you something you want, so if you want a five dollar cred and to help the old punk out just head over to unixstickers through this link.

On a more serious note, a lot of us were wondering what the hell happend to Ian Murdock, half of the Debian , After his twitter posts, that were removed after his death. It seems his accusations of police brutality were just forgetten. I'm not going to rehash all of that, because someone else has written a post that is more articulate than I can be but clearly voicing the same concerns I had, here.

I asked a friend about whether anyone on his team cared about systemd, and he said no which prompted this exchange:

Yeah that's right the guy with a cheery reboot PID, told me passion was dead.

Ok so the one liner of the day, is combined with a stack overflow answer I had to read to solve the problem... SERIOUSLY, READ THIS STACK OVERFLOW answer, it's fucking crazy.

When someone tells you your solution is '/'' to a single quite you're like, no that's not right, whatever. But yeah that was the answer.

Here's the alias I was putting in my .bashrc, with output:

alias power='upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep "percentage" | sed "s/ //gi" | awk -F ":" '\''{print $2}'\''

[dusty@localhost ~]$ power

Outlying operating systemes

I want to talk about two peices of tech that don't get a lot of attention.


From my handle you may have gathered that I like BSD. And I do, and it was my favorite. And I got into Mac stuff and I figured since mac has some bsd, kinda sorta that I could keep the handle. And that was, like 8 years ago, if not more. But I have not kept up with the FreeBSD community for a while. It is certainly time to start again.

Systemd is making me nervous about linux. And maybe I should get at least a toe back in that pond. I mean it would make a lot of sense to get something like a Freenas to get back in the hang of it, and slowly expand from there. I want to BSD again.

While browsing /r/UnixPorn the other day I ran into the coolest desktop ever.

By /u/whoibeiz

And at that point I was like, fuck I gotta get back in that community.


TempleOS is an os, it does most the things modern OS's do. It ss writtin by a sole developer Terry A. Davis. He has shizophrenia, and god told him to write it. The most peculiar of God's declarations was that it must run in 640x480 and it can't have networking devices. If not for the networking part I would probably be trying to adapt this system for daily use. No not really...well maybe.

The shell and most of the programming is in a homebrew language called HolyC from the best I can determine.

It's very clear this OS is aspiring to be a Commodore64. While it clearly takes elements from most modern operating systems it, really wants you to write directly to the hardware as much as possible. I think that Terry has a fondness for the Commodore machine, or maybe God does, I don't know I'm not a divine being. I have watched a lot Terry's videos on youtube, and actually recommend you do to, if you can take the random spouts of the n word, that and rambling has gotten Terry kicked off a lot of message boards.

Tuesday, January 26, 2016

Everything I learned about linux in the last 24 hours 1453852288

Mostly I just learned how to paste into urxvt. Which sounds like nothing, and I guess it is but I like how much I can customize it, so suck it. I put this into my .Xresources file:

URxvt.perl-ext-common: default,clipboard
URxvt.iso14755: False
URxvt.keysym.Shift-Control-C: perl:clipboard:copy
URxvt.keysym.Shift-Control-V: perl:clipboard:paste
URxvt.clipboard.copycmd:  xsel -ib
URxvt.clipboard.pastecmd: xsel -ob

And I added this script, to my .urxvt/ext/ folder as the global folder didn't work, which means somethings still funky because as far as I know both my users still have the same script, and one can't copy, so I'll probably work that out tomorrow.

As for the one liner of the day:

Some days when you can't work the configs out you just want to command line it to know that your doing something right, so for a gray background /true transparency urxvt window just:

urxct -depth 32 -bg rgba:3f00/3f00/3f00/dddd

I know today was oddly specific but, it's because I didn't have a lot of linux time today. I took an offer with a company today and spent a bit of it filling out paper work. So that's good.

Monday, January 25, 2016

Everything I learned about linux in the past 24 hours 1453784559

I did more with linux today than I do most. Which is why it's so frustrating I learned so little. I struggled with an arch install, with some grub stuff. I can't really tell you what I learned from it though. I could get the OpenSuse install to use my wifi card correctly, it recognized it but could get a dhcp address. And I never figured that one out. However, on thing I did learn today is i3, a windows manager, is clean looking fun to use and insanely fast. I had acquired quite the jump in performance when I moved from gnome to awesomewm . And was even more impressed by the speed jump of awesome to i3. It was really easy to customize i3 and the only wonky thing was that instead of hjkl for arrows they had jkl; Which seems insane since it's like a 40 year old standard, but you can change that in the config.

The biggest problem I had was getting urxvt to look the way I wanted I kept putting the appropriate entries int .Xresources. Turns out you have to load it first, I'm a dumbass.


xrdb -load ~/.Xresources

Anyone I ended up with what I would like to think is a pretty clean looking machine:

I looked through my history and I didn't see any cool one liners or regexes today. They must have been destroyed by constantly cycling through distros to figure out what I wanted.

Sunday, January 24, 2016

What I learned about linux in the last 24 hours 1453611250

This keyboard exists and I don't have it add, two sins to the tally.

This is all I got today. normally I hit the linux forums hard and try to learn a bunch, hell my goals on a given week are learn 8 things about linux and 3 things about vim. But today I just drank beer and watched football with my that's rare but it happened. Happy Sunday. See you tomorrow.

Malvager is where it's at Y'all

That's wassup

Irc is love. irc is life.

Saturday, January 23, 2016

Everything I learned about linux in the last 24 hours 1453521379

rmdr is a reminder app for the terminal...I love shit for the terminal. I don't like that the first two letters of the command are rm, I feel like there is a terrible tab completion accident that is coming in my future.

I read this. This is kind of a super fucked up article, it lists the top 10, hosts, that have defaced sites, and the top web servers. AThis is kind of a super fucked up article, it lists the top 10, hosts, that have defaced sites, and the top 10 services though those things have some responsibility in the sites being defaced. Apache has the most, well no shit it's the most popular web server. IIS has the least, probably because it's one of the least popular ones. And the hosts don't have any responsibility the customers do. Most defacements are at a software level, people running outdated apps like wordpress or drupal, not keeping up with there updates. To be honest though the hosts on there look mostly like the ones people complain about.

Apparently you can spy on children due to the poor security of the internet of things.

Rsync can be run as a daemon on port 873 for unauthenticated file transfers. Which I feel like a dumb ass for not knowing.

I wrote a post on my other blog, outsider math, about how my mom can beat your mom, at scrabble using math. I used this one liner to sort my word counts for the individual letter word files:

wc -l *words | sort -hrk1 | grep -v -P '(awords|ewords|iwords|uwords|owords)'

Friday, January 22, 2016

Everything I learned about linux today 1453518423

I'm going to try and do a daily, update on everything I learn about linux the day of. I don't know how long I will do this, or if it will continue after I start working a regular job again. Today I watched "Linux Sucks" the 2016 one that happened on Thursday the 21st:

    January 2016     

Su Mo Tu We Th Fr Sa 

                1  2 

 3  4  5  6  7  8  9 

10 11 12 13 14 15 16 

17 18 19 20 21 22 23 

24 25 26 27 28 29 30 


I was excited to watch it so I had been hoping the link would show in one of my feeds, and eventually it did. I knew Lunduke was going to talk about systemd, and I was pretty sure what his opinion would be, and I was write. I'm not going to tell it to you, you should watch it. If your reading this after Friday you are probably better of checking lunduke's channel, because I imagine he will have a higher quality version posted.

My primary complaint with systemd is that it feels very much at odds with the unix way. The core tenants being:

(i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
(ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
(iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.
Or summed down to a one liner, perl style:
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Systemd is a monolithic program that does many things. It also stores logs in binary, not plain text. So no I don't prefer it, but I can't say I really love what Mac did with launchd. And in fairness systemd improves boot times in comparison to init. 

I have other gripes with it as well, but I haven't decided if they're unfounded or not. Lennart in general does not particularly ascribe to the linux or posix rules.

So that said does this make him a bad guy, or systemd bad. It doesn't. I do really want devuan to be successful and I would really love to see a yum or dnf package managed system take it's lead. But systemd is assuredly great at speeding up boot times, and it may be great at the many other things it does as well.

Clearly that's just a rant I had in my head for a long time, not something I learned today but whatever.

Your daily one liner or regex:

I started with this, it was just because I was mad because I left the slash off a regex and wanted to prove to the smart ass that pointed it out, that I know my shit and stfu.
A vim regex:

then /u/EnTantoEnCuanto


And then my friend from IRC and /u/xurdm:


I was on IRC, and our bot missed my regex because I didn't have a trailing slash...

So I typed the following regex, gold starred that bitch but our bought doesn't let you do shit like that so I tested it in vim.

Irc is love, irc is lyf

Digging through Ashley Madison

After the release of the Ashley Madison dumps many of us downloaded them and searched through them. It wasn't very long there after that several web apps came up and allowed you to do it yourself, but most of those apps censor the entirety of the data for legal reasons. If you wanted to go through the dumps I can show you how in a few steps:

Get the torrent it is available on the pirate bay.

Once you have the link you will want to put the sql into a mysql database, you must have mysql or mariadb installed. To do so is a very simple step it will be something like:

If you don't know SQL it's probably a good idea to learn you some. I think most people actually go with mariadb these days.

# mysql -p am < *.dump


After that you can fire up sql:


At the sql prompt you will then have to select the db:

use am;

Then you will have to construct a search, for example:

select * from am_am_member where city="Nashville" and gender="2" LIMIT 4;

This will select 4 males in Nashville, the gender for a woman, is "1".

It does appear that across all tables id, refers to the same people. So id 102 is id 102 throughout.

With the csv's one of the things I wanted to do is get unique email addresses, that represented people who were tech savvy enough to own their own domains so I wanted to filter out anything like gmail/yahoo/aol etc, but I left in comcast and clearwire just because they might be using their real names as their email addresses which struck me as interesting.

To do that you just navigate to the csv directory and then:

awk -F, '{print $21}' *.csv | grep -vi -P "(||||||\"US\"|\"P\"|\"TW\"|\"\"|\n)" | grep -i -P "(com|org|net|ninja|gov|edu)"

As you can see the 21st field is the email field in the Credit Card transaction csvs. I don't know why the country codes are getting in there I suspect my awk delimiter isn't quit right but I obtained a dirth of information with that. Approximately 134,949 unique email addresses, I almost reported that above a million because of all the recurring ones.

It might be interesting and certainly wouldn't require a lot of scripting to just sort by total amount spent on the site.

I certainly wouldn't count this guy out:

531 "ALN3269@AOL.COM", "79.00"

531 individual charges of 79 dollars.

That's $41,949. That's a lot of money to cheat on your spouse. Seems unnecessary. Remember my list doesn't include gmail accounts so this guy probably actually scores a bit farther down on the list.

I'm just doing some uniq -c sorting, so it's possible that email entity spent more money in other amounts, but like I said, I wouldn't count them out as a contender.

Thursday, January 21, 2016

The Imaginary Linux Interview from Hell Part 1

I am not a sane person, I have never claimed to be. I even have papers to prove it. But recently I was asked to interview out of state which I have done before. The interview went well, however I am not here to talk about that interview, I am here to talk about the interview I thought I had. An interview by the universe, that involves puzzle solving, spying, lockpicking, and various mind fuckery.

 Let's start the morning of the flight to the location. Grab my bags, and my pocket notebook. I go to check my phone before we head to the airport, oops butterfingers, phone is broken. Will not boot. **FUCK** The test begins now. For the rest of this post, which is the surreal test I thought I was being given as an interview and not at all the actual interview, please listen to or pretend to listen to all the good Flaming Lips albums.

I arrive at the airport, make it through security fairly unharmed, only minor testicle feelage. There was no first class on my flight, but I was one of two of the first boarding group, group 1. Group 1 is usually a large group this seemed unusual, also I had the best seat in the plane. I was sitting in the first seat on the row, like the best seat. Do you understand, first in, first out seat. FIFO seat, for real.

This is when the crazy wheels in my head start turning. Are they fucking with me? Best seat? What was the extra they paid for this seat...sure there is no first class, but prime seating has a seat price...this is crazy....Somethings wrong.

Do they think I have a better a skill set than I have? I'm pretty sure I'm interviewing for one of their lowest technical positions...fuck what is going on.

Get off the plane. Go to pick up my rental car. The AVIS lady asks if I want my BMW. I'm like, I'm sorry what. I realize it's probably just an up sale. I'm like no, I want what they got me. She asks a bunch of other shit. I turn down the navigation system. I do accept gas refill and full coverage insurance, I'm not crazy. Until I get in the car at least. I know they paid for the navigation thing, I keep thinking. I'm pretty sure it's in my email. Wait what?!? Does that mean...they paid for the bmw service too. Surely not, whatever. Without a phone or navigation, I navigate from the city hub, to the suburb I need to be know, eyeballing a normal person. Did they know I wasn't going to have a phone/navigation system...of course not. No way. Maybe. Yeah. It's a test.

I arrive at the hotel. It's an inn. As in like, a B and B. I have worries. Sitcom worries, what about privacy, what if I have to share a bathroom. I have an interview I need to monopolize that bitch for a while.What about forced activities? That seems like a thing that happens in sitcoms. I walk up to the door. I try to open the door, no dice. I ring the doorbell, I knock no dice. I look at the door, there is some sort of intricate mechanism on it. The paranoia that was tenuously grasping my mind, now dunks on it. It was like some sort of mechanical 18th century keyless entry. Clearly a test by the linux interviewees. I must pick the lock.

Or that was that just the thought of an errant crazy person.As I was reaching for the lock I remembered I was in visible view of local police officer, and thought you know what, I'll just come back at check in time.
So I went to a fast food joint with wifi so I could get in contact with people, let the company know I made it the flight was ok and I was about to check in at the hotel. Contact people back home through google voice, you know all that.

A few hours later after stoping at taco bell tand walmart (#cultured). I returned to the hotel where someone greeted me and I was given a room that had it's own exit. And I should say I was given rooms. There was an area for entertaining, like a living room. And a bedroom and an enormous bathroom. The whole thing seemed overly expensive and ornate. I was happy to have it but felt like I wasn't deserving. The room was complete with a pillow of a cat in a dress, with cleavage. (I couldn't find an amazon link for this, I'm so sorry)

I remember all the airbnb stories about people setting up cameras and what not, perhaps my interviewing company had done the same to me, so I pulled out an old arp script I wrote. After all even I had built a raspberry pi camera, with opencv.

I fired up the arp script and waited for the enumeration.

Part 2 to come.

*If you're from the company I interviewed with, please understand I am not really this insane, I just want laughs and blog clicks. Or I'm a crazy person, you're probably hiring a crazy person. But he's stupid good at linux and he cares about solving problems. So you know weigh it out.

Tuesday, January 19, 2016

Peblish, linode shell for the pebble watch

I started working on peblish, a linode shell for the pebble watch. Right now the api_key is coded in but I'll change that to being an input you can get on the phone, probably through just typing in your linode username and password, not the actual api key. Any way this is just the basic framework. It just gets the id of the first server, but you get where I'm going to be going.

var UI = require('ui');
var ajax = require('ajax');
var d = new Date();
var n = d.getTime();
var api_key = "myapikey";
// Create a Card with title and subtitle
var card = new UI.Card({
  title:'Linode Servers',
// Display the Card;
// Construct URL
var URL = "" + api_key + "&api_action=linode.list";
    url: URL,
    method: 'get',
    type: 'json',
    crossDomain: true
  function(data) {
    // Success!
    console.log("Successfull maybe!");
  function(error) {
    console.log('Failed to Auth: ', error);
Github for peblish.

Linosh Instructions

What does linosh try to accomplish?

There is already a linode shell, that is called lish. And their is a command line tool called the linode-cli. Linosh is a tool that aims to be very similiar to linode-cli and lish, but isn't complete yet.
linosh is trying to be an api complete shell for linode. Anything you can do with the api you will be able to do with linosh. linosh provides a tab completion enviroment and easy to follow instructions for launching api calls, as well as a connection agent to linode. You can script with linosh, using the command you would use in linosh.
linosh> list-servers
linosh list-servers
Would give the same output, however the second one will not leave you in a shell so you can use it for scripting.


To install untar, and use the python install.
tar -xvf linosh.tar.gz
cd linosh
sudo python install 
git clone
cd linosh
sudo python install


Currently autocompletion works in cygwin and linux. MacOS X and FreeBSD use a different form of readline, and the autocompletion does not work. I hope to fix this in a future patch.


Before you can use linosh you need to generate an api key. The first time you run linosh you will be asked to supply this key.

Linosh History

Linosh includes a history of supplied commands in ~/.linosh_history

Example of ~/.linosh:

{ "default":[{ "api-key":"yourApiKey" }] } 
Commands currently implimented:
Types of arguements:
(requried) <optional>

list-servers : lists your linode servers
ip-list <linodeID> <IPAddress> : ip and server information 
avail-datacenters : lists available datacenters
avail-distributions : lists available linux distros
quit : exit the shell
help : show commands and usage

Throwback Tuesday? I miss when I was cool

January 2011

Throwback Tuesday: One time 8 years ago I tried really hard to sell some t-shirts

Linosh, linode shell

I built a shell and command line tool for linode, not knowing there was already an API complete command line tool already in existence (linode-cli). Since a lot of the heavy lifting is done on mine I'm going to retarget what linosh does, and probably cater it more towards reporting, than just command line stuff, and have it generate javascript reports/graphs. I was going to add ssh connectivity but linode already has that covered as well with a console connection app you can ssh to called lish. As of right now I'm just spinning my wheels thinking about the future of linosh, I think the tab completion helps make it a little more intuitive than linode-cli, but that strength doesn't really warrant the existince of the tool. I think I might implement the full api on the pebble watch actually. I'm not sure. Clearly a time for regrouping, le sigh.

Sunday, January 17, 2016

Taking advantage of weechat, sms gateway and mailgun, so I get irc messages directed at me on my phone

I wrote this script a while ago so I could have the weechat instance running on my server send me texts whenever I was highlighted in IRC. IRC is love, IRC is life.

So what I did was found my sms gateway typically your email to sms gateway is something like:

I used mailgun to deal with email, because who would even want to deal with email any other way...gross. Mailgun is a free service. This also creates a log of everything in /var/log/highlight.log. And I think at one point I had a really ugly stupid script that would check the md5 of the log file on the server, and if it had changed it would give me a growl alert on my mac...which is terrible design and I'm glad I don't do that anymore.

import weechat
end_command = ">> /var/log/highlight.log"
import subprocess
weechat.register("snail", "Bsdpunk", "1.0", "GPL3", "Test script", "", "")
weechat.prnt("", "Hello, from python script!")
import requests
key = "mailgun_api_key"
sandbox = "mailgun_domain"
recipient = ''

def join_cb(data, signal, signal_data):
    nick = weechat.info_get("irc_nick_from_host", signal_data)
    server = signal.split(",")[0]
    channel = signal_data.split(":")[-1]
    buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
    if buffer:
        weechat.prnt(buffer, "Eheh, %s has joined this channel!" % nick)
    return weechat.WEECHAT_RC_OK

def message(data, bufferp, uber_empty, tagsn, isdisplayed, ishilight, prefix, message):
    #weechat.prnt("", data)
    #weechat.prnt("", bufferp)
    #weechat.prnt("", uber_empty)
    #weechat.prnt("", tagsn)
    #weechat.prnt("", isdisplayed)
    #weechat.prnt("", ishilight)
    #weechat.prnt("", prefix)
    #weechat.prnt("", message)
    if int(ishilight):
    weechat.prnt("", message)
        full_command = "echo '" +message + "' " + end_command
        weechat.prnt("", full_command)
        process =, shell=True)
        request_url = '{0}/messages'.format(sandbox)
        request =, auth=('api', key), data={
            'from': '',
            'to': recipient,
            'subject': "IRC Message",
            'text':prefix+' '+message
        weechat.prnt('','Status: {0}'.format(request.status_code))
        weechat.prnt('','Body:   {0}'.format(request.text))
    return weechat.WEECHAT_RC_OK

weechat.hook_print("", "irc_privmsg", "", 1, "message", "")import weechat
end_command = ">> /var/log/highlight.log"
import subprocess
weechat.register("snail", "Bsdpunk", "1.0", "GPL3", "Test script", "", "")
weechat.prnt("", "Hello, from python script!")
import requests
key = "mailgun_api_key"
sandbox = "mailgun_domain"
recipient = ''

def join_cb(data, signal, signal_data):
    nick = weechat.info_get("irc_nick_from_host", signal_data)
    server = signal.split(",")[0]
    channel = signal_data.split(":")[-1]
    buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
    if buffer:
        weechat.prnt(buffer, "Eheh, %s has joined this channel!" % nick)
    return weechat.WEECHAT_RC_OK

def message(data, bufferp, uber_empty, tagsn, isdisplayed, ishilight, prefix, message):
    #weechat.prnt("", data)
    #weechat.prnt("", bufferp)
    #weechat.prnt("", uber_empty)
    #weechat.prnt("", tagsn)
    #weechat.prnt("", isdisplayed)
    #weechat.prnt("", ishilight)
    #weechat.prnt("", prefix)
    #weechat.prnt("", message)
    if int(ishilight):
    weechat.prnt("", message)
        full_command = "echo '" +message + "' " + end_command
        weechat.prnt("", full_command)
        process =, shell=True)
        request_url = '{0}/messages'.format(sandbox)
        request =, auth=('api', key), data={
            'from': '',
            'to': recipient,
            'subject': "IRC Message",
            'text':prefix+' '+message
        weechat.prnt('','Status: {0}'.format(request.status_code))
        weechat.prnt('','Body:   {0}'.format(request.text))
    return weechat.WEECHAT_RC_OK

weechat.hook_print("", "irc_privmsg", "", 1, "message", "")

Hacking your self control

When I was in San Antonio, I was by myself. And I mean like really by myself. It was a dark time. While I had a job I loved I didn't have companionship or hope really. For whatever reason with depression came poor impulse control. I would spend money on any electronics, games, or other escapisms. And I started to run out of money before pay day. Not good. What I did to solve this was I bought one of these:

I feel like it was cheaper when I bought it....hmmm... Anyway, what I would do is take cash out of an atm and throw it in the kitchen safe and wind it up for a few days then, when I could get to the cash I would have a predetermined amount I could take out, take that out then lock it again. This was the closest thing I could get to discipline. But it worked. Oh and if you think you don't have enough self control to destroy it and take the money might be a crazy person. The fact that it's like 60 dollars now should be deterrent enough. But let's say you couldn't deal. Well you could get this hardcore device.

Oh and here is this to bum you out: The one thing I took away from it, is if you want to lock something away from your self, that's larger than the safe, you just get a container that you can padlock and throw the key in the safe.