Tuesday, December 26, 2023

AI predictions for 2024

 My prediction for the coming year is that AI progress is going to accelerate.  By the end of this year we will have ai that could be considered to be as smart as a human at verbal skills. 


The last part that is needed to happen is to have a couple dozen models, each trained to be a specialist in a narrow domain of knowledge, combined into a swarm of cooperative models.  I think these models need to be arranged in a cognitive architecture with each layer responsible for  different concerns.  Some of the ai models  will be specialized in morality and alignment with humanity.

Intelligence will just emerge from large enough multi modal models using the above design.  The same way that more and more advanced emergent behavior showed up in the move from gpt 2 to gpt3 to gpt4. 

--

Text to 3D will also be big.  AI will be able to create 3D printed objects and 3D models that can be used with Blender.  AI might even be able to write a script that works in blender with the 3d object that the ai created.

Wednesday, November 1, 2023

Got blocked on youtube for using an adblocker.

 Time to start looking for alternatives to youtube that allow ad blockers. Time to make youtube as relevant as myspace. 

The power of hope. The despair of nightmares.

Sorry to get serious. I have seen so may horrible things on the news this year. And I have been thinking about why someone would do what so many people are doing. As much as I am able I have tried to put myself into their place. To try to think and believe as they do. It came to me last week what is happening. I have come to believe that a lot of the bad things in the world happen because people turn away from hope and embrace their despair. So my advice to to seek out people and situations that allow you to turn towards hope and light and avoid people and situations that turn you away from the light, towards despair and darkness.


If it was that easy then the world would be a much better place. But there are those that seek to use others by taking away their hope. And these groups are built deeply into society. There are groups who seek to increase their own power by locking you into darkness. Their shadows are wide and long.

One of the biggest warning signs is an individual or group telling you about "the one true way" to think and believe. And that only the individuals in this special group are going to be "saved." This is the main technique that cults use to lock their followers into the group and to expel members that reject these abusive teachings. The member that was rejected is now an outsider, so we shouldn't believe anything they say. You can see these cult techniques used by some religions and some political groups.

Another danger sign is someone or a group that tries to tell you who to fear. Who your enemies are. Fear is the handmaiden of despair and can also lock you into that group or to that person. They tell you who you can associate with or who your enemies are. Don't believe them. 99% of all folks are awesome, loving, kind, and caring. Really, we should fear every individual in another group, all million, or billion of these other humans are evil and wrong? Seriously? That is just insane.

And if you ever feel like harming our fellow humans just because they are members of another group, seek medical help, because you are going to cross a line and become the very evil you fear. This is something that only crazy people do. You will be seen as a lunatic and all your friends and family will say, "Wow, we never expected them to go bat shit crazy. They were always so quiet. Never gave anyone any trouble." In case you didn't know, harming others is wrong. Don't hurt other people. Killing other people is wrong. Don't kill other people. You aren't a hero. You aren't saving anyone. You are just wrong.

Run, do not walk, away from these people and groups. Look for folks that are positive and want you to be happy. Look for people and situations that make you feel happy and who want you to grow as a person. Look for kind, caring, loving people that don't hate or fear anyone else. Look for people and situations that let you look at the world in a positive light. It is cliché, but if you treat others as you want yourself and your loved ones to be treated, then the world becomes a better place.

Seek the light, not darkness. Seek the positive, not the negative. Seek the dream, not the nightmare. There is hope, but only if you choose hope.

If this writing can help even one other person, then I will be happy.

I full expect to be attacked by those who are trapped in the cycle of darkness. Just so you know ahead of time, I forgive you, and love you as a fellow human being.

Tuesday, October 3, 2023

Raspberry Pi 5 announcement!

 2 to 3 times the performance of the rp4, plus a real time clock and button on board. While running cooler at the same level of load on the processors.  It will take a board that lets you mount an M.2 SSD.  It can effortlessly run dual 4K 60Hz monitors. Available in 4 and 8GB models this the memory running at twice the speed of the previous model.  You could also connect a high end graphics card to the rp5 instead of an ssd.  There used to be a display and camera connector, and now those are two connectors that will let you connect either a camera or display to each connector. It can accept a 25W usb c powersupply.   It should also overclock to an insane level. 


https://www.raspberrypi.com/news/introducing-raspberry-pi-5/

Wednesday, September 27, 2023

Connecting from macbook to linux using samba.

 I was not able to connect to my linux machine from my macbook air using smb. I found the following string:

smb://WORKSPACE%5cUsername@Hostname/Username/

And putting this string into the Connect to Server box I connected right now. Weird that this didn't work in the gui.

That is %5c between the WORKSPACE and Username.


Now it is leaving little ._ files on the network drive when you load an image.  This is supposed to turn those little dot turd files off from the mac side.

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true


Then reboot.

Monday, September 25, 2023

Got an old arcade controller working.

 I had a now ancient arcade controller that hasn't work since sometime before the end of the last century.  It was basically just a big box of microswitches not hooked to anything.  I had been building an arcade cabinet at the time.


