On the Left and Datacenters


People on the right are often criticized about their paranoia about things like vaccines and wifi signals. Left wing critics will say to them: trust the facts, trust the science, ignore the conspiracy theories springing up everywhere. I think that’s good advice.

I think the same advice should apply to the left when it comes to data centers. Two cases I came across this week makes me think something else is happening.

First off, I read this piece about a research group is on the hunt for hidden data centers. This group, epoch.ai, is using satellite imagery and other sources of information to do this. I found this surprising, since there are other organizations (e.g. CBRE) that track data centers throughout the world. It’s pretty common to do. And unlike CIA black sites or nuclear facilities, it’s in the interest of companies building data centers to let the world know they are doing so. Keeping it a secret is not very good for them.

You could argue that tracking data centers makes sense in terms of their power and water usage. That’s a valid claim, though I think there are better ways to do it. I’m also not convinced this is the best way to push back on resource hungry hyperscalar datacenters. I think communities, cities, provinces and states need to understand the impact of such facilities and push back when these facilities harm them, but to act like its a mystery that can only be dealt with using spycraft does a disservice to readers who are concerned about such things.

The second piece I read about was this one which criticized the building of data centers in places where it was too hot. While reading it I was looking to see if the writers would draw the connection between the placement of data centers, undersea internet cables and Internet Exchange Points (IXPs or IXs or NAPs) Alas I did not find any such references.

There are many reasons why data centers are placed where they are, but one of the key ones is proximity to IXs! Even with the blazing high speeds of current Internet connectivity, the closer your data center is to an IX, the better it will be. A data center built miles and miles from IXs (which will be close to Internet cables) makes no sense. The fact that I could read that second piece and not see this pointed out makes me wonder how much the authors understand the technology, and if they don’t understand the tech, what benefit such a piece is, other than as a hit piece on data centers. It’s not a piece people can come to and gather facts and a better understanding of data center placement.

There are lots of ways for the left to criticize data centers, but if they don’t do it with facts and reason but come at it conspiratorially, they’re no better than the right and their paranoia about vaccines and wifi.

You might think you want band steering on your home router, but maybe you don’t :)

If you are having problems with your WiFi network at home, it could be a band steering problem. Let me explain.

If you have home Internet and a relatively new router which supports WiFi, it may support communications on two bands: 2.4 Ghz and 5Ghz. It’s also likely that you have band steering. What this means is that you only have one connection point in your network, and the router will steer your device to the appropriate band depending on which one can deliver better performance at a given moment. This piece explains it well.

Normally this is a good thing. But I am here to say that some times it is not.

One of those times happened on my router last week. I was getting terrible response time with my WiFi. I was pinging 8.8.8.8 and instead of it taking less than 30ms it was taking 300ms or 500ms or even greater than 1000ms. I tried everything to reset the router, but nothing worked. I thought maybe some of the older devices were causing the problem on my network somehow. I wanted to put them on the 2.4Ghz band and have my computer joing the 5GHz band, which is something that worked for me years ago. Alas, my router has band steering, so we were all getting lumped together.

Fortunately it was easy to go into the router settings and disable band steering. I did that and created a default connection point and a 5GHz connection point. When I did that, I discovered an interesting thing.

It turns out the 2.4Ghz band range was fine! When I joined it, my response times for my pings were down in the 20-25ms range. However, when I joined the 5GHz band, my response times were terrible again! I don’t know why that is. I suspect there’s a problem with my router. But as some folks like to say, that is a January problem.

So the next time you are having WiFi problems and you have the choice of accessing your network through different bands, consider turning off band steering and see if that helps isolate the problem.

You might think you want to run your code in a Docker container on AWS ECS vs having it run on a AWS EC2 server, but you are wrong :)

You might think you want to run your code in a Docker container vs having it run on a server. Next you might think you want to run it on AWS’s ECS (Elastic Container Service) because you assume that is easier than going full blown Kubernetes.  Let me try and dissuade you from this and try and persuade you to stick with a VM running on EC2 (Elastic Compute Cloud).

Last week I wanted to take some code I had and run it on ECS. But before I did that, I did an experiment: I created a dockerfile that was just a simple web site that consisted of a Python Flask app and some HTML files. There was a wrinkle: I wanted the HTML files to sit on a file system outside the container. It’s easy enough to do with Docker and a command like this on an EC2 instance:

docker run -p 8000:8000 –rm  -v /home/bernie/mydata:/app/mydata:ro website:latest

My container listens on port 8000 and any files in my /home/bernie/mydata directory are accessible within the container at /app/mydata

For a container running in ECS, it is an entirely different beast. You have to:

  1. Create a container registry in Amazon’s ECR (Elastic Container Registry).
  2. Make a Docker image and upload it to your container registry.
  3. Create a cluster in ECS.
  4. Create a Task Definition in ECS.
  5. Create an ECS Service, including setting up an ALB (optional), configuring security groups and configuring the VPC associated with the cluster.
  6. Set up an EFS (Elastic File System) to store the HTML.
  7. Set up an EC2 server to create / upload the HTML to. You cannot directly access the EFS you create to the container: you have to mount it to your EC2 server, load the files to the EFS, and then attach it to the cluster/container.
  8. Once you do all that, THEN you can access the simple Flask web site and the web pages you created.

MOST IMPORTANTLY, you have to DEBUG DEBUG DEBUG all through this process. Did you forget to add port 2049 to your security group rules? Fail. Did you forget to set your IAM settings correctly? Fail. Are your subnets set up wrong? Fail. On and on and on.

If you insist on doing it, then I have some useful links below. But if you can get away with a simple micro EC2 server with a simple software firewall in front of it, I highly recommend you go with this approach.

Creating a simple EC2 server? Easy. Having Docker running your container on your server? Easy. Getting your first container running on ECS? Not easy.

P.S. If you still think this is a good idea, then I recommend this: Deploying a Dockerized Web App on AWS Using ECS and Fargate: A Step-by-Step Guide. Deploy a dead simple container first just to work out all the issues you will have with ECS and any other AWS services, and once you have the ability to do that, proceed with more complex containers.

If you want to do it using the AWS CLI, I recommend this repo: Developing and Deploying a Basic Web Application on Amazon ECS Using Fargate.

More good pieces to read: here

P.S.S. Another consideration: while a container running in ECS isn’t too expensive, it’s more expensive than a micro EC2 server. Which is also more expensive than serverless computing using AWS Lambda (although Lambda is more complicated than an EC2 server).

P.S.S.S. I went through this process because the client I was working on had a mandate to deploy code this way. Hence this exercise. The client has good reasons to do things this way: most enterprise clients do. If you are not an enterprise, make your life easier.

1984: the year computing changed

The above photo is from a 1984 photo of a worker at IBM in Böblingen. It’s a fairly typical image from then (I know, I was there at that time, though in a different place.) Most of the computer equipment in that room is associated with the mainframe that he’s working on: tape drives (back right), storage (front right), network (front left), consoles (middle). The one exception is the IBM PC behind him.

1984 was the year Apple introduces Macintosh. 1984 is the start of the personal computer revolution that would sweep all that mainframe technology aside. And while the Mac was important in the PC revolution, the IBM PC was just as important.

