The Strenuous Life – A Look Back (And Forward)

“I wish to preach, not the doctrine of ignoble ease, but the doctrine of the strenuous life.” – Theodore Roosevelt

Last month, I took a hard look at myself, my habits and the life they produced.  Rather than let that die on the vine, I’ve immediately gotten to work.  Some changes I’ve made have been:

  • Becoming single threaded on my hobbies – (1 book at a time, 1 project, etc.)
  • Prioritizing meal planning and making healthier choices – I think I’ve had one or two fast food meals in the past month.

One thing that I can’t let slide is ‘Identifying meaningful fitness goals and finding ways to test them.’  I need data on where I’m at and goals I want to reach before I can actually put any kind of a plan together.  One thing that’s helped me spend more time on this was the 12-week Boot Camp at The Strenuous Life, which I finished last week.

The Strenuous Life‘ (over at Art of Manliness) offers an experience that I’d call, “Scouts or Freemasonry for the Digital Age.”  For me, it’s offered a framework of one-off, daily and weekly challenges to see where I’m at and help me learn where I’d like to be.   And since membership is for life, I intend for it to continue to be a rewarding and challenging experience.

Since the program values the initiatory appeal of keeping the details of its challenges private, I won’t be sharing much of the details other than to list off some of the goals I’ve identified for the coming year:

  • Join a martial arts gym and rediscover my love for fighting
  • Continue to encourage my family’s participation in team sports by volunteering as a coach or official for their programs
  • Grow stronger and more competent physically

Still a wireframe, but I think this is good foundation to build on.  We’ll see how it goes.

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Building an App for ServiceNow

ServiceNow kind of has a thing for the letter ‘S’.  Is the thing you just downloaded or built a Scoped app?  Is it a Share app?  Is it a Store app?  It could be all or none of these things.

What is a Scoped app?

A Scoped Application is a distinct module or application within the ServiceNow platform consisting of one or more features.  The idea is that the functionality of the app is distinct enough that it shouldn’t be tightly coupled to one of the existing modules in ServiceNow or tightly coupled to the Global scope.  Any admin can create a new application via ServiceNow Studio.

My Lex Integration experiment was a scoped app, but not a store or share app.  My ServiceNow Cookbook describes how to integrate a scoped app with Github so that it can be easily shared with others.  It’s a great way to connect with other developers with similar interests and to bounce ideas off each other.

What is a Share app?

If you think your scoped app is ready for publication, you can begin the process of sharing it to the ServiceNow Share portal.  The portal has gone through some recent changes and has definitely matured in terms of content and activity.

While everything on Share is in varying stages of development and maturity, everything published there is free.  This is definitely good for new ServiceNow users that are just ramping up on the platform and don’t want to retread a lot of ground re-solving solved problems.  The trade-off is that, like most community supported or open-source code, things available on the Share portal are ‘use at your own risk’ with no guarantee of support, present or otherwise.

What is a Store app?

If you think your scoped app is ready for primetime, you can begin the process of publishing your app on the ServiceNow Store.  This is a premium portal where official Technical Partners of ServiceNow can get their apps certified and endorsed on the ServiceNow platform.  Apps on the Store can be either free or paid, but they benefit from additional endorsement and official support from the publisher and the ServiceNow brand.

Why should you want to build one?

Well, when I build apps, libraries or other code bases, I’m usually just experimenting.  But building useful things that other people want is a proven path towards improving your value as a developer and a partner for users of the platform.  Sharing interesting things that you’re working on is a way to connect with others and create opportunities to share with larger audiences.  It can also open up new business relationships or revenue streams as you develop skills and create products worth paying for.

How do you get started? 

Any member of the ServiceNow Developer program can create or contribute to projects on the Share platform.  Here’s a link to the FAQ.  If you or your practice is interested in publishing on the Store, information on how to get involved is available here.

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Failure, Flagellation and Forgiveness

“The condition I’m in now is completely my fault. I caused this. I chose to slack off. I chose crappy foods. I’m the only one to blame and I’m the only one who can fix it.” – Chris Shugart – T-Nation

Time to pay the piper…

Last year, I made a huge bet on myself. As with most new endeavors, I put together a plan and front loaded it with good intentions and powerful reasons. And… I failed miserably. My scale this morning read 291. And last time I checked, I wasn’t 90’s Shaq. Therefore, I’m still dangerously overweight and deeper in the hole than this time last year.

