Coding Blocks

Allen Underwood, Michael Outlaw, Joseph Zack

The world of computer programming is vast in scope. There are literally thousands of topics to cover and no one person could ever reach them all. One of the goals of the Coding Blocks podcast is to introduce a number of these topics to the audience so they can learn during their commute or while cutting the grass. We will cover topics such as best programming practices, design patterns, coding for performance, object oriented coding, database design and implementation, tips, tricks and a whole lot of other things. You'll be exposed to broad areas of information as well as deep dives into the guts of a programming language. While Microsoft.NET is the development platform we're using, most topics discussed are relevant in any number of Object Oriented programming languages. We are all web and database programmers and will be providing useful information on a full spectrum of technologies and are open to any suggestions anyone might have for a topic. So please join us, subscribe, and invite your computer programming friends to come along for the ride. read less
TechnologyTechnology

Episodes

There is still cool stuff on the internet
21-01-2024
There is still cool stuff on the internet
This episode we are talking about keeping the internet interesting and making cool things by looking at PagedOut and Itch.io. Also, Allen won't ever mark you down, Outlaw won't ever give you up, and Joe took a note to say something about Barbie here but he can't remember what it was. The full show notes are available on the website at https://www.codingblocks.net/episode226 Reviews Thanks for the reviews! ineverwritereviews1337, ivan.kuchin Want to leave us a review? https://www.codingblocks.net/review . News Orlando Code Camp Conference is February 24th (orlandocodecamp.com)Wireless mic kit mentioned by Outlaw regarding the Shure system (shure.com)New video from Allen: JZ's tip from last episode - Obsidian Tips for Staying Organized (youtube) Is Cat 8 Overkill? No way!Check out AliExpress to save some money (aliexpress.com)Note for NAS building / Plex - 11 gen and newer Intels are your friend for transcoding (intel.com) Merge commits Thanks for the tip mikerg!Some orgs are banning merge commits on larger repositoriesShould you? (graphite.dev)Git Rebase Visualized (atlassian.com)Merge Commit Visualized (atlassian.com) Paged Out - E-Zine Paged Out is a free e-zine of interesting and important articles (pagedout.institute)Thanks for the tip mikerg!Some samples AIleister Cryptley, a GPT-fueled sock puppeteer A fake online persona that will generate content for you using ChatGPT Beyond The Illusion - Breaking RSA Encryption Encryption is basically just math - it's not some magical black box"Never roll your own crypto – it’s a recipe for problems!" Keyboard hacking with QMKHardware Serial Cheat SheetBSOD colour change trickCold boot attack on Raspberry PiCan we get some love for the demoscene?Best part…each issue comes with a wallpaper! Fun Project Ideas Want to get into gamedev or 3d modeling, or just like making cool stuff with your skills?Why not use itch.io as inspiration?See other cool games and tools that people make: https://itch.io/toolsA couple noteworthy tools Kenney shape (itch.io) Turn 2d images into 3d by adding depthExport to several different formats$3.99 Asset Forge (itch.io) Assemble simple shapes into more complex onesStretch and rotate$19.95 US ($39.95 deluxe) Tiled Sprite Map Editor (itch.io) Rich feature set, nice integration with Game Dev Tools Bfxr is a popular tool (which was an elaboration of another tool Sfxr) for generating sound effects (itch.io) Somebody made a js version too, if you can believe that! (jsfxr.me)Beeps, boops, blorps, flames Rexpaint (itch.io) An ASCII Art Editor…you just have to see itLayers, Copy/Paste, Undo/Redo, Palette swaps, ZoomWho needs pixels!? Resources We Like Kenney's Game Dev Resources (kenney.nl)What is the demoscene? (YouTube) Tip of the Week If you subscribe to Audible, don't forget that they have a lot of "free" content available, such as dramatic space operas and the "Great Courses" For example. "How to Listen to and Understand Great Music" is similar to a "Music Appreciation Course" you might take at uni. The author works through history, talking about the evolution of music and culture. It's 36 hours, and that's just ONE of the music courses available to you for "free" (once you subscribe) (audible.com)Visualize Git is an excellent tool for seeing what really happens when you run git commands (git-school.github.io)It's easy to work with checkboxes in Markdown and Obsidian, it's just - [ ] Don't forget the dash or spaces!Did you know there is a Visual Studio Code plugin for converting Markdown to Jira markup syntax? (Code)Apple, Google, and the major password manager vendors have ways to set up emergency contacts. It's very important that you have this setup for yourself, and your loved ones. When you need it, you really need it. (google.com)
Gartner Top Strategic Technology Trends 2024
17-12-2023
Gartner Top Strategic Technology Trends 2024
This episode we are talking about the future of tech with the Gartner Top Strategic Technology Trends 2024. Also, Allen is looking into the crystal ball, Joe is getting lo, and Outlaw is getting into curling. The full show notes for this episode are available at https://www.codingblocks.net/episode224. News Thank you for the reviews! justsomedudewritingareview, Stephan You can find links to leave us reviews on the website (/reviews) Orlando Code Camp is coming up February 24th, woo! (orlandocodecamp.com)Make sure you read up on your next MacBook pro, if you want to maximize the performance then you are going to need to pay for it!Reminder: Don't install packages from the internet in your CICD pipeline!You can find links to leave us reviews on the website (/reviews) Gartner Top Strategic Technology Trends 2024 No surprise, AI is a big topic - it looks like Gartner is suggesting the technologies and processes companies must follow to be successful using and incorporating AI In this overview, Gartner has grouped these technologies into three different sections Protect Your InvestmentRise of the BuildersDeliver the Value Protect Your Investment Be deliberateEnsure that you've secured appropriate rights for deploying AI driven solutions AI Trism - AI Trust, Risk and Security Management AI model governance TrustworthinessFairnessReliabilityRobustnessTransparencyData protection Gartner Prediction - By 2026, companies that incorporate AI Trism controls will improve decision-making by reducing faulty and invalid information by 80% Why is AI Trism Trending? Largely, those who have AI Trism controls in place move more to production, achieve more value, and have higher precision in their modelingEnhance bias control decisionsModel explainability How to get started with AI Trism? Set up a task force to manage the effortsWork across the organization to share tools and best practicesDefine acceptable use policies and set up a system to review and approve access to AI models Continuous Threat Exposure Management - CTEM Systemic approach to continuously adjust cybersecurity prioritiesGartner prediction - By 2026, companies invested in CTEM will reduce security breaches by 2/3 (statista.com)Aligns exposure assessment with specific projects or critical threat vectors (fortinet.com)Both patchable and unpatchable exposures will be addressedBusiness can test the effectiveness of their security controls against the attacker's view "Expected outcomes from tactical and technical response are shifted to evidence-based security optimizations supported by improved cross-team mobilization." How to get started? Integrate CTEM with risk awareness and management programsImprove the prioritization of finding vulnerabilities through validation techniquesEmbrace cybersecurity validation technologies (cybersecurityvalidation.com) "security validation is a process or a technology that validates assumptions made about the actual security posture of a given environment, structure, or infrastructure"Sustainable Technology FrameworkSolutions for enabling social, environmental and governance outcomes for long term ecological balance and human rightsGartner prediction - by 2027, 25% of CIO's will have compensation that's linked to their sustainable technology impactWhy trending?Environmental technologies help deal with risks in the natural worldSocial technologies help with human rightsGovernance technologies strengthen business conductSustainable technologies provide insights for improving overall performanceHow to get started?Select technologies that help drive sustainabilityHave an ethics board involved when developing the roadmap (gartner.com)Use the Gartner "Hype Cycle for Sustainability 2023" - helps identify well-established vs leading-edge technologies for enterprise sustainability (gartner.com) Resources We Like "Where Online Returns Really End Up And What Amazon Is Doing About It" (YouTube) Tip of the Week Lofi Girl is a youtube channel that plays lo-fi hip hop beats, with a relaxing minimalistic animations. The people behind Lo-Fi Girl also released a new channel featuring a Synthwave (80's influenced mid-tempo electro music) Boy. Same type thing, but Synthwave music. (youtube.com)If you are interested in streaming technologies and/or Apache Pinot then you should check out the Real-Time Analytics podcast by Tim Berglund (rta.buzzsprout.com)Are you having runtime issues with your Docker container? Why not run it, and poke around? (curl.se)
Gartner and your Life Partners
13-11-2023
Gartner and your Life Partners
News Thanks for the reviews! Debug DuggmyotherproglangisjavaDaniel Kastinen The call for speakers is open till December 15th for Orlando Code CampSony announces a9 III: World's first full-frame global shutter camera (dpreview.com) Technology Adoption Roadmap for Midsize Enterprises 2022-2024 Gartner Report Technology Adoption Roadmap for Midsize Enterprises 2022-2024More than 400 MSE's interviewed (gartner.com)53 technologies were mapped to adoption stage (pilot, deployed 2022, deploy in 2023), value and riskValue was determined by looking at the following factors Increasing cost efficiencyImproving speed and agilityEnabling resilienceEnhancing employee productivity Deployment risk Cybersecurity risksImplementation costTalent availabilityVendor supply chain disruptionGeopolitical risks Key Takeaways Cybersecurity Investments prioritized in (M)anaged (D)etection and (R)response - this to deal with the growing threat of digital risks including things like ransomware(S)ecure (A)ccess (S)ervice (E)dge is gaining traction for moving away from hardware based security solutions to cloud based security services(Z)ero (T)rust (N)etwork (A)ccess is being evaluated to replace VPNs Future work environments Investments are being made in hybrid and remote work environments over collaboration and productivity tools Deployment of cloud security tools being prioritized to enable more security hybrid and remote work environmentsDIstributed cloud systems and cloud storage are also being prioritized (C)itizen (A)utomation and (D)evelopment (P)latforms are also being investigated to allow business users to leverage low-code services to help speed business decisionsNLP - Natural Language Processing appears to be something that businesses want to adopt but are falling behind on plans to deploy due to some challenges Accuracy in language translationEven though NLP has come a LONG way in the past couple years, the human language is still a very challenging problem to solve Productivity and Operation Efficiency Experimenting with Enhanced Internet (cdsglobalcloud.com) Investing in AI and Data Science and Machine Learning to help observe infrastructure across on-prem, cloud and edge computing Comes with high deployment risks but still very highly adopted Investments in 5g for larger demand of networkingInvestments in API management PaaS One of the problems here is talent shortages in this area of expertise (azure.microsoft.com) Some of the high-value low-risk items being piloted Cloud Data Warehousing High-value low-risk items deployed or being deployed Security Orchestration Automation and ResponseDigital Experience MonitoringRobotic Process AutomationVirtual Machine Backup and RecoveryIntegration Platform as a ServiceSD-WAN (software-defined WAN)Network Detection and Response High-value high risk Zero Trust Network AccessArtificial Intelligence IT Operations - AIOpsCloud Application DiscoveryHybrid Cloud ComputingAI Cloud ServicesCloud Managed Networks - CMNs Who have you partnered with? Email AddressesRegistrarCloud Storage (Dropbox, OneDrive, iCloud, etc)Backups (Do you still need them!?) ContactsPasswordsPhotos Tip of the Week Have a presentation to do? Slidev is a VueJs and markdown-based way to create slides. Because it's web based you can do cool interactive type stuff, and it's portable. Bonus: recording and camera view support built in. Thanks Dave! (sli.dev)There are a lot of great resources for Kubernetes on the official Kubernetes Certifications and Training page (kubernetes.io)Notes in iOS are pretty good now! Did you know you can use it for inline images, videos, along with note taking…. (youtube.com)Use Docker? Check out dive, it's a tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image. (github.com)
Keyboards, Cloud Costs, Static Analysis, and Philosophy
15-10-2023
Keyboards, Cloud Costs, Static Analysis, and Philosophy
We've got a smorgasbord of delights for you this week, ranging from mechanical switches to the cloud and beyond. Also, Michael's cosplaying as Megaman, Joe learns the difference between Clicks and Clacks, and Allen takes no prisoners. See the full show notes a https://www.codingblocks.net/episode220   News Thanks for the reviews! Meskell, itsmattLeave us a review if you have a chance! (/reviews) The Show Why are mechanical keyboards so popular with programmers?Is it the sound? Is it the feel? What are silent switches? Are they missing the point?You can buy key switches for good prices (drop.com)Cloud Costs Every Programmer should know (vantage.sh) (Thanks Mikerg!)List of static analysis tools, so you can get with the times! (GitHub) (Thanks Mikerg!)From itsmatt:"I’d love a breakdown of what each of you think are your key differences in philosophies or approaches to software development. Could be from arguments or debates on older episodes, whether on coding, leadership, startups, AI, whatever - just curious about how best to tell everyone’s voices apart based on what they’re saying. I know one of you is Jay Z (JZ?), but slow to pick up on which host is which based on accents alone." Resources We Like 8Bitdo Retro Mechanical Keyboard (amazon)Hot Swap vs Solderable Keyboard PCBs (kineticlabs.com)Cherry MX Switch Tester (amazon)Keyboard Switch Sample Pack (amazon) Tip of the Week How do you center a div? Within a div? With right-align text? What about centering 3 divs? What if you want to space them out evenly? If you've been away from CSS for a while, you may be a bit rusty on the best ways to do this. Not sure if it's "the best" but an easy solution to these problems is to use Flexbox, and lucky for you there is a fun little game designed to teach you how to use it. (flexboxfroggy.com)Drop.com is a website focused on computer gear, headphones, keyboards, desk accessories etc. It's got a lot of cool stuff! (drop.com)Have you ever accidentally deleted a file? Recovering files in git doesn't have to be hard with the "restore" command (rewind.com)Have trouble with your hands and want to limber up? Also doubles as a cool retro Capcom Halloween costume. It's a LifePro Hand Massager! (amazon)
GitHub Actions
17-09-2023
GitHub Actions
In this episode, we are talking all about GitHub Actions. What are they, and why should you consider learning more about them? Also, Allen terminates the terminators, Outlaw remembers the good ol' days, and Joe tries his hand at sales. See the full show notes at https://www.codingblocks.net/episode218 News Thanks for the reviews! iTunes: nononeveragain, JoeRecursionjoe, Viv-or-vyv, theoriginalniklasLeave us a review if you have a chance! (/reviews)Allen did some work on his computer: DeepCool LT720 Liquid Cooler (amazon)Noctua Dual-Tower CPU Cooler (amazon) What are GitHub Actions? GitHub Actions is a CI/CD platform launched in 2018 that lets you define and automate workflowsIt's well integrated into Github.com and fits nicely with git paradigms - repository, branches, tags, pull requests, hashes, immutability (episode 195)The workflows can run on GitHub-hosted virtual machines, or on your own serversGitHub Actions are free for standard Github runners in public repositories and self-hosted runners, private repositories get a certain amount of "free" minutes and any overages are controlled by your spending limits 2000 minutes and 500MB for free, 3000 minutes and 1Gb for Pro, etc (docs.github.com) Examples of things you can do Automate builds and releases whenever a branch is changedRun tests or linters automatically on pull requestsAutomatically create or assign Issues, or labels to issuesPublish changes to your gh-pages, wiki, releases, Check out the "Actions" tab on any github repository to check if a repository has anything setup (github.com)The "Actions" in GitHub Actions refers to the most atomic action that takes place - and we'll get there, but let us start from the top Workflows Workflow is the highest level concept, you see any workflows that a repository has set up (learn.microsoft.com)A workflow is triggered by an event: push, pull request, issue being opened, manual action, api call, scheduled event, etc (learn.microsoft.com)TypeScript examples: CI - Runs linting, checking, builds, and publishes changes for all supported versions of Node on pull request or push to main or release-* branchesClose Issues - Looks for stale issues and closes them with a message (using gh!)Code Scanning - Runs CodeQL checks on pull request, push, and on a weekly schedulePublish Nightly - Publishes the last set of successful builds every night Workflows can call other workflows in your repository, or in a repository you have access toSpecial note about calling other workflows - when embedding other workflows you can specify a specific version with either a tag or a commit # to make sure you're running exactly what you expectIn the UI you'll see a filterable history of workflow runs on the rightThe workflow is associated with a yaml file located in ./github/workflowsClicking on a workflow in the left will show you a history of that workflow and a link to that file (cli.github.com) Jobs Workflows are made up of jobs, which are associated with a "runner" (machine) (cli.github.com)Jobs are mainly just a container for "Steps" which are up next, but the important bit is that they are associated with a machine (virtual or you can provide your own either via network or container)Jobs can also be dependent on other jobs in the workflow - Github will figure out how to run things in the required order and parallelize anything it can You're minutes are counted by machine time, so if you have 2 jobs that run in parallel that each take 5 minutes…you're getting "charged" for 10 minutes Steps Jobs are a group of steps that are executed in order on the same runnerData can easily be shared between steps by echoing output, setting environment variables or mutating filesEach step runs an action Actions GitHub Enterprise Onboarding Guide - GitHub Resources An action is a custom application written for the GitHub Actions platformGitHub provides a lot of actions and other 3p (verified or not) providers do as well in the "Marketplace", you can use other people's actions (as long as they don't delete it!), and you can write your ownMarketplace Examples (github.com) Github Checkout - provides options for things like repository, fetch-depth, lfs (github.com)Setup .NET Core SDK - Sets up a .NET CLI environment for doing dotnet builds (github.com)Upload Artifact - Uploads data for sharing between jobs (90-day retention by default) (github.com)Docker Build Push - Has support for building a Docker container and pushing it to a repository (Note: ghrc is a valid repository and even free tiers have some free storage) (github.com) Custom Examples "run" command lets you run shell commands (docker builds, curl, echo, etc)Totally Custom (docs.github.com) Other things to mention We glossed over a lot of the details about how things work - such as various contexts where data is available and how it's shared, how inputs and outputs are handled…just know that it's there! (docs.github.com)You grant job permissions, default is content-read-only but you must give fine-grained permissions to the jobs you run - write content, gh-pages, repository, issues, packages, etcThere is a section under settings for setting secrets (unretrievable and masked in output) and variables for your jobs. You have to explicitly share secrets with other jobs you callThere is support for "expressions" which are common programming constructions such as conditionals and string helper functions you can run to save you some scripting (docs.github.com) Verdict Pros: GitHub Actions is amazing because it's built around git!Great features comparable (or much better) than other CI/CD providersGreat integration with a popular tool you might already be using (docs.github.com)Works well w/ the concepts of Git By default, workflows cannot use actions from GitHub.com and GitHub Marketplace. You can restrict your developers to using actions that are stored on your GitHub Enterprise Server instance, which includes most official GitHub-authored actions, as well as any actions your developers create. Alternatively, to allow your developers to benefit from the full ecosystem of actions built by industry leaders and the open-source community, you can configure access to other actions from GitHub.com.Great free tierGreat documentation https://docs.github.com/en/actions/using-containerized-services/creating-postgresql-service-containersHosted/Enterprise version Cons: Working via commits can get ugly…make your changes in a branch and rebase when you're done! Next Steps If you are interested in getting started with DevOps, or just learning a bit more about it, then this is a great way to go! It's a great investment in your skillset as a developer in any case.Examples: Build your project on every pull request or push to trunkRun your tests, output the results from a test coverage toolRun a linter or static analysis toolPost to X, Update LinkedIn whenever you create a new releaseAuto-tag issues that you haven't triaged yet Resources We Like GitHub Actions (github.com)GitHub Actions Documentation (github.com)Learn GitHub Actions (github.com)Actions on the GitHub marketplace (github.com) Tip of the Week There is a GitHub Actions plugin for VSCode that provides a similar UI to the website. This is much easier than trying to make all your changes in Github.com or bouncing between VSCode and the website to see how your changes worked. It also offers some integrated documentation and code completion! It's definitely my preferred way of working with actions. (marketplace.visualstudio.com)Did you know that you can cancel terminating a terminating persistent volume in Kubernetes? Hopefully you never need to, but you can do it! (github.com)How are the Framework Wars going? Check out Google trends for one point of view. (trends.google.com)Rebasing is great, don't be afraid of it! A nice way to get started is to rebase while you are pulling to keep your commits on top. git pull origin main --rebase=iThere's a Dockerfile Linter written in Haskell that will help you keep your Docker files in great shape. (docker.com)
What is OpenTelemetry?
20-08-2023
What is OpenTelemetry?
In this episode, we're talking all about OpenTelemetry. Also, Allen lays down some knowledge, Joe plays director and Outlaw stumps the chumps. See the full show notes at https://www.codingblocks.net/episode216 News Thanks for the reviews Lanjunnn and scott339!Allen made the video on generating a baseball lineup application just by chatting with ChatGPT (youtube) https://youtu.be/i6jSeLvoFmM Allen made the video on generating a baseball lineup application just by chatting with ChatGPT What is OpenTelemetry? An incubating project on the CNCF - Cloud Native Computing Foundation (cncf.io)What does incubating mean? Projects used in production by a small number of users with a good pool of contributors Basically you shouldn't be left out to dry here So what is Open Telemetry? A collection of APIs, SDKs and Tools that's used to instrument, generate, collect and export telemetry data This helps you analyze your software's performance and behavior It's available across multiple languages and frameworks It's all about Observability Understanding a system "from the outside" Doesn't require you to understand the inner workings of the system The goal is to be able to troubleshoot difficult problems and answer the "Why is this happening?" QuestionTo answer those questions, the application must be properly "Instrumented"This means the application must emit signals like metrics, traces, and logsThe application is properly instrumented when you can completely troubleshoot an issue with the instrumentation availableThat is the job of OpenTelemetry - to be the mechanism to instrument applications so they become observableList of vendors that support OpenTelemetry: https://opentelemetry.io/ecosystem/vendors/ Reliability and Metrics Telemetry - refers to the data emitted from a system about its behavior in the form of metrics, traces and logsReliability - is the system behaving the way it's supposed to? Not just, is it up and running, but also is it doing what it is expected to doMetrics - numeric aggregations over a period of time about your application or infrastructure CPU UtilizationApplication error ratesNumber of requests per second SLI - Service Level Indicator - a measurement of a service's behavior - this should be in the perspective of a user / customer Example - how fast a webpage loads SLO - Service Level Objective - the means of communicating reliability to an organization or team Accomplished by attaching SLI's to business value Distributed Tracing To truly understand what distributed tracing is, there's a few parts we have to put together first Logs - a timestamped message emitted by applications Different than a trace - a trace is associated with a request or a transactionHeavily used in all applications to help people observe the behavior of a systemUnfortunately, as you probably know, they aren't completely helpful in understanding the full context of the message - for instance, where was that particular code called from?Logs become much more useful when they become part of a span or when they are correlated with a trace and a span Span - represents a unit of work or operation Tracks the operations that a request makes - meaning it helps to paint a picture of what all happened during the "span" of that request/operationContains a name, time-related data, structured log messages, and other metadata/attributes to provide information about that operation it's trackingSome example metadata/attributes are: http.method=GET, http.target=/urlpath, http.server_name=codingblocks.net Distributed trace is also known simply as a trace - record the paths taken for a user or system request as it passes through various services in a distributed, multi-service architecture, like micro-services or serverless applications (AWS Lambdas, Azure Functions, etc) Tracing is ESSENTIAL for distributed systems because of the non-deterministic nature of the application or the fact that many things are incredibly difficult to reproduce in a local environmentTracing makes it easier to understand and troubleshoot problems because they break down what happens in a request as it flows through the distributed systemA trace is made of one or more spans The first span is the "root span" - this will represent a request from start to finish The child spans will just add more context to what happened during different steps of the request Some observability backends will visualize traces as waterfall diagrams where the root span is at the top and branching steps show as separate chains below - diagram linked below (opentelemetry.io) To be continued… Resources We Like OpenTelemetry Website (opentelemetry.io) Tip of the Week Attention Windows users, did you know you can hold the control key to prevent the tasks from moving around in the TaskManager. It makes it much easier to shut down those misbehaving key loggers! (verge.com)Does your JetBrains IDE feel sluggish? You can adjust the heap space to give it more juice! (blogs.jetbrains.com)Beware of string interpolation in logging statements in Kotlin, you can end up performing the interpolation even if you're not configured to output the statement types! IntelliJ will show you some squiggles to warn you. Use string templates instead. Also, Kotlin has "use" statements to avoid unnecessary processing, and only executes when it's necessary. (discuss.kotlinlang.org)Thanks to Tom for the tip on tldr pages, they are a community effort to simplify the beloved man pages with practical examples. (tldr.sh)Looking for some new coding music? Check out these albums from popular guitar heroes! Portals from Kirk Hammett (music.apple.com)Terminal Velocity from John Petrucci (music.apple.com)
Team Leadership, TUIs, and AI Lawsuits
23-07-2023
Team Leadership, TUIs, and AI Lawsuits
In this episode, we're talking about the history of "man" pages, console apps, team leadership, and Artificial Intelligence liability. Also, Allen's downloading the internet, Outlaw has fallen in love with the sound of a morrvair, and Joe says TUI like two hundred times as if it were a real word. See all the show notes at https://www.codingblocks.net/episode214 News Thanks for the reviews! itunes: michael_mancuso DevFest Florida is a community-run one-day conference aimed to bring technologists, developers, students, tech companies, and speakers together in one location to learn, discuss and experiment with technology. (devfestfl.org) What are (were?) man pages? "man" is a command-line "pager" similar to "more" or "less" that was designed specifically to display documentation - ahem, "manuals""man" pages would show you documentation for many apps in a (mostly) consistent manner that was available offlineDo people still use them?People would print these out in the 70's and beyond!How do you create a man page? (allthings.how)Uses an old markup language named "roff"Install to the proper location, typically /usr/man/man: (tldp.org) Software Engineering at Google: Lessons Learned from Programming Over Time (amazon) How to Lead a Team (Anti-Patterns edition) Software Engineering at Google: Lessons Learned from Programming Over Time (amazon) Hire PushoversIgnore Low PerformersIgnore Human IssuesBe Everyone's FriendCompromise the Hiring BarTreat Your Team Like Children Terminal UIs A new frontier in programming?The Good: Keep your hands on the keyboard!Easily install on remote serversOften built by devs for devsLow overheadPurpose-built for their purposes (as opposed to IDE extensions)Looks ancient The Bad: Looks ancientScriptabilityEach has it's own learning curve Examples: K9s (github)Lazygit (github)Lazydocker (github)Spotify TUI:(github) Meta AI Meta has been making serious strides in AI with LLAMA and...it's open source! Does that make them any more or less liable for the information? Does "publically available information" change things Resources we like Software Engineering at Google: Lessons Learned from Programming Over Time (amazon)List of awesome TUIs (github.com)AI at Meta (ai.meta.com)Download the AI Model (ai.meta.com) Tip of the Week Want to learn something new while also making your life easier? Why not try writing a TUI!? Here's an article that will kindly introduce you to terminal user interfaces, libraries like "Clap", "TUI", and "Crossterm" that people are using to write them, and…you can get some XP with Rust while you're at it! (blog.logrocket.com)Are you looking to upgrade your Kubernetes cluster? Check for API problems first!Are you a browser tab fiend? Did you know you can reload all your tabs simultaneously with a simple shortcut? (groups.google.com)No more nasty wiring jobs, get yourself to the hardware store website and pick up some wire and splicing connectors. Keep things nice, tidy, and organized. (wago.com) Similar but not as good (no lever) (homedepot.com) Matt’s Off-road recovery channel is amazing if you're into cars or... beautiful-sounding things.Are you tired of manually correlating logs and events? No more! Check out the Open Telemetry project for your distributed tracing and analytics needs! (opentelemetry.io)
Errors vs Exceptions, Reddit Rebels, and the 2023 StackOverflow Survey
25-06-2023
Errors vs Exceptions, Reddit Rebels, and the 2023 StackOverflow Survey
In this episode, we're talking about lessons learned and the lessons we still need to learn. Also, Michael shares some anti-monetization strategies, Allen wins by default, and Joe keeps it real 59/60 days a year! The full show notes for this episode are available at https://www.codingblocks.net/episode212. News Thanks for the review rioredwards!Want to help us out? Leave a review! (/reviews) Exceptions vs Errors in Java Exceptions: Unwanted or unexpected events NullPointerExceptionIntegerOverflowExceptionIllegalArgumentException Errors: Serious problems that you should try not to catch - generally no recovery OutOfMemoryErrorStackOverflowErrorNoClassDefFoundError What happens if your code runs in a background thread? Thread gets terminated, but the application keeps runningResources are released, dependent threads are terminatedIt's up to the owner of the thread to handle the situationThe best practice is to attempt to handle these situations by validating at startup Question from Twitter: (thanks jvilaverde!) How do you guys keep up with your data sources? Coding Blocks Slack (/slack)Hacker News StackOverflow Survey (thanks mikerg!) 70% of all respondents are using or are planning to use AI tools in their development process this year82% of people learning to code plan to use AI30% don't plan on it40% of devs trust the accuracy of AIHighest paid languages? Zig, Erlang, RB, Scala, Lisp, F#Lowest paid? Dart, MATLAB, PHP, Visual Basic, DelphiWarning: remember the audience!Web Frameworks: React 40% Angular 17%, Vue 16%Other frameworks: .NET, NumPy, PandasWhat does this tell you about the demographics?Docker 51%, Kubernetes 20% Resources We Like StackOverflow 2023 Survey Results (survey.stackoverflow.com)We episode 147)Is Kubernetes Programming? (episode 141)Chik-Fil-A A Kubernetes Success Story (appvia.io)How to write amazing unit tests (episode 54)Zig Language (ziglang.org)Unit Testing Principles, Practices, and Patterns: Effective testing styles, patterns, and reliable automation for unit testing, mocking, and integration testing with examples in C# (Amazon)
Gitlab vs Github, AI vs Microservices
15-05-2023
Gitlab vs Github, AI vs Microservices
In this sequence of sound, we compute Joe's unexpected pleasure in commercial-viewing algorithms, Michael's intricate process of slicing up the pizza, and Allen's persistent request for more cheese data augmentation. Will you engage in this data streaming session? The full show notes for this episode are available at https://www.codingblocks.net/episode210. Resources we like Stack Overflow is ChatGPT Casualty: Traffic Down 14% in March similarweb.comGithub Copilot Chat Leak Prompt: (news.ycombinator.com)We've been talking about Co-Pilot for 2 years now? (episode 163)Github vs Gitlab Rankings Github Trending Repositories (github.com)Gitlab Trending Repositories (gitlab.com)Gitlab Number of Stars (gitlab.com)Github ranking: gitstar-ranking.com The 3 laws of Robotics (or is it 4!?) (wikipedia.org)ML in Postgres with PostgresML (postgresml.org)Must See Videos Family Auto-Mart: I'll see you there! (youtube)AI-Generated Commercial: Pepperoni Hug Spot - Like family, but with more cheese (youtube) How many services per team? (microservices.io)AWS's take on services per team (docs.aws.com)SQL Server Machine Learning Service (learn.microsoft.com) Tip of the week MusicLM lets you create music from descriptive text, similar to Dalle-2. The output is a little strange, but could still potentially be really useful and inspiring with a little bit of effort. It's in private beta now, as part of the "AI Test Kitchen" but you can sign up to join the waitlist today. Sign up for the waitlist: (aitestkitchen.withgoogle.com)Samples (google-research.github.io) You can easily compare query results In DataGrip, using the "Compare Data" button (it's the button with two blue arrows) (jetbrains.com)IntelliJ now supports the entire IDE Zoom, great for...well...Zoom! View --> Appearance --> Zoom IDE (blog.jetbrains.com)Visual Studio Code Bookmarks (marketplace.visualstudio.com)Warped Kart Racers is a fun mobile game, kinda like Mario Kart but featuring characters from 20th Century Studios (apps.apple.com)