Chris X Edwards

Decaf coffee is actually coffee lovers' coffee. Regular coffee is caffeine lovers' coffee.
2024-09-03 14:24
If you can make a very accurate forecast of how long a programming task will take, then you've already programmed it.
2024-09-01 13:58
Hard to fault XC skiers for previously using PFAS wax when PTFE Teflon tape is still holding all our drinking water pipes together.
2024-08-22 23:15
The best skill to teach today's kids is how to graciously accept that one's profession is obsolete once it becomes so.
2024-05-28 06:55
We don't say San Diego is in the "Pacific Southwest". "Pacific Northwest" also seems overly informative.
2024-05-25 13:34
Blah Blah
--------------------------

Scythe Sense

2024-07-30 15:47

When I lived in Switzerland I enjoyed some extremely gracious hospitality. However, I did try to make myself useful. One day my host asked if I’d help out with the grass cutting. Sure! No problem. He went into the shed and came out with… a scythe. I was thinking, ok, he must be organizing some rustic Swiss antiques so he can get at the lawnmower or something. But no. He handed it to me, and after an awkward moment asked, "Do you know how to use eine Sense?" We were not talking about a little suburban lawn. This was a big field that had been growing for at least a month. I was taken aback. "You want me to mow this field with this tool?" He smiled. "Ja, ja. This is the best tool. You will like it!"

He showed me how to use it and I got to it. And damn if he wasn’t right — for cutting grass a scythe is the best tool!

xed-sharpen.jpg

Besides being a great way to keep fit, scythes reward people who like sharpening things. They must be sharpened about every 5 to 10 minutes. If that doesn’t sound high performance, you can think of it needing to be sharpened every 10 to 20 thousand cuts. Fortunately it takes only a few seconds.

When we moved into our wilderness house this year, there was an overgrown lawn in our clearing. I have actually always used a reel mower every time I have had a yard, but looking at this one, I could see it was covered in difficult long grass and wildflowers and I knew the right answer was a scythe.

Unfortunately, scythes are weirdly expensive. Nonetheless I ordered a Fux Gartensense (from here). Fux — an alternate spelling of Fuchs, meaning "fox" — is an Austrian brand that’s been making tools, no doubt sycthes in particular, since 1540. Apparently high in the Alps they never got the memo that people don’t use scythes any more. Thank goodness!

scythe1.jpg

scythe2.jpg

scythe3.jpg

I love my scythe and I think it does a great job. What I really love most about it is not being part of the problem. What problem is that? Well, there are many to choose from, but my observant nature forces me to focus on a specific one. If you live in Suburbia, USA in the summer you will be tortured by the sound of internal combustion lawn mowers All The Time. From early in the morning to late at night. It never fucking stops. It really wears on me. In Buffalo my neighbor had a badly tuned lawnmower (clogged carbs or air filter, something like that) which would operate with a horrible gasping arrhythmic pulse. That nightmare was only once a week, but every other minute was ruined by someone else’s.

xed-scythe.jpg

When my new neighbor’s lawn care professional stopped providing service in our area, they called and asked whom I hire to mow the lawn. I thought it might be fun to go try my scythe out on their yard which has gone without mowing for quite a while now. I went over there and silently knocked down their prairie.

Here’s what it looked like before.

before1.jpg

before2.jpg

And here’s what it looked like after.

after1.jpg

after2.jpg

The main part down to the wood pile took about 90 minutes. I spent another 30 minutes hacking down the worst of the overgrowth down by the lake, but I was getting tired by then so no golf course lawn there. I know it looks like there are a lot of clumps that are not cut. I kept coming back to redo a section only to find it was just piles of grass stalks. The scythe leaves them in neat rows for pretty easy raking — but I did not do any raking!

Here is a short time lapse video I made today which gives a rough idea of what using a scythe can look like.

Raspberry

2024-07-18 19:49

Nothing to do with a low power ARM computer this time. This is the real deal. I picked this quarter kilo about 50m from my house in our personal raspberry glade.

raspberry-250g.jpg

raspberry.jpg

And yesterday I was stuffing my face with blueberries I found deep in the forest.