P.S. I thought of that when I heard the IBM campus at Böblingen is being phased out.

P.S.S. IKEA is currently selling a version of that table, here (the BAGGBODA).

 

On the recent AWS outage of October 2025

Looks like AWS just published their post-mortem of their big outage this week: you can find it here.

For a lay person, this explanation might suffice.

CNN also has a good synopsis that includes other recent major outages and asks: why does this keep happening?

I think it is safe to say that we will see more of these major outages in this decade. So keep good backups, among other precautions. 🙂

My dream of working from home started with this ad for IBM and Coppola’s Thinkpad (publish those visions you have)

The computer above, and the ad it is, came out in the mid 90s.

It was possible to work from home then, but it was not easy. I used to have a luggable computer that weighed 40 pounds and which I would …lug… home every day one summer to work from home. What I dreamed for, though, was to work from home with a small laptop like Coppola’s. A laptop where I could work from home daily, be it at a desk or in a beautiful kitchen like the one above.

It eventually happened. The laptops got better, the networks got better, and eventually the work cultures got better and I could do this. My kitchen wasn’t as nice, but everything else was nice.

Creative people, keep putting out your visions for a better world. You never know what dreams people will have. It might be as simple as a dream of working on a laptop in a kitchen. A dream that becomes more achievable once people can envision it.

My annual robot survey, 2025 edition


Time for my annual review of what I’ve seen happening in the world of robotics in the last 12 months. Progress in robots, unlike other forms of IT, tends to be slower and incremental. Not surprising: robotics is hard. If you look at the robots I featured last year and compared them to these robots, you won’t see dramatic changes. Still, it is interesting to note the progress made and the limitations still encountered.

Robots in factories are still where the bulk of robots can be found. Despite widespread adoption, they still have issues with basic tasks, as this study of robots in Amazon warehouses shows. Will that mean we are away off from amazon having package delivery humanoid robots? I’d say yes.

Home robots tend to be limited to one floor. But according to this, they are close to navigating stairs. That could be a game changer. Maybe some robots will get around your house like this tiny pogo robot does? Call me skeptical. Still, engineers keep trying to give robots more range, as we see here.

Not all home robots are limited to the floors of your house. This here contratrapion is a brainless soft robot that runs on air, while these 5 robotic lawnmowers hit the great outdoors. Speaking of robots and grass, there may come a day when your caddie is a robot.

It’s not all hard labour for home robots. These cute little fellows are mainly for emotional support for seniors. I question whether this pomodoro desk robot is an actual robot but I do agree it is the “cutest way to boost your productivity “. Speaking of desktop robots, this cute desktop robot gets gloomy when your room becomes unhealthy.

Finally, not all robots are cute: a lifelike robot that mimics human anatomy with complex muscular system is pretttttty creepy (see below).

One last note: the province of Ontario “began a ten-year pilot program in 2016 to allow the testing of automated vehicles (AVs) on Ontario’s roads under strict conditions, including a requirement to have a driver for safety reasons.” (In my mind, AVs are just another form of robots.) The program is still on going and I expect to see more developments on it. You can read more on that, here.

Thanks for reading this. I’ll be curious to see what happens with robots over the next year. Let’s see!

A good guide of how to create a web page with some css

If you want to create a basic web page with some css, I recommend you check out this. In no time you will have a web page structured like this:

If you want to have something even simpler, I have it here.

Of course you can use something bootstrap to make a nice webpage too. Indeed a page built with bootstrap is more flexible than the page above. For more on that, check this page out.

Some thoughts on using chatGPT to write a program to determine which foods are fresh in Ontario

It is easy to find out which foods are fresh in Ontario. There are several guides, including this one from Foodland Ontario, that can help you with this. However, I wanted a particular guide that would list for me all the fresh foods for a given month only.  And since I couldn’t find a guide like that, I decide to write a python program to make such a guide.

In the past, to write a program like that, I would go through sample code I have, pull out bits of code that were good, and cobble together something from all these bits. Lately, though, I simply ask a service like ChatGPT or others to write the code for me. I find nowadays it’s just so much faster to go that route. Call me lazy. 🙂

Since I wanted this done quickly, I pointed chatGPT at the Foodland Ontario guide and asked it to do the following:

Write a python program that strips out the text on this page https://www.ontario.ca/foodland/page/availability-guide?gad_campaignid=22412095602
and leaves just the foods and the month they are grown on. Include all food that states that is Year Round.

Did ChatGPT do that? Yes, it did. Was the program any good? No, it was not! It somehow looked at that web page and decided the values were stored in a table, even though they were not. The web page is more complex than that and so the program was a pretty failure.

After many prompts, I gave up and took an alternative approach. For this new approach, I stripped out the data manually and created a simple CSV file. I then asked ChatGPT to write a program to process the CSV file. Since it is a simpler file, ChatGPT was able to produce a workable Python program that was able to process the CSV file and output the information I needed.

Perhaps a more skilled prompt engineer could have written a better prompt to process the code. I dunno. I am finding that LLMs — not just ChatGPT — are fine with writing some straightforward code based on non-complex inputs and outputs. They are not so fine once the inputs or outputs get complex. But that’s just my experience. YMMV.

I have also concluded that even warmer months like May in Ontario do not have much in the way of fresh food. No wonder there are so many food stories on asparagus and rhubarb! 🙂 You really need to hit June or later before you get into a cornucopia of fresh produce.

If you’d like to see the end result of my coding, go here to this repo: https://github.com/blm849/ontfoods

 

It’s time for PI (What I find interesting in tech, special raspberry pi edition, Mar. 2025)


Over the last year I’ve been working with various Raspberry Pi products, from the Pi Pico to the all-in-1 400 series. Along the way, I’ve found these links / articles to be useful for me. I hope they might help you too.

How To Guides: Here’s a variety of how to articles for various Raspberry Pi products:

LCD/OLED output: If you want to use LCD or oled displays with your Pi, check out how to get Billboard Scrolling with LCD Display & Raspberry Pi Pico. Here’s how to get your raspberry pi working with your oled. More on that, here: using ssd1315 oleds with the raspberry pi pico. Also here .

RPis’ config.txt: If you want to use your Pi with an old composite display, then you need to learn more about the config.txt file. So here’s click on the links to know about the config.txt file: here and here and here and here.

If you are having problems with output display, check those out. Also, how do i shrink the screen with composite out is good. So is this: how to add an rca tv connector to a raspberry pi zero. 

Pin settings: Pin settings articles for the Raspberry Pi are here and  here and  here. Finally, here’s the pin layout for the  Digispark Pro. More on the Digispark here.

P.S. Posted on 3/14 for obvious reasons. 🙂

Generative AI = relational databases

tables of information

 

Imagine you have a database with two tables of information: customer information and account information. The one piece of data that both tables share is account ID. With relational database software, you can use it to tie the two tables together. So if a customer comes to you and asks for their current balance, you can ask them for their account ID and some other personal info. Then you can query that database with the account ID and verify who they are because you can see their customer information and then once you validate them you can also see their account information and you can get the computer to print out their balance. The database, in this case a relational database, relates the two source of information (customer info and account info) and lets you retrieve that information.