So, what went wrong? Execution, basically. It’s one thing to try and reach a goal with a plan but you actually have to show up every day and make good choices. I’ve made too many choices to skip out on sleep and exercise. And I’ve made too many choices to hit the drive thru instead of cooking at home. All of these add up, quite literally.

Looking back, it’s been a crazy year with a lot going on and I haven’t learned my lessons from keeping too many open loops. I don’t sleep well. My exercise habits are half-assed to the point of non-existence. I eat like shit. I keep my challenges within my comfort zones. This is just truth. Something to accept and act on.

Now, what am I going to change? My goal hasn’t changed. But any goal without a decent plan is just a dream. So, that means the plan has to change. Here’s what I have in mind:

Stop starting so much. Horrible grammar aside, I think this captures a model of what I’m trying to accomplish. I prefer to keep my tasks single threaded, which means I need to devote the lions share of my day to grinding on those and not so much time touching a huge backlog of tasks or dailies. I need to say ‘No’ more often, if not most of the time.

Sleep. A useful comparison I’ve heard recently is that skipping sleep is the equivalent of not charging your phone. I’m not interested in being stuck @ 15% all day.

Make time for exercise. This seems to be more important than what I’m actually doing. It needs to be daily and it needs to be done first thing. I’m going to be blocking out an hour each morning.

Better food options. I do love to cook. However, trying to keep up with a crazy schedule means cooking for a family during the work week tends to stress me out. I figure with some better planning and forethought, I can have some better options at hand when I need to eat. This will mean looking up some better takeout options and breaking out the crock pot.

Have some actual fitness goals – Counting calories and watching a number isn’t enough for good health. I need to establish some actual goals for growing healthier and stronger and it needs to be something that I’ll look forward to doing. More on that later.

Test myself – Looking at the scale is one way, but I need other milestones. These can be blood or other health markers. More likely they’ll be fitness goals whether reps or times or even some one off events like the Gladiator Dash.

That’s enough for now.  This mission has never been less important and I need to remind myself constantly of that.  Now, it’s time to go to work.

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

hack.summit() 2018 – A Look Back

Another excellent hack.summit() has come and gone. This time around, the conference had an overarching theme on blockchain technologies, specifically cryptocurrencies. Since I’m not a block chain developer, I found myself googling terms from time to time as the field is very jargony. Still, I feel like I came away with a better understanding of what all the buzz has been about and look forward to learning more.

Here’s a sampling of the sessions I attended:

Opening remarks, introducing hack.summit() – Ed Roman – Like most keynotes, this was an overview of the conference in general and the blockchain theme. Also a reminder that it’s intended to be technical and the intended audience is developers or other creators. Also, some general information of how to navigate the interface and what to expect during these three days.

What is Byzantine Fault Tolerance? – Leemon Baird – This session starts off with a classic logic problem called the Byzantine Generals Problem. Essentially, how do you coordinate consensus in a distributed system with delays in messaging and suspicion of maliciousness or compromised communication. The presenter walked us through several stages of solving this piece by piece and how complexities have been added over time to resolve man in the middle and other attempts to interfere with trusted communications.

De-centralized Exchange Panel – Alan Curtis and John Piotrowski – This session was an open token exchange discussion on centralized exchanges versus decentralized exchanges. Mostly, there were points raised about the trade-offs between outsourcing some security management tasks such as handling keys to a centralized exchange versus maintaining agility and independence without committing to such a system. I’ve always been interested in the trading field and so much of blockchain is currently focused on monetization before application. While trading isn’t the only application of blockchain, you owe it yourself to understand the current primary driver for innovation in this space.

Engineering an Algorithmic Central Bank – Nader Al-Naji – A session specifically talking about the benefits of Bitcoin decentralization via Basis. Basis purports to offer a system that sources external pricing on itself, referenced to a fiat currency like the dollar. However, it can also key to things like commodities to trend values and control the supply of tokens, much like how the Consumer Price Index works. This results in Basis auto-adjusting much like how the Federal Reserve moderates the money supply to ensure currency instability doesn’t result in over-contraction or inflationary disruptions.