I bought a generic usb controller board from amazon based on lowest price.  It came with the wires to connect the board to the microswitches. It also had a longer wire with a usb connector on one end and a 4 pin board connector on the other end, along with a strain relief.  I searched for "Zero Delay Arcade USB Encoder" and came up with a huge list.  I could have gotten 2 of them for just a little more than I paid for one of them. 



I removed all the existing wires from everything but the joystick and put all the connections to the nearest open port on the board.  It doesn't really matter how you set it up, except for the 4 connections on one end adjusted the board settings. 

I left the wires attached to my joystick, but I had to switch two wires to get the common wire that went to every switch to the end.  The other wires are labelled with two letters, I'm sure you can figure that out.  Luckily the board connector on the joystick wires plugged right into the new board.  I ran the connector through the hole and forced the strain relief into an empty slot in the back.  

I plugged the board into my retropi machine that I just built and booted and was able to map the keys how I wanted. :D  I am now playing robotron with a game pad in my left hand and this arcade joystick in my right hand. :D 

I screwed the board into the bottom side of the top of the case.  I reused tiny screws I got from taking apart another project. :D  If not you may need to order some tiny screws from or just use a generous amount of hot glue. :D  I even had the bottom of the case I removed 20 years ago.  I fortified it with 4 felt pads to act as standoffs to keep the screw heads from scratching anything,  If I remember correctly the old case had little rubber standoffs held on by the case screws.  


Fin.

Upgraded the ssd in a 2017 intel mackbook air

Before starting this upgrade I made sure to upgrade my macbook to the latest version of the OS.  It seems that only the latest Montgomery OS has the internet restore option to load the OS onto the new drive. 

I did not back up the drive before I installed the OS, because I wanted a clean install without any older software versions left behind.  I did copy off everything I wanted to keep from my home directory. If you attempt a similar upgrade based on your research you may want to backup the drive before hand.  Be aware that your choice of drive formatting may affect if the backup and be restored to your computer.  Be sure that your exact model computer can be upgraded.  Be sure the drive you choose is useable by macbook.  I can't help you or recommend anything other than what worked for me. I just don't know.  I got lucky and everything worked for me.

Don't follow these directions.  This is merely an account of how I performed these operations to upgrade my solid state device.  These directions may not work for you and it could cause you to destroy your laptop or the new drive. Proceed entirely and solely at your own risk. Do your own research and create your own detailed step by step plan.   Your mileage may vary. Package contents may settle during shipping. Batteries not included. Seriously.  This worked for me, but it might not work for you.  I have no affiliation with any amazon seller whose products I linked to in this post.

The laptop came from the factory with an very small solid state drive that was 128GB in size.  This is barely big enough to hold a dozen big ai models.  I had a 250GB usb thumb drive attached to store my SD 1.5 automatic1111 setup.  I had managed to fill this up too with checkpoints and lora.  I was also worried about nuking the old ssd from overuse from swapping because it swaps almost constantly. After researching this I determined that 2017 and prior macbook air laptops do not have soldiered in solid state drives.  But they use a proprietary apple only drive.  There is an adapter to convert a standard drive to the correct format and length.  

https://www.amazon.com/gp/product/B07VVNKRYR/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&th=1

I then found a low cost ssd. I made sure it had good reviews.  I went with the 1TB disk, but the 2TB drive was only about $20 more. Again, if you are doing this, you might want to use a different drive.

https://www.amazon.com/gp/product/B08X4Z4R1Y/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&th=1

The little board goes on the end of the new drive.  It will click in once it is far enough. As always, don't force, it only goes on oneway, look at the key.

One problem I ran into was not having the correct pentalope screwdriver set to remove the bottom panel and take out the screw in the internal drive that holds it into place.  I have a thousand bits, along with hundreds of security bits, and not one of them would work on this. So I had to order a set and it took me another week to get this:

https://www.amazon.com/gp/product/B074QM29ZM/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

Once it all came, I powered down the computer and removed the bottom of the case, being careful not to lose any of the screws, there were 8 small screws along the front and sides and 2 longer screws in the middle back near the hinge. I was careful not to strip any of them out when removing or installing the screws.  

I used the included little plastic wedge from the screw driver set to gently pry up on the back of the case near the hinge and it popped free easily.  Changed to the small hex screw driver in the screw driver set to remove the one screw holding in the existing ssd.  

Be very careful here. There are dire warnings about raising this drive up too high and destroying the connector on the board.  So I raised it up just high enough to wiggle free of the connector, less than a quarter inch.  

I sat aside the old drive in the packaging I got with the new drive and labelled it as such, incase I needed to put it back in.  I put the new drive also keeping it very low, just high enough to click into place.  I noticed that the board was a little longer than the lip on the screw hole by a fraction of an inch, so I carefully tightened down the screw as far as possible and without crushing the board. 

