What: SQL Saturday Austin, BI Edition. Where: East Williamson County Higher Education Center, 1600 Innovation Blvd, Hutto TX When: Saturday, February 8th. Admission is free. Register on the SQL Saturday website.
What: SQL Saturday Cleveland. Where: Strosacker Hall, Baldwin Wallace University, 130 E Grand St, Berea, Ohio, 44017 When: Saturday, February 1st. Admission is free. Register on the SQL Saturday website.
Now that Buffalo’s season has ended, I figured I’d do a quick review of each major position group and look at where the Bills can and should get better to continue improving. The good news for the Bills is that this is as strong a team as I’ve seen since 2000, so even though there are gaps, they aren’t enormous, crippling holes. And now, away we go!
Returning: Josh Allen, Matt Barkley, Davis Webb (futures contract) Departing: Nobody
This play was 2019 in a nutshell for Allen:
I won’t turn the whole blog post into an apologia for Allen—I’ll probably do one of those some other day. For now, I’ll just lay out that Allen is the quarterback, Barkley is a solid backup, and Davis Webb exists to be there.
Recommended Moves: None. Buffalo has their quarterback situation in hand. Maybe pick up a UDFA to compete with Webb for a practice squad spot or take a flier on a quarterback in the 4th through 6th round, but that’s about it.
Returning: Devin Singletary, TJ Yeldon, Patrick DiMarco (FB), Christian Wade (futures) Departing: Frank Gore, Senorise Perry
Sean McDermott is a two-back kind of guy, so they’re definitely going to make a move here. In this bit, I’ll first cover the existing players, and then talk about a couple of moves.
Singletary has two excellent skills: vision and contact balance. He’s slow to accelerate, doesn’t have great top speed, and is pretty small, but his ability to see a hole and stay up after hits makes him a dynamic running back regardless of his physical limitations. His hands are okay, though he dropped his share of passes and made some poor receiving decisions on reasonable balls. This little paragraph doesn’t sound very positive toward Singletary, so let me be clear: he has the chance to be a force for several years because vision and contact balance are extremely important. If he had more speed and sharper acceleration, he’d be Barry Sanders. He won’t be Barry Sanders, but he can certainly be a capable back.
Yeldon is not a good runner, but he is a good receiver. But he’s really not a good runner… Yeldon is just about replacement-level for a running back, having some skills but not enough to merit a 46-man spot, so he sat inactive most of the year.
DiMarco is a fullback who is both full and back.
Christian Wade is part of the NFL program to bring international players into the game. His primary skill is the speed and elusiveness he brought as an elite rugby player. Here was his first touch ever, and happened during the pre-season against third-stringers:
The downside to Wade is that he’s extremely raw. In the US, there was no info on him after final cuts in the preseason. In the UK, the Independent had an interview with him back in November where he talked about what he’s learned so far. I’d love to see him put in an off-season of effort, dedicate himself to learning the nuances of being a running back (including gap selection, handling the ball cleanly, and pass blocking), and sneak that 2nd spot.
Perry was one of Buffalo’s gunners and kickoff specialists. Gore looked great early in the season, but he’s lost enough in his game that by the end of the year, the only thing he could do was plow into the line of scrimmage.
Recommended moves: Sign a new gunner. Ideally, get a guy who can be a gunner and a competent RB2. Then, see if Wade can be a rosterable player. Maybe take a flier on an inexpensive running back on a one-year deal just in case Wade falls short.
Returning: John Brown, Cole Beasley, Andre Roberts, Duke Williams, Nick Easley (futures), Ray-Ray McCloud (futures), Isaiah McKenzie (restricted FA), Robert Foster (exclusive rights FA) Departing: Nobody?
Brown and Beasley are good receivers. They certainly played a role in Josh Allen’s improvement over year 1, where his “receivers” included Kelvin Benjamin, Andre Holmes, and Zay Jones. It was bad. Brown showed that he’s a complete receiver rather than just a deep threat and Beasley was typically a good underneath guy though he did have a couple cases of the drops this year.
Coming into the year, I had high hopes for Robert Foster, hoping that he’d form a dynamic tandem with John Brown to stretch the field and open things up underneath for Beasley and Jones. That, uh, didn’t happen. Foster played well on special teams but was abysmal as a receiver. Jones was dumped off to the Raiders after a terrible start to the year.
Isaiah McKenzie is Buffalo’s jet sweep guy. Most of his receptions were shovel passes on sweep action, and he’s limited as a receiver otherwise. Williams is a big-bodied guy who’s easy to love (after every reception, the crowd goes wild with “DUUUUUUUUKE!” and I’ll admit that I do the same), but he’s slow and doesn’t have great hands. What he does have that the other receivers don’t is the strength and willingness to fight for the ball.
Andre Roberts was a massive improvement over McCloud and McKenzie as kick and punt returner. Roberts has nice hands as a returner and can break one, two things Buffalo returners lacked last year. It was so nice knowing that when the other team punted, there was somebody back there who could make sure that meant Buffalo went on offense.
McCloud isn’t an NFL-caliber receiver and muffs the ball way too often to be a return man. Easley is a practice squad body.
Recommended moves: The Bills could really use a guy with Duke Williams’s size, Robert Foster’s speed, McKenzie’s jet sweep capabilities, and the ability to catch the ball. This is a stacked draft for receivers, so there’s a good chance the Bills will have a chance to improve here. My current favorite is Laviska Shenault from Colorado, but considering that we’re still pre-combine, that can change. Picking up a third good receiver lets the Bills keep Roberts as a return man and somebody as a gunner and 4th receiver, maybe Robert Foster if he re-dedicates himself to improvement in the offseason.
Returning: Dawson Knox, Tyler Kroft, Lee Smith, Tommy Sweeney, Nate Becker (futures), Jason Croom (exclusive rights FA) Departing: Nobody?
Dawson Knox has elite physical skills. He’s a really good run blocker and when he has the ball in his hands, he’s got the Madden truck stick down.
The problem is the “when he has the ball in his hands” part. He was responsible for far too many drops and poor attempts at receiving the ball. If there’s one thing I want to see Dawson work on this off-season, it’s hours and hours of practice catching the ball. If he improves his hands to just “pretty good,” he’s capable of a thousand-yard season.
Tyler Kroft’s key skills involve getting injured. Aside from that, he has some receiving skills, but it’s hard to tell when he can’t get on the field. I expect him to be a cut candidate.
Lee Smith is a 6th lineman style of blocking tight end. He might catch a ball once in a while, but it’s rare.
Tommy Sweeney was a late-round pick who has decent skills across the board. He has pretty good hands, is a pretty good run and pass blocker, and has pretty good physical skills. He doesn’t excel at anything, however. He would have been a natural fit for a tight end in the early ’90s. Today, he’s a decent option for TE2.
Jason Croom is a former wide receiver ‘tweener, who’s a bit slow for a receiver and a bit light for a tight end. He got hurt this year, so we didn’t see what he could do hands-wise. He might be a cut candidate this year, but if he sticks around, maybe he gives Allen another big-bodied underneath option with some physical skills to make plays after the catch.
Recommended moves: Figure out which 3 tight ends are the best for the team and go from there. The Bills don’t need 5 TEs, and I think the 3 best men for the job are already on the roster with no draft picks or free agents.
Returning: Dion Dawkins (T), Mitch Morse (C), Jon Feliciano (RG), Cody Ford (T/G), Ty Nsekhe (T), Ryan Bates (T/G/C), Ike Boettger (G), Spencer Long (G/C), Victor Salako (T, futures) Departing: Quinton Spain (G), LaAdrian Waddle (T)
Buffalo’s offensive line went from abysmal to pretty decent this year. Dawkins rebounded with a solid Quinton Spain next to him. Mitch Morse simplified life for Allen and was a huge improvement over Russell Bodine and Ryan Groy. Feliciano is a mauler of a guard. Nsekhe is a proficient pass blocker and Ford has skills but needs to refine his technique.
As far as backups go, Bates can play any position in a pinch. Long is a really good backup and a mediocre starter, making him excellent depth material. I don’t think Boettger has the skills to fill in as a starter.
Recommended moves: The Bills need to figure out if Cody Ford is a guard or a tackle. If they think he’s a guard, move him to left guard and find a good swing tackle (maybe re-signing Waddle). If they think he’s a tackle, they need a left guard. If Quinton Spain is willing to come back on a fairly low-price deal ($5 million per year or so), cool; if not, they’ll need to find a free agent or draft a new guard.
Returning: Jerry Hughes, Darryl Johnson, Mike Love, Trent Murphy, Jonathan Woodward (futures) Departing: Shaq Lawson
Hughes is getting up there in age, but he’s still a good defensive end. Murphy is not a good defensive end (and his high PFF score makes me question the PFF system). Johnson was a 7th-round pass rusher who showed some things during the pre-season but not during the regular season. Love got hurt before the season began and isn’t considered a great prospect.
Lawson didn’t live up to his draft billing as a top pass rusher, but he did develop into a good run defender and occasional threat to sack the quarterback.
Recommended moves: I’d love to see the Bills splurge on a big talent like Yannick Ngakoue. He’d be a pass-rushing beast across from Hughes. He would cost a lot of money, but it’d be nice to see the Bills front-load that contract pretty heavily and take advantage of the current cap space situation. Then, cut Trent Murphy. I’d be happy with the Bills resigning Shaq Lawson as well. In that case, Lawson would be a 3rd DE, splitting time on both sides. He could also serve as a defensive tackle on obvious passing downs. That’d be a lot of money in a single position group, so it’s unlikely, but oh would it be nice.
Returning: Ed Oliver, Harrison Phillips, Star Lotuleilei, Vincent Taylor Departing: Jordan Phillips, Corey Liuget
Oliver is the real deal. He’s got a good chance to be an elite 3-technique DT. Harrison Phillips switched from 3-tech to 1-tech in 2019 before getting hurt, and he was doing well as a run-stuffer and occasional pass rusher. Unfortunately, he tore his ACL, so who knows what he’ll look like after he gets back.
Lotuleilei is probably the most villified player on the Bills roster. He’s a 1-tech DT, so the stats never pile up and that makes his contract look terrible. Granted, his contract is not good, but at the same time, that hasn’t prevented the Bills from doing what they want. Lotuleilei is a good run stopper with zero pass-rushing skill.
Vincent Taylor came up from the practice squad and was about what you’d expect from a practice squad defensive tackle. Liuget was a late-season acquisition who was better than a turnstile.
Jordan Phillips is an interesting case. He had 9.5 sacks this year and had a couple of games where he just dominated. He’s also always out there getting fans into the game—so many times the camera cut to Phillips, he was exhorting fans to make some noise. The problem is that he is not a good run-stopper and is going to get paid like an elite defensive tackle.
Recommended moves: Let Jordan Phillips get his payday, but not with Buffalo. Try to bring in some competition for 3-technique, as McDermott loves to cycle his defensive linemen through the game and the Bills need someone better than Taylor or Liuget.
Returning: Tremaine Edmunds, Matt Milano, Vosean Joseph, Corey Thompson, Tyrel Dodson (futures), Del’Shawn Phillips (futures) Departing: Lorenzo Alexander, Maurice Alexander, Julian Stanford
Edmunds and Milano are a pair of rising stars for the Bills. They are classic McDermott linebackers: rangey and able to cover, blitz, and run stop. Matt Milano is going to get paid, and the Bills need to pay him.
Vosean Joseph got hurt before the season began. He came into the NFL as a rocket: moves in one direction and does a lot of damage if he hits his target. Dodson was reasonably well-regarded though had some personal problems which kept him off the roster. I don’t know if either of those two is good enough to merit a spot. Corey Thompson is a decent special teamer but you don’t want him starting.
Lorenzo Alexander was on the downside of his career, but was a Bills favorite because he’d do anything. He was the starting SAM (for a team which plays in nickel 70% of the time) and special teams captain, but he would also line up as a defensive end and a pass-rushing defensive tackle. He could rush passers, cover tight ends and running backs (well enough…), and whatever else the coaches needed. Alexander was a versatile piece of the puzzle.
Maurice Alexander is a former safety and a special teams player. He did not fare very well in Buffalo, so I don’t see them bringing him back. Stanford might come back, but he’s a replacement-level guy.
Recommended moves: Look for a couple of linebackers who can play special teams and not look totally useless on defense. McDermott and Beane have done pretty well in drafting linebackers, so maybe there’s another Matt Milano (5th round pick) hidden in this draft. If Joseph or Dodson drastically improves year-over-year, one of those two might end up being the starting SAM, but I’d want there to be some good competition at that position.
Returning: Tre’Davious White, Taron Johnson, Levi Wallace (exclusive rights FA), Cam Lewis (futures) Departing: Kevin Johnson
Tre’Davious White is an excellent cornerback, which is what you’d expect considering that he is the greatest goalie in Louisiana high school history. He takes time out of his busy schedule to run the Tre White Goalie Academy of Louisiana at Buffalo.
White is entering year 4 and Buffalo needs to sign him to a big contract. In his first couple of seasons, powerful and fast wide receivers like AJ Green could beat up on him, but this year, he dominated pretty much everybody he faced. For example, Tre White on OBJ:
The play I really wanted to highlight wasn’t in this clip. It was a play where Beckham had a touchdown dead to rights but White mugged him in the end zone to knock the ball out of his hands, drawing a pass interference flag in the process. This was a very smart play because it was already 1st down on the 1 (due to penalties), so White saved a touchdown at the cost of one extra play. He then broke up the end zone pass in the clip above and, after some dramatics, the Browns failed to score at all on that drive.
Across from White, the Bills played Levi Wallace and Kevin Johnson. Johnson has elite talent but has always been hurt. Wallace has weak physical skills (including being small, light, and slow) but a lot of drive. They actually make for a good tandem, as they excel in different areas—Johnson is good in man coverage and Wallace zone. I’d like to see Wallace retained and, at the right price, Johnson back as well.
Taron Johnson is a good slot corner with injury problems exacerbated by his bullet train mentality. I love the physicality he brings to the position, but don’t love the shoulder injuries.
Recommended moves: Buffalo needs a #2 corner aside from Tre White. Kevin Johnson, at the right price, can be that guy. Levi Wallace is an excellent #4 corner and a below-average to adequate #2 corner. Taron Johnson is a good slot corner who needs to stay healthy, even if it means not making as many aggressive tackles. Ideally, the Bills would have one more cornerback who can play inside or outside and act as depth.
Returning: Jordan Poyer, Micah Hyde, Jacquan Johnson, Siran Neal, Dean Marlowe (restricted FA) Departing: Kurt Coleman
When I think about Buffalo and safeties, I embrace my inner Abe Simpson.
The Bills had 6 safeties on their 53-man roster and sometimes suited up 5 of them. That means they had more safeties than cornerbacks on their gameday rosters. Now, to be fair, Siran Neal is a big nickel slot guy more than a true safety or cornerback, and he’s a ‘tweener who the team technically counts as a CB…but he’s really a safety.
Poyer and Hyde individually are good safeties, but they make for an outstanding tandem. The reason is that they are interchangeable and probably telepathic. The two have similar skill sets and can play either safety position. Within the safety role, both can cover deep zone, play a robber zone, cover man-to-man, play the run, and blitz. What makes them such a dangerous combination is that they both fake extremely well and track what the other is doing pre-snap. For example, Hyde might come up into the box looking to play the run or blitz. Meanwhile, Poyer would trail the receiver in motion. For the quarterback and offensive coordinator, this combination is a dead giveaway that the Bills are playing man coverage (and probably blitzing Hyde).
But Hyde and Poyer know, based on quarterback tendencies (and when the in-helmet microphone shuts off), when the quarterback normally snaps the ball. If the QB normally snaps at about 7 seconds on the play clock, they’ll break off into their real routes at about 8 or 9 seconds on the clock, showing that instead of a blitzing Hyde and man-covering Poyer, Hyde is playing deep zone and Poyer robber—and if that motion man hadn’t moved, then Poyer would have played deep and Hyde robber. This is how you turn two good players into an elite tandem.
Poyer’s entering the last year of his contract, and he definitely deserves an extension. As far as the other safeties go, I’d like to see Johnson play a bit more and do like what I see from Siran Neal as a big nickel guy. Dean Marlowe is serviceable as a final safety, and I don’t think they need another.
Recommended moves: Give Poyer a bunch of money and keep Marlowe. Otherwise, don’t mess with it.
Hauschka had a couple of scary stretches this year but ended on a fine note. He doesn’t have the leg to nail 50+ yarders anymore, so there might be some value in competition here.
Bojorquez is apparently a practice star but is quite inconsistent in-game. Vedvik was brought in to compete with Bojorquez as a punter, though he can also kick off and place kick, making him versatile (though not necessarily good).
Recommended moves: Look for a good punter. Bojorquez can nail a 60-yarder but then shank the next one. This might be worth a late-round draft pick. Perhaps it’s time to look at a new kicker as well.
What: SQL Saturday Nashville. Where: Middle Tennessee State University (MTSU), 1301 East Main Street, Murfreesboro, Tennessee, 37132 When: Saturday, January 18th. Admission is free. Register on the SQL Saturday website.
Unlike the last couple of years (e.g., 2019), I’m lopping off the “Presentation” portion and focusing more on what I want to learn. Presentations will follow from some of this but there are few guarantees. I’m going to break this up into sections because if I just gave the full list I’d demoralize myself.
The Wide World of Spark
It’s a pretty good time to be working with Apache Spark, and I’m interested in deepening my knowledge considerably this year. Here’s what I’m focusing on in this area:
Azure Databricks. I’m pretty familiar with Azure Databricks already and have spent quite a bit of time working with the Community Edition, but I want to spend more time diving into the product and gain expertise.
Spark.NET, particularly F#. Getting better with F# is a big part of my 2020 learning goals, and so this fits two goals at once.
SparkR and sparklyr have been on my radar for quite a while, but I’ve yet to get comfortable with them. That changes in 2020.
Microsoft is putting a lot of money into Big Data Clusters and Azure Synapse Analytics, and I want to be at a point in 2020 where I’m comfortable working with both.
Finally, Kafka Streams and Spark Streaming round out my list. Kafka Streams isn’t Spark-related, but I want to be proficient with both of these.
I’m eyeing a few Azure-related certifications for 2020. Aside from the elements above (Databricks, Big Data Clusters, and Synapse Analytics), I’ve got a few things I want to get better at:
Azure Data Factory. I skipped Gen1 because it didn’t seem worth it. Gen2 is a different story and it’s about time I got into ADF for real.
Azure Functions, especially F#. F# seems like a perfect language for serverless operations.
Azure Data Lake Gen2. Same deal with ADF, where Gen1 was blah, but Gen2 looks a lot better. I’ve got the hang of data lakes but really want to dive into theory and practices.
I released my first F# projects in 2019. These ranged from a couple F#-only projects to combination C#-F# solutions. I learned a huge amount along the way, and 2020 is a good year for me to get even more comfortable with the language.
Serverless F#. This relates to Azure Functions up above.
Fable and the SAFE Stack. This is a part of programming where I’ve been pretty weak (that’s the downside of specializing in the data platform side of things), so it’d be nice to build up some rudimentary skills here.
Become comfortable with .NET Core. I’ve been a .NET Framework kind of guy for a while, and I’m just not quite used to Core. That changes this year.
Become comfortable with computational expressions and async in F#. I can use them, but I want to use them without having to think about it first.
Get more active in the community. I’ve created one simple pull request for FSharp.Data.SqlClient. I’d really like to add a few more in areas where it makes sense.
Data Science + Pipelines
I have two sets of goals in this category. The first is to become more comfortable with neural networks and boosted decision trees, and get back to where I was in grad school with regression.
The other set of goals is all about data science pipelines. I think you’ll be hearing a lot more about this over the next couple of years, but the gist is using data science-oriented version control systems (like DVC), Docker containers governed by Kubernetes, and pipeline software like MLFlow to build repeatable solutions for data science problems. Basically, data science is going through the maturation phase that software development in general went through over the past decade.
This last set of goals pertains to video editing rather than a data platform or programming topic. I want to make 2020 the year of the Linux desktop video production, and that means sitting down and learning the software side of things. I’m including YouTube tutorials and videos as well as improving my use of OBS Studio for TriPASS’s Twitch channel. If I get good enough at it, I might do a bit more with Twitch, but we’ll see.
Looking back at the list, it’s a pretty ambitious goal. Still, these are the areas where I think it’s worth me spending those crucial off-work hours, and I’d expect to see three or four new presentations come out of all of this.
In yesterday’s post, I covered my presentation goals. In today’s post, I’m going to hit on things which were outside of those goals.
The Catallaxy Services website was a bit old when I started it—it was a learning project in Django and I wanted to write all of the code by hand. This year, I went out and got a more professional design and rebuilt the Catallaxy Services website. I have more details on the process, but the quick reasoning was that searching my site on a phone—something I would not have done in 2012—was painful. This helps a lot. I’m still not happy with my hero image (which is the sunrise over Mt Haleakala), but it’ll do for now.
PolyBase Revealed was a labor of love. Or at least a lot of labor and something approximating an emotion. Now it’s time to sit back and cash those fat royalty checks. It turns out that if you make the royalty check itself twice as large, people don’t care as much that they’re only getting 37 cents in royalties.
I have a DataCamp course entitled Time Series Analysis in SQL Server. I go into great detail on how you can work with dates and times in SQL Server. The first module is free, and the rest of it is for pay.
Twitch streaming has gotten off to an okay start. If you’re interested in catching SQL Server user group meetings online, join our Twitch channel. If you want to see some of the mechanisms behind the stream, I wrote up a post.
For next year, I really want to improve my streaming skills; it takes too long to get things set up, too much is flaky, and I want to improve the intro and outro, as well as the quality of streams when we have remote presenters.
100 SQL Saturdays
SQL Saturday Orlando marked my 100th SQL Saturday. I’m still going to be on the SQL Saturday circuit and have several confirmed events so far on the schedule for 2020.
This was a big year for new talks (and part of the impetus behind making a few others obsolete). In 2019, I created the following presentations:
I had a few more “one-off” presentations for TriPASS, but I won’t count them because I don’t intend to present them again.
Looking back on this, I’m not sure when I actually slept during the year. It’s been a big year, and I’m looking forward to 2020 being a big year as well. I’ll talk about some of my goals in the next post.
This will be a review of my presentation goals for 2019. Tomorrow, I’m going to talk about a bunch of other stuff I did. It’s been a busy year.
Coming into the year, I had 5 major goals and 2 stretch goals. Here’s how I did on each of them.
Speak at 20 SQL Saturdays and 10 User Groups
I ended up hitting 20 SQL Saturdays on the nose. As far as user groups go, I had 13 user group presentations, including two remote. One successful goal down.
Speak in 4 Countries
I ended up speaking at events in six countries: the United States, Canada, Germany, Ireland, the United Kingdom, and Australia. Two successful goals down.
Update 4 Older Talks to Use GitPitch
I’ve become a lot more comfortable with GitPitch (to the point where I’m paying for the full product, as I want it around for a while). At the beginning of the year, I listed out a half-dozen talks which would be good to migrate to GitPitch. I moved four of them, rewrote a fifth (on PolyBase), and will probably retire the 6th at some point. Speaking of which…
Retire 4 Talks
Sometimes, it’s good to put a talk out to pasture. I ended up giving up on a few of them this year, though funny enough, I brought my talk on Biml out of retirement due to internal demand.
I missed on my two stretch goals, but did end up hitting all of my main goals, so I’ve got that going for me. Tomorrow, I get to brag about all of the stuff I was doing while missing those stretch goals…