Now the nice thing about relational databases is you can further relate that information to other sources of information. If you have a table of products you want to promote to customers depending on their net worth, you can query the database for the accounts that meet the product criteria and then pull up the customer information and mail them the information about their product. You’ve related three different tables of information to do this and pulled it together using a query.

When it comes to generative AI, the prompt you enter is also a query. The gen AI system doesn’t search tables though. Instead it searches a model it has that was build with sources of information it was trained on. If it was trained on Wikipedia, then all those pages of Wikipedia are not unlike tables being queried. The difference is the gen AI system uses its algorithm to determine how all that Wikipedia knowledge relates to your query before it gives you a result. But in many ways you are querying the gen AI systems just like you might query a relational database.

Of course generative AI has much more power than a simple relational database. But in many ways the two things are the same. We need to start looking at it then the same way. we can do many clever things with relational databases but don’t think of them as intelligent. The same should hold for generative AI.

 

Some thoughts on data centres and the environment

325 Front Street West III

People are worried about data centres.

People are worried about data centres and carbon emissions, especially if they read articles like these: Google’s carbon footprint balloons in its Gemini AI era, or Microsoft’s AI obsession is jeopardizing its climate ambitions or Google’s greenhouse gas emissions are soaring thanks to AI or Exxon Plans to Sell Electricity to Data Centers.

People are also worried about data centres and water usage after they read articles about how much water is used for each ChatGPT query.

And when people read pieces like this, Amid Arizona’s data center boom, many Native Americans live without power, they are no doubt worried about what data centres do to the communities where they reside.

My thoughts on this, as someone who has worked in data centres for 40 years, is that there are valid reasons to be concerned, but there are positive aspects to data centre growth and it’s important to keep those in mind.

Data centres are simply places with a concentration of information technology (IT). One time companies had data centres on a floor of their building, or in special buildings in locations like the one pictured about on 325 Front St in Toronto. These days, many companies are moving from hosting their own technology in their own buildings and moving that tech to cloud computing locations, which are just another form of data centre.

I believe that’s this migration to the cloud is a good thing. As this states:

Research published in 2020 found that the computing output of data centers increased 550% between 2010 and 2018. However, energy consumption from those data centers grew just 6%. As of 2018, data centers consumed about 1% of the world’s electricity output.

Moving workloads from on premise infrastructure to cloud infrastructure hosted in big cloud data centres saves on energy consumption.  One of the reason for the savings is this:

…normally IT infrastructure is used on average at 40%. When we move to cloud providers, the rate of efficiency using servers is 85%. So with the same energy, we are managing double or more than double the workloads.

You might think all this data centre growth is being driven by things like AI and crypto, but according to this IEA report:

Demand for digital services is growing rapidly. Since 2010, the number of internet users worldwide has more than doubled, while global internet traffic has expanded 25-fold. Rapid improvements in energy efficiency have, however, helped moderate growth in energy demand from data centres and data transmission networks, which each account for 1-1.5% of global electricity use.

That’s the key point: the demand for digital services is driving the growth of data centres. Every time you watch a video on your phone or pay your bills on your computer, you are using a data centre. Even things like the smart meter on your house or the computer in your car or the digital signs you see interact with a data centre. You use data centres pretty much all day, sometimes without knowing it.

The good news is that there are innovations to make them greener are happening with them, like this new method for liquid-cooling data centres that could make the waste heat useful. And it’s good that IT professionals are moving towards green cloud computing.  But it’s not good that with the rise of technologies like generative AI, IT companies are having a difficult time keeping up with the demand and sticking to their green targets.

Speaking of gen AI, I think energy costs associated with AI will peak and come down from the initial estimates. Indeed, when I read this article Data centres & networks – IEA, and in particular this…

Early studies focused on the energy and carbon emissions associated with training large ML models, but recent data from Meta and Google indicate that the training phase only accounts for around 20–40% of overall ML-related energy use, with 60–70% for inference (the application or use of AI models) and up to 10% for model development (experimentation). Google estimates that ML accounted for 10-15% of its total energy use in 2019-2021, growing at a rate comparable with overall energy growth (+20-25% per year over the same period).

… then I am optimistic that energy costs will not be as bad as initially estimated when it comes to AI. I am not optimistic that we will not decrease our demand for digital services any time soon. Because of that demand, we need not just more data centres, but better ones. It’s up to companies to build them, and it’s up to citizens to keep the companies accountable. The best way to keep them accountable is to better understand how data centres work. I hope this post went some small way to doing that.

P.S. All the opinions expressed here are my own and do not represent the views of my employer.

(Photo by Jack Landau on Flickr)

Lessons learned from working on my Raspberry Pi devices (and Raspberry Picos too)

This week I successfully set up five Raspberry Pi devices at home: 3 Pi Zeros, 1 Pi 400, and 1 Pi original. Plus I have two old C.H.I.P. computers that work. I had struggled with using them in the past, but this time it was a breeze due to the lessons I’ve learned. Here’s some of these lessons:

Get wireless ones: I originally had Pi Zeros and Picos without wireless capability. And that can be fine if you know you don’t need it. But it is helpful to be able to have them communicate wirelessly and it gives you more flexibility, even if it costs a few more bucks.

Get headers: again, I had some Pi Zeros and Picos without headers. Unless you are good with soldering, get the ones with headers. It just makes it easier physically  connect them to other technology. The Pi Zero above has no headers, the one below does.

Keep track of all the connectors you need and kept them handy: With the Pi Zeroes, I have a set of adapters that allow me to connect it to power, USB and HDMI. Once I have it set up, I just need a cable to provide power and I run it in headless mode (which I can do because of wireless). I have a special box for all that stuff so I can easily find it.

Give your Pis unique hostnames: if you are going to be connecting to them via ssh or scp, then give them a unique host name. You can do this when you set them up. What’s nice about that is once they connect to the wireless network, I can easily identify them. For example, I can ping pizero1 or I can ssh myuserid@pizero2 versus trying to find out their IP address of 192.168.0.??

Designate a machine for setting up the Pis: for me, I have a Pi 400 that I use to program the Picos. And I have a Ubuntu machine to format the SD cards. But you do what works best for you.Having a consistent environment means when you run into problems, the problem is likely not with your environment but with the SD card or the Pico.

Avoid obsolete or tricky technology: in the past I got discouraged by trying to get old or tricky technology to work. I had old dongles that gave me errors when trying to build the SD cards properly; I had old unsupported Digispark devices that would not work at all; and I had some Adafruit devices that were cool but the path to success with them was challenging. In the future, I am sticking with tried and true technology from Arduino and Pi. Don’t make working with such devices any harder than it has to be.

Get cases for your Pis: if you are going to use them on the regular, get a case. Even a cheap case make it look like a finished and working device and not some hack. Not only does it look better, but it will likely work better (i.e. the cables will not move around and lose a connection). And make sure the case you get is made for your device so it will fit properly.

Document as you go: keep some log of what worked and what didn’t. Take photos of successful set ups. Save all the good web sites that helped out. Better still, blog about it. (If you search this blog for “raspberrypi” you will find the things I have found and written about.)