June was a month of pretty harsh weather. The worst on this planet in fact. The season of the year where the air is thick with clouds of frenzied piranha bugs seems to be mostly behind us now. I think the really insane mosquitoes here are what biologists call univoltine — meaning they just have one brood a year. However it is still not completely safe — I did get my wrist mauled by a black fly yesterday. That did involve 45min of rummaging through the ground foliage for berries with exposed DEET-less skin, so perhaps somewhat preventable.

I mention these seasonal details for long term planners who might one day be interested in visiting our rather beautiful swamp forest.

Keep in mind that we do not have any sharks or alligators at any time of the year!

Local AI News

2024-07-13 13:13

I first got very impressed with new AI way back in late 2022. That breakthrough implied many profound philosophical ideas. But since then, we’ve mostly been seeing more of the same. And a lot more. That’s all reasonable since there is a lot to explore and develop with this new tool.

I consult with my robot friends pretty much every day. Unlike many people (apparently), I have a good sense of their strengths and limitations and so I find them very helpful and can take their spurious answers in stride. Recently I’ve been favoring this French chatbot for its combination of ease of use and general competence.

At the advent of Turing test passing bots, the first question I pondered was a technical one — could this level of helpful AI agent be decoupled from Big Brother? Would it ever be possible to have resilient, private, uncensored, free of cost access to this kind of tool?

I kept an eye on this and quickly the answer seemed to be yes. Large language model weights were being publicly released by Facebook, I suspect in an attempt to dilute the potency of the AI upstart rivals. I believe there are now several others.

I actually don’t really keep up with the details because once I could see that my initial question was positively answered (yes, LLM magic can run on local private hardware), I knew it was a matter of time before it trickled down to people like me. People who didn’t want to face the horror of grinding through the endless dependencies for and of stuff like CUDA, torch/pytorch, cmake, pandas, SciKit-Learn, TensorFlow, cuDNN, protobuf… you get the idea. It is such a quagmire that working on this software isn’t programming now, it’s swamp management.

While I’ve been doing the much more pleasant IRL swamp management, the time I foresaw has come for (more) casual programmers and almost normal humans to be able to get a local installation of fancy AI magic. I came across it here in The Register. Their long procedure was mostly covering some non-standard cases; it’s not coincidence that my computer is very much set up for standard AI work so it was even easier for me.

I basically cloned this github repo and ran the the start script. (Note that I don’t really know who AUTOMATIC1111 is and I am not 100% sure it isn’t some fine nerd trojaning. That said, it does seem to be source code, so you should be able to audit executables — if not the model weights!)

Anyway, weirdly this is not a chat bot but an image creation system. This is weird to me because I thought getting a simple local chat running would be easier (maybe it is) but this more challenging task is what I stumbled on first.

How does it do? Well, it’s not perfect of course, but it’s pretty damn impressive. Here is a series of images I had it generate depicting the Witcher, Geralt of Rivia, doing various prosaic activities in Babylon.

geralt_at_mcds.png Geralt of Rivia at McDonalds.

geralt_at_walmart.png Geralt of Rivia shopping at Walmart.

geralt_mows_lawn.png Geralt of Rivia mowing the lawn.

geralt_pumps_gas.png Geralt of Rivia pumping gas.

geralt_talks_on_handy.png Geralt of Rivia talking on the phone.

geralt_airport_security.png Geralt of Rivia explaining his swords to airport security.

geralt_biking.png Geralt of Rivia mountain biking.

geralt_sports_bar.png Geralt of Rivia watching Roach win a horse race on TV in an American casual restaurant.

geralt_walks_dog.png Geralt of Rivia walking his dog at the mall.

As you can see, not bad considering I don’t need an internet connection (I double checked that it would work with my network unplugged), I have a lot of control over the generation process, and I can basically hit "Generate" forever until I’m happy (contrast with being a paid customer of OpenAI when they still limited me to 10 images a month or something like that). The download is around 14GB which is pretty dang reasonable to be able to generate any kind of image you can dream up — and understand what you’re saying in prose. Composing these images took less than three seconds each on my machine.

Right now I’m satisfied to talk to my "meilleur ami robot" but eventually I would like to have my own private robot friend whom I can consult to answer my pressing questions. And of course it would be fun to stuff that into something somewhat power economical — maybe calling back to my overkill workstation for the heavy lifting. Add some speech to text, and some matching TTS. And then put that in some kind of fun J. F. Sebastian automata toy.