The bottom snapped back down into place. I carefully put the screws all back into place, the two longer ones in the middle back near the hinge. I was careful to not over-tighten and strip out the screws.  Once they were all in, I when back around and got a few of them a little bit tighter.  Again, I was careful to not strip them out and to not cross thread anything.

I made sure to have access to a high speed internet connection for the next step.  I held option command r down as I powered on the computer.  Once I saw a swirling circle and the restore application starting I  let up on the keys.  After a minute or two I was able to connect to a network and it loaded the app to format and install the os.   

I formatted the drive as APFS and used a guid partition table.  I researched which was best, and a web page I read said that APFS was optimized for modern solid state drives to install macos. 

Then I selected the install os option and chose the drive I just formatted.  It took about 3 hours to install.  At one point it claimed it was going to take 21 hours.  But that was fake news.  The machine rebooted a few times during this process.  Another website said that sometimes you have to try a few times to install if it fails because of the internet connection.  If this keeps happening try a different internet connection, the faster the better.

Once the machine came back up it was just like when I got the computer brand new.  It walked me through page after page of setup.  I read each page and did what I thought was best.  Once I got logged in I was surprised to have to set the wifi password in a second time.  It didn't keep this setting from the OS install.  

I then installed a lot of software to get the machine useable again, and copied over the 250GB thumb drive to get my Stable Diffusion 1.5 install set up on the much faster ssd now. 

I did setup time machine on this new drive.  All I had to do was connect a 2TB drive to the machine and erase it and the macbook popped up a "Do you want to setup time machine on this new external drive." Which I did.  Time machine is very cool.  I have setup an rsync based backup on Linux before and this is very similar. The first backup took a few hours to backup the OS, the apps, and the SD 1.5 folder. But after that it only took a few minutes once an hour to just do a diff and get the few changed files. 

So I now have a 2017 Intel Macbook Air with a 1TB drive that starts and runs a desktop much faster than before.



Wednesday, August 2, 2023

AI Is changing fast.

 Just the last couple weeks several huge open source releases of chat and image generation AI happened,  ARM IPO is blowing up based on their future role in AI, AMD chips that support AI were released,  and Nvidia announced the release of a ground breaking release of a new image generation technology called Perfusion.  

It is an exciting time to be alive.  It is almost a full time job to try to just skim the headlines. 

This week I finally wrote my own little neural net to recognize the hand written characters of the MNIST data set.  I followed a tutorial for python that only used the matrix library numpy and coded up a 2 layer neural net.  I watched a few other videos as well.  Planning on picking up a copy of Neural Nets from Scratch, it looks like a great book.  

My plan this week is to build a tiny c library to implement a neural net object.  Combined with a few other small c libraries that implement ai, and running all the different tasks cooperatively, at the same time, this kind of tech could be ground breaking.   If a small, inexpensive arm chip was created that had dedicated ai acceleration built in and a library like this supported that chip then that could be an amazing reference system that could change the world.

A small library that implemented general neural nets, generate stories, speak, can turn speech into text, and has a layer to manage all that could revolutionize drones, robotics, toys, security systems ( with a visual ai), and just about any technology we use today.  A door bell or answering machine could call screen for you.  Imagine a thermostat that actually was intelligent. 

I think Christmas in 2 years is going to see a toy that isn't powered by AI is going to be a toy that no kid wants.  There won't be an alarm clock, door bell, weather station, thermostat or other small consumer good that isn't intelligent.  

A year after that every medical device is going to be smart.  A blood pressure cuff that knows more about reading blood pressure than any human is a game changer.  

Monday, July 31, 2023

Fix the worlds electrical systems.

 

There are four main areas that need fixed. 

1. The main grid.

   The main grid needs to be beefed up to carry power from areas that have a surplus to areas that are lacking power.  We need to switch to super conductors in downtown metro areas for efficiency.

   There is also the fact that our electric grid is very vulnerable to emp and solar flares.  We need a method of disconnecting the wires of the main grid from the big transformers to protect them from these effects.  

    We also need backups of the big transformers in distributed warehouses ready to be deployed in hours to fix a burned out system.  Right now it would take years to build and deliver these transformers if they were damaged by a catastrophic event. 

2. Upgrade houses to be smart homes.

   Appliances should be smart and connect to the houses control unit.  This control unit should schedule when things run to reduce the demand that is being placed on the electrical grid.  So the fridge doesn't run at the same time as the ac unit.  The control unit should limit the draw of the entire house to no more than 20 amps.  Battery packs should be charged at night, or charged from the home grid in the day.  If electrical power is used to heat water, this should be done at night.  If done correctly this staging and running of appliances could reduce power needs of households in America by a factor of 5.