Good luck with your projects. May they go smoothly.

In praise of this 37 in 1 Sensors Starter Kit

If you’re like me and you’re doing work with an Arduino or a Raspberry Pi, you are going to want to hook it up to something. Now the something might just be a simple button or an LED, or it might be more sophisticated like an infrared receiver or a heat sensor. If that’s you, then you want to consider getting this:  KEYESTUDIO 37 in 1 Sensors Starter Kit for Arduino Mega R3 Nano Raspberry Pi Projects (on amazon.ca).

It says Sensors starter kit, but it has a nice collection of LEDs and buttons, too. Each of the 37 items are easy to plug into a breadboard or you can connect them to your Pi or Arduino with wires.

Other great things:

  • the sensors are all labelled. That means you won’t be pick one up months from now and asking yourself: what does this do?
  • their documentation is really good. It’s online, here. (Note, their site is slow: I printed the long web page into a PDF that I can quickly refer to.)
  • The sensors have their own resistors built in. That way you don’t have to put your own resistors between the Pi and an LED, for example.
  • there is a wide variety of sensors in this kit. You will be able to do many a project with all these sensors.

I’ve purchased sensors in the past, and the problems I’ve had with them are gone due to this kit. I’m glad I bought it.

 

 

When was the last time you refreshed your router? It could be time to do that

How long have you had your router in your house? Is it relatively new? If so, that’s good. However you might be like me and have a router that’s 3 or 4 years old. If that’s the case, it’s time to replace your router. Contact your internet provider and ask them if they can refresh your router with a newer one. (And if they can’t or won’t, consider switching internet providers.)

You might think: I don’t want to go through the hassle of that. That’s what I thought too. It turns out it was a very easy thing to do in my case. I suspect that will hold true for you.

Hassle aside, what I also noticed is that I started getting much better upload and download speeds with the newer router without having to upgrade my plan. You might find the same thing, and that’s a good thing indeed.

So if you haven’t refreshed your router in a number of years, consider getting a newer one.

PS it doesn’t have to be a new device. In fact, the upgrade cost might be free if it’s slightly older than new but more recent than your current router.

Robots, robots and more robots.

I haven’t written about robots in awhile. That’s not for a lack of news stories about robots. We are finding them popping up all over the place.

Robots have always been used in manufacturing. Now they are moving into other businesses. Here’s a story of how robots are moving into restaurants. I’ve already seen one of these…it was less than impressive.

Drones are a form of robot. Here is a story on how IKEA is using drones for inventory management.

Wildlife has to be managed, too. This robot dressed up like a predator makes flights safer at airports by keeping wildlife away from runways.

The military is known for using robots. Here’s a piece on gun carrying robot dogs in the Chinese army. Not to be outdone,  the Canadian armed forces are ramping up with the use of drones.

Back at home, this unit from Samsung can vacuum and steam clean your floors. And this home robot comes with an arm. (No word on if it can unload the dishwasher.)

Speaking of vacuuming robots, this quadruped robot can pick up cigarette butts on beaches. That’s a good use of robots.

Back at work, these BMW robots being tested in their factories in South Carolina give off Terminator vibes. (see below.) More on them, here.

Boston Dynamics has it’s own Terminator like robots too. This dog like robot gives off Boston Dynamics vibes, but isn’t from B.D.

Here’s a robot that can become your child’s protector, teacher, and even playmate. Meanwhile, this one hangs out in your  kitchen and acts as an air purifier.

Here’s is a robot that is part of a work of art.

Finally, is the robot backlash starting? It already has in San Francisco, where a crowd vandalized a Waymo driverless taxi.

Computers and the Vietnam War: a cautionary tale

500
This piece, According to Big Data We Won the Vietnam War, should be read by everyone who  strongly believes the next new technology (e.g. gen AI) will be able to make decisive predictions to solve big problems (e.g. the Vietnam War).  The best computers and minds at the time thought they could win the war with technology. They were wrong then, and they will be wrong again.

If you think newer computers will win this time, reconsider that. If you think we learned our lesson last time, read this.

It’s summer. Time to hit the beach with a good…list of tech links :) (What I find interesting in tech August 2024)

The last time I wrote about what I find interesting in tech, it was winter. Now it’s anything but, and I have lots of things I’ve been studying in IT. Lots of material on COBOL and mainframes since I am working on mainframe modernization. But there’s stuff regarding Python, cloud, Apple computers and so much more. Let’s see what we have here….

Software: this section is so big I need to break it up! First up, COBOL:

Next, here’ some good stuff on Python:

And lastly here’s some general software links:

Mainframe


Apple…a few good links:

Some helpful cloud pieces:

  1. Getting start with the Container Registry,  here
  2. On  deploying a simple http server to ibm cloud code engine from source code using python node and go 
  3. Provisioning on ibm cloud using terraform with a sample_vpc_config 
  4. On  how set or restore remote access windows vsi 
  5. How to create a single virtual server instance (VSI) in a virtual private cloud (VPC) infrastructure on IBM Cloud, here.
  6. File Sharing through RDP from MacOS  here 

And finally, here’s a good set of Random links that were too good to pass up:

If you are using Google Fonts for your website and they are not working, check your web page for this…..

I was developing a web page for my site berniemichalik.com and I used some Google Fonts to make it look better. When I checked the page on my Mac using my browser, it worked fine. However when I uploaded it to AWS and checked it with my browser, the fonts were not working.

It turned out to be a simple error. The link statement I used looked like this:

<link href=”http://fonts.googleapis.com/css?family=Sedan” rel=”stylesheet” type=”text/css”>

Note the use of “http”. However to access my website, I used “https”. That misalignment caused the font not to work. Once I changed the link to the font to “https” like this:

<link href=”https://fonts.googleapis.com/css?family=Sedan” rel=”stylesheet” type=”text/css”>

It all worked fine.

 

AI: from the era of talking to the era of doing

AI a year ago was mostly talking about AI. AI today is about what to do with the technology.

There are still good things being said about AI. This in depth piece by Navneet Alang here in the Walrus was the best writing on AI that I’ve read in a long time. And this New York Times piece on the new trend of AI slop got me thinking too. But for the most part I’ve stopped reading pieces on what does AI mean, or gossip pieces on OpenAI.

Instead I’ve been focused on what I can do with AI. Most of the links that follow reflect that.

Tutorials/Introductions: for people just getting started with gen AI, I found these links useful: how generative AI works, what is generative AI, how LLMs work, best practices for prompt engineering with openai api a beginners guide to tokens, a chatGPT cheat sheet, what are generative adversarial networks gans, demystifying tokens: a beginners guide to understanding AI building block, what are tokens and how to count them, how to build an llm rag pipeline with llama 2 pgvector and llamaindex and finally this: azure search openai demo.

Software/Ollama: Ollama is a great tool for experimenting with LLMs. I recommend it to anyone wanting to do more hands on with AI. Here’s where you can get it. This will help you with how to set up and run a local llm with ollama and llama 2. Also this: how to run llms locally on your laptop using ollama. If you want to run it in Docker, read this. Read this if you want to know where Ollama stores it’s models. Read this if you want to customize a model. If you need to uninstall Ollama manually. you want this.