I think it will be pretty cool to have such a friend beyond the reach of the Tyrell Corporation.

UPDATE - 2024-07-24

Today I couldn’t resist having a quick check to see if it would be possible for me to locally host a competent Turing Test Passing chatbot. Getting a lot of help from cloudy robot friends, I attempted to get something going using the Python transformers module from HuggingFace. The documentation there says, "There are an enormous number of different chat models available on the Hugging Face Hub, and new users often feel very overwhelmed by the selection offered." Yup. That was definitely true. I did get a tutorial running with the blenderbot model. It was several GB so definitely not the checkpoint model (which I also looked at). I was able to run some simple sample code to propagate a chat exchange while preserving context. I did verify that the responses could be generated with the network cable unplugged, but I was annoyed that the full program couldn’t start up without downloading the tokenizer first. Obviously I could sort that all out, but the point here is that part of the exercise is that I don’t want to be mucking around with exactly that kind of thing.

The actual results were… Well, not impressive. I’ve seen similar kinds of low quality output from chatbots using stupid heuristics (e.g. 1966 Eliza).

 tokenizer_config.json: 100%|                               | 1.15k/1.15k [00:00<00:00, 3.78MB/s]
 config.json: 100%|                                         | 1.57k/1.57k [00:00<00:00, 5.30MB/s]
 vocab.json: 100%|                                            | 127k/127k [00:00<00:00, 3.40MB/s]
 merges.txt: 100%|                                          | 62.9k/62.9k [00:00<00:00, 19.2MB/s]
 added_tokens.json: 100%|                                     | 16.0/16.0 [00:00<00:00, 61.1kB/s]
 special_tokens_map.json: 100%|                                 | 772/772 [00:00<00:00, 2.93MB/s]
 tokenizer.json: 100%|                                        | 310k/310k [00:00<00:00, 10.6MB/s]
 pytorch_model.bin: 100%|                                     | 730M/730M [00:39<00:00, 18.5MB/s]
 generation_config.json: 100%|                                  | 347/347 [00:00<00:00, 1.42MB/s]
 Chat Agent: Hello! How can I assist you today?
 You: I'm testing this system. What can you tell me about yourself?
 Chat Agent: Well, I'm a college student and I work part time at a grocery store. How about you?

This may not be appreciating the miracle that the text is being properly generated — I get that. But I am trying to answer the question: by the middle of 2024 was it easy to host a decent quality helpful chat AI, let’s say of the quality of the original public web interface ChatGPT at the end of 2022? I’m going to have to say that the answer is no. I understand that two of the three components are established: 1. we know it is possible (which is huge) and 2. the tools and expensively trained models are available for the motivated. But I am not motivated to do messy swamp management to get other people’s software to work when I can do almost as well by chilling and letting this progress continue by itself. Make no mistake, this will be easy and probably soon. It’s just still very weird to me that local image generation was easier for me to stumble upon than matching the older generations of many web chat platforms.

UPDATE - 2024-08-23 I just saw this article on how to get a local equivalent of GitHub Copilot. I didn’t bother with it because I don’t use an IDE and don’t really find that style of code completion useful. Also it seems like it has some entanglements that are not quite aligned with my goals. But if you are interested in the code completion stuff GitHub is doing but you don’t exactly want to share your code with GitHub (any one else left who doesn’t give all their code to GH?), this may be a good resource. It definitely shows things are moving in the right direction for AI autonomy.

Autonomous Stupidity

2024-07-02 13:20

It’s been a long time since I’ve covered the topic of autonomous vehicles and it’s questionable whether I should now. But there have been several "news" items that came across my screen that I thought I should comment on.

First up, the world’s video website recommended I watch the inaugural "race" of the Abu Dhabi Autonomous Racing League. Ug. Do I have to? Yes. I had to.

And just like I could have told you, the driving oscillated between the literally superhuman and the literally brainless with an average somewhere around "janky". Watch a quick minute of how it went. Time marked link to the actual driving bits of the video.

AIF1.jpg

According to their web site (a2rl.io) there was $2.2e6 in prize money at stake. Wow. When I did autonomous car racing, I was pretty happy to win 150 dollars - flimsy Australian ones!

