Friday, July 31, 2015

I applied for a developer position, a position within a research facility in a university. I hope that...

I applied for a developer position, a position within a research facility in a university. I hope that this is a step up for me, but all I really know is from the description on the hiring site.

A contact, an associate professor, responded and asked me to prepare a fifteen-minute presentation discussing my suitability for this position. Given the one-sheet I saw, all I can really say about this position is that it involves dealing with handling data from human subjects and thus must follow HIPAA. I worked at a medical clinic earlier in my career, so I'm familiar enough for now.

I've gone through a number of interviews in my life, and this is the first time I've ever even heard of this as part of the interview process. I'm not too afraid of presenting itself -- I've given many presentations to user groups and the like -- but nothing in the job description says anything about presenting like this, so I'm not seeing it as anything to do with the duties of the position. This raises red flags with me.

Is this a thing, just not a thing I haven't heard about before?

(Evidently off-topic for programmers.SE, and seems too specific for the suggested Workplace.SE.)

Was asked what language someone should learn first if learning how to program. I have three answers...

Was asked what language someone should learn first if learning how to program.

I have three answers: 

1) It's like asking what language you should learn if you're visiting Europe. It all depends on where you're going.
2) Church and Turing say that, if you can do a thing in one language, you can do a thing in any language. It kinda doesn't matter.
3) Right now, the only place where you can't use Javascript is in operating systems work. It's a comer in back-end web work. It's a first-class player for Win10 applications work. Johnny Five means you can use it to write Arduino code. And you don't need to install anything: you can use your browser and Notepad. So, might as well learn Javascript.

Jimmy makes a book. Jimmy makes it look easy.

Jimmy makes a book. Jimmy makes it look easy.

Thursday, July 30, 2015

Now that I'm on #Windows $CURRENT, I'm thinking about writing a tool to set my background to my most...

Now that I'm on #Windows $CURRENT, I'm thinking about writing a tool to set my background to my most recent Instagram picture.

Such a tool might exist, but as I'm a developer, and I'm on Windows $CURRENT, I'm thinking about writing a tool to set my background to my most recent Instagram picture.

Anyone have good pointers to starting developing for Windows like that?

The user I most liked to be helpful toward has just transformed herself into the one I most dislike ...

The user I most liked to be helpful toward has just transformed herself into the one I most dislike to be helpful toward in just one morning.

The argument is that schools are less for educating than for sorting. I'm not intellectually sure that...

The argument is that schools are less for educating than for sorting.

I'm not intellectually sure that the level of revulsion I feel about that is justified.

Wednesday, July 29, 2015

Justifying My Existence: Indent Style I just got dinked for my indent style on StackOverflow. I wrote...

Justifying My Existence: Indent Style
I just got dinked for my indent style on StackOverflow. I wrote an answer to someone's question , even as I figured there are much better ways to handle his greater issue than store everything in text files like that. Nearly immediately, I see this: For unc...

Tuesday, July 28, 2015

