Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
So, for a while I’ve observed Perl 6 from afar. I participated in a hackathon in Chicago in 2006, but I didn’t do much, and until two weeks ago I hadn’t written a single line of usable Perl 6 code.
Today I released my first module, a Perl 6 implementation of
Fcntl. It’s using a simple C program to generate a module containing the values of C constants. The only test I could think to write was to make a simple C function that compared the Perl 6 copy of a constant to its C counterpart, and then use
NativeCall to actually run the comparison. It looks like it works, I’ve released it, and you can see it here: https://github.com/manchicken/perl6-Fcntl/
Many of you won’t be surprised to learn that I’m not a huge fan of President Trump. I am, however, one who championed the peaceful and reasoned transition of power. Just because a person with whom you disagree won the election doesn’t make the election illegitimate. The Russia stuff probably would, but I’m not going to get into that at all. Until we have reason to believe otherwise, I think it is safe to assume that this election is perfectly legitimate.
As I do with everybody, I criticize Trump when I see mistakes being made or bad ideas being spread. We, however, are not dealing in normal times so I have been incapable of keeping up with the deluge of terrible ideas flowing through this White House. Be it a bigoted Muslim ban, an executive order causing schools to harm their transgendered students, or a basic inability to put his dick away long enough to give a speech (metaphor for his incessant boasting about non-existant majorities and false accomplishments), there is far too much for which Donald J. Trump deserves not only our criticism, but our genuine and heartfelt ire.
The latest of this? Donald J. Trump is now using taxpayer-funded IT infrastructure and staff to run a propaganda campaign about a public policy which has made life better for every last American. Sure, insurance companies have used this as an excuse to price-gouge, and absolutely Obamacare could have been better, but it seems unconscionable for a sitting President to use his office to disparage an active public policy which has saved American lives and livelihoods.
This afternoon I received an official email from the White House which took me to this site: https://www.whitehouse.gov/obamacare-share-your-story
Here was the story I had to share with our “President.”
My dad was diagnosed with stage 4 colon cancer in January of 2015. He endured round after round of chemotherapy. Eventually this weakened his heart and they had to cath his heart to see how things were going. In January of 2016 my father developed a perforated colon, and doctors determined that surgery was likely to kill him, and we accepted palliative care.
We were three days in the hospital on the best drugs insurance would buy, while we looked for a hospice or nursing home. My dad died on the third day.
My dad had very little savings, and did not own his home. He worked his entire life and had very little of monetary value to show for it, but because he had worked hard to make sure he always had his health insurance, all of his care was paid for by insurance.
Contrast this to my grandfather who died half a decade before who had to dig deep into his savings to cover the cost of his care after he exceeded his lifetime maximum on his insurance. Very little of his substantial life savings remained.
My father suffered and died in ways that still haunt me, and probably always will, but Obamacare prevented my father from losing his car, his job, and his life insurance, while he tried as hard as he could to watch my sons grow into men.
Shame on President Trump, and the GOP, for soliciting this shameful propaganda. Obamacare was not perfect. It led to huge giveaways to large, mostly unaccountable, corporations. However, Obamacare made it so that mom had some life insurance money to rebuild with. The Republican “if you get sick, die quickly” plan would have made the last years of my father’s life measurably worse and more stressful.
My father died a little over a month away from his 59th birthday. Obamacare guarantees me that my insurance will cover my preventative care when I need my first colonoscopy at 40 because of family history.
These features, of not bankrupting cancer patients and covering preventative care, did not exist prior to Obamacare.
This command will look for the ID value
XXXXX in your log files ending in either
*.log-YYYYMMDD. It will then only return output with the preceding 20 characters, and the trailing 20 characters.
This is great for finding things quickly across a bunch of log files in varying formats to correlate production issues.
So I just got word that the maintainer of
App::CLI::Extension merged my changes!
I’m very excited to have participated in January and I’m looking forward to seeing what my February assignment will be.
Eight days ago I submitted the pull request https://github.com/holly/perl-App-CLI-Extension/pull/1
today I contacted the maintainer of the module, Akira, to see if they had any feedback. I’m hoping to get something constructive back which leads to a merge and ultimate release of these – admittedly tiny – changes.
This was quite possibly the least I could do, but I did find it challenging since I’ve never really used the module. I learned a lot about how this module was structured, how
Module::Install works, and I learned about configuring things in Travis-CI.
I’m looking forward to responding to any feedback from the module maintainer, and I’m excited to see how next month goes, too.
So, today I got a little more progress on my task. I found an
xt/perlcritic.t test, and I updated it to use severity 3. I need to remove the
no refs from the
perlcriticrc because I worry that I think there are more places that use it than need to… but I need to check.
I’ve got most of the files passing now, and now my
git status looks like this:
~/Documents/Devel/perl-App-CLI-Extension$ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: Changes modified: Makefile.PL modified: lib/App/CLI/Extension.pm modified: lib/App/CLI/Extension/Component/Config.pm modified: lib/App/CLI/Extension/Component/ErrorHandler.pm modified: lib/App/CLI/Extension/Component/InstallCallback.pm modified: lib/App/CLI/Extension/Component/OriginalArgv.pm modified: lib/App/CLI/Extension/Component/RunCommand.pm modified: lib/App/CLI/Extension/Component/Stash.pm modified: xt/perlcritic.t
I’m excited about what I’m going to be able to commit here soon, but I’m going to do all of these perlcritic commits at once so as to make it easier for the maintainer to review.
I have updated
App::CLI::Extension tonight to have another module within my assignment meeting
perlcritic -2 with the exception of POD headings. I’m also throwing
Readonly into the per more modern best practices. I’m going to include updating those constants to using
Readonly as I move along.
Another day, another tiny improvement.
So, I have a couple of confessions to make:
- I confess that sometimes I am a little judgemental of others code
- I confess that I am defensive when other people judge my code
- When I first looked at my assigned module, I confess that I started passing judgement on it.
- When I first started really digging into my assigned module, I confess that I seriously considered recommending that it be deprecated.
- I confess that I was absolutely wrong, and that in being a judgemental ass I almost missed the whole point of this exercise.
Neil did not ask me to be judgemental, or to critique other peoples’ contributions to the rich set of modules contributed freely to CPAN. Neil’s challenge wasn’t for us to help identify modules to remove from CPAN, I suspect that there are already parameters for doing that and that when it is appropriate to do so that this is done.
The challenge at hand was to take a module that has been abandoned and left lonely, not being updated or added to, and give it a little TLC. Even if it is just a spit-shine, these modules need something… anything.
I can’t help but feel like I walked into this challenge having completely missed the point of the whole thing.
It’s hard releasing stuff into open source. I’ve been doing so for more than 18 years now, and it’s not an easy thing to do, subjecting your work to criticism. We owe it to one another to at the very least not be judgemental and dismissive in this challenge.
So, what am I doing to improve
App::CLI::Extension? I’ve got two things in store:
- First, this module doesn’t currently build. I think it’s a change in
Module::Installthat’s causing trouble, so I want to fix that.
- Second, I want to improve the module to meet more of the current best-practices. I’ll probably use a lot of
perlcriticand PBP for this.
I don’t know what else to do just yet, but it seems like so far I’ve got a few hours of work. Let me know what you think, and if you use this module, definitely speak up and let me know if you have any specific requests.
I got my first assignment from Neil for the Pull Release Challenge:
Tonight is my usual coding night, so I’ll probably start tonight, but I also have some more work to do on