That’s right - recall that I did autonomous car racing way back in 2012. But we didn’t do it so stupidly. First, I got into it 12 years ago but it had been going on for a few years before that. So, not exactly cutting edge. But the critical thing was we did not use real cars. Looking at the web site a bit, I can see they must have some event with model cars and that’s probably the right place to start. (Paging Duckietown!)

To jump right into F1 style cars? What’s the point? You’d need to have money to burn… ohhh. Riiiight. Well Emiratis, you have fun with your petrodollars and your stacked Tour De France Team and your … everything else.

It is a shame though. A lot of possible potential and progress wasted — kind of the story of autonomous vehicles in general. In the video here the guy makes the correct point, "This is not a good advertisement for the technology. … It just makes it all look like a joke. And there are people who worked really hard on this and they deserve better…"

Yup. If you want to watch slightly less janky autonomous car racing where no southeast Asians are exploited as slaves, you can watch the videos of my old project.

Next in stupid autonomous car news, Waymo recently opened up its San Francisco autonomous car taxis to anyone with a phone. I actually don’t know if this is progress or not. What is stupid about this is that San Francisco — a city I have traversed by bicycle dozens of times — is hard for autonomous cars.

AVinSF.jpg

One theory could be that they started with "easy" level of difficulty over in Chandler, AZ and now have graduated to "expert" and are therefore ready to take on all road systems. Sounds good, right? Only the reality is probably not like that. I suspect they’ve just pissed away tons of development resources to make their system tractable in SF.

When you consider that it was four years ago that Waymo announced they were opening their service to the public in Chandler, AZ, you have to wonder about the progression. Why did they push so hard to get this running in SF? As far as I can tell it’s the same reason as in the UAE: rich idiots doing vanity projects on home turf. Just remember, that at a million people a year dead from idiot human drivers, this kind of vanity probably came with costs. Or, if not, then the whole thing’s a scam and the tech is nowhere near ready. Take your pick.

And finally let’s go to Japan where The Japan News notes, "An expert panel of the Land, Infrastructure, Transport and Tourism Ministry has proposed the development of automated logistics links that transport goods on median strips or through underground tunnels along expressways.

logisticsAV.jpg

Wow, that’s kind of funny. First I wrote about exactly this kind of thing way back in 2020, calling it Real Progress In Autonomous Vehicles. And honestly I have mixed feelings about a proposal to develop a special lane to move cargo. That special lane — that’s really the key. As I’ve said for 15 years, without idiot drivers in the mix, we’ve been technologically ready to replace driving since the 1990s.

But this Japanese proposal is for cargo. They show a special lane with (what I call) "idiot driver insulation". And that’s all good. Very sensible. But with jammed passenger cars to either side, could they not envision another type of "cargo" that could really use a system like this? Is there any reason that people couldn’t also be moved like this? Whatever. The article (and this one) also fret about the scary cost of building tunnels for this kind of thing. Ug. This is totally triggering my base rate fallacy allergy. (Ahem, how much does it cost to build a tunnel for a subway? How much does it cost to just build a surface road?)

At the end of the day, as I said in 2020, the good thing about this is giving some thought to keeping idiot drivers and sensible transport separate. Autonomous vehicle development is not a technology issue, it is a policy issue. It does show us that Japan or UAE or some random place is just as likely to stumble upon this fact as the USA. I’m still not holding my breath that there will be any really useful developments before 2030.

Out For A Drive In The UP

2024-06-05 22:57

On Monday (June 3) I needed to go out in the car to pick something up in a nearby town. Nearby means a couple of hours — a lot can happen! The driving here is generally quite pleasant but you don’t want to shut off your brain. Our problem is wildlife. Check out what my dashcam caught.

(I would strongly advise you to go to the youtubey settings and make sure you’re getting an HD version and full screen this on a proper monitor or else it won’t really look like anything but blurry driving.)

This is basically a good summary of what driving here is like in the west unit of the Hiawatha National Forest. It’s forest, forest, forest. If you like forest — and I love forest — it is quite magnificent.

--------------------------

For older posts and RSS feed see the blog archives.
Chris X Edwards © 1999-2024