3. Switch to solar power, wind power, and water power.

    If your house needs more than 20 amp service, or when the main grid is out then you should be able to switch to batteries at your own home that are charged with locally produced solar, wind, and water power.  A 10KW solar panel on every's roof with a wind turbine for windy conditions would be enough to charge these batteries, come wind or shine.

    And here is where the beefed up grid from step one comes into play.  When the main grid senses a lack of power in one area it should signal other areas and they put power from their batteries or from their solar/wind/water power sources back onto the grid.  Imagine west coast helping out the east coast in the morning and then the east coast helping out the west coast later as the heat peaks in the west.

   The power system could keep track of home much power you add to the grid and how much you take from the grid and charge you for the power you used minus the power you added.  Plus a flat rate to maintain the power grid. 

4. Stop using carbon to heat water.  

    Heating water is 1/6 the energy use in every single home in America.  Switch to solar water heaters to heat water.  You could build tubing into the back of every solar panel and use that to both cool the panel and heat antifreeze. This warm antifreeze could then be put through a small bank of high temp vacuum tubes with reflectors to focus the heat on nickel coated copper tubes to get the temps up to nearly boiling.  Then run this heated antifreeze through tubes in a 500 gallon water tank to store the heat.  A small solar panel could run the pumps for this system, the intensity of the sun on the solar panel being all that is needed to regulate the speed of the liquid through the system.  Heavy bags of paraffine that each have a different melting point could be used to store heat in their phase change of switching between solid and liquid states. Like heat storing batteries. 

    If you need to use electrical power to heat the water, then would only be allowed to happen at night, when there is a surplus.  You could use your own electrical power anytime during the day, say after you reach full charge on the batteries.  Any wind power needs a   The houses controller could mange this to keep the water up to temp while using a minimum of grid power.

  This tank could be used for hot water for the sinks and shower. It could also be used to heat a loop of antifreeze that runs under the floors of the perimeter of the house and holds most of the cold at bay.  A loop of this heated water could be put under the floor in the bathroom for toasty warm floors all the time there. 


Tuesday, July 25, 2023

How to build a neural net from scratch in python.

 Found a very good video with sample code.  Very easy to understand how this works.  Only uses the numpy linear array library.  


https://www.youtube.com/watch?v=w8yWXqWQYmU

https://www.kaggle.com/code/wwsalmon/simple-mnist-nn-from-scratch-numpy-no-tf-keras/notebook


Here is a screen shot of one of the test runs and some code.




Weekly ai update


This week I upgraded to the uncensored 7b version of the newly released Llama 2 chatbot ai model.

https://huggingface.co/TheBloke/llama2_7b_chat_uncensored-GGML/tree/main

I run it with llama.cpp :

https://github.com/ggerganov/llama.cpp

I finished putting thumbnails on all my lora and, ti, and checkpoints. I actually found 2 hypernetworks and tried both of them out yesterday and today. gothicRPG_ArtStyle_v1 and IncaseStyle_AnythingV3, but I used it with Anything V5.

Tried out sd upscale but it didn't work for me. Downloaded and installed the Ultimate SD upscale to try it out.

I installed a couple of extensions to automatic1111 that control the aspect ration better. I found an extension that shows the images and and lets you look through everything you have generated easily called, "infinite image browsing."

Found the smallest ai program that uses modern techniques that can run fast on very small computers. I could see just about everyone releasing intelligent devices with $5 computers installed that can talk and listen and tell stories. Crazy how fast ai is moving to the slowest and cheapest computers. It is being called baby llama.

https://github.com/karpathy/llama2.c

The code that performs the magic is less than 500 lines. One of the really cool pieces of code that I had not seen before is the following code before a for loop:

#pragma omp parallel for

This is clever and elegant because if you don't give the flag and library at compile time, the compiler just ignores it, allowing your code to be really simple. But if you compile it with the flags -fopenmp -lomp then those for loops are magically multithreaded and run many times faster than they would otherwise. Planning on rebuilding a bunch of my old code and see how much faster I can make it.

Tiny c based ai program

 Can run fast on just about any hardware above an 8 bit microcontroller.  Amazing how fast this ai stuff is going to the smallest levels. Easy to understand.  Imagine a little robot teddy bear that whose mouth moved as it told stories and talked to a kid. And never told the same story twice. Imagine it could teach the alphabet one letter a day by telling stories that feature characters whose names started with that letter.  A is for ant, b is for bumble bee, c is for cat, d is for dog, and so on. 

Astounding.


https://github.com/karpathy/llama2.c

sd upscale in the img2img tab

 Stable diffusion has a really cool tool called sd upscale that will rescale an image using an ai, then breaks an image up into tiles and runs img2img on those smaller tiles.  This allows you to upscale well beyond any limits you have in memory. The only tradeoff is that each time you double the size of an image, it takes 4 times longer to double another time.

You can find this option by going to the img2img tab in automatic1111, click on scripts at the bottom of the page and select sd upscale.  

You want to set the cfg scale and sampling steps high, and set the denoise strength low. Change your prompt to just "highly detailed."  Play with this to get the effect you want.  

By setting the denise strength a little higher and using a prompt like leaf for an image of leaves you can create an image of a leaf made up of tiles of little leaves. 


