Compare commits
16 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
0b31dc69d4 | |
|
|
8d9fe0dcca | |
|
|
05c9960e0c | |
|
|
44c3e92c4e | |
|
|
f448f65335 | |
|
|
c467dd81bb | |
|
|
4366b78d33 | |
|
|
c1afdd10dc | |
|
|
139feebda8 | |
|
|
0e8cc33177 | |
|
|
99c9bb81fd | |
|
|
b880ec1103 | |
|
|
ee1a8566a4 | |
|
|
6cc39f04f0 | |
|
|
f380957fe0 | |
|
|
2394908ede |
|
|
@ -14,7 +14,7 @@ jobs:
|
||||||
which hugo || true
|
which hugo || true
|
||||||
apt update
|
apt update
|
||||||
cat /etc/os-release
|
cat /etc/os-release
|
||||||
apt install -y ca-certificates curl gnupg
|
apt install -y ca-certificates curl gnupg unzip sudo groff
|
||||||
wget https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-amd64.deb
|
wget https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-amd64.deb
|
||||||
dpkg -i hugo_0.163.3_linux-amd64.deb
|
dpkg -i hugo_0.163.3_linux-amd64.deb
|
||||||
apt update
|
apt update
|
||||||
|
|
@ -28,9 +28,22 @@ jobs:
|
||||||
|
|
||||||
- name: Install AWS CLI
|
- name: Install AWS CLI
|
||||||
run: |
|
run: |
|
||||||
DEBIAN_FRONTEND=noninteractive apt update -y \
|
# DEBIAN_FRONTEND=noninteractive apt update -y \
|
||||||
&& umask 0002 \
|
# && umask 0002 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt install -y awscli
|
# && DEBIAN_FRONTEND=noninteractive apt install -y awscli
|
||||||
|
|
||||||
|
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||||
|
unzip awscliv2.zip
|
||||||
|
./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
|
||||||
|
|
||||||
|
- name: Sync to AWS
|
||||||
|
run: |
|
||||||
|
cd ./public
|
||||||
|
aws s3 cp --recursive ./ s3://fb-tech-test/
|
||||||
|
if: gitea.ref != 'refs/heads/main'
|
||||||
|
env: # Or as an environment variable
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWSSECRETKEY }}
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWSSECRETID }}
|
||||||
|
|
||||||
- name: Sync to AWS
|
- name: Sync to AWS
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -43,8 +56,13 @@ jobs:
|
||||||
|
|
||||||
- name: Sync to AWS
|
- name: Sync to AWS
|
||||||
run: |
|
run: |
|
||||||
paths=$(find ./public -type f -name "*.html" -print | sed 's|^./public/|\/|g' | sed 's/\n/ /g')
|
paths=$(find ./public -type f -name "*.html" | sed -e 's|^./public/|/|' -e 's/.*/"&"/' | tr '\n' ' ')
|
||||||
aws cloudfront create-invalidation --distribution-id EWYXMJ6L92Q6I --paths "$paths"
|
cat << EOF > myaction.sh
|
||||||
|
aws cloudfront create-invalidation --distribution-id EWYXMJ6L92Q6I --paths $paths
|
||||||
|
EOF
|
||||||
|
cat myaction.sh | base64 -w 0
|
||||||
|
chmod 755 ./myaction.sh
|
||||||
|
./myaction.sh
|
||||||
if: gitea.ref == 'refs/heads/main'
|
if: gitea.ref == 'refs/heads/main'
|
||||||
env: # Or as an environment variable
|
env: # Or as an environment variable
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWSSECRETKEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWSSECRETKEY }}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
# https://jpanther.github.io/congo/docs/getting-started/
|
# https://jpanther.github.io/congo/docs/getting-started/
|
||||||
|
|
||||||
# baseURL = "https://your_domain.com/"
|
# baseURL = "https://your_domain.com/"
|
||||||
|
# theme = "re-terminal"
|
||||||
defaultContentLanguage = "en"
|
defaultContentLanguage = "en"
|
||||||
|
|
||||||
enableRobotsTXT = true
|
enableRobotsTXT = true
|
||||||
|
|
@ -12,7 +13,7 @@ summaryLength = 0
|
||||||
pagerSize = 10
|
pagerSize = 10
|
||||||
|
|
||||||
[outputs]
|
[outputs]
|
||||||
home = ["HTML", "RSS", "JSON"]
|
home = ["HTML", "RSS"]
|
||||||
|
|
||||||
[privacy]
|
[privacy]
|
||||||
[privacy.vimeo]
|
[privacy.vimeo]
|
||||||
|
|
|
||||||
|
|
@ -3,20 +3,24 @@ label = "English"
|
||||||
direction = "ltr"
|
direction = "ltr"
|
||||||
weight = 1
|
weight = 1
|
||||||
|
|
||||||
title = "Congo"
|
title = "FB/Tech"
|
||||||
# copyright = "Copy, _right?_ :thinking_face:"
|
# copyright = "Copy, _right?_ :thinking_face:"
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
dateFormat = "2 January 2006"
|
dateFormat = "2 January 2006"
|
||||||
|
|
||||||
mainSections = ["posts"]
|
mainSections = ["posts"]
|
||||||
# description = "My awesome website"
|
description = "My awesome website"
|
||||||
|
|
||||||
|
[params.logo]
|
||||||
|
logoText = "FB/Tech"
|
||||||
|
logoHomeLink = "/"
|
||||||
|
|
||||||
[params.author]
|
[params.author]
|
||||||
# name = "Your name here"
|
name = "Isaac Johnson"
|
||||||
# image = "img/author.jpg"
|
# image = "img/author.jpg"
|
||||||
# headline = "I'm only human"
|
headline = "I'm human"
|
||||||
# bio = "A little bit about you"
|
bio = "Old guy. Likes fishing and tech."
|
||||||
# links = [
|
# links = [
|
||||||
# { email = "mailto:hello@your_domain.com" },
|
# { email = "mailto:hello@your_domain.com" },
|
||||||
# { link = "https://link-to-some-website.com/" },
|
# { link = "https://link-to-some-website.com/" },
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
[hugoVersion]
|
[hugoVersion]
|
||||||
extended = true
|
extended = true
|
||||||
min = "0.87.0"
|
min = "0.128.0"
|
||||||
|
|
||||||
[[imports]]
|
[[imports]]
|
||||||
path = "github.com/jpanther/congo/v2"
|
path = "github.com/mirus-ua/hugo-theme-re-terminal/v2"
|
||||||
|
|
@ -3,86 +3,39 @@
|
||||||
# customise the display of your website.
|
# customise the display of your website.
|
||||||
#
|
#
|
||||||
# Refer to the theme docs for more details about each of these parameters.
|
# Refer to the theme docs for more details about each of these parameters.
|
||||||
# https://jpanther.github.io/congo/docs/configuration/#theme-parameters
|
# https://github.com/mirus-ua/hugo-theme-re-terminal#how-to-configure
|
||||||
|
|
||||||
colorScheme = "congo"
|
[params]
|
||||||
defaultAppearance = "light" # valid options: light or dark
|
# dir name of your main content (default is `content/posts`).
|
||||||
autoSwitchAppearance = true
|
# the list of set content will show up on your index page (baseurl).
|
||||||
|
contentTypeName = "posts"
|
||||||
|
|
||||||
defaultThemeColor = "#FFFFFF"
|
# ["orange", "blue", "red", "green", "pink", "paper"]
|
||||||
|
themeColor = "orange"
|
||||||
|
|
||||||
enableSearch = false
|
# if you set this to 0, only submenu trigger will be visible
|
||||||
enableCodeCopy = false
|
showMenuItems = 2
|
||||||
enableImageLazyLoading = true
|
|
||||||
enableImageWebp = true
|
|
||||||
|
|
||||||
# robots = ""
|
# show selector to switch language
|
||||||
fingerprintAlgorithm = "sha256"
|
showLanguageSelector = false
|
||||||
|
|
||||||
[header]
|
# set theme to full screen width
|
||||||
layout = "basic" # valid options: basic, hamburger, hybrid, custom
|
fullWidthTheme = false
|
||||||
# logo = "img/logo.jpg"
|
|
||||||
# logoDark = "img/dark-logo.jpg"
|
|
||||||
showTitle = true
|
|
||||||
|
|
||||||
[footer]
|
# center theme with default width
|
||||||
showCopyright = true
|
centerTheme = false
|
||||||
showThemeAttribution = true
|
|
||||||
showAppearanceSwitcher = false
|
|
||||||
showScrollToTop = true
|
|
||||||
|
|
||||||
[homepage]
|
# if your resource directory contains an image called `cover.(jpg|png|webp)`,
|
||||||
layout = "page" # valid options: page, profile, custom
|
# then the file will be used as a cover automatically.
|
||||||
showRecent = true
|
# With this option you don't have to put the `cover` param in a front-matter.
|
||||||
recentLimit = 5
|
autoCover = true
|
||||||
|
|
||||||
[article]
|
# set post to show the last updated
|
||||||
showDate = true
|
# if you use git, you can set `enableGitInfo` to `true` and then post will automatically get the last updated
|
||||||
showDateUpdated = false
|
showLastUpdated = false
|
||||||
showAuthor = true
|
|
||||||
showBreadcrumbs = false
|
|
||||||
showDraftLabel = true
|
|
||||||
showEdit = false
|
|
||||||
# editURL = "https://github.com/username/repo/"
|
|
||||||
editAppendPath = true
|
|
||||||
showHeadingAnchors = true
|
|
||||||
showPagination = true
|
|
||||||
invertPagination = false
|
|
||||||
showReadingTime = true
|
|
||||||
showTableOfContents = false
|
|
||||||
showTaxonomies = false
|
|
||||||
showWordCount = false
|
|
||||||
showComments = false
|
|
||||||
# sharingLinks = ["facebook", "x-twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "threads", "telegram", "line", "weibo", "xing", "bluesky"]
|
|
||||||
|
|
||||||
[list]
|
|
||||||
showBreadcrumbs = false
|
|
||||||
showSummary = false
|
|
||||||
showTableOfContents = false
|
|
||||||
showTaxonomies = false
|
|
||||||
groupByYear = true
|
|
||||||
paginationWidth = 1
|
|
||||||
|
|
||||||
[sitemap]
|
[sitemap]
|
||||||
excludedKinds = ["taxonomy", "term"]
|
excludedKinds = ["taxonomy", "term"]
|
||||||
|
|
||||||
[taxonomy]
|
[taxonomy]
|
||||||
showTermCount = true
|
showTermCount = true
|
||||||
|
|
||||||
[fathomAnalytics]
|
|
||||||
# site = "ABC12345"
|
|
||||||
|
|
||||||
[plausibleAnalytics]
|
|
||||||
# domain = "blog.yoursite.com"
|
|
||||||
# event = ""
|
|
||||||
# script = ""
|
|
||||||
|
|
||||||
#[umamiAnalytics]
|
|
||||||
# site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
||||||
# region = "eu" # can be either "eu" or "us"
|
|
||||||
|
|
||||||
[verification]
|
|
||||||
# google = ""
|
|
||||||
# bing = ""
|
|
||||||
# pinterest = ""
|
|
||||||
# yandex = ""
|
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
+++
|
||||||
|
date = '2026-06-25T01:00:31-05:00'
|
||||||
|
draft = false
|
||||||
|
title = 'Closing the Harness and future of OS LLM CLIs'
|
||||||
|
summary = 'Goodbye Continue.dev. Whose next?'
|
||||||
|
+++
|
||||||
|
|
||||||
|
One of my favourite VS Code general use plugins for connecting to a variety of backend agent providers has been [Continue.dev's](https://github.com/continuedev/continue). It has releases that go back to [2024](https://github.com/continuedev/continue/releases?page=83) where it has had non-stop continuous development. Over time, I have written guides here and for work on using it with Azure AI foundry and Ollama. It's just really really good.
|
||||||
|
|
||||||
|
This week, however, seemingly out of the blue, [they published 2.0.0 and marked it the final build (ever)](https://docs.continue.dev/#final-200-release). I still was operating on a 2.1-prerelease in my systems so I was pretty sure this was a change of plans.
|
||||||
|
|
||||||
|
It would seem only recently, [Cursor acquired Continue, the company, and immediately decided to halt the product and shut it all down](https://thenewstack.io/cursor-acquires-continue-coding/).
|
||||||
|
|
||||||
|
Fromm the New Stack article:
|
||||||
|
|
||||||
|
> The deal itself seems to have been completed around the same time SpaceX confirmed it was doling out $60 billion for Cursor, meaning that Elon Musk’s rocket juggernaut is now the owner of Continue as well.
|
||||||
|
> Terms of the deal haven’t been disclosed and, in truth, there hasn’t been much of an announcement to speak of. Around June 16, Continue updated its homepage with a brief message stating that it has been bought by Cursor, and an accompanying FAQ explaining that existing users have until July 15 to export their data before it’s deleted, and that recurring billing has been disabled
|
||||||
|
|
||||||
|
Thus one of my favourite plugins, from a good Open-Source company is bought by a fine LLM company, who itself was bought by a SpaceX, a company owned by the guy who ruined twitter (and most of our country by DOGE and election influence)... Dammit. Dammit Dammit.
|
||||||
|
|
||||||
|
In my other blog, I stay out of politics for the most part, but dark maga can eff right off... so as Cursor is owned by SpaceX (owned by Musky), I now won't use Cursor and by proxy not any product of theirs.
|
||||||
|
|
||||||
|
By luck, almost as a poison pill, the great harness of continue.dev was set with an Apache 2 license - this is permissive license that enables business use. This means anyone can pick it up and run with it.
|
||||||
|
|
||||||
|
When looking about the interwebs, there was one fork suggested, [PearAI submodule](https://github.com/trypear/pearai-submodule) but there is no simple to use vsx install file and the contributing guide is a lengthy how to build writeup. There is a [PearAI app](https://github.com/trypear/pearai-app) but the last release is almost 14 months old so maybe it's abandoned.
|
||||||
|
|
||||||
|
Obviously, in my toolbox I keep options, one of which has been [Cline.bot](https://cline.bot/)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
It doesn't have the nice YAML/JSON block of config with selectors that Continue had, but it functions just fine. In fairness, the Continue.dev plugin isn't dead (yet) but I have had to update it fairly often (every few months) for new OpenAI features presented in new LLM provider endpoints.
|
||||||
|
|
||||||
|
I contrast this to what I saw with my near and dear [Gemini CLI](https://geminicli.com/) which is now dead. Granted it's alive for Enterprise users - but if an Open Source tool cannot be used by the common person, it's rendered effectively dead. And the replacement, [Antigravity](https://antigravity.google/) which is functionally similar is closed source and tied, of course, to Google.
|
||||||
|
|
||||||
|
[Copilot CLI](https://github.com/features/copilot/cli) is nice, but it is closed source (despite being on Github) so who knows what will happen if they sour on a vendor relationship and yank the endpoints - it's not something you can really control.
|
||||||
|
|
||||||
|
# The future
|
||||||
|
|
||||||
|
What I fear we may be seeing is a desperate attempt to close the kingdom, reinforce the walls, and create siloed solutions that can marry development to just one and only on vendor.
|
||||||
|
|
||||||
|
That is, if you like Google (Vertex AI/Gemini AI/Gemini Enterprise Agent Platform) then you go all in - and the tools just come from Google and you just deal with it. They say "no more Gemini 2.5" and you update your code or they say "this thinking model now costs more" you just pay.
|
||||||
|
|
||||||
|
Or you go all in on Microsoft and Copilot and accept if the docs are in Sharepoint, great, but if not, that might be a custom integration you may or may not be able to do. You can go all in on Anthropic, but dare you use their API with another harness, they will charge you pay-as-you-go (see [Louis's rant on it](https://www.youtube.com/watch?v=2lfMtyXCNKg)).
|
||||||
|
|
||||||
|
There are Open-Weight models dropped into [Ollama](https://ollama.com/) but even that is a Y-combinator startup in California which could be bought and closed down as easily as Continue.
|
||||||
|
|
||||||
|
I'm not sure where we go from here. I can recall two trends that seem related.
|
||||||
|
|
||||||
|
|
||||||
|
The first was IDEs. I recall getting a less than legit copy of Borland C++ for my Mac laptop in 1997 to help do coding work. At the time, good compilers cost money and there was a trend about getting commercial IDEs. My Windows colleagues were about Visual Studio and later InterDev. My Java colleagues all used IntelliJ and Eclipse. I was doing Fortran at the time so they offered me Vi or Emacs and I did Vi. Seems as time went on, the IDEs went opensource or free. People used Notepad++ or TextEdit or a variety of other tools. For many years in the early 2010s I was quite happy with Atom. And now we see all these forks of VSCode so that vendors can load in their own AI tools - but I think the differentiator _could_ be the tooling.
|
||||||
|
|
||||||
|
That is, if Windsurf, Cursor, Verdant, Bob, Antigravity, Copilot (by way of "VS Code") all are about the same now, then I would see some adding good memory stores (like a Valkey cache) or better handling of OKF or Database integrations to tie to LLMs or just search setting the various tools apart. As I start to stew, maybe the times of "really great IDEs" will come back and we start to say "sure, they call can think up answers, but who has the easiest to use orchestration framework... who can help me test and review my code and make it legible.. who can tie in my data sources the best"...
|
||||||
|
|
||||||
|
The other trend that came to mind was music. We saw this once long ago with the record industry and Napster. At first it was basically free and we all got tunes. Then they tried to close the doors and some vendors (like Sony) had such proprietary hard to use formats no one used them (I have a minidisc player. i remember). Then it was commoditized with MP3s hosted everywhere (eg. allofmp3.com), then the big vendors got involved, the government played heavy hand and we were back to a few providers (iTunes), then streaming became so ubiquitous no one cared... and now my kids, who all hate AI, are into records (vinyl) and tapes.
|
||||||
|
|
||||||
|
So if I layer that trend, there is a future where our youth are hunting down O'Reilly books and collecting and trading them like the treasured tombs ([)i think of them as). I actually like this - the grand future is back to stacks of MSDN discs, big books, and local repos of text files.
|
||||||
|
|
||||||
|
It's probably a long way off. Right now I recommend y'all download the models as they are free. Install and use tools like llama.cpp, ollama and comfy ui. Learn to host local and if worse comes to worse and everything gets egregiously overpriced or locked down, you have your mini-assistant on a nearby box.
|
||||||
|
|
||||||
|
Oh, and they still sell O'Reilly books, I recently bought some on Perl from Amazon ...
|
||||||
|
|
||||||
|
you know, the online book seller.
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
date = '2026-06-19T11:00:31-05:00'
|
date = '2026-06-19T11:00:31-05:00'
|
||||||
draft = false
|
draft = false
|
||||||
title = 'Hello World'
|
title = 'Hello World'
|
||||||
|
summary = 'howdy howdy howdy'
|
||||||
+++
|
+++
|
||||||
|
|
||||||
This is my first published post using CICD.
|
This is my first published post using CICD.
|
||||||
|
|
|
||||||
4
go.mod
4
go.mod
|
|
@ -2,4 +2,6 @@ module github.com/builder/fbtech
|
||||||
|
|
||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
require github.com/jpanther/congo/v2 v2.14.0 // indirect
|
require (
|
||||||
|
github.com/mirus-ua/hugo-theme-re-terminal/v2 v2.4.4 // indirect
|
||||||
|
)
|
||||||
|
|
|
||||||
4
go.sum
4
go.sum
|
|
@ -1,2 +1,2 @@
|
||||||
github.com/jpanther/congo/v2 v2.14.0 h1:qzd7vjZpSPJkyX27Yl3KT87jvYs2aghIHCHXPSmJtXo=
|
github.com/mirus-ua/hugo-theme-re-terminal/v2 v2.4.4 h1:KFxwHX57hCLPnhOsCPGFuNqM36wgn7wCGGbf8778w3Q=
|
||||||
github.com/jpanther/congo/v2 v2.14.0/go.mod h1:1S7DRoO1ZYS4YUdFd1LjTkdyjQwsjFWd8TqSfz3Jd+M=
|
github.com/mirus-ua/hugo-theme-re-terminal/v2 v2.4.4/go.mod h1:mcOfSJ/BI1p/yQ8nMAUD0gqVOK4Wo/Biw3ZHFy45NuM=
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
{"Target":"styles.css","MediaType":"text/css","Data":{}}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit d5698206f1ddfa4b7117ef6498d1eb48c6c54b89
|
||||||
Loading…
Reference in New Issue