Threads Unspooling, or "What's my problem NOW?" I have never done much with access control lists (or...

Threads Unspooling, or "What's my problem NOW?"
I have never done much with access control lists (or ACLs), as most of my time as a Linux and Unix user has been in positions where everything needed to control access could be done with standard unix permissions: owner/group/all and read/write/execute. Als...

Monday, July 27, 2015

Things I learned for perlbrew: Config Config. Mostly, I haven't developed for Perl, I've developed for...

Things I learned for perlbrew: Config
Config. Mostly, I haven't developed for Perl, I've developed for the perl on this machine. Sometimes, my perl on this machine, with this set of modules. With perlbrew, you're starting with whatever Perl is available, and sometimes, upgrading the perl you're...

Sunday, July 26, 2015

What I learned from perlbrew I signed up for Neil Bowers ' CPAN Pull Request Challenge , and the first...

What I learned from perlbrew
I signed up for Neil Bowers ' CPAN Pull Request Challenge , and the first module I got was App::perlbrew . After some looking and guessing, gugod pointed me to one of his problems, and after some time reading and understanding how things work, I got it done...

What I learned from perlbrew I signed up for Neil Bowers ' CPAN Pull Request Challenge , and the first...

What I learned from perlbrew
I signed up for Neil Bowers ' CPAN Pull Request Challenge , and the first module I got was App::perlbrew . After some looking and guessing, gugod pointed me to one of his problems, and after some time reading and understanding how things work, I got it done...

Wednesday, July 22, 2015

I went to the page script. To find the template. To find the Javascript library. To find the API ...

I went to the page script.

To find the template.

To find the Javascript library.

To find the API backend.

To even find where the change I need to make exists.

Tuesday, July 21, 2015

Love the video, love the series. Argument I've heard is that the idea of freedom of the skies, that...

Love the video, love the series.

Argument I've heard is that the idea of freedom of the skies, that national sovereignty didn't extend into space, wasn't clear yet, so the US wanted the USSR to go first, so that precedent was set via Sputnik and spy satellites could fly over Russia with impunity.

Of course, lots of rockets were blowing up on the pads, too.



"I don't know why this is still here. We should remove it." "If you don't know why it is there, I won't...

"I don't know why this is still here. We should remove it."

"If you don't know why it is there, I won't let you remove it. If you can explain why it is there, then I'll let you remove it."

I was presented this as an example of Conservative thought. Yesterday, it popped up as a parable of proper system maintenance.

And boy, did it hurt.

Thursday, July 16, 2015

Spammy or cool? What do you think?

Spammy or cool? What do you think?

What I have (and the inverse): receive a possible unix username put unix username into database if ...

What I have (and the inverse):

    receive a possible unix username
    put unix username into database if valid
    return username.is_valid && db.is_successful ? 1 : 0

What I need (and the inverse):

    receive a possible unix username
    put unix username into database if username.is_valid
    for ( list of directories shared to user's boss ) :
         set acl on directory for username 
    return username.is_valid && db.is_successful ? 1 : 0

But, I want to trigger the acl setting after the return, because the database call is fast enough for a user to wait, but the recursive crawl over a file system, setting an acl on every single file or dir, is too much of a thing to expect users to wait for.

Suggestions?

In this function, we're getting a directory, a user or group name, and a means to determine if it's ...

In this function, we're getting a directory, a user or group name, and a means to determine if it's a user or group.

sub set_one_acl {
    my ( $dir, $name, $is_user ) =@_;
    if ( ( -e $dir ) && ( 
         ( $is_user && check_valid_user($name) ) || 
         ( !$is_user && check_valid_group( $name ) ) 
         ) ) {
        ... action occurs here
        return 1 ; 
        }
    return 0 ;
    }

The tests individually work. Could be a symbolic link, so -e instead of -d. $is_user is a boolean. check_valid_user() and check_valid_group() use getpwnam and getgrent to be sure.

I hate that big if statement, though, but think nesting all that if would be worse.

Thoughts? Suggestions? Pity?

This was sent to the mailing list and will also be on the GLOSSY meetup. I think we all can say that...

This was sent to the mailing list and will also be on the GLOSSY meetup.

I think we all can say that the #1 takeaway from last night's meeting is to never trust an HDMI cable. That's fine; I have a LONG one I can bring from home for next time.

I have an idea for a "ring Dave for entry" web-app that'd connect to me. I think it might work well with a QR code, except I generally think QR codes outside of very specialized environments are like "fetch" from Mean Girls; never going to happen.

Thanks to Joe Kline for showing us XPath-style HTML parsing with
XML::LibXML. I'm of at least three minds about parsing:

    * Much of my parsing is simply regular expressions in part
      because I want it now, I don't need it to last
    * I still have code subclassing HTML::Parser, and as long
      as it gets my xkcd and CommitStrip comics for me, I'm happy
    * I work enough with jQuery that using CSS selectors
      is my go-to for writing new code
    * Everybody should be exporting everything in JSON anyway

Four minds. I'm not schizophrenic, I'm quadrophenic! Still, using XPath is a reasonable way of doing it, too. Do you have example code we can look at, Joe?

Thanks to Mark Senn showing us some interesting parts of Perl 6, set for official release before this Christmas but available for testing now.
(http://ift.tt/1I5Buq2) I have it running thanks to rakudobrew, but haven't done much more than used Mark's rewrite of my password code on it.

Thanks also to Broc Seib for reserving the room and finding the one non-crappy HDMI cable in the MatchBox.

There are several open questions for next time:

Did the all-technical talk at MatchBox followed by social time with GLOSSY at LBC work for everybody? Should we stick with that or go back to WSLR?

Is there a topic anybody desperately wants to present for next time?

Is there a topic anybody desperately wants to hear about for next time?

Wednesday, July 15, 2015

Sunday, July 12, 2015

Saturday, July 11, 2015

There was a discussion on Twitter a while ago about the security of +Fitbit devices that gets into the...

There was a discussion on Twitter a while ago about the security of +Fitbit devices that gets into the whole men-and-women-argue-differently.

Thought about writing a blog post about both issues, but as time goes on, the draw of either topic lessens.

Interview-Style Coding Problem: Estimate Pi Saw this as an example of the kind of programming test you...

Interview-Style Coding Problem: Estimate Pi
Saw this as an example of the kind of programming test you get in interviews, so I decided to give it a try. Just to report, it gets there at $i = 130657. #!/usr/bin/env perl

use feature qw{ say } ;
use strict ;
use warnings ;
use utf8 ;

# Given that Pi ...

Superficially ugly code is irrelevant. Pretty formatting--or lack thereof--has no bearing on whether...

Superficially ugly code is irrelevant. Pretty formatting--or lack thereof--has no bearing on whether the code works and is reliable, and that kind of mechanical fiddling is better left to an automated tool.

http://ift.tt/OKXTdu

I disagree with the beginning, but not the end. Programs are messages that we write to future maintainers that also are executed, and superficially ugly code is also unreadable messages. If it really works and is reliable, we read the messages less often, but being able to read and understand it is important.

To some extent, yes, you can automate that. I tend to run PerlTidy a lot on my code, with my own ideosyncratic Perl style, neither K&R nor GNU, which some people hate. (Use your own .perltidyrc if you must!) But you can put unclear, ill-considered, incoherent ideas into grammatically-correct sentences full of spell-checked words. That doesn't mean the message makes sense. 

Thursday, July 9, 2015

"Unnecessary Shredding"? No such thing.

"Unnecessary Shredding"? No such thing.

At first, I didn't contribute to #CPAN because I didn't know what I was doing and my Perl Fu was not...

At first, I didn't contribute to #CPAN because I didn't know what I was doing and my Perl Fu was not strong.

Then, about everything I'd want to put into a module was either very specific to my local environment or already existed.

Now, I believe I can do it, and I know there's nothing in CPAN for Globus. It's likely going to scratch my itches, when I get it more fully-formed.

I have perlmod and perlmodlib opened and I will be reading them. I have the PAUSE account. Other things (besides filling in a LOT of functions and fuller POD) I need to do before this becomes Net::Globus?

From still pictures to smooth video? I'm blown away.

From still pictures to smooth video? I'm blown away.

Dear American Internet, Encryption is here to stay.  You can't get at the bad guy's information if ...

Dear American Internet,

Encryption is here to stay.  You can't get at the bad guy's information if he encrypts it.  And if you get American companies to give you a back door, or "front door," then the bad guys will get their encryption somewhere else.

We already went through this in the 90's.  I can still put an algorithm in a few lines of code on the front of a t-shirt that is virtually unbreakable to anyone, including the government.  Let's not revisit the discussion, because the answer hasn't changed.

Wednesday, July 8, 2015

Because everything can jump the rails... learned how to SSH in Perl yesterday. Opens cool opportunities...

Because everything can jump the rails...
learned how to SSH in Perl yesterday. Opens cool opportunities, but it scares the shit out of me. — Dave Jacoby (@JacobyDave) July 8, 2015 I will have to do a write up. (While you wait for me, read Net::OpenSSH on MetaCPAN  and know the key is keypath .) Th...

Man, JavaScript is gonna get mad over the next few years. That's a good thing.

Man, JavaScript is gonna get mad over the next few years. That's a good thing.

Tuesday, July 7, 2015



Thanks to +Gizmodo I know about this, and now you know about it, too.

Thanks to +Gizmodo I know about this, and now you know about it, too. 

Another controversial programmer opinion: SQL is code. Treat it as such. That is, just like your C#...

Another controversial programmer opinion:

SQL is code. Treat it as such.
That is, just like your C#, Java, or other favorite object/procedure language, develop a formatting style that is readable and maintainable. I hate when I see sloppy free-formatted SQL code. If you scream when you see both styles of curly braces on a page, why or why don’t you scream when you see free formatted SQL or SQL that obscures or obfuscates the JOIN condition?

So much word. 



Monday, July 6, 2015



Skimming this and reading Most comments in code are in fact a pernicious form of code duplication caused...

Skimming this and reading Most comments in code are in fact a pernicious form of code duplication caused me to rethink how I commented the ACL module I created today. 



Entering into the fun of ACLs in Linux. I might start saying "Aye See Elles" because "Ackles" is such...

Entering into the fun of ACLs in Linux. I might start saying "Aye See Elles" because "Ackles" is such an ugly word.

It's my understanding that Windows ACLs are very fine-grained, with things like "view a directory" and such opened out. With Linux, it's read-write-execute again but with finer grain. You can allow group X to access a directory, but you can disallow people who are also in group Y, or use Z who would otherwise have access. 

15 years or so after I first started hearing about them, I finally have a practical reason to play with them.

Sunday, July 5, 2015



Will play with fetch() but will likely stick with jQuery for most uses. Of course, valid or not, it...

Will play with fetch() but will likely stick with jQuery for most uses.

Of course, valid or not, it cries out fit the Mean Girls reference.

My theory is that they're assigned to the Death Star. That is a weapon platform intended to destroy ...

My theory is that they're assigned to the Death Star. That is a weapon platform intended to destroy star systems. If you're going to destroy systems, you don't need to occupy them, so you don't need to sign the top shots and you don't need to give them training in the shooting range as much.

Or, it'd suck if stormtrooper shot holes in our heroes halfway through the movie.

Wednesday, July 1, 2015

Unstuck in Time and Space: An Investigation into Location over WiFi. I track my location with Google...

Unstuck in Time and Space: An Investigation into Location over WiFi.
I track my location with Google and my phone, because I lack sufficient paranoia. To the right is my June 30. I swear that I didn't leave the Greater Lafayette area. I certainly didn't teleport to the southern suburbs of Indianapolis. This happens to me all...

Unstuck in Time and Space: An Investigation into Location over WiFi. I track my location with Google...

Unstuck in Time and Space: An Investigation into Location over WiFi.
I track my location with Google and my phone, because I lack sufficient paranoia. To the right is my June 30. I swear that I didn't leave the Greater Lafayette area. I certainly didn't teleport to the southern suburbs of Indianapolis. This happens to me all...

I run Debian. Is this Mac only? Need I run something other than gnome-terminal for this? https://youtu.be...

I run Debian. Is this Mac only? Need I run something other than gnome-terminal for this? https://youtu.be/ND-W4e-pqMo?t=45s

Just sent this to others working on SparTech

Just sent this to others working on SparTech