Monday, July 24, 2023

Found the deep fake extension.

 I found the roop deepfake extension in stable diffusion.  It works so great that it is astounding.  This is me as a dwarf, an elf, a hobbit, a barbarian, and as an old man. 










Monday, July 10, 2023

This is from an ai model trained on thousands of jwst images.



Playing around with Stable Diffusion XL on a web site.

 That is the next generation stable diffusion that is going to take serious hardware to run.

The uncrop tool is very cool.






Tuesday, July 4, 2023

What is a Lora

I am writing these articles because I just learned them myself.  

A lora is an ai model that was trained on top of a huge general purpose model.  It is specialized for a limited subject area. It stands for low rank adaptation.  This area could be an art style, a character, clothing, or a location/setting.  And you can use a few of these lora at the same time.

The big model was created using tens of thousand of enterprise class high RAM GPUs.  This can only be done at great expense, expertise, and it takes millions of hours of time spread across all these machines.  But that work is now done and doesn't need to be repeated.  These general purpose models are awesome, they know a little bit about almost everything.  But they don't know a lot about any one thing.  

This is where lora comes in.  As an individual or small company you might need to make images that the larger model doesn't know much about.  Let's say you are making images for a game you are creating and need to make an image of a beholder.  Now the big ai model might have an idea of a beholder because it ran across a couple of images in the millions of files it was trained on.  But it doesn't make very good beholders.  So on your home computer you can collect up all the images of beholders you can find, convert them to a standard size, tag them with text labels, and then train the new model using stable diffusion in a few hours. Then by invoking the lora in your stable diffusion prompt along with a big main model you can place beholders in all sorts of new situations.  You can use as few as a dozen images, but a few hundred is better.

Because it didn't take much effort to create one of these lora people share them with each other. https://civital.com is one of the main sites this happens on.  Word of warning, that site has a lot of adult content, but it is heavily censored by default, so nobody is forcing you to look at the pictures. 

To use a lora from this site, download it, and put it in stable-diffusion-main/models/Lora

At this point you can also take a couple of minutes to create an information file next to the lora.  Create a file called lora-name.description.txt next to the lora. The lora-name isn't literal, it should match the name of the actual lora, except for the .safetensor ending.  In this file, cut and past the keywords used to activate the lora and maybe an example prompt or two from the web site. People post their own examples and the positive and negative prompts they used to create the image. 

To use the lora now that it is installed in the right place do the following.  If you click on the little show/hide extra networks button under the big generate button it will show you everything you have installed on your machine.  This will open up a new extra networks section in the webui.  There is a reload button in that section so you can see the ones you just put in. You just have to click on the lora icon to include it in your prompt.   The text file you created and populated is visible at the bottom of the icon for the file.

These is even a civitai helper that will download thumbnails and the training info used to create a model. There is another plug in that is supposed to manage the keywords for you, but I haven't figured that out yet.

Here is an example. This image was created with a 36MB beholder lora, the stable diffusion prompt is there.

https://civitai.com/images/1256610?modelVersionId=102225&prioritizedUserIds=935296&period=AllTime&sort=Most+Reactions&limit=20

The bit inside the angle bracket is the lora, <lora:beholder_v1-000092:1>. It has lora, there are other networks too, so you have to tell what kind this is, then the name, then : strength.  Sometimes you have to change the :1 to weaker, :0.8, or stronger, :1.2, for the best effect.  the word beholder is the new keyword that the lora has been trained to respond to.

I hope I have been clear.  This is everything I know about loras right now.


Monday, July 3, 2023

Automatic1111 has automation by default.

 At the bottom of the text 2 image tab is a section called script.  This is a dropdown with these options:

  • None.
  • Prompt matrix.
  • Prompts from file or text box.
  • X/Y/Z Plot.
  • One Button Prompt.
  • Controlnet m2m.

None is the default. It turns this section off.

--

Prompt matrix.  You can create a list of options inside a set of angle brackets separated with pipe symbols and get an image for each option.  

A male (<dwarf | elf | human>) warrior.

Would generate 3 images.

A (< male | female>)  (<dwarf | elf | human>) warrior

would generate 6 images. 

A (< male | female>)  (<dwarf | elf | human>) (<warrior | cleric | thief | wizard>) 

would generate 24 images.

--

Prompts from file or text box lets you feed in a list of newline separated prompts which each get ran.

--

X/Y/Z plot lets you pick three options and lets you vary these with each execution, then gives you a nicely formatted and labelled set of images that will let you learn what varying these options do.  And the best result is already generated for you in the output file.  

You can give a range for it, 5-7 which would give 5, 6, 7 on an axis. you can say 5-6 (+.25) to go from 5 to 6 in quarter steps, or give 2-10 [2] to go in steps of 2.  

The models and diffusers are added to a list with mouse clicks. Just put the ones you want to compare in the plot in your list.

--

One button prompt generates an image at random. Kind of a dealer's choice.

--