Liquidity, Regulation, and Exchanges – Tammy Camp and Sean Bennett – A compsci and datasci heavy session focusing on the blockchain technology itself. For example, how having a complete dataset of all transaction history built in is hugely advantageous for utilizing transactional systems. Also some caution about how this is still such a new technology that the regulatory landscape isn’t quite clear and that allows the legal market to seek rent in the cryptocurrency space. Some discussion about how by using Stronghold as their anchor/bank/brokerage, depositors grant rights to Stronghold to execute trades on Stellar on their behalf. Currently, in order to access a decentralized exchange, you need a point of access or ‘on-ramp’.

Parity Technologies Presentation – Jutta Steiner – Founder and CEO of Parity – Parity is intended to be a framework or platform for developing blockchain tools and technologies. In this session there was discussion around how in looking at the computing side of blockchain, the various chains and tools and their work product end up comprising a larger computing structure with its own emergent properties. Also, in attempting to make the technology more accessable, Parity is incorporating a vision of improving UX/UI for their toolset.

Building software in a fast-changing ecosystem – Antonio Salazar Cardozo – Technical Lead – Keep Network – I was really looking forward to this session but it got a bit of a late start. Some common sense reminders about how to deal with continuous delivery at a breakneck pace. The session motto was ‘Use Your Pockets’ which refers to the presenters experiences as a young builder and literally means to put your hands in your pockets and think for a second before making a change you can’t unmake. Basically, a nice riff on ‘Measure twice, cut once.’ I’ll need to go back and watch the entire session.

Speaking of, in case you missed a particular session or day of activities, the content is available freely for review. As for me, I’m looking forward to delving more into this space as time permits.

I’d love to hear from any other attendees to share information and opinions about this year’s hack.summit(). If you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

hack.summit(“blockchain”) 2018

It’s that time again..

It will be my pleasure to once again attend hack.summit() next month. Hack.summit() is a bi-annual not-for-profit virtual conference bringing together IT experts, professionals and enthusiasts from around the globe. My previous experiences there have been very valuable both as a professional developer and as a technology hobbyist.

This year’s theme is blockchain, with headline speakers including technical founders of projects including ZCash, Ripple, Mt.Gox, Kadena, Stellar, DFINITY, Monero, Oasis Labs, Orchid, Bancor, Basis, and more. Previous years have attracted over 80,000 attendees, holding world records for both the largest developer conference and largest virtual conference in history. It’s kind of a big deal and worth the time, even if you choose to attend just a couple of sessions.

One cool addition this year is a global virtual hackathon, giving developers the opportunity to “hack for good”, with both the chance to win tokens donated from blockchain foundations, as well as help raise funds for charitable causes via sponsorship donations.

If any of you are interested, and I hope that you are, you can use the code *JBTECH* to redeem a free pass to hack.summit() for this year. One thing to bear in mind is that donations aren’t required, but are much appreciated. Should you choose to donate, the event will forward all proceeds to causes including Women Who Code, Black Girls Code, Free Code Camp, Electronic Frontier Foundation (EFF), Coder Dojo, Bridge Foundry and more.

If any of you are curious about (or may have attended) previous hack.summit() events or have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

“See” you there!

Knowledge 18 – A Look Back

Last year, I was privileged to attend and present at ServiceNow’s Knowledge 17 conference and was definitely looking forward to another opportunity.  Luckily, someone was asleep at wheel when screening presenters as I was invited back!

This was my first time presenting all on my own at Knowledge.  It’s a bit intimidating but also very rewarding.  If you’re interested in presenting, ServiceNow submits an open request for presenters leading up to the conference.  Some of the things to consider when building your presentation are as follows:

  • What will the attendees learn and why will they care?
  • What are the problems you faced?
  • What was the objective?
  • What was the solution?  How long did it take?
  • What did you learn?
As is common to conferences, there will be a keynote presentation to set the tone and share the overall theme.  This year brought a renewed focus on the user experience within the platform and not doing tech for tech’s sake.   Many promises of new features as well as a road map for our next six major releases.
 
Of course, we need to hit the ground running on our first day.  This had to be one of my favorite sessions and one of the most challenging.  The presenters took the hands-on experience of the workshop to the next level by having each of our instances visible from the stage as we walked through simulations of events and alerts.
 
Another very enlightening session walking attendees through creation of a custom CI Class and then building Discovery criteria to identify nodes fitting this new class and merging it into our CMDB.  A great primer for those of us who do any work in Service Mapping
 