Software/RAG: I tried to get started with RAG fusion here and was frustrated. Fortunately my manager recommended a much better and easier way to get working with RAG by using this no-code/low-code tool, Flowise. Here’s a guide to getting started with it.

Meanwhile, if you want more pieces on RAG, go here, here, here, here, here, here, here, here, here, here, here, here, here, here, here, here, here, here, here, and here. I know: it’s a lot. But I found those all those useful, and yes, each “here” takes you to a different link.

Software/embedding: if you are interested in the above topics, you may want to learn more about vector databases and embeddings. Here are four good links on that: one  two,  three, four.

Software/models: relatedly, here’s four good links on models (mostly mixtral which I like alot): mixtral, dolphin 25 mixtral 8x7b,  dolphin 2 5 mixtral 8x7b uncensored mistral , Mistral 7B Instruct v0.2 GGUF,plus a comparison of models.

Software/OpenAI: while it is great to use Ollama for your LLM work, you may want to do work with a SaaS like OpenAI. I found that when I was doing that, these links came in handy: how OpenAI’s billing works, info on your OpenAI  api keys, how to get an OpenAI key, what are tokens and how to count them, more on tokens, and learn OpenAI on Azure.

Software/Sagemaker: here’s some useful links on AWS’s Sagemaker, including pieces on what is amazon sagemaker, a tutorial on it, how to get started with this quick Amazon SageMaker Autopilot, some amazon sagemaker examples , a number of pieces on sagemaker notebooks such as creating a sagemaker notebook, a notebooks comparison, something on distributed training notebook examples and finally this could be helpful: how to deploy llama 2 on aws sagemaker.

Software in general: these didn’t fit any specific software category, but I liked them. There’s something on python and GANs, on autogen, on FLAMLon python vector search tutorial gpt4 and finally how to use ai to build your own website!

Prompt Engineering: if you want some guidance on how best to write prompts as you work with gen AI, I recommend this, thisthis, this, this, this, this, and this.

IT Companies: companies everywhere are investing in AI. Here’s some pieces on what Apple, IBM, Microsoft and…IKEA…are doing:

Apple Microsoft copilot app is available for the iphone and ipad.

IBM: Here’s pieces on ibm databand with self learning for anomaly detection;  IBM and AI and the EI; IBM’s Granite LLM; WatsonX on AWS; installing watsonX; watsonx-code-assistant-4z; IBM Announces Availability of Open Source Mistral AI Model on watsonx; IBM’s criteria for adopting gen AI ;probable root cause accelerating incident remediation with causal AI; Watsonx on Azure; Watsonx and litellm; and conversational ai use cases for enterprises 

IKEA:  here’s something on the IKEA ai assistant using chatgpt for home design.

Microsoft from vision to value realization –  a closer look at how customers are embracing ai transformation to unlock innovation and deliver business outcomes, plus an OpenAI reference.

Hardware: I tend to think of AI in terms of software, but I found these fun hardware links too. Links such as: how to run chatgpt on raspberry pi; how this maker uses raspberry pi and ai to block noisy neighbors music by hacking nearby bluetooth speakers; raspberry pi smart fridge uses chat gpt4 to keep track of your food. Here’s something on the rabbit r1 ai assistant. Here’s the poem 1 AI poetry clock which is cool.

AI and the arts: AI continues to impact the arts for ways good and bad. For instance, here’s something on how to generate free ai music with suno. Relatedly here’s a piece on gen ai, suno music, the music industry, musicians and copyright. This is agood piece on artists and AI in the Times. Also good:  art that can be easily copied by AI is meaningless, says Ai Weiwei. Over at the Washington Post is something on AI image generation. In the battle with AI, here’s how artists can use glaze and nightshade to stop ai from stealing your art. Regarding fakes, here’s a piece on Taylor Swift and ai generated fake images. Speaking of fake, here’s something on AI and the porn industry. There’s also this  piece on generative ai and copyright violation.

Finally: I was looking into the original Eliza recently and thought these four links on it were good: one, two, three and four. Then there’s these stories: on AI to help seniors with loneliness, the new york times / openai/  microsoft lawsuit, another AI lawsuit involving air canada’s chatbot. stunt AI (bot develop software in 7minutes instead of 4 weeks) and a really good AI hub: chathub.gg.

Whew! That’s a tremendous amount of research I’ve done on AI in the last year. I hope you find some of it useful.

On futzing around with code

An example of a Prolog program

I was futzing around with code the other day. I wrote some html/css/javascript and then I wrote some unrelated prolog code. None of it had any value. The code didn’t solve some important problem. Some might consider it a waste of time.

But it wasn’t a waste. In both cases, I learned skills I didn’t have until I wrote the code. Those skills have value for the next time I do have to solve an important problem. Besides that, I enjoyed myself while coding. I was proud of myself for getting the code to work. That enjoyment and pride have value too.

Futzing around is a form of play, and any form of play is good for us as humans. Remember that the next time you consider taking on seemingly useless activities.

 

If you are using python packages like xmltodict or yaml, here is something to be aware of

If you are using python packages like xmltodict or yaml to write and read your own XML and yaml files, you probably don’t need to know this. But if you are reading someone else’s files, here is something to be aware of.

This week I had to process an XML files in python. No problem, I thought, I’ll use a python package like xmltodict to translate the XML into a dictionary variable. Then I could edit it and print out a new file with the changes. Sounds easy!

Well, first off, it wasn’t too easy: the nesting was horrendous. However, with some help from VS Code, I was able to power through and get the value I want.

Here’s where I got burned. I wanted to change the text in the XML file, so I had a statement like this to read it


mytext = python_dict["graphml"]["graph"]["node"][nodecount]["graph"]["node"][i]["data"]["y:ShapeNode"]["y:NodeLabel"]["#text"]

and then a simple statement like this to change it to lower text:


python_dict["graphml"]["graph"]["node"][nodecount]["graph"]["node"][i]["data"]["y:ShapeNode"]["y:NodeLabel"]["#text"] = mytext.lower()

Very basic.

Now this particular file is an XML file that has a graphml extension, which allows an editor like YED to read it. YED can read the original file, but it turns out xmltodict writes the file in such a way that the YED editor can no longer see the text. I don’t know why.

I spent hours working on it until I finally gave up. I wrote a much dumber program that read through the graphml file a line at a time and changed it the way I wanted to. No fancy packages involved. Dumb but it worked.

This is the second time this year a package has given me problems. In late January I wrote some code to parse yaml files for a client to extract information for them and to produce a report. Again, there is a package to do that: yaml. Which is….good…except when the yaml it is processing it is poorly written. Which this yaml was.

Again, I spent hours linting the yaml and in some cases having to forgo certain files because they were poorly constructed. What should have been easy — read the yaml file, transform it, write a new yaml file — was instead very difficult.

And that’s often the problem with yaml files and XML and JSON files: they are often handcrafted and inconsistent. They MAY be good enough for whatever tool is ingesting them, but not good enough for the packages you want to use to process them.

I think those packages are great if you are making the input files. But if you are processing someone elses, caveat emptor (caveat programmer?).