Not sure what the last option does yet.


Wednesday, June 28, 2023

Generate forever in stable diffusion

 Now this is a curio shop I'd want to patronize. 

Using stable diffusions generate forever mode which lets you see the image that was generated and make changes and the changes are used in the next image generated.



Overachiever.

 Mom's pepper plant is an overachiever.




Tuesday, June 27, 2023

Explain the matrix in terms of the hero's journey

The matrix can be seen as a representation of the hero's journey, a common narrative structure in many myths and stories. In this structure, the hero embarks on a journey of self-discovery and personal growth, facing various challenges and obstacles along the way.

In the matrix, the hero's journey can be broken down into the following stages:

The Call to Adventure: Thomas Anderson, better known as Neo, is rescued by Morpheus from his mundane life and introduced to the real world, which he soon learns is a simulated reality called the Matrix. This is his call to adventure, as he is presented with the opportunity to leave his old life behind and embark on a journey of discovery.

Refusal of the Call: At first, Neo is hesitant to believe Morpheus and accept the truth about the Matrix. He struggles with the idea that his entire reality could be a lie and is initially unwilling to take on the challenge of freeing humanity from its virtual prison.

Meeting the Mentor: Morpheus becomes Neo's mentor, guiding him through the realities of the Matrix and teaching him how to use his latent abilities. He serves as a wise and experienced guide, helping Neo navigate the challenges he will face.

Crossing the Threshold: As Neo becomes more involved in the fight against the Matrix, he begins to cross the threshold into a world of danger and uncertainty. He is forced to confront the harsh realities of the situation and the true extent of the power held by the Matrix and its creators.

Tests, Allies, and Enemies: Throughout the film, Neo faces a series of tests and challenges that help to develop his skills and abilities. He gains allies such as Trinity and Morpheus, who support and encourage him on his journey, while also facing enemies like Agent Smith, who represents the forces of oppression and control.

Approach to the Inmost Cave: As Neo becomes more confident in his abilities, he begins to take more risks and confront the Matrix in more direct ways. He delves deeper into the heart of the Matrix, facing increasingly difficult challenges and confronting his own inner demons in the process.

Ordeal: The climactic battle between Neo and Agent Smith represents the ultimate test of Neo's abilities and his commitment to the cause. It is a fierce and intense struggle that pushes Neo to his limits, both physically and mentally.

Reward: After successfully defeating Agent Smith, Neo is hailed as a hero and is given the power to control the Matrix. He has proven himself as a capable and worthy leader, and is rewarded with the ability to help free humanity from its virtual prison.

The Road Back: With his mission accomplished, Neo must now find a way to bring an end to the Matrix and free humanity once and for all. He embarks on a new journey, this time with a greater sense of purpose and determination, as he works to bring about the downfall of the Matrix and restore the true world.

Resurrection: In the final battle, Neo sacrifices himself to save Trinity and the rest of humanity, but is later resurrected by the Matrix. This represents a symbolic death and rebirth, as Neo emerges from the Matrix stronger and more powerful than before.

Return with the Elixir: Having defeated the Matrix and saved humanity, Neo returns to the real world as a hero and a symbol

The 21st century, looking back...

The history of space colonization can be traced back to the late 20th and early 21st centuries, when several influential families from different countries and backgrounds played a key role in advancing the exploration and settlement of outer space. These families were motivated by various factors, such as scientific curiosity, economic opportunity, environmental concern, political ambition, or personal vision. Some of them were pioneers of commercial space travel, such as the Musk family of SpaceX, the Branson family of Virgin Galactic, and the Bezos family of Blue Origin. Some of them were leaders of national space programs, such as the Zhang family of China, the Mishra family of India, and the Rogozin family of Russia. Some of them were founders of private space organizations, such as the Tito family of Inspiration Mars Foundation, the Bigelow family of Bigelow Aerospace, and the Diamandis family of X Prize Foundation. Some of them were advocates of space colonization, such as the O’Neill family of Space Studies Institute, the Zubrin family of Mars Society, and the Hawking family of Breakthrough Starshot.

These families contributed to various aspects of space colonization, such as developing reusable launch vehicles, establishing orbital habitats, landing rovers on Mars, sending probes to other planets and stars, mining asteroids and lunar resources, growing food in space, and creating artificial gravity and atmosphere. They also faced various challenges and risks, such as technical difficulties, financial costs, legal disputes, ethical dilemmas, social conflicts, and environmental impacts.

Many of these families also married into either Himalayan or Peruvian populations because of their high altitude adaptations that gave them an advantage in living and working in low-pressure and low-oxygen environments. These adaptations included increased lung capacity, higher hemoglobin levels, lower heart rates, and greater resistance to hypoxia and cold. These traits were inherited by their offspring, who became the first generation of true space colonists.

Tuesday, June 20, 2023

Monday, June 19, 2023

