postfix dereferencing in perl 5.20

Link

Found a great post about what I think is a welcome feature coming with perl 5.20 (currently available in 5.19.8) — postfix dereferencing!

@{$ops->{data}->{opslist}} becomes $ops->{data}{opslist}->@*

The result is less brace matching and more readable code. I like it. Go read more details on it if it tickles you.

http://perltricks.com/article/68/2014/2/13/Cool-new-Perl-feature-postfix-derefencing

The post says drop-in replacement, I don’t know if that means this removes backwards compatibility when enabled or not. I’ll have to test, “plenv install 5.19.8″ here I come ;)

anyenv is my hero

I’ve played a little with anyenv with some of the recent work I’ve been tackling, and man.. this is just wonderful. :)

https://github.com/riywo/anyenv

It’s a super wrapper for rbenv style dev environment managers and puts them all into one amazing package. Please go check it out.

perlbrew was great.. time to move on :)

$ anyenv install rbenv
$ anyenv install plenv
$ anyenv install pyenv
$ anyenv install phpenv
$ anyenv install ndenv
$ anyenv install denv
$ anyenv install jenv
$ anyenv install luaenv

Customer Service

For the past couple weeks I’ve had intermittent DNS issues through my AT&T U-Verse router at home. On most of my devices it’s just not an issue, as I have it set to use a public DNS server (google, opendns, take your pick). Unfortunately this is a bit of a pain in the ass when anyone joins the wifi or otherwise uses the DHCP server, and of course it assigns the local cache nameserver from the router as the DNS.

I call up AT&T U-Verse for some assistance, having done all the basic troubleshooting and identified this as an issue definitely involving the 2wire modem/router. I can even reproduce the issue from the modem diagnostic page’s “IP Utilities” when it tries to resolve an address internally.

It takes about fifteen minutes of repeating basic troubleshooting and delays before “Rocky” concludes he is out of his depth, he can’t even get the test utility to run properly, it times out waiting on a response from the modem. I’m guessing it was supposed to lookup an ATT host and send info. Oops, DNSFAIL.

Rocky sends me over to level 2 support, although before doing so he apologizes but he didn’t catch the reps name. The level 2 rep comes on the line, and is so hurredly spealing out his text that I as well did not catch his mumbled name, even when specifically keying on that piece of information. Asked to repeat, he does so in equal mummble as the first. I decide to move on.

After confirming what he had been told by Rocky, I was reporting an issue with DNS connectivity. He then asked me to hold while he looked up the information on the account and *click*.

I waited a few minutes, having entered my phone number into the automated system, and having confirmed that the phone number I was calling from, and listed on my account, was indeed a good call back number. I did not receive a return call.

I called back, and spent the next 5 minutes going back through basic troubleshooting with Level 1 while they tried to contact my previous rep. He was eventually able to tell me that “Rocky” was busy with another caller, so I could work with him if I’d like. I of course reiterated that Rocky had referred me on to level 2, where I’d like to continue my troubleshooting.

This is exhausting, isn’t it? Onward we march!

At this the rep asked me to hold for Level 2. After several minutes, he came back and provided me with a “direct number to call” since they were taking so long.

*sigh*

I call in, welcome to AT&T ConnectNet. At this point I have been referred to their premium support line apparently, not Level 2. It prompts for phone number, but when entered the number is not recognized. I am forwarded to a sales rep (Mark), to try to sell me support services.

Excuse me? I call because the AT&T router provided to me, which I do not have a choice in using, is not behaving properly, so I need to purchase support to try to fix it?!? Upon expressing the absolutely absurdity of this request, and going back and forth on the topic a couple of times, Mark kindly offers to transfer me to U-Verse Support. The same place I came from. After emphasizing the absolutely absurdity of what had just transpired (you know, that attempted extortion and piss poor customer handling), I now get to ride the merry-go-round. Awesome.

At this point I grabbed my phone and started researching other providers in the area. Concluding my primary competitor is Comcast, I decided to give them another go. If this doesn’t work out, I’ll reach out to TDS, Charter, whomever I can to see when they can get some service my way.

Back to the land of U-Verse Technical Support I am connected to Rudolph. I start the call, express what I have been through thus far to poor Rudolph, then expressed what my issue was. Here’s where things start to get a little better. Don’t get me wrong, things aren’t great. I’m still upset at how poorly that entire process was handled. I can’t imagine not having a moderate amount of technical knowledge in my head to understand this is there issue. I would say that around 90% of US Citizens would have had little choice but to pay the fees attempted upon me from AT&T ConnectNet. ABSURD.