This was a fun one focused on reimplementing ad-hoc Powershell and SSH activities in the Workflow Engine.  For anyone who does much scripting in Microsoft environments, having the ability to integrate your existing scripts into Orchestration activities is invaluable.
 
This keynote brought more substance to the promises of the first day’s session.  Much emphasis was placed on new mobile and user specific features as well as interpretation of user needs and virtualization of first responder sessions using AI and bots.  Some of the skits were a bit corny and stilted but the message was clear.  People shouldn’t dislike or be frustrated by their work tools.
 
This was a fun tutorial on one of my favorite tool sets for the platform.  Seriously, if you’re a ServiceNow developer, you should be using Xplore like yesterday.  Great inline tools that give an intelligent code completion feel to the global libraries available on the platform and might help you learn about a few things you weren’t even aware of.
 
This guy was a complete jerk and never should be allowed to present ever again…
 
…But seriously.. thanks to all who attended for asking great questions and making this a great experience for me.  It’s very rewarding to see this experiment through additional points of view.  I hope you got as much out of it as I did.
 
This was my only breakout session since I tend to favor the hands-on workshops.  Still, some great improvements are being promised for Discovery and Service Mapping to make it less opaque and more accessible to the layperson.  If you want to get the full value of an IT implementation of ServiceNow, something as fundamental as node discovery and aggregation should be as basic and straightforward as practical.
 
Using Event Management to Monitor Your ServiceNow Instance Health
This was a fun little session that introduced us to a front-to-back implementation of Event Management as it applies to monitoring the ServiceNow environment itself.  Might seem like a Catch-22 to have the watchman watch itself, but it’s honestly a scenario that gets overlooked when you think about critical applications and monitoring their health and availability.
 
Another fun hands-on experience, this time integrating event monitoring to an AWS environment.  This also covered the idea of anomalies and other ‘odd behavior’ on monitored nodes and the ability to configure monitoring thresholds based on deviations from a baseline instead of express limits.
 
Summary
This was a much shorter conference for me as I chose not to attend pre-conference training.  Still, those three days were filled with the requisite fire hose of information as well as meeting a few old friends and making a few new ones.  Can’t wait for next year!
 
I’d love to hear any feedback on this post, especially if you attended Knowledge 18 and would like to discuss your own experiences.  As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Quick Update – Knowledge 18

After having a great experience at ServiceNow’s global conference last year, I’ve made it a point to keep it on my radar.  I’m happy to announce that not only will I be attending again this year, but I’ll also be hosting my own presentation!

The session is entitled Integrating Service Portal With Amazon Lex and it’s based on a demonstration of Amazon Lex I attended with a local developer community in Wichita followed by some tinkering on my own time.  The result is an open source application which can be plugged in to an instance of ServiceNow with minimal effort.  Considering the ongoing move towards hosted solutions, this is something I hope implementers of ServiceNow will find useful.

If you happen to be attending Knowledge 18 and have an interest in AWS or integrations in general, I’d love to see you there!

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

 

Keeping Current

If you dislike change, you’re going to dislike irrelevance even more. – Gen. Eric Shinseki

One of the more common dilemmas in our trade is knowing what to focus on. It’s easy to get lost in the day to day and forget about the big picture of our careers and staying relevant in a constantly shifting landscape. No matter if you’re just starting out, or if you’ve been in the trade for a while, it’s important to always stop for a moment and ensure your actions line up with your overall career strategy.

It’s almost cliched for those just starting out to ask ‘What language should I learn?’ New developers want to ensure that what they’re learning is relevant and they aren’t wasting their time. This is a perfectly valid concern. However, I’m going put on my Mr. Miyagi hat and claim that the meta-knowledge you’re gaining while practicing is more important than the language you’re learning it in. Knowing how to break a larger problem down into smaller problems that code can solve is language agnostic. So is aggregating those smaller solutions into an overall design. Even better is learning how to troubleshoot and test your solutions before bringing them into production. Anticipate your customer’s needs, expect resistance and learn to persevere. All of this is more important than learning what’s hot and sexy.