Things better on the iPad than my iPhone

Apple released it’s latest iPad (Pro) recently and whenever this happens people debate the value of the iPad in general and ask questions like: is the iPad worth it? 

I used to ask myself that question too. After all, between my iPhone and my Macbook, I thought I had all the computing technology I needed. But in the last year I got a new iPad — not even the latest and greatest — and I have to say that the iPad just does certain things better than either one. It’s especially better than my iPhone for:

  • Streaming video: Disney, Netflix, YouTube and more are all much better than my iPhone.
  • The library app Libby is much better, especially with the magazine section
  • The news sites like the New York Times and Washington Post are great on the iPad
  • Instacart: I can see more options when I order from it
  • Shopping sites like Zara and Uniqlo are better too for the same reason
  • X and other social media sites look great on my iPad, but not threads or Instagram because of some design ideas Meta has that are wrong.

And what I like about the iPad over my Macbook is a) there is no work apps on it so I don’t get distracted by work b) I can recline with the iPad (I don’t like doing that with the Macbook…it’s just no comfortable).

That’s just a start of my list.  I’ll keep updating this list for anyone debating getting an iPad. 

Happy Birthday to Gmail, from this old Yahoo email user!

Happy birthday, Gmail! According to the Verve, you are 20 years old! The big two-oh! Sure, you had some growing pains at first. And then there was the whole period when you and your users felt snobbish about their gmail accounts and looked down on people with yahoo accounts. But that’s all water under the bridge. We’re all old now.

Google is notorious for killing off services, but it is inconceivable they’ll ever kill off you, Gmail. I expect you and your users will be around for a long long time. Heck even an old yahoo email account user like me uses Gmail from time to time. There’s no guarantees, of course, but I expect to be revisiting this post in 2034, god willing, and writing about your 30th. Until then…

The way to make your Apple Watch more useful is to change your App View

If you want to make your Apple Watch more useful, you want to change your App View. Here’s how.

On your iPhone, find the Watch app icon and click on it. Look for App View and click on it. From here you can change the view to Grid View. (Grid View looks like the watch in the photo above.) Now click on Arrangement.

Once in Arrangement, hold your finger on an icon of something you use often. Drag your finger tip and the icon to the top left. Keep doing that so all the Watch apps you will use the most are on the top rows. Once you have it the way you like it, exit the Watch app.

If you are stuck as to what to put on top, my top apps are:

  1. Stopwatch
  2. Workout
  3. IFTTT
  4. Weather
  5. Text
  6. Phone
  7. Calendar
  8. Heart rate monitor
  9. Activity
  10. Maps

I have a few dozen more Watch apps, but those are the ones I use often.

If you want to see what you can have on your Watch, go back to the Watch app on your phone and scroll down to see what apps are installed on your watch and what ones you can install.

Once you rearrange the Watch apps,  press in the crown on your Watch. You will now see the Watch apps organized the way you want. I bet you start pressing your crown more to access and use the apps you have installed.

The Apple Watch is great. Squeeze more greatness from it by taking advantage of the Watch apps you have.

Some quick thoughts on the Apple Vision Pro

Apple is a computing hardware company: if there is a market for a new form of computing hardware out there, Apple will make it. It was true of digital watches, smart speakers, and various forms of headphones. It’s now true of wearable AR/VR devices with the Apple Vision Pro.

The price doesn’t matter for now. If Apple is lucky, rich people will make it a Veblen Good like many of Apple’s Pro phones. Rich people like CEOs will want to be seen using it, even for a short time. Wannable rich pretenders like influencers will show it off too. All this buys time for Tim Cook and his COO to ramp up production for the next version. Who knows: in a few years there could be an Apple Vision SE?

The size doesn’t matter for now. IT always gets smaller in size or scales up in terms of capacity, and I suspect the Vision devices will do that too.

As long as Facebook/Meta is making these type of devices, I expect Apple will too. And once enough apps exist, expect other hardware manufacturers like Samsung and Lenovo to come out with their own version.

It’s possible that the Vision devices will be a dead end. They could end up like Apple TV. I suspect that won’t happen, but anything can happen. I suspect they will be like other wearable devices Apple makes: they won’t replace the Phone or the Mac, but they will be something in Apple’s product set for at least the next five years.

Let’s see what happens, now that Apple has committed to the device.

P.S. Two good reviews on it are in the New York Times and in the Verge .

Also, I still think spatial computing is the real story behind the new device. I wrote about that here.

It’s hard to think of an Apple device being a flop, but as I wrote here, it does happen.

It’s winter. Time to curl up with a good…list of tech links :) (What I find interesting in tech January 2024)

500Wow. I have not posted any tech links since last September. Needless to say, I’ve been doing alot of reading on the usual topics, from architecture and cloud to hardware and software. I’ve included many of them in the lists below. There’s a special shout out to COBOL of all things. Is there something on DOOM! in here? Of course there is. Let’s take a look….

Architecture: A mixed bag here, with some focus on enterprise architecture.

Cloud: a number of links on cloud object storage, plus more….

COBOL: COBOL is hot these days. Trust me.

Hardware: mostly but not exclusively on the Raspberry Pi….

Mainframe/middleware: still doing mainframe stuff, but I added on some middleware links….

Linux/Windows: mostly Linux but some of the other OS….

Software: another mixed bag of links…

Misc.:  For all the things that don’t fit anywhere else….also the most fun links….

Thanks for reading this!

Who let the (robot) dogs out? And other animated machines on the loose you should know about

A year ago I wrote: Sorry robots: no one is afraid of YOU any more. Now everyone is freaking out about AI instead. A year later and it’s still true. Despite that, robots are still advancing and moving into our lives, albeit slowly.

Drones are a form of robot in my opinion. The New York Times shows how they are shaping warfare, here. More on that, here.

Most of us know about the dog robots of Boston Dynamics. Looks like others are making them too. Still not anywhere as good as a real dog, but interesting nonetheless.

What do you get when you combine warfare and robot dogs? These here dogs being used by the US Marines.

Someone related, the NYPD has their own robot and you can get the details  here.

Not all robots are hardcore. Take the robot Turing for example (shown below). Or the ecovacs, which can mop your floors and more.

What does it all mean? Perhaps this piece on the impact of robots in our lives can shed some light.

Robots are coming: it’s just a matter of time before there are many of them everywhere.

Advent of Code: a great way for coders to celebrate this season

You’ve likely heard of Advent, but have you heard of Advent of Code? Well let the maker of the site, Advent of Code 2023, explain what it is:

Hi! I’m Eric Wastl. I make Advent of Code. I hope you like it! I also made Vanilla JS, PHP Sadness, and lots of other things. You can find me on Twitter, Mastodon, and GitHub. Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other. You don’t need a computer science background to participate – just a little programming knowledge and some problem solving skills will get you pretty far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.

It seems like just the thing for coders of all kinds, from amateurs to professional devs. Check it out. And if you want to get involved from day 1 in 2024, make a note on your calendar (assuming Eric still does it.)

The benefits you get running Ubuntu/Linux on an old computer and why you should get one

I am a big fan of usable old computers. After you read this, you will be too.