Rudolph, sensing my aggrevation, reassures me that he will not be transferring me in any more circles, he will be helping me to find the issue and resolve it. He steps through varous things, runs tests, he contacted level 2 support to review the test results but kept me on his line instead of transferring me onward. At the end, the internet connection tested out just fine. Rudolph then suggested that I should have someone look at the router, it may need to have the firmware updated or it might need replacing (I had told him I had the box for several years).

Wait. I’m confused. You are looking at and testing my system, and can’t tell it’s an all-in-one AT&T provided modem/router?

Now we start over, go through more explanations now that he has a better understanding, I’m able to express to him how I’ve tested bypassing the DNS on the router and things work perfectly, resetting the router makes it work for a while, etc etc.. This impacts both wired and wireless systems, across multiple operating systems. I’ve looked for options to tweak or reset, but no real control in the router/modem interface. I can even reproduce the issue on the router’s diagnostic IP Utilities screen.

At this point based on my troubleshooting and feedback, having bypassed the router with success, able to reproduce the issue on the router, reboot only temporarily alleviates… the decision is made to mail me a new router.

I took a few moments to speak with Rudolph’s manager (Ann) to express my gratitude for him sticking with me, working through the issue and not passing the buck. I did not speak as highly in regards to the rest of my experience.

Overall, this is a severe customer service and support failure in my mind. Over the past several years I have recommended AT&T U-verse to people in my area countless times. I may be hesitant to do so in the future as a result of my experience across multiple reps today.

Update:

I did receive a followup call from an AT&T U-Verse Technical Support Manager to make sure I was all taken care of. I appreciated the follow up. I’ve also received my shipment notice for the replacement modem/router.

Update2:

The replacement modem that was received was defective and would not establish the connection properly. After going back through some level 1 hoop jumping, they scheduled a service tech to come on site.

The tech arrived, had to replace the replacement. Things are online now, I’ve configured my static IP block and things look ok now.

In the end they took care of the issue, but man that was a lot of trouble for a simple problem. :(

MySQL Workbench

Trying to work with MySQL Workbench on some schema changes. I must say I’m fairly disappointed in how it handles the forward engineering / sync with database when I change a column name. Should it alter the column? Of course not, it does a drop on the column and an add of a new column. It’s ok that all the data is lost, we needed to rename the column to better follow convention! You had to expect data loss, right?

Yes, that was annoying, so I’ll have to fix that in the schema upgrade script by hand. Oh wait, there are more failures. The upgrade script generated fails every time because the column it wants to delete and add a new one is a foreign key, and that’s an incredibly impossible concept to understand.

Sorry, just venting my frustration with this tool that I had hoped was ready for primetime usage. I guess not. Alternative suggestions anyone? Or shall I just do it manually?

Chicago Wedding


Spent the weekend in Chicago to celebrate the marriage of my friends Nicole and Anthony. We had a great time, met some new peeps, and got to see some old peeps. We didn’t have too much time to get out into Chicago this trip, but I think I’ll certainly return to check it out more (and hang out more with peeps).

..and the Bears still suck. ;)

Launching the new site

Aside

Good morning, I’m finally getting around to pushing our a new site for Spleck! I’m going to try out WordPress and see how it has evolved over the years, and see how diligent and putting my stuff here, instead of spamming everyone on twitter. ;)

>Draw Something

>First let me say this is a great game that I’ve had fun playing, despite the occasional server communication issues losing my upgrades temporarily.

Unfortunately Zynga agrees with me and bought omgpop, the company who created Draw Something. This will expand the Evil With Friends empire.

Sadly today will probably be my last day playing the game. Sorry peeps, can’t support a company like Zynga.

>Log Tail and Parse

>Implementing a log parser.  Exciting stuff, I know.. but we need to get to the data in a useable form, so just parsing events out of logs and tossing them into a database that is going to be used to build nice reports (or crappy ones, time will tell).  All I know is File::Tail::Dir is yummy and saving me quite a bit of annoyance. :) A simple callback that passes the data along to my parser and creates some nice puffy database objects to deflate.. oh yeah.

>Strikeforce Weekend

>

This weekend we headed up to Columbus to see the Strikeforce event.  Headlining of course was Misha Tate defending her title against the up and coming trash talker, Ronda Rousey.  It was a great fight, as was the other Women’s MMA fight where Sarah Kaufman pulled out a nice victory as well.

We had a great time, saw some great fights, and I’m feeling pretty good ready for a solid week ahead back in the grind.