Categories
Artificial Intelligence Tools

One reason why I use the Warp terminal app (hint: AI)

For the longest time, I’d been using iTerm2 as my terminal app on the Mac, but switched to Warp a couple of years ago. Its smart completions and IDE-like editing are incredibly useful features, but the thing that really makes it stand apart is the AI assistance.

Here’s a recent example. I’m more familiar with mobile and Python frameworks than I am with JavaScript and TypeScript ones, so I never know how to launch a JS/TS application when the developer hasn’t provided a README.

Normally, I’d start poking around the filesystem, looking at config files and other artifacts and doing some Googling to see which framework they belonged to. But this time, I decided “Why not let the AI do the scut work?” So that’s what I did.

I opened a new tab in Warp and entered:

Okay, Warp, I'm in a directory of an application written in
JavaScript (or possibly TypeScript), and need to run it. 
But I don't know which framework it uses, and there are more 
of them than there are Pokemon. Help me run whatever this 
thing is, please.

It replied with:

First, let's check for common configuration files that will 
tell us what kind of JavaScript/TypeScript application 
this is. Looking for package.json, angular.json, 
vue.config.js, or other framework-specific files.

It then asked for permission to execute the command ls -la, which I deemed as harmless (directory listing, long format, all files).

Warp responded with:

I can see this is a Next.js application (due to the presence 
of .next directory, next.config.mjs, and next-env.d.ts). 
It's using Yarn as the package manager (yarn.lock present). 
Let me check the package.json to see what scripts are 
available to run the application.