How I am creating print ready images using stable diffusion.

 First of all I run at least a dozen images at 512x768 using Euler diffusion model at 12 steps.  When I find a couple images I like I use those seeds as the seed value and extra seed value set at 0.1 or 0.2.  I switch to a DPM++ 2M Karras diffusion model at 28 steps and run at least 4 images. Then I take the best one of these, upscale it 2 times in the extra section using the R-ESRGAN 4x++ upscaler, send it to image to image section. Here I set 27 steps and switch back to Euler, for some reason it just does have those steps.  This adds in all the detail back at the 1024x1536 resolution.  Then I upscale it again by 4 this time which gives me a highly detailed 3000x6000 image.

You can see the steps in the image below. 



These are not photos

These are print ready ai images that take about 3 hours each image on my old intel macbook air. 




 



Saturday, June 10, 2023

Consistant AI Image generation

 Starting to get very consistent results in my AI art. The key is to not change your viewpoint during the prompt. If you give the AI two or more ways to look at what you are describing, it will try to incorporate every view into the drawing, and it will look bad.




Monday, June 5, 2023

Got automatic1111 dialed in.

 Using the RPGv4 model on automatic1111, a stable diffusion based ai image generator, on an old intel macbook air and going through all the examples in the manual.   9 images in each of these grids take all night to generate.





AI upscaling is like magic

 The ai upscale model in stable diffusion is like magic. R-ESRGAN 4x+ is what I used.  This is an example I downloaded to show it in action.  The original image is in the upper corner.   Weird, it got rotated on this web site.



Wednesday, May 31, 2023

Tuesday, May 30, 2023

Stable diffusion is now running on my old intel macbook.

 The training wheels are off! 

I finally got stable diffusion working on my intel macbook and the results are pretty amazing. It really is the cutting edge of ai image generation.  I am able to use lora and embeddings now and they really give you a lot more control over what you are creating.  I now get a 1024x1024 resolution image that is looking like a photo. It takes a little more time per image, but the stable diffusion I was lucky to get one file out of 10 that was usable.  Now about half are ready to go as is and the other half could be ready with an inpaint session and some gimp editing.

I am amazed at the number of options that I didn't have with previous ai image creations. I never knew that there were so many options to create the random noise between each step. And there are just as many ways to resize, including ai resizers that actually create details that didn't exist at 512x512 when it gives you a file at 1024x1024. It looks like a photo.  Once I figure out how to use control net and some other things to position the characters on the image I will really be cooking with gas.

And the plugins that let you control how your tokens work together is amazing, a real game changer.  I read the github page that said how it worked and I didn't understand it at all. *L* Not to mention a plugin that lets you queue up jobs so that you can train on some images and then use that model to create images all overnight. Or lets you queue up a dozen jobs that run over night so you can try out a bunch of new prompts.  Just amazing, and there are so many options that if I just talked about a couple of extensions a week it would take years to mention them all. Amazing what a community they have built around this and how much people are giving back. 

I haven't been this excited about software in a couple of decades. 

Tuesday, May 23, 2023

Coding using an ai assistant.

Playing with coding using my AI assistant to help, and we cranked out some code that can crank through multiple millions of primes a second.

Being a little rusty I was asking my chatbot for help with C data types and defines and letting it give me little coding snippets. It is the smallest possible model that still works, so it has limitations, but it did the best it could. It really was motivating to have the give and take, and just having a sounding board helped me work through issues rapidly.

When I went to a number over 1000000001 I had errors, but google gave me a web result to have me put an L at the end of the number, which let me go to 200 million and 400 million primes.

I was able to use google and a web page of primes to check my answers, but once I went over 32 bit values for primes nobody has that on the internet.

I did it!!! I reached the edge of the Internet!!!!

Whooooooooooo!!!!


% time ./a.out
The 100000001 prime number is: 2038074751
./a.out 33.60s user 0.77s system 98% cpu 35.051 total

% time ./a.out
The 200000001 prime number is: 4222234763
./a.out 75.01s user 2.64s system 92% cpu 1:23.71 total

%time ./a.out
The 400000001 prime number is: 8736028073
./a.out 166.52s user 83.27s system 76% cpu 5:27.65 total


This last value is the one I don't know is real or not. The values are scaling pretty linearly. But I think the reason that the last one took so long is that the prime sieve I was using used up all the memory.

I have a trick to not encode 2's, so this table will immediately drop by half when I use this trick, and initializing the table will take half the time too.

Forgot how much fun coding can be. :D

Monday, May 22, 2023

Why AI is scary.

The rate of change is just phenomenal.  Last year I started reading a lot about how the big companies have huge AI models running on basically super computers on the web.  This a few months later I heard that people are running these models on high end desktop machines running high end graphics cards.  Just in the last few months I got three AI programs running on my old intel macbook air. This machine has 8GB of RAM.  This is about the minimum to run AI, nothing runs on another intel machine with 4GB of RAM.  Having 16GB of RAM would things running faster or able to run bigger models.

