Held at Magnanimous Brewing Seminole Heights, this meetup is simply a get-together for people who write code, aspire to write code, are creative, or aspire to be creative. We like to say that it’s “All conversations, no presentations!”
( ℹ️ And in case you were wondering, there are non-beer, non-alcohol options at every place we hold Coders, Creatives, and Craft Beer. Anitra and I drink, but you don’t have to in order to join us. We also always pick places with food options.)
There’ll be another one next month — we’d love it of you could join us!
One of the (many) nice things about going to Embarc Collective to do my work at Packfiles for three (sometimes four) days a week is that they’ve got great whiteboards:
As Packfiles’ documentarian and primary technical and customer support go-to person and as an occasional cartoonist, the whiteboards are both a great way to flesh out diagrams that I’ll later illustrate in Canva as well as to keep those doodling skills sharp.
Who knows, maybe I’ll just use hand-drawn whiteboard diagrams instead. What do you think?
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.
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.
By 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.”
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.
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!
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!
I’m painfully aware that nobody reads documentation, and I’ve taken steps to ensure that the docs I’m writing are clear, easy to follow, and get to the point ASAP. You won’t need a Ph.D. to read what I’m writing, unless it means “Push here, devops.” I’m trying to make it that simple.
PackfilesTampa-based Packfiles is a project management and software platform founded this year. After meeting and working together in Tampa Bay, co-founders Rob Bremer and Charlton Trezevant — the creator of the software developer meetup group and nonprofit Tampa Devs — wanted to create a tool that eliminates the need for service firms during the coding file migration process, which developers utilize for efficiency.
The tool seeks to simply and controllably migrate files to Microsoft-owned platform GitHub, a popular tool for software developers that hosts code for collaboration and storage. In an ecosystem where successful startups are all about fulfilling a need, the co-founders’ experience collaborating at their prior company to help found one of the premier GitHub Professional Services practices in the United States will be key as they continue to build the platform.
Okay, that’s the layperson’s explanation. What does Packfiles actually do?
Packfiles’ SaaS, called Warp, is a GitHub migration service. Normally, the process of migrating repositories from Azure DevOps to GitHub involves a complex process that requires a fair bit of planning, a number of shell scripts with limited support, and tedious, error-prone manual work.
It looks like this:
Warp is built on Packfiles cofounders Rob Bremer’s and Charlton Trezevant’s experience with performing these migrations. It automates the lion’s share of the process, and once you’ve done the necessary configurations, Azure DevOps-to-GitHub migrations end up looking like this:
In case you were wondering, that’s an actual screen capture of what I did to migrate a repository from Azure DevOps to GitHub, and if it looks like the comments section from a GitHub issue, that’s because it is! In Warp, you use GitHub to migrate to GitHub:
Warp creates a GitHub repository called Migration HQ, which represents the migration-to-GitHub project.
Each Migration HQ issue represents a repository to be migrated.
You enter Warp commands in the issue comments. For example, in the issue representing a repository that I wanted to migrate, I entered the “slash command” /migrate to start the migration process for that repository. Warp first replied in a follow-up comment to tell me that the migration was in progress, and then notified me in another follow-up comment that the migration was complete and provided a link to the repository’s new GitHub location.
Who’s going to use Packfiles’ Warp?
Warp’s target market, as you’ve probably figured out, is organizations who use currently Azure DevOps and want to switch to GitHub.
And who uses Azure DevOps? It turns out there’s a little club of businesses call the Fortune 500, and 85% of them are on Azure DevOps.
This leads to a follow-up question: What makes you think organizations want to move from Azure DevOps to GitHub?
My unofficial answer would be: Have you tried using Azure DevOps?
My more-official answer’s a little more serious, and it’s a citation of a Reddit thread in r/devops from a mere 14 hours ago at the time of writing:
Finally, there’s the reaction that Rob, Charlton, and the rest of the Packfiles team got at the 2024 edition of GitHub Universe, the conference for all things GitHub. They were approached by companies of all sizes, including some very large ones you’ve definitely heard of.
Simply put, Warp solves a problem that most people don’t even know exists, but a lot of organizations need solved.
What will I be doing at Packfiles?
Long story short: I’ll be doing whatever Packfiles needs me to do. A lot of it will involve creating their documentation and developer/devops relations material, as well as technical sales and support.
The work I’ll be doing, especially in the beginning, will be collaborating very closely with Charlton, who’s lead developer and CTO, as well as with developer Justin Linn (whom I’ve been on not one, but two editions of StartupBus), so I’ll be working at least three days a week at Packfiles’ office at Tampa’s premier coworking/incubator space, Embarc Collective. Here’s what I see when I enter the place:
Luckily, it’s a quick drive from my place; in fact, it would take me 35 minutes to bike there, which I’ll do when the weather’s nice.
And here’s my desk at the office:
I’ve been working with Packfiles for the past couple of weeks, and I’m enjoying working there, being “in the room where it happens,” and also seeing the other folks at Tampa Bay’s startups at Embarc Collective.
This should be an interesting year. Keep watching this space for more!
It’s a Raspberry Pi 500, which takes a Raspberry Pi 5, the latest generation of the “Internet of Things” tiny computer, and puts it into a keyboard chassis. I probably have more than enough computers, but I love Raspberry Pis, and this 1980s-style “all-in-one” form factor was impossible to resist, especially with its $90 price tag.
I put it on. my main desk and hooked it up to the secondary monitor with an HDMI splitter so that my MacBook and the Pi 500 can share it. Here’s what it looks like on my desk:
Setup was straightforward: the Pi 500 comes with a 32 GB A2-class MicroSD card, which acts as its “hard drive.” I plugged it into a MicroSD-to-USB adapter, plugged into my MacBook, and used the Raspberry Pi Imager app to load the latest version of the Raspberry Pi OS, which is based on Debian, onto the card.
In case you need a reminder that we live in an age of technological wonders, here’s the MicroSD card, posed beside a U.S. quarter coin for scale:
I was a bit concerned about the “feel” of the keyboard based on its “chiclet” style, but it’s actually not bad. It feels like a mid-level “wintel” laptop keyboard, and I think the feel of the Pi 500 keyboard feels better than the one on my Windows machine, a 2020-edition Acer Nitro 5 (nice machine, but I despise its keyboard and trackpad).
What it’s for
I already have computers that can run circles around the Pi 500 — an M1 MacBook pro and a Windows gaming laptop powered by a 10th-gen i5. What possible use could the Pi 500 possibly serve for me?
Here are my excuses — er, reasons:
As a server for mobile apps or client applications that I’m running on my Mac and Windows machines.
As a “bare-bones” computer for sharpening some rusty C++ skills and learning Go. No fancy IDEs — it’s just Visual Studio Code and the command line.
Because it’s fun.
Maybe that last reason is the most important — it’s just fun to play with the Pi 500, and that form factor makes me feel nostalgic for the days when I’d play games that I entered from BASIC source code published in Creative Computing or COMPUTE! magazine.
Watch this space
I’ll write more about my experiences with the Raspberry Pi 500 here, so watch this space if you’re curious about this fun, inexpensive platform!