Chris X Edwards

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
He who desires a tall tower must first dig a deep hole.
2024-04-28 21:12
It's interesting how military service decorations understood gamification centuries ago.
2024-04-17 07:56
When my software has weird bugs because of floating point encoding, the blame really lies with my math education as a kid. Fixing it slowly.
2024-03-16 10:49
Blah Blah
--------------------------

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.

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.

The Insane Nordic Skiing

2024-05-25 14:03

Let’s have a quick review of what Nordic skiing is: the toes are attached to the ski and the heel is not. In Alpine skiing both the heel and toes are attached to the ski. It’s a fair approximation to say that cross country skiing is the same as Nordic skiing, but just as eutherian mammals (placental, live bearing) are not all of the mammals, there exist some kinds of very weird Nordic skiing.

For example, Telemark is a type of skiing where people generally go to Alpine ski mountains and ski down them with a binding system that does not attach the heel firmly to the ski. They’re like the marsupials of Nordic skiing.

Monotremes are freaky egg laying mammals, notably the platypus and echidna. The monotreme equivalent of Nordic skiing is ski jumping. There are actually two variants: official proper ski jumping and the unrestrained full gonzo madness of ski flying. I can not really figure out the technical details differentiating the two but apparently as things got more and more insane, the FIS started to get nervous about the jumps getting longer and longer with no end in sight and put down some rules to limit the danger for "jumping". Which is a bit like the time I had to wear a life jacket on a boat tour of the Iguazu River at the top of the largest waterfall system in the world. But whatever.

jump-heel.jpg

Here are some more fun facts about ski jumping. As with most skiing topics, Norwegians started it; they still have a giant jump visible in the background of their Holmenkollen cross-country skiing events. But for whatever weird reason, Austrians and Slovenians love this sport and dominate it. It is these two nations who are also into ski flying and keep building bigger and bigger nonsensical jumps to outdo one another. This year, Red Bull sponsored a push to increase the ski flying record to a distance of 291m (a video about that).

While the crazy ski flying is not a Winter Olympic sport, a country that wants to win a lot of medals is well advised to get some kind of decent ski jump because not only are there all the medals you can rack up in ski jumping itself, there’s another Olympic sport called Nordic combined which is a double event of a cross country ski race where you get a head start if you can do a good job jumping off of one of these crazy jumping ramps. There are two hill sizes and a team event at the Olympics, so for men and women, that’s six medals on offer for the sport of Nordic combined. A sport you may never have heard of.

Where does that leave the USA? Well, the USA definitely likes to win medals at the Winter Olympics. But despite Americans' love of jumping motorized vehicles, ski jumping is not exactly a big topic with people in most of the US. There are exceptions however!

Yesterday I was in Iron Mountain, Michigan and I thought it would be cool to check out their world class ski jumping facility, the Pine Mountain Ski Jump. I was not disappointed! This is definitely a thing that must be seen in person to appreciate. Here is a photo of me doing that.

jump_xed.jpg

Note the flag signaling a massive crosswind and imagine flying off this crazy thing into that wind. No. Thank. You.

But wow. To see and appreciate the size of this thing in person really helps put this sport into perspective. I was thinking of how it would be to just ski straight down the landing hill with none of the complications of flying and it seemed pretty terrifying. To imagine being in literal free fall down this slope is definitely amazing.

The view from the launch point where they have the observation deck that I’m on is spectacular. Here is a shot found on the internet of what it looks like from the top where the skiers start. You can see the observation deck on the left side and see how much higher the ramp is.

jump_view.jpg

And here’s what the whole facility looks like in winter with proper snow on it.

jump_winter.jpg

What if you’re in the USA and you want to do some full on crazy ski flying? Well, for that, you’ll have to go a little farther down the road to the continent’s only proper ski flying ramp at Copper Peak just north of Ironwood, MI.

jump-copper.jpg

I love skiing. I love Nordic skiing. But this is insane! Still, it’s quite a thing to behold and when the annual FIS Ski Jumping Continental Cup competition comes around in February, there’s a decent chance I’ll want to see a mad Slovenian or two actually do this crazy thing.

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

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