So, you want to run a ChatGPT like LLM in Ubuntu? Last week I covered running Ollama in Windows 11. But I also have a dedicated Ubuntu machine at home and decided to set it up here. This way, I have a constantly running instance of Ollama I can play around with or use anytime. I decided to document my process here if you are running Ubuntu and want to try this out.| Blogs on Jeremy's Programming Blog
There’s no ignoring the constant buzz around the cool generative AI tools this last year. ChatGPT, Bard, Claude, the list goes on and on. These tools all use LLMs, or Large Language Models. If you’re curious about LLMs, you may have done some reading about them, and found people installing them on their own machine. Here are some reasons to run your own LLM locally: There are no rate limits.| Blogs on Jeremy's Programming Blog
Whether you like it or not, Midjourney is the biggest wave to hit the art world that we’ve seen in our lifetimes. I love building art with Midjourney. It allows me to be creative without spending hours building it or having the natural talent to make it. I don’t claim to be an artist or try to pawn these works off as my own. I’m just having fun creating cool stuff and sharing it.| Blogs on Jeremy's Programming Blog
If you’re interested in Generative AI, you’ve likely seen tools like runway that generate video from an image. They’re cool tools. Some of you, like me, want to run these tools for ourselves and have them on our personal machines. If that’s you, you’ve come to the right place. We’re going to install a tool to generate AI videos today. Stable Video Diffusion was just released and we’re going to try it out.| Blogs on Jeremy's Programming Blog
Like so many others I’m completely addicted to Midjourney. I love playing with prompts and tweaking things and making awesome stuff. Here are several art styles you can use on Midjourney, along with the prompts that created them. If you love Generative AI art, join my new community 1. Surreal Dreamscape Create an ethereal landscape where the laws of physics are defied, with floating islands, waterfalls cascading into the sky, and flora that glows with luminescent colors, all under a dual-mo...| Blogs on Jeremy's Programming Blog
Large Language Models (LLMs) like OpenAI’s GPT series have exploded in popularity. They’re used for everything from writing to resume building and, of course, programming help. While these models are typically accessed via cloud-based services, some crazy folks (like me) are running smaller instances locally on their personal computers. The reason I do it is to learn more about LLMs and how they work behind the scenes. Plus it doesn’t cost any money to run these things for hours and exp...| Blogs on Jeremy's Programming Blog
So, you want to run a ChatGPT-like chatbot on your own computer? Want to learn more LLMs or just be free to chat away without others seeing what you’re saying? This is an excellent option for doing just that. I’ve been running several LLMs and other generative AI tools on my computer lately. I’ve discovered this web UI from oobabooga for running models, and it’s incredible. You have a ton of options, and it works great.| Blogs on Jeremy's Programming Blog
OpenAI recently released the third version of DALL-E. Of course, the biggest news from this is the integration with ChatGPT. This could be a huge step forward in prompt creation. But we’re not going to focus on that part today. We will examine the output of Dall-E 3 and see if it’s better than Midjourney. Recently, I’ve been using Midjourney more for image generation. Dall-E 2 was good, but not as good as Midjourney.| Blogs on Jeremy's Programming Blog
Note: This article was originally written in September of 2021. It has since been updated to match the newest installer. I’ve been using Arch regularly on my “main machine” for about 12 years. The first time I installed it, I struggled. I messed things up. I had to start over a few times. I finally got it dialed in. It was tough, but worth it. Since then, every time I get a new machine, I’ve had to install it again.| Blogs on Jeremy's Programming Blog
So you want to run your own GPT on your own machine? Yeah me too. So some LLaMA models are available (if you have a 24G video card) and other ways to do it, but GPT4All promises to be a different kind of solution. I saw this tweet and had to check it out. So who runs a binary on their machine from some rando on the Internet? Usually, not me.| Blogs on Jeremy's Programming Blog
I was super excited when my M2 Mac Mini arrived. So excited I wanted to take the rest of the day off work just to set it up. That excitement didn’t last very long. I returned my Mac Mini M2 Pro, and this is why. I’m not trying to bash here. This isn’t a hit piece. I generated a lot of talk and tons of instant messages on Twitter and other platforms.| Blogs on Jeremy's Programming Blog
This an article comparing the Mac Mini M1 to the Mac Mini M2 Pro. I am dumping the numbers here, and will write the article soon. I am still evaluating this machine for a full review. This is a raw stats comparison between the two, and compared to other machines I’m using. CPU Test (Geekbench 6) Machine Single Core Multi- Core M1 2105 7796 M2 2650 14217 Compute Test (Geekbench 6) Machine Compute Score M1 19832 M2 49356 Blender Render CPU Machine Render Time M1 06:04.| Blogs on Jeremy's Programming Blog
This is a little different from my standard content on this blog, but I need to share it. I fly drones for fun, and I’ve become mildly obsessed with them. I recently passed my certification for the 14 CFR Part 107 license. I have received a TON of questions about it. Since it’s still fresh in my mind, I thought I’d lay down how I studied for the test and what you can do to get this license.| Blogs on Jeremy's Programming Blog
I’m a dedicated Pop!_OS user these days. I’ve used it off and on for a few years now, and put it on my laptop as a daily driver about a year ago and haven’t looked back. It’s an excellent operating system, and lately it’s my favorite Linux. System76 has released Pop!_OS 21.10 and I’ve installed it and put it to use. I have given it nearly a week to shake out and make sure everything is good before writing about it.| Blogs on Jeremy's Programming Blog
Want fast loading web pages? You probably aren’t optimizing your images enough. Image optimization is frequently overlooked because it’s only a small difference and takes some time to do. But a series of small changes will lead to a screaming fast website. It’s worth it. Your pages will load faster. Why does this matter? It’s better for your user It makes your page more accessible in low bandwidth situations It’s better for SEO All this in exchange for a few minutes of your time.| Blogs on Jeremy's Programming Blog
This week Microsoft announced a ton of stuff. .NET 6. Visual Studio 2022. Maui. All kinds of great geek goodness. I have a couple of new projects coming up that will involve .NET 6 and Visual Studio 2022. I’m going to be doing some of this work on my laptop. I decided I should upgrade to Windows 11 at the same time. The only problem: My laptop isn’t having that. It’s a Lenovo Thinkpad E590 that’s being stressed in two areas.| Blogs on Jeremy's Programming Blog
On Twitter, a friend of mine shared a Twitter thread about interviews. While it wasn’t explicitly related to tech interviews, my ears perked up because I’ve seen it. So many times. Here’s what he said in its entirety: My favorite thing about LinkedIn and Twitter posts where people ask “What’s your favorite question to ask in a job interview, and why?” is seeing people earnestly share some of the worst job interview questions I’ve ever seen in my life| Blogs on Jeremy's Programming Blog
Pop!_OS has become one of my favorite Linux distributions over the last couple of years. It’s a fantastic distro for many reasons, most of which is the way it “just works.” Sorry Apple, that’s not exclusive to you. System76 released version Pop!_OS 21.04 and I upgraded immediately. Here are my first impressions. I’m basing this review on a native install on my Lenovo Thinkpad E590 laptop. I use this laptop for personal projects, website maintenance and building articles/tutorials li...| Blogs on Jeremy's Programming Blog
I love FreeBSD. I always have. I first started using it in the late 90s and quickly gained employment using it. I ran a web hosting service with FreeBSD for years. It was a daily driver for me for a long time (1999 to 2004 or so). I became one of the “FreeBSD people” at a developer job I had later. I have a deep history with it, but at some point, I abandoned the thought of using it as a daily driver faded.| Blogs on Jeremy's Programming Blog
Update (December 1, 2020): When I wrote this article, there was no installer for Arch Linux. However, there is now an Arch Linux Guided Installer, and it works great! Windows or Mac users who want to try out Linux should start out with Arch Linux. Forget Ubuntu, Mint, or even Zorin. Get Arch. If you’re reading this and curious about using Linux, try Arch Linux. Really. Now I know the stereotypes involved with this distribution:| Blogs on Jeremy's Programming Blog
So one of my favorite Linux distributions, Pop!_OS, has released a new version, 20.10, and I’ve been using it since release day. Here are my thoughts. It’s based on Ubuntu 20.10 and comes with some cool new features. It’s a Linux Distribution from a hardware vendor, but don’t let that stop you. This is high-quality stuff, whether you own a System76 machine or not. Why Consider Pop!_OS? Before I go into what’s new with Pop!| Blogs on Jeremy's Programming Blog
Want your Go programs to run faster? Optimizing string comparisons in Go can improve your application’s response time and help scalability. Comparing two strings to see if they’re equal takes processing power, but not all comparisons are the same. In a previous article, we looked at How to compare strings in Go and did some benchmarking. We’re going to expand on that here. It may seem like a small thing, but as all great optimizers know, it’s the little things that add up.| Blogs on Jeremy's Programming Blog
So you’re a front end developer, and you want to learn some backend stuff. You want to become a full stack developer someday, so where do you start? Google’s Go language is an excellent place. For instance, let’s say you want to build a RESTful API to test the calls from your React Application. You could use JSONPlaceholder, Reqres, or even SoapUI. All excellent options. Or you could spend an evening take A Tour of Go and follow a tutorial like this one to build a local API that does ex...| Blogs on Jeremy's Programming Blog
Are you wondering what all this new hype is over JAMstack? What is a JAMstack site? How do I build one? Where do I deploy it? If you’ve asked any of these questions over the last couple of months, this article is for you. We’re going to learn what JAMstack is, and how to build our first JAMstack blog. If you already have an idea what a JAMstack site is, you can skip this section and go directly to:| Blogs on Jeremy's Programming Blog
Deno is a hot new runtime that may replace Node.js. Everyone’s talking about it like it’s the next big thing. It likely is. Here’s why. What Is Deno? From the manual: Deno is a JavaScript/TypeScript runtime with secure defaults and a great developer experience. It’s built on V8, Rust, and Tokio. Deno is designed to be a replacement for our beloved Node.js, and it’s led by Ryan Dahl, who started the Node.| Blogs on Jeremy's Programming Blog
If you’ve heard all the chatter lately about Pop!_OS and have been wanting to try it out, here’s a good guide to setting up a front end development machine. If you’re relatively new to Linux and are just trying it out, I suggest building this in a Virtual Machine. I have the full instructions for installing Pop!_OS in a virtual machine here. This is the best way to dip your toes in without significant modifications to your computer.| Blogs on Jeremy's Programming Blog
It’s that time of year again, Ubuntu 20.04 is now available. Will this be the release that steals away more Windows users? No, 2020 won’t be the year of the Linux Desktop. However, as Jason Evangelho pointed out a couple of days ago Windows 10 usage suffered a rare drop in usage while Ubuntu usage went up 599 percent. It’s tough to make a call with such little information. But the idea that Ubuntu could be stealing users from Windows 10 isn’t that hard to fathom.| Blogs on Jeremy's Programming Blog
So earlier this year I reviewed the PineBook Pro. I was pretty impressed with it at the time, but am I still enamored with this $200 laptop? I’ve now been using it for at least 90 days. I know that because I haven’t rebooted it in 90 days. Really. Here is my review of it after using it for three months. What is the PineBook Pro? The PineBook Pro has some pretty lofty goals.| Blogs on Jeremy's Programming Blog
There are tons of front end frameworks to choose from, and getting good with them is no small task. But sharpening your core JavaScript skills can make you better at all front-end frameworks. By thoroughly understanding JavaScript at its core, you will write better programs, faster, with less struggle. If you aren’t sure where you stand, you can take a JavaScript Skills Test to find out! Here are nine great courses to help you become a JavaScript wizard.| Blogs on Jeremy's Programming Blog
Curious about Linux and want to try it out? This article is for you. Here are some easy step by step instructions to get started poking around with my favorite operating system. Linux is a hot topic in tech, and people are flocking to it like crazy. But it can be scary, especially if you’ve never partitioned a hard drive before, and don’t want to wipe Windows or OSX off your computer to try it.| Blogs on Jeremy's Programming Blog
COBOL is in the news again. Millions of people are filing unemployment claims nearly all at once, and the systems to process them are failing. Why? They need to scale to unprecedented levels, they’re written in COBOL, and… we don’t have enough COBOL programmers. Here’s a look at the increase in searches for “COBOL programmers”: Most COBOL programmers are retired. The pipeline of new COBOL programmers is nearly nonexistent. Many are coming out of retirement just to help.| Blogs on Jeremy's Programming Blog
The global shift to home isolation has unique implications for public education. The era of slow and steady plans to virtualize education was given a donkey kick by this virus and the quarantine, and here’s what I’ve observed. I’m one of the directors on my local school board, and part of a group of technologists called in to discuss and help with “distance learning” and implementing it in our district. Though some of our problems are unique to our area, many of these problems are f...| Blogs on Jeremy's Programming Blog
The front page of JeremyMorgan.com loads less than a second, most of the time, from various parts of the world. The website was fast before when it loaded in 3 seconds with the old design. Now it’s even better, and I’ll show you how I have it set up. I chose to build this site with Hugo and host it on Netlify. In this article, I’ll describe how I arrived at this decision.| Blogs on Jeremy's Programming Blog
The Folding at Home research project uses crowd sourced CPU power to help model simulations to develop treatments for diseases. You can help them by taking 5 minutes to download their client, and donate some CPU Cycles. For more info: After initial quality control and limited testing phases, Folding@home team has released an initial wave of projects simulating potentially druggable protein targets from SARS-CoV-2 (the virus that causes COVID-19) and the related SARS-CoV virus (for which more ...| Blogs on Jeremy's Programming Blog
It’s time we stopped fearing, complaining, and arguing about whiteboard coding interviews. With a solid plan, a little skilling up, and some practice, you can master the whiteboard interview. We can argue for days about the validity of this type of interview, but the fact is many organizations require it. So are you going to let this obstacle stop you from getting the job you want? Of course not. Let’s tackle the whiteboard interview, and defeat it.| Blogs on Jeremy's Programming Blog
FreeBSD is a solid choice on a server, and it’s ubiquitous in the infrastructure world, but how does it hold up as a desktop machine? As a developer workstation? I found out. I’ve been considering moving my blog back to a FreeBSD web server. I’d hosted it that way for years and recently switched it to a Linux machine so I could make Octopress work properly. It uses some old, outdated Ruby gems, and it just seemed easier.| Blogs on Jeremy's Programming Blog
Note: There’s a new version of Pop!_OS, 20.10 and I’ve reviewed it here. A new Linux distribution has been popping up in discussion circles everywhere, it’s Pop! OS. What is it and why are people so crazy about it? I’ll give you my first impressions of Pop!_OS and whether I think you should consider it for your development machine. Pop! OS Saved Me There I was, giving a presentation for a group of people on Blazor earlier this month.| Blogs on Jeremy's Programming Blog
I was casually doing a security audit on my blog recently and decided to look a little deeper into my security logs. With a bit of Linux command line kung fu, some Golang, and Google sheets, I was able to get a pretty good idea of where the attacks are coming from. To start, I’m using CentOS to host my site, so I checked out /var/log/secure. This log is where authentication logs are stored on my server.| Blogs on Jeremy's Programming Blog
The Pinebook Pro is a $200 laptop that runs a couple of ARM processors, and it promises a lot. Does it deliver? After what seemed like an eternity waiting, mine arrived and here’s what I think. I used this thing for a few days casually to get a feel for what it’s like, and this is my first impression. As a note, you can get a $100 Pinebook here as well.| Blogs on Jeremy's Programming Blog
I’m introducing a text / code generation tool that you will fall in love with. If you’re a developer or someone who works with text or tabulated data you need this tool. It’s called Nimble Text and it’s awesome. Here’s how the developer of Nimble Text describes it: You can be more awesome at your job by keeping this tool always within reach. NimbleText is a text manipulation and code generation tool available online or as a free download.| Blogs on Jeremy's Programming Blog
A couple of weeks ago I wrote an article about building and deploying a Blazor app without touching a Windows machine and realized maybe I should take a step back and explain what Blazor is and why anyone would use it. It’s still fairly new to most in the front end development world, but it’s awesome and you should check it out. So what is it, exactly? Blazor is a framework from Microsoft that you can use to develop interactive client-side Web UIs with C#.| Blogs on Jeremy's Programming Blog
Do you want to try out Blazor, but you’re not a Windows person? Strictly a Linux developer? We’ll you’re in luck. One of the goals of .NET Core is to be cross platform, so today we’ll see just how “cross platform” it really is with Blazor, Microsoft’s hot new front end development project. Follow along with me while we develop a Blazor app and deploy it without ever using a Windows machine.| Blogs on Jeremy's Programming Blog
The Haxe Foundation recently released Haxe 4.0 and I decided to check it out. Here’s what’s new in version 4. Haxe runs on Windows, Mac, and Linux. You can download it here. What is Haxe? According to the website: Haxe is an open-source high-level strictly-typed programming language with a fast optimizing cross-compiler. So the high level strictly typed programming language makes sense, but a fast optimizing cross compiler? What’s that about?| Blogs on Jeremy's Programming Blog
I’ve been using Linux since 1996, and I’ve used so many distributions I’ve lost count. In fact, I’m kind of weirdo about it. I love spinning up new distributions of Linux and testing them out. It’s as if I drive a particular car every day for commuting but spend evenings and weekends test driving cars from dealerships just to see what they feel like. I like testing out new Linux distros so much I will do it on my Twitch channel pretty extensively.| Blogs on Jeremy's Programming Blog
I’ve been doing DevOps for a few years now, and I think I’m pretty good at it. Over these years I’ve read some books that really helped me along the way, here they are. 1. The DevOps Handbook This book is the first one most DevOps professionals start with. I’ve read it 3 times so far, and every time I pick up something new. It’s a great start that gives a great overview of DevOps.| Blogs on Jeremy's Programming Blog
The room is silent except for the buzzing of the fluorescent lights. The judges across the table are staring at you, expressionless. Some have pen and paper, some don’t. They’re all staring at you. Your mouth is so dry it feels like you’ve been eating sawdust all day. You grab the marker and head for the whiteboard. One judge is staring at a laptop. It’s time to show them a quicksort.| Blogs on Jeremy's Programming Blog
In software development you’ll hear the term “moon shot”. If something is a “moon shot” it’s something that’s extraordinarily difficult, like landing on the moon. We say this about some app doing something cool, but what about the software that… landed us on the moon? What was the original “moon shot” all about? The Software That Put Us on the Moon Meet Margaret Hamilton. She was the director of Software engineering at MIT Instrumentation Laboratory, which was contracted ...| Blogs on Jeremy's Programming Blog
Do you want to be a coder? Are you on the fence about trying it? Nervous to get started? The time is now. Time to pull the trigger. There has never been a better time to become a coder. And I’m going to tell you how to get started. My History as a Coder I started writing code professionally in 2002. Before that, I was building (terrible) websites for myself and friends.| Blogs on Jeremy's Programming Blog
The mythical “reusable code” idea has existed for decades. It showed up shortly after the first lines of code were written. We preach re-usability and sometimes strive for it but it rarely becomes a reality. I’ve seen various levels of success with this over the years. Everything from “we have a reusable library that 75% of us use” to “we have shared code libraries here, but never use them in your projects”.| Blogs on Jeremy's Programming Blog
Imagine you’re working in a factory. You’re assembling Toyotas all day long, then your part won’t fit. What’s going on? You do this hundreds of times a day but now the bolts won’t go in. No reason to panic, you pull a cord to get help. Two co-workers arrive immediately. They find out you have a box of bolts with the wrong thread. They swap out the bolts, and you keep going.| Blogs on Jeremy's Programming Blog
If you want to learn IIS you can go from beginner to expert with my courses in the IIS Skill Path. Check it out! Imagine you’re an administrator at ACME Widgets and it’s time to upgrade your IIS server. You’ll just copy over some folders and point the DNS to the new server and be done right? If you’ve ever done this before you know that isn’t the case. The new IIS server needs to be configured identically to the old one or you’re going to have problems, and you don’t have time f...| Blogs on Jeremy's Programming Blog
If you want to learn IIS you can go from beginner to expert with my courses in the IIS Skill Path. Check it out! Repeatable installs are all the rage in Devops these days. As developers we have this “automate everything” mentality, and for good reason. In this article I’ll show you how you can do that with IIS installation as well. There’s no reason to go hunting and pecking around the GUI every time you need to do this.| Blogs on Jeremy's Programming Blog
In this tutorial, I’ll show you how easy it is to setup file sharing on your network using SAMBA. You can easily share files between Linux and Windows machines with a pretty minimal amount of setup. How I’m Using SAMBA File Sharing First, to give you little context, here’s how I am using Samba file sharing, with something I recently set up for course development. So I am developing courses and using a variety of Operating Systems for it.| Blogs on Jeremy's Programming Blog
I’m often asked: “hey, you’re a Linux guy right? What Linux should I use? I have this friend who recommends _____ and I want to know what you think?” I usually reply with the same question: what do you want to do? So I decided to make a blog post about it that I can send people instead. My History with Linux I should probably preface this article with a little bit of my history with Linux, in case you’re reading this and you don’t know me (very likely).| Blogs on Jeremy's Programming Blog
If you want to learn IIS you can go from beginner to expert with my courses in the IIS Skill Path. Check it out! Application Pools in IIS can be somewhat of a mystery. Since they’re created for you automatically many times Administrators don’t give them a second thought. But understanding application pools is crucial to having a good running IIS server. I cover this and other IIS Administration topics in my IIS Administration Fundamentals course at Pluralsight.| Blogs on Jeremy's Programming Blog
Full disclosure here: I don’t like ORMs. If you’re building an enormous enterprise project, you should absolutely use an ORM. If you have data you really care about and a complex, monstrous system using something like Entity Framework can save you a lot of frustration. If you’re building a simple application, or some home project it’s really unnecessary. Recently I found an ORM that I really like: Dapper. It’s small, simple, and fast.| Blogs on Jeremy's Programming Blog
If you want to learn IIS you can go from beginner to expert with my courses in the IIS Skill Path. Check it out! A great tool I’ve discovered recently is the Failed Request Tracing Tool is IIS. If you’re building an ASP.Net application and having issues with requests it’s a fantastic tool. I’ll show you how to use it. I demonstrate this with full details my Course IIS Administration Fundamentals.| Blogs on Jeremy's Programming Blog
This week they released the RTM Version of Windows 10, and I decided to install it on my laptop. Most of my development is done on my desktop Mac at home, but the laptop is good for collaborating, coffee shop coding, etc. I decided Windows 10 and Visual Studio 2015 would be good for this. There’s only one issue: I also have Arch Linux on this laptop, and it’s dialed in very nice and I definitely don’t want to remove it.| Blogs on Jeremy's Programming Blog
Perhaps you’ve seen the term REST being thrown around lately and have been a little curious what it’s all about. If that’s the case, or you know a little about it but never used it, this article is for you. Today I’m going to give a small overview of what REST services are, and why it’s awesome. So long RPC, hello REST If you’ve been in the web game a while, you may remember when RPC took over the web about 10 years ago.| Blogs on Jeremy's Programming Blog
In working with some unit testing fairly extensively lately, I’ve gathered some guidelines I’ve tried to stick with over the years for writing better tests. Remember poorly written tests are a waste of time, and cause major problems down the road. It’s best to keep some of these guidelines in mind. Unit tests should not be written to pass - They should be written to fail. You can make any set of tests pass in minutes but you’re only cheating yourself.| Blogs on Jeremy's Programming Blog
I was reading a post about some common C# interview questions, and thought I’d share some of mine. These are questions that I asked in interviews, or was asked in past interviews. Try them out and see you how you do! I’m not going to post the answers here, if you don’t know them, find out! Common C# (and .Net) Interview Questions What are the different types of collections in .| Blogs on Jeremy's Programming Blog
Note: Updated for 2023 One of the areas that cause a lot of confusion for new C# developers is the idea of properties and fields. It’s an easy thing to mess up or get confused about. Here are some general guidelines to help you decide how to use these members in your project. Fields: The Basics Fields are variables that belong to a Class or a Struct. They’re like little storage containers that hold the data for your class.| Blogs on Jeremy's Programming Blog
Whether you’re developing for a personal project, small business or Fortune 100, you should take the time to make sure your changes aren’t going to break things. In times past this usually meant spending lots of money. These days the only thing you’ll need to spend for quality is time, and not much of it. How the web commando publishes a web page We all know how the web commando works.| Blogs on Jeremy's Programming Blog
Recently GitHub rolled out some improvements to GitHub Pages, their free static page hosting service. As this is a static site I’ve recently had a lot of interest in static hosts and seeing which ones might be the best. I decided to do a comparison and see how some major services, including GitHub pages serve up static content. I was a bit surprised. My Current Hosting Currently I’m hosted at Arvixe Hosting and I couldn’t be happier with it.| Blogs on Jeremy's Programming Blog
With software projects it’s rare that a failure points to a single cause or person. Usually it’s a culmination of many smaller mistakes. With technology and formal project management best practices are usually well documented and available. One thing that isn’t talked about as much is attitude. The attitude of persons in your group or your group as a whole is one of the biggest factors of your success. As a volunteer firefighter my training often intersects with my career in development.| Blogs on Jeremy's Programming Blog
Making your images load faster is extremely important for page load performance on your site. It makes your pages load faster, which makes for happier visitors, and better search engine performance for your site. Page load time is also a key factor in your bounce rate. Here are some tools I use commonly to reduce image size on my sites. Mac OSX Macs and image editing go hand in hand. A couple of the tools I really like are listed here.| Blogs on Jeremy's Programming Blog
Linux Mint is one of the most under-rated Linux distributions out there, yet it provides a lot of value, even for seasoned Linux hackers. If you haven’t tried it out yet, you’re missing out. What do people say about Linux Mint? The Linux community doesn’t talk about Mint too much. What most people say is it’s bloated, too Windows-like and not very modern. They also complain about non-free software codecs and GNU stuff.| Blogs on Jeremy's Programming Blog
You may have heard the term “code smells” lately, it seems its being talked about frequently again. In this short post I’ll explain what they are, and a few of them you may run across. What is a Code Smell? A Code Smell is just a fancy word for an indicator of a bigger problem with your code. It’s language agnostic because you can have code smells in any application. It’s just a sign of bad construction that you can spot fairly quickly.| Blogs on Jeremy's Programming Blog
The quickest way to disappoint everyone is by trying to please everyone and software is no different. Sometimes trying to make a “one size fits all” solution can get you into trouble. Remember the El Camino? Back in the late 60s GM made the El Camino, which was part car and part truck. While they were wildly popular with some, the fact is it wasn’t a car or a truck and didn’t do either very well.| Blogs on Jeremy's Programming Blog
There’s a lot of genius in simplicity. This applies to many things in life and definitely in software development. SRP, or Single Responsibility Principle is one of the foundations building better software. It’s a good way to keep code working as expected, and to avoid painting yourself in a corner. Do one thing and do it well The Single Responsibility Principle guides simplicity, and the rule itself is strikingly simple: There should never be more than one reason for a class to change.| Blogs on Jeremy's Programming Blog
The famous words of Steve Jobs have been ringing in my head a lot since my Dad passed away last week. He and Steve Jobs were not very much alike, in fact probably complete opposites. Dad wasn’t much of a dreamer or rock the boat kind of guy, and believed in treating everyone with respect. His style was not pushing people to be great but encouraging them to want it on their own.| Blogs on Jeremy's Programming Blog
The similarities between spoken or written language and computer code are amazing. Someone writing code can range from a terrible amateur to a polished professional. When speaking someone can range from barely comprehensible to giving speeches like an art form. Both an author and a software developer are artists in their own right, if they choose to be. The term “Polyglot” originated with spoken language to describe someone who is fluent in many languages.| Blogs on Jeremy's Programming Blog
Today I’m going to talk about Object Oriented Programming (OOP). This is the first in a series of articles that will aim to teach you more about OOP and how you can use it to develop better software. What we’ll learn with this article: What is OOP? What is an object? What is a class? What is inheritance? What is an interface? This quick intro will lay a foundation of understanding so you can start learning this exciting way of developing.| Blogs on Jeremy's Programming Blog
There are a few different ways to do things in the Linux world and if you ask for the best way, you’ll get several different answers. Linux folk tend to be pretty opinionated and become polarized about issues, which creates difficulties and makes for one more thing to add to the list of reasons the masses don’t publicly adopt Linux. How you build your software is one of those dividing issues.| Blogs on Jeremy's Programming Blog
So last week my laptop died on me. Motherboard took a dive, and unfortunately that was my “main machine”. I know it takes me quite some time to find and fix up a machine, and decided a quick interim machine needed to be built. So I hit craigslist. I quickly found that if I wanted to spend 4-500 dollars on a laptop I’d have plenty to choose from. Most have Turion processors, or are some cheap knockoff.| Blogs on Jeremy's Programming Blog
Having a fast website has tons of advantages. Besides being better for SEO and getting crawled by search engines, it’s without a doubt better for your visitors. So here I will give a list that will explore some free ways to make your website faster. 1. Image Optimization Undoubtedly one of the most important areas to focus on when optimizing is images. They’re considerably larger than text files, and small image optimizations can go a long way towards making a site faster.| Blogs on Jeremy's Programming Blog
While browsing a forum recently, I found a thread that really made me reminisce. Someone has asked about browsing the internet before it was popular, and what it was like. Before the internet was in every home, before we were tweeting or facebooking, instant messaging or watching videos, the internet was a much simpler place. In 1988 or 89, I remember seeing the “internet” for the first time. It was at my buddy Ryan’s house (RIP) and we were both budding computer nerds, who loved learni...| Blogs on Jeremy's Programming Blog
I just had this problem tonight, so I thought I’d share the solution. In many languages you can just drop in a string and compare it like this: if ($city == "Portland" || $city == "Seattle") { // do something if city is Portland or Seattle }else { // do something else } And this works just fine. But in C#, strings are treated as objects, so you have to do the same comparison as such:| Blogs on Jeremy's Programming Blog
DeepSeek R1 is either a “massive revolution” for AI, or an overhyped mess. Which one is it?| www.jeremymorgan.com
Welcome to this week’s edition of the AI New Hotness Newsletter, where we talk about new and exciting stuff to happen in the world of Generative AI, particularly for software developers. It’s a fast moving, wacky world for sure. AI in the News The latest AI news you love! Own Your Own AI Supercomputer for Just $3,000?! Nvidia’s Digits: Bringing the Power of AI Home Nvidia is revolutionizing the AI landscape by offering a personal AI supercomputer, Digits, starting at $3,000.| Jeremy Morgan's Blog on Jeremy's Programming Blog
🔥 This week in the AI world: 🚀 Microsoft's PromptWizard, NVIDIA's Jetson Orin Nano Super Kit, Instagram's AI Video Editing, FREE AI Certificates from Microsoft and IBM. Check it out.| www.jeremymorgan.com
There’s been a lot of talk in social media about the new Jetson Orin Nano, and I’ve contributed my fair share. But what’s the performance really like? To find out, I ran Ollama and tested 20 different models, checking their speed. I used a prompt that would produce a long result, and I’ve listed the timings below. I recieved several DMs with questions about this, so I ran some extensive tests to answer them.| Jeremy Morgan's Blog on Jeremy's Programming Blog
Hello, friends! If you’re a reader of this blog you’ve probably heard about NVIDIA’s Jetson. It’s a great platform for prototyping apps and putting AI at the edge. I got lucky and got my hands on the newest, very affordable Jetson, the Jetson Orin Nano. Today, we’ll dive into everything from unboxing this little gem to testing its performance with AI models. Ready to explore what makes this device so cool?| Jeremy Morgan's Blog on Jeremy's Programming Blog
Welcome to this week’s edition of the AI New Hotness Newsletter, where we talk about new and exciting stuff to happen in the world of Generative AI, particularly for software developers. It’s a fast moving, wacky world for sure. Reminder: This is also available on LinkedIn if you’d rather receive it there. AI in the News Introducing ChatGPT Pro OpenAI releases ChatGPT Pro, a subscription service with powerful new features| Jeremy Morgan's Blog on Jeremy's Programming Blog
Hey there, fellow AI geeks. Ever wanted to create stunning AI-generated images on your local machine without relying on third-party services? You’re in luck! This is something we’ve done many times on this site, setting up Stable Diffusion XL and even generating AI videos with Stable Diffusion. We will do it again today with the latest and greatest image generation software you can run on your machine. Stability AI just released Stable Diffusion 3.| Jeremy Morgan's Blog on Jeremy's Programming Blog
When I write, I’m always looking for ways to make writing easier while still keeping my own style. I started an experiment not long ago to see if I could teach AI models to write effectively in my style. This piece will explain how I used my own blog posts as training data to make custom AI writing assistants. We’ll talk about the technical side of collecting material, the problems I ran into, and my first thoughts on the end result.| Jeremy Morgan's Blog on Jeremy's Programming Blog
Hello AI enthusiasts! Want to run LLM (large language models) locally on your Mac? Here’s your guide! We’ll explore three powerful tools for running LLMs directly on your Mac without relying on cloud services or expensive subscriptions. Whether you are a beginner or an experienced developer, you’ll be up and running in no time. This is a great way to evaluate different open-source models or create a sandbox to write AI applications on your own machine.| Jeremy Morgan's Blog on Jeremy's Programming Blog
Here's a list of the top conversational (GPT) models I use all the time. I use them for research, revising my writing, and all kinds of random stuff.| www.jeremymorgan.com
I’ll be hosting a LIVE event, Thursday, October 22nd, at 9:30AM PDT. In this event we’ll be trying out Pluralsight’s new Cloud Labs! These are temporary cloud environments you can use to learn and demonstrate concepts. We will be going through one of these labs together! We’re going to learn: How to Create a Launch Configuration How to Create an Auto Scaling Group with a Launch Configuration How to Create a Launch Template How to Edit an Auto Scaling Group to Use a Launch Template How...| Events on Jeremy's Programming Blog
If you’ve read my blog enough lately, you know I’m crazy about Ollama. It’s super easy and powerful. In fact, most people I know who play with Generative AI use it. Equally cool is the Open WebUI. You can attach it to Ollama (and other things) to work with large language models with an excellent, clean user interface. You can set up a nice little service right on your desktop, or, like in my case, put together a dedicated server for private development that doesn’t rack up API fees.| Jeremy Morgan's Blog on Jeremy's Programming Blog
If you want to run your own large language model like ChatGPT, you’re in luck. There are tons of well-rounded, easy software packages for this. Ollama is one of my favorites by far. Video for this tutorial: In this tutorial, we will set up Ollama with a WebUI on your Ubuntu Machine. This is a great way to run your own LLM for learning and experimenting, and it's private—all running on your own machine.| Jeremy Morgan's Blog on Jeremy's Programming Blog
The image generation services out there (Midjourney, DallE, Gemini, etc) are awesome. The quality is unmatched at this time. But what if you want to generate images on your own local computer? The reasons you’d want to do this: No monthly fees No queues or credits Freedom to generate whatever you want You can add them to applications you’re developing For local AI image generation, it’s hard to beat Stable Diffusion.| Jeremy Morgan's Blog on Jeremy's Programming Blog
If you’re a blog reader or follow me on social media, you already know I’m a huge fan of Ollama. It is an excellent platform for running Large Language Models locally. It’s easy to use and powerful. There are “easier” programs out there like LMStudio and GPT4All that are simpler to set up. However, Ollama gives you a lot more control and can be customized very nicely. You can be running models or even writing AI-powered applications in minutes.| Jeremy Morgan's Blog on Jeremy's Programming Blog
Introduction Multimodal AI is changing how we interact with large language models. In the beginning we typed in text, and got a response. Now we can upload multiple types of files to an LLM and have it parsed. Blending natural language processing and computer vision, these models can interpret text, analyze images, and make recomendations. Until recently multimodal AI was limited to hosted solutions, the “big name” tools. Services like ChatGPT, Claude, Bard, and so many others.| Jeremy Morgan's Blog on Jeremy's Programming Blog
I’ve written about running LLMs (large language models) on your local machine for a while now. I play with this sort of thing nearly every day. So, I’m always looking for cool things to do in this space and easy ways to introduce others (like you) to the world of LLMs. This is my latest installment. While I’ve been using Ollama a ton lately, I saw this new product called LMstudio come up and thought I’d give it a shot.| Jeremy Morgan's Blog on Jeremy's Programming Blog
AI is everywhere you look, and LLMs are exploding in popularity. There’s a new AI based tool everywhere you look. If you want to get good at leveraging these tools, prompt engineering is a crucial skill. Imagine having a conversation with a robot. The way you frame your questions or inputs matters. If you don’t analyze exactly what you’re saying, the robot won’t understand you clearly. This is the essence of prompt engineering.| Jeremy Morgan's Blog on Jeremy's Programming Blog
Hello friends! It's Tech Skills Day, and I want you to join me.| www.jeremymorgan.com