For those of us that have been building and solving for a while, keeping relevant and sharpening the saw can become easy to neglect.  It’s hard to take a step back from project work with its pressures and deadlines to invest in some new knowledge.  If you’re fortunate, your employer will check in with you on training and goals within their organization.  If you’re not (or possibly self or unemployed), then it will fall upon you to invest in yourself regularly.  This must be done deliberately and in sufficient frequency to ensure you’re continuing to grow in your trade.  Some ideas to spend this effort might be to earn a certification, learn a new development paradigm or maybe even start a blog.

If after this, you’re still curious about what’s in demand, a resource I check every so often is the TIOBE Index.  The intent of this index is to cast a wide net over what code is being used in the wild and what people are releasing as far as learning courses and other content.   It’s not intended to make recommendations, but only to offer data or a heat map of ‘what’s out there?’  While rankings like these are about as scientific and individually predictive as measuring your BMI, it’s important to take them into account for the same reason.  Meaning, opinion makers, customers and potential employers pay attention to them.  Also, indexes that focus on language alone fail to account for higher level disciplines like testing and design.  As a ServiceNow specialist, most of my actual coding is done in Javascript, but that’s not necessarily where I’m adding most of my value to customers.  So, take the the popularity (and fads) of individual languages with a grain of salt when deciding what’s relevant to YOU.

So, what do I think is most relevant today?  Relevant in the next 5 years? 10?

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Typos and Booleans and Mentoring – Oh my!

“Booleans are programmer’s original ‘fuck you’ to the English language.” – Me

It’s official, I’ve jumped the shark by quoting myself.  I’ll see myself out now..

Lately, I’ve had some flattering experiences lately with peers and aspiring programmers actually asking for my opinion.  Quite honestly, this is the one thing I find more rewarding than finding my own solutions to things.  Lending a little bit of confidence to someone experiencing some ‘analysis paralysis’ can help them get off the dime and act.

One story I like to tell quite often is about my son.  He was having trouble with some spelling homework that had a certain number of errors for him to find.  He’d found all but one and was getting extremely frustrated and emotional.  I helped him look it over and noticed the error and let him know that there was still one to find and that he wasn’t wasting his time.  It took him a bit longer, but he figured it out.   The fun part was telling him afterwards, “Dude, finding typos is like 95% of my job”

“Yes, you do.  You’ve just used a double negative” – Maurice Moss regarding education

Sanity checking isn’t just for syntax and booleans are my fucking nemesis.  When you get deep down into code that is essentially just counting polarity reversals, it’s easy to get lost.  I’ve got a friend going through some professional retraining and getting a bit flustered on some boolean puzzles for class.  Again, this is one of those situations where a second pair of eyes and some reassurance can provide that little bit of confidence to push forward.

“You actually watch that show?” – James Van Der Beek regarding Dawson’s Creek

When I started this blog, it was largely an experiment to dabble in some new technologies and try and share some of that dabbling with whoever cared to notice.  Actually getting feedback on my articles is flattering enough, but recently I had a peer share an interest in starting a professional blog in part due to being inspired by mine.  I got into development because I like building things that people use, but this had to be one of the most rewarding outcomes of the past couple of years of blogging.

“Every time I say ‘No.'” – Captain Sheridan on winning

As cliched as they are, movie/television quotes are kind of my thing.  Mental models (see: analogies) are great for encapsulating a dry and complicated situation into something relatable.  You can do this through anecdotes in your own experience or by referring to something common between you and your audience.  It works!

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

So… I wrote a book…

Astinus

“I trotted down the street to my friend and mentor Paul Rink and told him the triumphant news. ‘Good for you,’ he said without looking up. ‘Start the next one tomorrow.'” – Steven Pressfield

In a recent post, I mentioned that I was working on a ‘major writing project,’ which I’m proud to say is finally complete.  It’s official.  As of this week, I am a published author!

A few months ago, I was approached by the folks over at Packt Publishing to update their ServiceNow Cookbook to a current edition.  Having always wanted to write a book, I jumped at the chance.

For those of you who haven’t used one, a technical cookbook is intended to be used much like a culinary cookbook.  This means you should be able to use it as a general reference and jump around between ‘recipes’ to complete specific tasks in the relevant language or framework.  While this book follows this format in general, there are some chapters that have an overarching progression in building up a specific feature.

You can pre-order the ServiceNow Cookbook or purchase a subscription to access the content at the following links.  Hope you enjoy it!

Packt Publishing

Amazon

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.