Currently I have an old Lenovo M57p ThinkCentre M series that was made around 2007 that still works fine and is running Ubuntu 20.04 (the latest version is currently 22.04, so this is very current). Not only that, but it runs well. It never crashes, and I can download new software on it and it runs without a problem.

Here are some the benefits of having such a computer:

  • it can act as my backup computer if I have a problem with my main work one. I can read my email at Yahoo and Google. If I need to, I can use things like Google sheets to be productive. I can download software to do word processing on it too. I can attend online meetings. Most of my day to day work functions can be done if need be.
  • it can act as a test computer. I was writing a document on how to use a feature in IBM cloud, but I needed to test it out with a computer other than my work machine (which has special privileges). This old machine was perfect for that.
  • it can also act as a hobby computer. I like to do things with arduinos and Raspberry Pi computers and the Lenovo computer is great for that.
  • it can help me keep up my Unix skills. While I can get some of that by using my Mac, if I had a Windows machine for work I would especially want to have this machine for staying skilled up.
  • it can do batch processing for me. I wrote a Python program to run for days to scrape information from the Internet and I could just have this machine do that while I worked away. I didn’t need to do any fancy cloud programming to do this: I just ran the Python program and checked on it from time to time.
  • It has lots of old ports, including VGA and serial ports. Will I ever need them? Maybe! It also has a CD-ROM drive in case I need that.

As for the version of Linux, I tend to stay with Ubuntu. There’s lots of great Linux distros out there, but I like this one. Plus most times when I come across online Linux documentation, I will find it has explicit references to Ubuntu.

Now you can buy an old machine like this online from Amazon or eBay, but if I can do this on a 15 year old computer, you likely can ask around and get one for free. A free computer that can do all this? The only thing that should be stopping you is how to get started. For that, you will need these Ubuntu install instructions and a USB drive.

Good luck!

P.S. The software neofetch gave the output above. To install it, read this: How do I check my PC specs on Ubuntu 20.04.3 LTS?

It may be time to ditch Evernote. I went with Joplin and it’s been great

Now that Evernote is all but killing their free plan, you may be considering moving. That was me awhile ago. I loved Evernote, but the restrictions and bloated features made me want to move.

I wasn’t sure what to move to, so I did some research. These two links were especially helpful:

I nixed migrating Evernote to OneNote because I use the latter mostly for work notes. And while I use and love SimpleNote, I like it only for specific purposes. I considered Obsidian, but it seemed more than what I wanted.

In the end I went with Joplin for a few reasons:

  1. Joplin made it easy to move my Evernote material into it.
  2. Joplin can run on my Mac, iPhone and iPad for free.
  3. With Joplin my notes are stored on Dropbox, which I like.
  4. Joplin seemed closest in features to Evernote for me.
  5. With Joplin I can use Markdown if I want.

I haven’t had any problems with Joplin since I moved to it many weeks ago. I kept Evernote on my Phone in case of problems, but I have not used it in ages. After I post this, I think it will be time to delete the app from all my platforms.

I was a big fan of Evernote. It was great. But Joplin is great too, and once you start using it, you won’t turn back.

P.S. Don’t just take my word on it. Read those links, too. You might find you want to go with one of those other tools. I use OneNote and SimpleNote all the time and I highly recommend those, too.

If you can’t write to your USB drive on your Mac and you want to fix that, read this

If you are reading this, chances are you cannot write to your USB drive on your Mac.

To force a USB drive to be both read and writable, I did the following (note, I had a Kingston drive, so my Mac identified it as KINGSTON and I went with that. If you buy a USB drive that is not from Kingston, you may see something different):

  1. In Finder, go under Applications > Utilities and start Disk Utility
  2. Click on your USB disk on the left (E.g. KINGSTON) and then click on Erase (top right)
  3. You can change the name if you want (I left it at KINGSTON) and make Format: ExFAT
  4. Once you do that, click the Erase button to format the disk
  5. Click on Unmount (top right) to unmount the disk
  6. Open a terminal window (Open Finder. Go to Applications > Utilities > Terminal) Enter the following diskutil list command in the Terminal window and note the results:
    diskutil list
    /dev/disk2 (external, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: FDisk_partition_scheme *62.0 GB disk2
    1: Windows_NTFS KINGSTON 62.0 GB disk2s1

    Note it my case the KINGSTON drive is associated with disk2s1. (you see that on the line “1: Windows_NTFS KINGSTON 62.0 GB disk2s1”. It may be different for you. Regardless, you want the drive name that comes after the 62.0 GB.)
  7. While in the terminal window, make a corresponding directory in the /Volumes area of your machine that has the name of your drive (in my case, KINGSTON)
    sudo mkdir /Volumes/KINGSTON
  8. Also in the terminal window, you can  mount your disk as writable and attach it to the mount point sudo mount -w -t ExFAT /dev/disk2s1 /Volumes/KINGSTON

You should now be able to write to your drive as well as read it.

How to cast your Chrome tab to your TV in October 2023

IF you are a fan of using Chrome to cast one of your tabs to a TV, you may be surprised to find that the Cast option is missing. Worse, if you look in places like Chromecast Help on how to Cast a Chrome tab on your TV, you may not find that all that helpful.

Fear not. The Cast option is still there, just hidden. As before, go to the top right of your browser where the three dots are and click on them. Then click on Save and Share… and look for Cast…

Now you can Cast as you did before.

How to work with Java on your Mac, including having multiple versions of Java on your Mac

The easiest way to install Java on your Mac is by using homebrew. Honestly, if you don’t have homebrew on your Mac, I highly recommend you do that. Plus it’s easy to do. All you need is to enter the following:


$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

Now that you have homebrew installed, you can install Java by entering:
$ brew install java

That should install the latest version of it. If you want to install an older version, you can do something like this:
$ brew install java11

If you’ve done this a few times, you may have a few different version of Java installed liked me, and if you enter the following command it may look something like this:

% ls /usr/local/opt | grep openjdk
openjdk
openjdk@11
openjdk@18
openjdk@19
openjdk@20
openjdk@21
%

As you can see, I have a few different versions installed. However, if I do this:

% java --version
openjdk 11.0.20.1 2023-08-24
OpenJDK Runtime Environment Homebrew (build 11.0.20.1+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.20.1+0, mixed mode)
%

It shows the OS thinks I have JDK version 11 running.

Why is that? Well, it turns out if I enter this:

% ls /Library/Java/JavaVirtualMachines/
jdk1.8.0_261.jdk openjdk-11.jdk
%

I can see I have two JDKs installed there. MacOS will go with the latest JDK there when you ask what version is installed, in this case openjdk-11.

If I want the OS to use a different version like openjdk 21, I can enter this symbolic link (all one line):

sudo ln -sfn /usr/local/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-21.jdk

Then when I check on things, I see the following:


% java --version
openjdk 21 2023-09-19
OpenJDK Runtime Environment Homebrew (build 21)
OpenJDK 64-Bit Server VM Homebrew (build 21, mixed mode, sharing)
% ls /Library/Java/JavaVirtualMachines/
jdk1.8.0_261.jdk openjdk-11.jdk openjdk-21.jdk
%

Now the system thinks openJDK 21 is running.

If I want to reverse this and go back to openjdk 11, I can use this unlink command and see this:

% sudo unlink /Library/Java/JavaVirtualMachines/openjdk-21.jdk
% java --version
openjdk 11.0.20.1 2023-08-24
OpenJDK Runtime Environment Homebrew (build 11.0.20.1+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.20.1+0, mixed mode)
% ls /library/Java/JavaVirtualMachines
jdk1.8.0_261.jdk openjdk-11.jdk
berniemichalik@Bernies-MacBook-Air-4 ~ %

Normally I would recommend going with the latest and greatest version of Java on your Mac. However, you may have a situation where you have some Java code that only runs on older versions of Java. This is one way to deal with that.

For more on this, here are some good links I found:

You should set up two-factor authentication (2FA) on Instagram. And you should use an authenticator app

You might think: no one is going to hack my Instagram account. And you might be right. But here’s the thing: if someone does hack your account, you have next to no chance of getting someone at Instagram to restore it. Rather than make it easy for hackers to take over your account, spam your friends and delete years of photos, you should use 2FA. To do so, read this article: How to Turn on Two-Factor Authentication on Instagram.

While you can use SMS, I recommend using an authenticator app. That article explains how you can do it either way. Authenticator apps are more secure than SMS and are the way to go these days. For more on that, see PCMag.

IBM Cloud tip: use Multifactor authentication (MFA) also called 2-Factor Authentication (2FA) with your account

If you are using IBM Cloud technology, I recommend you consider setting up MFA for your login account. MFA makes your access more secure, and it’s easy to do. To see how easy it is, go here: IBMid – Verifying your identity and configuring MFA. It’s a well laid out description about how to do it.

You can use either a verification app or email to get a verification code. I recommend an app. While email works, it can take several minutes to get the code, while with an app you get a code instantly. As for apps, I use IBM’s verify app, but you can use Google’s and likely Microsoft’s.  They all work fine. Just go to your favorite app store and download one. (Make sure it comes from IBM or Google or Microsoft, not from some developer with a lookalike app.)

 

 

 

 

 

My IT Beach Reads this summer :) (What I find interesting in tech September 2023)