Whisper AI can translate just about any language from just about any music or video file, into english subtitles. Including sung lyrics in a music video. A couple of years ago I wouldn't have believed this is possible.  This replaces the need for a translator and a person to do subtitles. 

DiffusionBee can make images from a text prompt. Just about anything you can describe. It helps to have models that were trained on the subject of the art.  A lot of these models have been reduced in size to just 2GB.  This eliminates the job of an artist. 

Finally llama.cpp is a dependency free program that lets you run a small chat model on a lot of different hardware. It is not super fast, but types its responses at the speed of a human being that is medium good at typing. This eliminates the need for a team of writers.  This eliminates the need for a programmer. It could teach math and science, so it eliminates the need for a teacher.

None of these things by themselves are all that wild, but I was never able to do these things on my computer before this. And now I can do all these of these things on an old laptop with a medium amount of RAM. No crazy processor, no high end, expensive, power hungry graphics card.  I have never seen software go from running on super computers to running on old hardware so rapidly.

And starting now just about every new computer, even phones and pad computers are going to have ai accelerator chips built into every processor.  A phone will be a faster ai than this old laptop.  I had my step dad run diffusion bee on his Macbook M1 laptop and it was literally 60 times faster than my laptop.  And this is the first generation of these models. Already people have figured out how to reduce the sizes of these models to very small sizes and still get real work done. Just imagine how powerful these models will get once they start training themselves.

The part that scares me is that just my one old macbook could do the jobs of a dozen people.   I don't think companies are going to let the opportunity to reduce their workforce while they multiple the ability of the remaining workers to do a dozen times as much work in a day.  I think the bigger companies are going to reduce their workforce by half, and smaller companies will become one person and an ai assistant in size.  

Last year I started having my order taken by robots in the drive-thru. How many workers does this eliminate from the workforce?  How long before every company has robots taking orders? Will robots do customer service too? Will robot supervisors manage the few workers that are left? 

I don't worry about robots destroying us. I worry about companies creating a huge depression from reducing the need for humans to work, until there aren't enough folks left to buy anything.  It took decades to recover from the Great Depression.  What could happen if governments don't get in front of this will laws to protect human workers, would make that Depression look like happy fun times.

Got a chat ai running on an old intel macbook air with 8GB of RAM.

 It is not a speed demon, but it types faster than a person.  Going to give details about what I used at the end.


I tried using the small model with the restrictions, but it was nearly unusable. It gave me 3 paragraphs about why it wouldn't answer a knock knock joke.  Seriously, why would you restrict jokes as somehow bad?  The uncensored version just works without huge disclaimers on every answer. 

This demonstrates that it knows a lot of math.



This is demonstrating that it can tell fairy tails in many different languages.


I was having a good conversation on moon bases and how to protect the earth from killer asteroids, when it confabulated that we can hide from volcanos in the dust, ash, and smoke from volcanos. 



I had it write an essay on potatoes, and it gave a really funny line : 

The introduction of the potato led to the end of the Little Ice Age, which had caused widespread famine across Europe.
This is a bad cause and effect fallacy and a huge jump in topic in the same sentence.  


How I got it working

I used llama.cpp from this link:

https://github.com/ggerganov/llama.cpp

I just followed the directions at the bottom of the page. 



I used the q5_0 model from this web site:


If you have 16GB of ram you can probably run the 13B parameter file which is twice as big.

Put this model in the llama/models/ directory.

I put the following command in a script file to make it easy to run:

#!/bin/bash


#

# Temporary script - will be removed in the future

#


cd `dirname $0`

cd ..


./main -t 4 -m models/WizardLM-7B-uncensored.ggml.q5_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -i -ins


I put this file in the examples directory and made it executable. 


Then I run the script and it works. 

Planted a maple tree.

 :D



New flower in the yard.

 :D 



Monday, April 17, 2023

Thursday, April 13, 2023

Monday, April 10, 2023

Open source chat ai models

7 differently sized models for your ai chat botting pleasure.  These are open source models with a license that gives you wide latitude in what you do with them.


 https://huggingface.co/cerebras

Sunday, April 9, 2023

Saturday, April 8, 2023

Recommendations should be a plugin that people can choose for a website.

 It would be nice if a framework could be introduced that allows recommendations to be given based on a plug-in chosen by the user.  Maybe running at a higher level than website.  

Based on a comment from a friend.

Yeah it would be cool if there was a common interface for recommendations algorithms, then third parties could develop their own and it could plugin to the various social media platforms.

Monday, April 3, 2023

Bookshelves, second look.

 Took down the bookshelves I put up on the left side as you walk in. Putting them back up with brackets, spaced apart for air circulation and to make them look better. Cut old weathered 2x4s to turn them into finishing and support boards for the fronts of the shelves.



Rhubarb is doing amazing

 



Solar cooking test

 Rigged up a solar oven with a cooler and a big sheet of glass. It was getting over 176 degrees. It heated up taco shells perfectly and the refried beans and taco mix were at 150 degrees. It did take a few hours.