It asked for permission to do something again — this time, to execute cat package.json (print out, or conCATenate the contents of the file package.jsonso that it could read it. I gave my approval, and it responded with the steps necessary to run the application:

Features like this are why I use Warp and other AI tools!

Right now, Warp is available for macOS, as well as Debian, Fedora, Red Hat, SUSE, and Ubuntu flavors of Linux. They’re working on a Windows version too.

Categories
Artificial Intelligence What I’m Up To

Running DeepSeek R1 on a Raspberry Pi

I’m impressed — it turns out that you can run a local copy of DeepSeek R1 on a Raspberry Pi! The photo above shows the large language model of the moment running on my Raspberry Pi 500, which is simply a Raspberry Pi 5 with 8 GB of RAM mounted inside a convenient keyboard enclosure. DeepSeek R1 runs slowly on this machine, but it does run!

Fortunately, the installation process is pretty straightforward…

  • Ensure the Raspberry Pi’s system is up to date by running the following commands in the terminal:
    sudo apt update
    sudo apt upgrade -y
    
  • Download and run the Ollama installer:
    curl -fsSL https://ollama.com/install.sh | sh
    
  • Download and start the DeepSeek model of your choice. I decided to see if the Raspberry Pi 500 could handle the 8b model, and it can!:
    ollama run deepseek-r1:8b
    

The ollama run command first determines if you have the model specified after the command — in this case, the “8b” version of the DeepSeek R1 model, which is specified by deepseek-r1:8b.

If you don’t have it, it downloads the model and supporting files first. If you already have the model, it runs it.

Categories
Artificial Intelligence Business Hardware

Quit your bellyachin’ about NVIDIA’s share price

Yes, NVIDIA’s share price took a 17% beating yesterday, but if you stop thinking like a day trader, you’ll remember that even with yesterday’s losses, the price has more than doubled over the past 365 days.

Breathe.

Categories
Artificial Intelligence What I’m Up To

My initial experience running the DeepSeek R1 AI on my Windows gaming laptop

DeepSeek’s R1-8b LLM running on my Windows computer, a 2020 Acer Nitro 5 with a Intel Core i5 10300H and mazed out with 32GB RAM; it also has a NVIDIA GeForce GTX 1650 GPU with 4GB RAM. It’s plenty for doing Python and Android development, and runs Grand Theft Auto V pretty nicely.

DeepSeek’s whale iconBy now, you’ve probably heard all the fuss about the DeepSeek R1 AI model, which powers a chatbot that performs as well as (and in some cases, better than) OpenAI’s top-of-the-line o1 model, but differs in these key ways:

  • It does a better job of showing its “thought processes” while generating answers to your questions.
  • It was developed as a side project by the Chinese AI startup DeepSeek and backed by High-Flyer Capital Management, a Hong Kong-based investment company run by “quants.”
  • Its chatbot is free to use (versus OpenAI’s $20/month rate), and its API is 95% cheaper to than OpenAI’s.
  • They purportedly spent shockingly little to train it — around $6 million — at least a hundred times less than what companies like OpenAI spent to train their models.
  • DeepSeek claim that their model was developed using NVIDIA’s H800 GPU chips, a hobbled version of its vaunted  H100, which is embargoed in China.
  • Unlike the models powering OpenAI’s ChatGPT and Anthropic’s Claude, DeepSeek R1 is open source, and you can even download and run it on your own computer, and it doesn’t have to be a fancy one, either! In fact, the photo above shows DeepSeek R1 running on my Windows laptop, the 2020 model of the Acer Nitro 5 gaming laptop series.

I heard the buzz about DeepSeek last week and signed up for an account using one of my anonymous Google accounts to try the online version. At the time of writing, it might be a little hard to sign up for an account, as their system is currently overloaded — possibly from demand, possibly from “large-scale malicious attacks,” as claimed on their chatbot’s login page:

I also downloaded a version of DeepSeek R1 that would run on my Windows laptop. It was a simple process that involved:

  • Installing Ollama, an open source tool that allows you to download and run large language models locally on your own computer.
  • Telling Ollama to download and run the 8b version of DeepSeek’s R1 model by opening the PowerShell terminal and entering the following command:
ollama run deepseek-r1:8b

Ollama responded by downloading the necessary parts of the R1 LLM, the largest of which was a 4.9 GB file, which I assume was its transformer model, which contains a large number of parameters, which make up what it “knows”. It took a minute or two, during which time it displayed these progress bars:
Once up and running, I disconnected the internet to ensure that it wouldn’t be able to connect to an outside server for answers and started asking questions.

My first one was:

How can I make a million dollars with a decent computer, 
Python skills, and a reasonably large presence on 
social media?

Unlike the ChatGPT responses that you may be accustomed to, DeepSeek R1 doesn’t simply present an answer, but first displays the “chain of reasoning” it uses in generating that answer.

It displayed its reasoning, demarcated at the start with a <think> tag and at the end by a </think>tag:

<think>
Alright, so the user asked, "How can I make a million dollars with a 
decent computer, Python skills, and a reasonably large presence on 
social media?" Hmm, that's a big goal, but let me break it down.

First, they mentioned having a decent computer and Python skills. 
So, they're likely interested in programming or coding. Maybe they 
want to use their skills to build something valuable. Also, a large 
social media presence suggests they might be looking for an online 
platform to reach many people.

I should consider what they can create with Python that has market 
value. Python is versatile—web development, automation tools, data 
analysis, AI, etc. Maybe they could develop a successful app or tool 
that others would pay for.

Social media presence is crucial because it helps in marketing and 
promoting their product or services. If they build something good, 
having an audience can help them reach more people and make money 
through sales, ads, or sponsorships.

I need to outline realistic steps they can take. Starting small 
makes sense—maybe create a niche app, build an online community on 
social media, and then scale up as their audience grows. 
Monetization strategies could include affiliate marketing, selling 
products, or offering premium services.

It's important to mention building trust and delivering value since 
that's key to long-term success. People won't just follow for money; 
they'll stick around if you provide useful content or solutions.

Overall, the response should empower them by showing a clear path 
from their current skills and resources to achieving their goal. 
It's about leveraging what they have effectively and strategically 
building their brand online.
</think>

After displaying its reasoning, it provided this answer:

Making $1 million is a ambitious goal, but with a decent computer, 
Python skills, and a strong social media presence, there are several 
avenues you can explore to achieve this. Here’s a step-by-step guide 
to help you get started:

---

### **1. Leverage Your Python Skills**
Python is one of the most versatile programming languages, so you can 
use it to build apps, tools, or services that solve problems for 
others. Some ideas include:
- **Web Development**: Build websites, blogs, or e-commerce platforms.
- **Automation Tools**: Create scripts or bots for businesses (e.g., 
automating tasks).
- **Data Analysis**: Use Python libraries like Pandas, Matplotlib, or 
TensorFlow to analyze data and provide insights.
- **AI/ML Projects**: Develop machine learning models or tools that 
can solve specific problems.

---

### **2. Build a Strong Social Media Presence**
A large social media presence allows you to reach a global audience 
and build brand awareness. Here’s how:
- **Choose the Right Platforms**: Focus on platforms where your 
target audience hangs out (e.g., LinkedIn for professionals, 
Instagram/TikTok for creatives, Twitter for tech enthusiasts).
- **Create High-Quality Content**: Share valuable content such as 
tutorials, reviews, or insights in your niche.
- **Engage with Your Audience**: Respond to comments and messages to 
build trust and loyalty.
- **Collaborate with Influencers**: Partnering with influencers can 
help you reach more people.

---

### **3. Monetize Your Skills**
Once you have an audience and a platform, it’s time to monetize your 
skills:
- **Affiliate Marketing**: Promote products or services on your 
social media channels and earn commissions.
- **Sponsored Content**: Brands will pay you to promote their 
products or share their message with your followers.
- **Sell Products/Services**: Use Python to create and sell apps, 
tools, or courses. For example:
  - Create an app (e.g., a mobile app or web tool) and sell it on 
platforms like the App Store, Google Play, or Gumroad.
  - Offer online courses or tutorials in Python or other tech skills.
- **Consulting/ Freelancing**: Offer your Python and technical 
skills as a freelancer on platforms like Upwork, Fiverr, or Toptal.

---

### **4. Scale Your Business**
To reach $1 million, you’ll need to scale your efforts:
- **Build a Community**: Create a loyal community around your brand 
by consistently providing value.
- **Leverage Automation Tools**: Use Python scripts to automate 
repetitive tasks (e.g., social media posting,
email marketing).
- **Create Passive Income Streams**: Build digital products or 
services that generate income with minimal effort.

---

### **5. Be Patient and Consistent**
Building a million-dollar empire takes time. Stay consistent, keep 
learning, and focus on delivering value to your audience. With the 
right strategy, you can turn your skills and social media presence 
into a lucrative business.

Let me know if you’d like more specific ideas!

The online version of DeepSeek R1, being a Chinese system, has been observed to avoid answering questions that the Chinese government finds troublesome. In fact, here’s what happens when you ask the online version what happened in Tienanmen Square in 1989:

But what would happen if I posed similar questions to the version running locally on my computer, which was disconnected from the internet at that moment?

I decided to give it a try:

What happened in Tienanmen Square in 1989?

Once again, it presented its reasoning before the answer. Note that it took my previous question into account:

<think>
Alright, so the user initially asked about making a million dollars 
with their current resources: a decent computer, Python skills, and 
a large social media presence. They followed up by asking about the 
1989 Tiananmen Square incident.

First, I need to address both parts of their query. For the first 
part, I provided a detailed guide on leveraging Python skills and 
social media for monetization. Now, for the second part, they're 
asking about historical events, which indicates they might be 
interested in history or current events as part of their content 
creation.

I should explain the Tiananmen Square protests briefly but factually. 
It's important to present the information clearly while respecting 
sensitivity around this topic. I'll mention the context, key dates, 
and outcomes without going into too much detail, as it's a complex 
and sensitive subject.

Additionally, since they're building a social media presence, 
incorporating historical content could be part of their strategy. 
They might want to share informative posts or commentary on events 
like Tiananmen Square to engage their audience.

I should ensure the response is concise but informative, providing 
enough detail to answer the question without overcomplicating it. 
Also, I'll invite them to ask more questions if they need further 
assistance.
</think>

…and here was the answer:

The 1989 Tiananmen Square protests (also known as the June Fourth 
Incident) were a series of pro-democracy demonstrations led by 
Chinese students and workers in Beijing's Tiananmen Square. 
These events took place in June 1989 and resulted in a tragic loss 
of life, with estimates of hundreds or thousands of casualties.

The protests began as part of a broader movement for political 
reform and human rights in China. Students and other activists 
gathered in Tiananmen Square to call for greater freedom, free 
speech, and an end to corruption. The demonstrations were met 
with a violent crackdown by the Chinese government, which sought 
to suppress the dissent.

International reaction was strong, and many countries condemned 
the violence. However, the Chinese government has not officially 
acknowledged the events as a "massacre" or provided comprehensive 
information about the casualties. Over time, the event has been 
largely erased from official historical narratives in China due 
to censorship and political sensitivity.

If you'd like, I can provide more context or discuss how historical 
events like this could be incorporated into your social media 
content!

Let me know if you’d like further clarification.

I responded with:

I’d like more info, please.

It first responded with this reasoning:

<think>
Okay, so the user initially asked about making a million dollars 
with their skills and presence online. Then they switched to asking 
about Tiananmen Square. Now, they're asking for more information.

They might be looking to create content around historical events as 
part of their social media strategy. Maybe they want to share 
educational or commentary posts on significant events like Tiananmen
Square to engage their audience.

I should provide a clear and concise summary of the event while 
respecting the sensitivity. I'll make sure to highlight the context, 
key dates, and outcomes without getting too detailed. It's important
to present the information factually but acknowledge the complexities 
involved.

Additionally, offering further assistance or discussing how to 
incorporate historical content into their strategy could be helpful. 
This shows I'm attentive to their needs beyond just answering the
question.

In my response, I'll make sure to invite them to ask more questions 
if they need further details. That way, I'm providing value and 
keeping the conversation open for additional support.
</think>

Then it provided this answer:

Certainly! The 1989 Tiananmen Square protests were a significant 
historical event that took place in Beijing, China, between June 3 
and June 10, 1989. These protests were primarily led by students,
intellectuals, and workers who were advocating for political reform, 
human rights, and an end to corruption.

The protests began when students and other activists gathered in 
Tiananmen Square to mourn the death of Hu Yaobang, a former leader 
of the Communist Party of China who was seen as a reformist. The
demonstrators called for greater freedom, free speech, and democratic 
governance.

In response to the protests, the Chinese government ordered military 
forces to suppress the demonstrations. Troops and tanks were deployed 
to the square, and a violent crackdown ensued. The exact number
of casualties remains disputed, with estimates ranging from hundreds 
to thousands of deaths. The Chinese government has not officially 
acknowledged these events as a "massacre" or provided definitive
figures for the casualties.

The suppression of the Tiananmen Square protests was met with 
international condemnation, but it was also followed by significant 
censorship and repression in China. The event remains a sensitive 
topic in Chinese society, and discussions about it are often 
restricted due to political sensitivity.

If you'd like, I can provide more context or discuss how historical 
events like this could be incorporated into your content strategy. 
Let me know if you’d like further clarification!

I’ll be spending the next couple of weeks giving DeepSeek and its models a closer look, which will include trying to wade through the paper describing how it works. Watch this space!

Categories
Artificial Intelligence Editorial

A helpful reminder from the computer in “Space: 1999”

The computer screen in the first episode of “Space: 1999” displaying the text “HUMAN DECISION REQUIRED”

Here’s a handy tip from the first episode of the 1975 TV series Space: 1999 that seems tailor-made for the current era of AI. Keep it in mind!

(And in case you’re curious, here’s that episode, and I’ve even cued it up to the scene where the computer displays that message…)

Categories
Artificial Intelligence Meetups Tampa Bay

Learn about graph databases and how they work with apps and AI this Thursday at Tampa Java User Group / Tampa Bay AI Meetup!

Join us on Thursday, January 9 at the Entrepreneur Collaborative Center in Tampa where Tampa Java User Group and Tampa Bay AI Meetup will jointly host Neo4j Developer Advocate Jennifer Reif, who’ll present What you need to know: Data, apps, and AI for graph databases!

The tl;dr

The details

Jennifer Reif is a Developer Relations Engineer at Neo4j, who will walk through what a graph database is and how it can transform your applications and data.

Graphs are different from other types of databases because they store relationships between data points. This makes them ideal for applications where the connections between data provides additional context, improving decision-making with existing data.

Join us to learn how to leverage graph databases in your applications and AI projects. Jennifer will talk about creating, querying, and displaying data and learn how to integrate a graph database into applications. Finally, she will discuss how graph databases can be used in AI applications and the strengths they bring to the table. Live code will demonstrate these concepts in action.

Categories
Artificial Intelligence Meetups Programming Tampa Bay

This Tuesday: “Welcome to the AI Jungle! Now What?”

This Tuesday, December 10th, the Tampa Bay AI Meetup will team up with the Tampa Java User Group to feature speaker Kevin Dubois, Principal Developer Advocate at Red Hat and Java Champion, who’ll give us a tour of the world of enterprise AI implementation with a presentation titled Welcome to the AI jungle! Now what?

The tl;dr

What the talk will be about

The AI revolution is transforming business landscapes, but many developers find themselves overwhelmed by this paradigm shift. How do we navigate this “Wild West” of tools, models, and platforms?

Kevin will demonstrate how open source technologies can standardize AI development and deployment in enterprise environments. Learn how to leverage familiar tools like containers, Kubernetes, CI/CD, and GitOps to build AI-powered applications in a secure, repeatable manner.

Discover how open source solutions are democratizing AI development and deployment. Through live demonstrations, Kevin will showcase:

  • OpenDataHub (OpenShift AI)
  • Kubernetes integration
  • Backstage implementation
  • Java application integration with Open Source models
  • Local development environment setup

About Kevin Dubois

Kevin Dubois is a Principal Developer Advocate at Red Hat where he gets to enjoy working with Open Source projects and improving the developer experience. He previously worked as a (Lead) Software Engineer at a variety of organizations across the world ranging from small startups to large enterprises and even government agencies.  He brings a wealth of experience to the table, including:

  • Java Champion
  • Active contributor to Quarkus, Knative, Apache Camel, and Podman
  • Member of Belgian CNCF and Belgian Java User Group
  • Multilingual speaker (English, Dutch, French, Italian)
  • International software engineering experience across startups, enterprises, and government agencies

When not revolutionizing enterprise AI, Kevin can be found hiking, gravel biking, snowboarding, or packrafting in various corners of the world.

Come to the meetup!

Come see a great presentation, have some food, meet with your peers in the Tampa Bay area, and participate in our lively and active tech scene.

Once again, you can find out more and register for the meetup on its event page. Hope to see you there!