Yes, this is the stuff I read for fun. Not on the beach, but at least in a comfy chair out in the hot sunny weather. 🙂

Architecture links: mostly my IT architecture reading was AWS related this summer, but not all of it.

Cloud links: a mixed bag of things, all good.

Ops links: I’ve been consulting with clients on operations work, among other things, so here’s  pieces on AIOps, DevOps and more that I thought were good:

Software links: mostly dashboard related, since I was working on…dashboards.

Finally: here’s a mix bag of things, quantum and otherwise, that I enjoyed.

Will there be Doom? (What I find interesting in hardware/software in tech Jul 2023)

While my last few posts on IT have been work related, most of these are on hardware and software and tend to be more hobby and fun related.

Hardware links:

Software links:

Hope something there was useful! As always, thanks for reading!

P.S. Before I forget… here’s a piece on how a hacker brought Doom to a payment terminal. Love it!

 

Silicon Valley is full of not serious people and it’s time to treat them accordingly

I really like this piece by Dave Karpf on how not enough people are making fun of Balaji Srinivasan right now. While he goes on the skewer Srinivasan for a stupid bet/stunt he did recently, he touches on a broader topic:

2023 is shaping up to be a big year for recognizing that the titans of Silicon Valley actually have very little clue how the financial system works. That’s essentially what capsized Silicon Valley Bank: the venture capitalist crowd was long on self-confidence and short on basic-understanding-of-how-things-work.

At some point with characters like Balaji, you have to ask yourself whether he’s putting on a show or whether he really is a fool. There are a lot of guys at the heights of Silicon Valley who put on a similar performance. (*cough* David Sacks *coughcough* Jason Calcanis.) They have money, and they speak with such confidence. For years, they’ve been taken them seriously. This ought to be the year when that presumption of omnicompetence withers away.

I think that quote  of how 2023 is going to be “a big year for recognizing that the titans of Silicon Valley actually have very little clue how the financial system works” really can apply to anything, not just the financial system. As Karpf notes, all these leaders in Silicon Valley “have money, and they speak with such confidence” and people take them seriously.

So when Marc Andreessen bloviates on how AI will save the world and how it’s the best technology EVAH, no one says he’s full of crap. They don’t look at how he went long on crypto when others were getting out, for example, and say “yeah maybe he’s not the best guy to listen to on this stuff”.

And that’s too bad. I think we should mock these people more often. We should mock the vapidity of Bill Gates’s recent commencement speech. We should cheer when companies like Hindenburg Research go after Jack Dorsey and block for what a crappy company it is. We should recognize how fraudulent people like Tony Hsieh or Elizabeth Holmes are. We should recognize that these people do not deserve our attention. And if they get it, they should be scrutinized and at the very least, mocked. I mean Elon Musk and Mark Zuckerberg are talking about fighting in a cage match.

These are not serious people. We should stop acting like they are.

P.S. The fraudster  Elizabeth Holmes finally went to prison after trying in vain to convince people she should not. Did silicon Valley learn anything from this? Not much, if this story on how recently the company Grail told 400 patients incorrectly that  they may have cancer.

As for Tony Hsieh, you can read here how he used companies like ResultSource to make his book Delivering Happiness into a “best seller” (not to mention giving it away). Just another form of fraud. Here’s a good takedown of Tony Hsieh and the emptiness of the tech mogul.

Finally the New York Times has a rundown of the recent high tech phonies and the trouble they are in.

 

Reflecting on the Apple Watch while reading how the Apple VisionPro might flop

How is the Apple Watch doing, you might wonder? Well according to this piece, pretty pretty pretty good. Check out these stats:

Pretty much on every measure it is a big success, especially on the annual sales side.

Looking at those numbers, you might find it hard to believe that when the Apple Watch first came out, it was…a dud. As the same piece shows:

(The) First Apple Watch, announced on September 9th, 2014, and released on April 24th, 2015, was initially a flop, with an 85.7% drop in sales from April 2015 to July 2015. The reason was that the Apple Watch Series 0 simply wasn’t good enough. It was neither fashionable nor performed well as a fitness watch. Apple, later on, shifted to focus on fitness features instead of simply making their watch look good. By the time Apple released Watch Series 3, people were already hooked.

Yep. I was hopeful for the Watch back then, but many people were dismissive. It was too complicated, too big, too expensive, etc.

I was reminded of all this as I was reading some “nervous nellie” reaction from Yanko Design and the New York Times about the Vision Pro. They hedge their bets (and they should), but the focus is on how it could fail.

And it could fail! Or more likely, it could be a dud. It could be like the Homepod or Apple TV. Remember TVOS? I thought people would jump on that and start developing apps for it. Well other than Apple, I don’t see too much happening with that device. Both those devices are…fine, but not game changers.

That said, I think the Apple Vision devices will be game changers. I suspect Apple will play the long game, just like they did with the Apple Watch. Watch this blog as we track it’s progress. 🙂

P.S. More on the Apple Watch written by me, here. More on the history of the Apple Watch from others here and here.