Tag Archives: IT

What I find interesting regarding privacy and security, fall 2021


Yesterday I wrote about the new glasses from Facebook from a design AND privacy point of view. Here are seven more links to articles on privacy I thought you might find worthwhile reading:

(Photo by Lianhao Qu on Unsplash )

Why you may not want to send smart home devices like Google Nest to university with your kids

I decided to send my son off to university with a Google Home device (a Lenovo Smart Clock). He could use it as a clock, to get the weather, to play music and to provide rain sounds. You may be thinking something similar.

The problem is that at least for some of these devices, they assume that the wifi works like a home network. Home wifi networks often only need a password to join them. However for my son’s university the wifi network needed a userid and password. There is no place in Google Home to provide the userid, so I was unable to set it up for him.

Something to keep in mind.

On connecting a Chromebook to a wifi network using LEAP like the one at Dalhousie

Here’s the problem: you are trying to connect your Chromebook to a wifi network like the one at Dalhousie University that uses the LEAP protocol. That protocol is likely well and good if you use an up to date Windows or MacOS computer. But as I found, it’s no good for the Chromebook I had because it did not have LEAP as an option. What to do?

Well if you get into the network settings and you go with the EAP-TTLS with the settings above, you can get your device to connect. (The above does not show the user I’d and password fields, but you will need those).

Good luck!

What I find interesting in tech, August 2021

Here’s a cornucopia of things I have found interesting in tech in the last month. As usual, lots of cloud, some Kubernetes, DevOps and software of course, as well as IOT. Grab a drink and read!

Cloud: 

Devops:

Software:

Kubernetes:

Security:

IOT:

Cool stuff:

General

(Photo by Sam Albury on Unsplash )

On the rise and fall and unlikely rise of QR codes


I’ve been a fan of QR codes for a decade. Back then I wrote about how they could be used to tag everything from trees and medic alert bracelets to IOT devices. I thought the sky was the limit for them. I was wrong.

Until this year. As Clive Thompson writes here, the pandemic has been a game changer in causing the resurgence of QR codes. I am glad to see that.

I’d still like to see QR codes everywhere. It would be a way of connecting the virtual world to the real world. Cities could tag streets and neighborhood with QR codes to allow you to get a glimpse of context into where you are standing. If a new building is being built, put a QR code on a sign out front that links to a web site providing greater detail on it. As for historic buildings, why not put a QR code on them that links to their wikipedia page describing the historical significance. Anyway, lots of ways QR codes could enhance our understanding of the world.

Here’s hoping they are here to stay, providing us a way to better navigate our world.

(Photo by Rebecca Hausner on Unsplash )

The Internet has always had its bad parts. You just didn’t know about it


Every so often someone will highlight Something Bad on the Internet and remark that once the Internet was a Good Place but now because of Something Bad, it no longer is.

I am sure they believe that, but they are wrong. The Internet has been a place for Something Bad for as long as it has been around. Case it point, Usenet groups. Before the Web, Usenet was a popular way to read about sports and the news and IT and pretty much anything else. Most of it was pretty mainstream, but some of it, especially the “alt” Usenet groups, was not.

To give you a taste of what I mean, read this: alt.binaries.images.underwater.non-violent.moderated: a deep dive – Waxy.org

There has always been Something Bad on the Internet since forever.  (To see what I mean, read about ASCII porn.) There was never a golden era.

(Photo by Leon Seibert on Unsplash )

On Pepper and Watson


If you have even a passing knowledge of IT, you likely have heard of Pepper and Watson. Pepper was a robot and Watson was an AI system that won at Jeopardy. Last week the Verge and the New York Times had articles on them both:

  1. Go read how Pepper was a very bad robot – The Verge
  2. What Ever Happened to IBM’s Watson? – The New York Times

I don’t have any specific insights or conclusions into either technology, other than trite summations like “cutting edge technology is hard” and “don’t believe the hype”. AI and robotics are especially hard, so the risks are high and the chances of failure are high. That comes across in these two pieces.

Companies from Tesla to Boston Dynamics and more are making grand claims about their AI and their robotics. I suspect much of it will suffer the same fate as Pepper and Watson. Like all failure, none of it is final or fatal. People learn from their mistakes and move on to make better things. AI and robotics will continue to advance…just not at the pace many would like it too.

In the meantime, go read those articles.  Especially if you are finding yourself falling for the hype.

(Image: link of image on The Verge)

In the future, will you own anything?


In 2030, you may not own any gadgets, says this Gizmodo piece: In the Future, You Won’t Own Any Gadgets.

It makes some strong points. It’s true, younger people aren’t as keen to own things. (Heck, this is also true of older people who get fed up with the accumulation of things). And companies are keen to lease things. Add that up and you will see less and less owning.

From an IT perspective, I’ve been through this before. For a long time IBM had a very strong business in leasing technology. That gradually went away and more and more companies bought their technology. Then server farms came followed by the cloud, and now we are effectively seeing companies lease more IT again. Will it switch back again?

I think so. Eventually the cons outweigh the pros, be it for leasing or owning. People will move to leasing because it saves them money in the short term. Then eventually it gets more costly and the restrictions on the leases push them to own things again. Until the costs of owning add up and they switch back to leasing.

So yes, people will be moving to leasing for some time. Then they will switch back to owning more stuff. Of this I am confident.

(Photo by Michael Dziedzic on Unsplash)

On using Tumblr again because of my DD


When Tumblr and Posterous came out over a decade ago, I started using them a fair bit. Sadly Posterous died. Tumblr kept going, but I stopped using it. It’s not that Tumblr is a bad technology platform: it’s just that I didn’t have a need for it. But now I do.

I wanted a platform to do knowledge transfer of IT concepts for my daughter who is also currently in IT. I could email them directly, but they are not personal and others might benefit from them too. I could use WordPress or even just a straight up website. I decided to mix it up a bit and use an old Tumble log I’ve had since 2009 called BLMonIT . It has a great old school theme that looks like an old Mac OS background. It originally was meant for sharing IT knowledge. It has been hardly used. It was just the thing I needed.

I’m going to be posting IT knowledge and opinion there, I hope. If you find it might benefit you, head over to BLMonIT.tumblr.com.

Zoho and other companies that hum along

When I first started following Web 2.0 companies over 15 years, Zoho was an early player. Since then, some companies became very successful and many failed. I used to joke with a friend every time a story of Zoho came up I was surprised it still existed. Not only does it still exist, but it is rolling out new features: Zoho’s pipeline-centric CRM solution built for small businesses gets new features

I’m happy to see it is a going concern. It’s easy to think companies should “go big or go home”. It’s better to think that there is another path to success. Zoho seems to have found that path.

More on them here.

What I find interesting in tech, May/June 2021

Here’s what I found interesting lately in tech, from cloud to coding and lots more.

Cloud: I’ve been doing lots of work on Azure recently. Some things I found useful were this listing of Virtual machine sizes Also disk types. This piece on how to expand your virtual hard disks on a Linux VM was good. If you want to run Websphere on Azure, read this: Run WebSphere Application Server on Azure Virtual Machines.  If you want to learn more about deploying applications in Red Hat, read this. Finally here’s some good stuff from IBM on
Cloud Architectures.

Coding: If you want to print coloured text in Python — and who wouldn’t? — this is good. If you want to turn your HTML into an RSS feed, read this.  This will help you set up VS Code to do PHP Development. For people wanting to learn more about machine learning, IBM can help you. If you love Prolog or Javascript — or both! — check out: Tau-Prolog

Raspberry Pi/IOT: This is a great guide on how to troubleshoot problems with a Pi. This is a cool project using an OLED to make a clicker counter. If you need to load an OS or anything else on a Flash card, check out balenaEtcher. Here’s some advice on getting started with Bluetooth Low Energy. If you want to connect a raw serial terminal to a bluetooth connection, read that. If you want to do a cool Raspberry Pi Pico project with a MIDI, see this.

Fun and cool: Not a real Captcha, but a real fun one! DOOM Captcha – Captchas don’t have to be boring. Also fun: Crappy robots, ranked!. As an old user of 3270s, this downloadable version of 3270 fonts is awesome. Speaking of cool, here’s kinda the source code for Eliza! Check it out.

Other: Here’s some help on how to control smart home devices using speakers and displays. Here’s a good reminder that robots have a way to go yet: Peanut the Waiter Robot Is Proof That Your Job Is Safe. Developers! Here’s What’s Hot/What’s Not in terms of skills. Finally, have you considered how to
write software that lasts 50 years?

(Image via Raspberry Pi)

You can now have your own PDP/11 to play with!

If you ever wanted to get your (virtual) hands on a PDP 11, now you can, by going here: Javascript PDP 11/70 Emulator. 

They seem terribly small and limited now, but when I started in IT they were a real workhorse computer and for a time they threatened IBM’s dominance in the IT space. (Then the PC and DOS and Windows came along and did even more to challenge IBM.)

(Image from here.)

How to get more from your smart speakers


I am a fan of smart speakers, despite the privacy concerns around them. If you are ok with that and you have one or are planning to get one, read these two links to see how you can get more out of them:

  1. How to control Sonos with Google Assistant
  2. Alexa Skills That Are Actually Fun and Useful | WIRED

I use Google Assistant on my Sonos and they make a great device even better. And while I do have Google Home devices in other parts of the house, I tend to be around the Sonos most, so having it there to do more than just play music is a nice thing indeed.

On the limits of Elon Musk


In this piece, Elon Musk Shares Painfully Obvious Idea About the Difficulty of Self-Driving Cars, we have a good summary of the limits of Elon Musk. Not that we need reminding, since we can never seem to escape the publicity of the man. However now he is seen more as a  a huckster and a clown and less of the visionary he once seemed to be. He’s gone from being like Edison to being like P.T. Barnum. It’s too bad, really. We need more visionaries: we have too many hucksters and clowns.

Here’s hoping he stops being foolish and starts being serious again.

(Image from the piece above.)

 

 

On Bill Gates


This piece in The New York Times on Bill and Melinda Gates Divorcing   got me thinking about Bill again. I’ve written about him several times on this blog. I often think of him because for most of my career my field (IT) has been shaped by him. Then he left Microsoft and went off to save the world. In doing so, he transformed from the Bill Gates of old to a newer and gentler Bill Gates. The change has been so remarkable that many people likely don’t know that young Bill Gates and what he was like. If you want a better understanding of that, this old TIME article from 1997 by Walter Isaacson s helpful. (Isaacson was Steve Jobs’ biographer among other things.)

I think old Bill Gates still has some of that personality in him. I am curious to see how the divorce will change him. Whether we will see Bill Gates v3.0, someone who is neither CEO nor philanthropist. Time will tell.

August 7, 2021: It looks like Bill and Melissa have officially divorced. As a result, I suspect we will be hearing less about Bill’s bad judgement when it comes to affairs or hanging out with Epstein. As I said before, I’ll be curious how all this changes him.

(Image is a link to Wikimedia.org)

Why it takes longer than four hours to build a system for a large organization like a bank or a government

A lot of people have very strong opinions about the IT that has been rolled out for Ontario’s vaccine distribution system. I understand that: it has been very challenging for people to get a vaccine here in this province. People look at other provinces like Nova Scotia with their centralized system and ask why didn’t the province do that. They look at this site some very smart guys hacked together in four hours that allows you to text it and get back nearby vaccination sites and they say the government should be more like that. They attribute the government with being cheap, racist and other things, and say they didn’t build a good IT system because of that.

I have strong opinions about the vaccine IT that has been built out for the province too.  The difference is that my opinions are based on working on several large scale projects with the province. It’s also based on working on emerging IT for several decades. I’d like to share it in the hope it helps people gain some perspective as to what is involved.

Building IT systems for a large organization, private or public, is difficult. There are many stakeholders involved and many users involved and often many existing IT systems involved. You have to meet the needs of all of them, and you often have to go through many reviews with internal reviewers to demonstrate your new IT system meets their standards before you can start to build anything. Even then, with all of that, the IT system you are about to build could still fail. Big organizations are very sensitive to this and work diligently to prevent it. You can’t just hack together a proof of concept one day and then the next day have it go live on some banking or government site. Not in my experience.

Failure is a big concern. Another big concern is the needs of the stakeholders. For government systems there are many of them. There were over 50 other organizations that I had to work with external to the government on the projects I was leading. Each had their own IT systems and their own way of doing things. We could not just come in and say throw out your existing IT and use this new thing. There was a whole onboarding process that had to be developed to bring them into the new way of doing things. And that didn’t include all the people in the province or the country who will use the IT system and are therefore are also big stakeholders: they were taken into account and consulted separately.

A third big concern is systems integration. Not only do you need to work with the external IT systems of the stakeholders mentioned above, you have to work with internal IT systems to get data or send them data. In all cases that means not only do you need to understand what the government needs the new IT  system to do, but it means you have to have some understanding of how all these other systems work. Your new IT system can not be effective if you don’t know how to work with the existing systems. It’s a lot harder than scraping existing web sites and calling it done.

It is one thing to develop an IT system to provide new functionality; you also have to make sure it satisfies a number of non-functional requirements (NFRs). Reliability, performance, security, maintainability, data integrity, accuracy are just some of the NFRs that must be determined and met. Even cost and speed to market (i.e., the time it takes to develop a working system) are important requirements. Then there are regulatory requirements you need to meet, from SOC 2 to HIPAA, depending on the type of system you are building.

In addition to all that, there may be technical or design constraints that you must meet. The organization you are working with may require that you use certain suppliers or certain technology for anything you build. You may want to use Mongo and Node in a GCP region in the US for your IT system, but your client might say it has to run on Azure in Canada using Java/Springboot and Postgres, so your new IT system will have to accommodate that.

Once you have taken all that into account, the organization may have some other requirements, including dates, that must be met. In the case of systems like the vaccine IT, that date is “yesterday”. That will force some decisions on how you build your system.

All that said, my educated guess – and it is a guess, because it is based on my experience and not inside knowledge on how the system was built – was that Ontario decided the quickest way to roll out the vaccine IT was to build on the basis of what already exists. For example, many of the individual pharmacies in Ontario have their own systems for working with their patients. And several hospitals I checked use other software like Verto to manage their patients. The integration of all those systems is on “the glass”. By that I mean you can go to the government web site (“the glass”) and then you are redirected to other systems (e.g. a Verto system for a hospital) to book an appointment.

There are benefits to going with this approach versus building a new centralized IT system. It’s cheaper, for one. But it’s also faster to rollout than a new system. It’s less prone to failure than a new system. If you assume people are going to sign up for COVID vaccines like they do flu vaccines, then you know this approach will work, and reliability is a key NFR. If you are designing IT systems, you have to make assumptions to proceed, and that one is based on things you know, which is usually good.

Unfortunately, it turned out to be a bad assumption. Unlike the flu, where uptake is around 30% and spread out, people are scrambling to get the COVID vaccine. This has led to the downfall of the current approach in Ontario as people try all sorts of ways to get a shot asap.

You might say: well that was a dumb assumption, why would anyone make it? In my experience, with new IT systems, it is hard to predict how people will behave. My colleagues once built a system for a government agency that allowed people to weekly update their status on their workplace. The system was available 24/7, but they had to put in their information by Sunday night, 23:59. All week no one would use the system, and then at 11 pm on Sunday it would get hammered with users trying to send in their information. We did not predict that. We assumed there would be peak usage then, but almost all the traffic was at that point.

To mitigate the risk of bad assumptions, IT projects will often do a gradual rollout. However that was never going to be an option here: people wanted the vaccine IT system “yesterday”.

Nova Scotia chose to develop a centralized system and people are saying Ontario should have done that. Possibly. It’s also possible that conditions in Ontario could have resulted in delays in rolling out a centralized system. Or the system could have been on time but failed often. Many IT systems and programs (e.g. Obamacare) have this result. Or some of the big hospitals and independent small pharmacies could have opted out. Then people would have been complaining about not being able to get a vaccine at all and that would have been much worse.

I am happy for Nova Scotia that theirs works well (although people are bypassing it and just showing up in Nova Scotia, so it’s not all roses there either). It’s fair to compare Ontario to them to some degree. And when all this is over, there should be an audit done by objective third parties to see what worked and what didn’t and what Ontario should do next.

I hope after reading this you have a better understanding of what goes into building IT systems for large organizations. I wish they could be built in a day or a week or a two week sprint even. I do know that large organizations are becoming more nimble and are working to getting out IT capability to their clients and citizens faster than ever before. But as you see, there are many things to take into account, and even with many people working on a new IT system, it does take time. Time measured in weeks and months and even years, not hours.

So the next time you hear someone say “they had all this time to figure this out”, take this into account. And thank you for reading this. I hope it helps.

Finally, these thoughts expressed here are mine and not those of my employer.

(Image is a link to the wikipedia page on system context diagrams, a diagram often used to determine how a new IT system fits in with existing IT systems).

What I find interesting in tech, April 2021. Now with Quantum Computing inside!

Here’s 9000 links* on things I have found interesting in tech in the last while. There’s stuff on IT Architecture, cloud, storage, AIX/Unix, Open Shift, Pico, code, nocode, lowcode, glitch. Also fun stuff, contrarian stuff, nostalgic stuff. So much stuff. Good stuff! Stuff I have been saving away here and there.

On IT Architecture: I love a good reference architecture. Here’s one from an IBM colleague. If you need some cloud adoption patterns when doing IT architecture, read this. Here’s a tool to help architects design IBM Cloud architectures. Like it. Here’s some more tools to do IBM Cloud Architecture. Architectural Decision documentation is a key to being a good IT architect. Here’s some guidance on how to capture ADs. This is also good on
ADs I liked this:some good thoughts on software architecture.

Here’s some thoughts from a leading IT architect in IBM, Shahir Daya. He has a number of good published pieces including this and this.

One of my favorite artifacts as an architect is a good system context diagram. Read about it here. Finally, here’s a piece on UML that I liked.

Cloud: If you want to get started in cloud, read this on starting small. If you are worried about how much cloud can cost, then this is good. Here’s how to connect you site to others using VPN (good for GCP and AWS). A great piece on how the BBC has gone all in on serverless.. For fans of blue green deployments, read this. A good primer on liveness and readiness probes. Want to build you own serverless site? Go here

Storage: I’ve had to do some work recently regarding cloud storage. Here’s a
good tool to help you with storage pricing (for all cloud platforms). Here’s a link to help you with what IBM Cloud storage will cost. If you want to learn more about IBM Object storage go there. If you want to learn about the different type of storage, click here and here.

AIX/Unix: Not for everyone, but here is a good Linux command handbook. And here is a guide to move an AIX LPAR from one server to another. I recommend everyone who use any form of Unix, including MacOS, read
this. That’s a good guide to awk, sed and jq.

Open Shift:  If you want to learn more about Open Shift, this is a good intro. This is a good tutorial on deploying a simple app to Open Shift. If you want to try Open Shift, go here.

Raspberry Pi Pico:  If you have the new Pico, you can learn to set it up here.
Here’s some more intros to it. Also here. Good stuff. Also good is this if you want to add ethernet to a Raspberry Pi pico.

On Networking: If you want to know more about networking you want to read this, this and this. Also this. Trust me.

Code: Some good coding articles. How to process RSS using python. How to be a more efficient python programmer. Or why you should use LISP. To do NLP with Prolog the way IBM Watson did, check this out. If you want to make a web app using python and Flask, go here. If you need some python code to walk through all files within the folder and subfolders and get list of all files that are duplicates then you want this. Here’s how to set up your new MacBook for coding. Here’s a good piece on when SQL Isn’t the Right Answer

Glitch: I know people who are big fans of Glitch.com. If you want to see it’s coolness in action, check. out this and this

No Code Low Code: If you want to read some good no-code/low-code stuff to talk to other APIs, then check out this, this, and this.

Bookmarking tool: If you want to make your own bookmarking tool, read
this, this and this. I got into this because despite my best efforts to use the API of Pocket, I couldn’t get it to work. Read this and see if you get further.

Other things to learn: If you want to learn some C, check out this. AI? Read this Open Shift? Scan this. What about JQuery? Read this or that Bootstrap. this or this piece. Serverless? this looks fun. PouchDB? this and this. Express for Node? this. To use ansible to set up WordPress on Lamp with Ubuntu, go over this. To mount an NFTS mount on a Mac, see this. Here’s how to do a Headless Raspberry Pi Setup with Raspbian Stretch

Also Fun: a Dog API. Yep. Here is CSS to make your website look like Windows 98. A very cool RegEx Cheatsheet mug.. And sure, you can run your VMs in Minecraft if you go and read this. If you want to read something funny about the types of people on an IT project, you definitely want this.

Contrarian stuff: Here are some contrarian tech essays I wanted to argue against, but life is too short. Code is law. Nope. Tech debt doesn’t exist.Bzzzt. Wrong. Don’t teach your kids to code. Whatever dude. Use ML to turn 5K into 200K. Ok. Sure.

Meanwhile: Back to earth, if you want to use bluetooth tech with your IOT projects, check out this, this, this, and this. If you have an old Intel on a stick computer and want to upgrade it (I do), you want this. If you want to run a start up script on a raspberry pi using crontab, read this If you want to use Google Gauge Charts on your web site, then read this and this.

Nostalgia: OS/2 Warp back in the 90s was cool. Read all about it
here.Think ML is new? Read about Machine Learning in 1951
here. This is a good piece on Xerox Parc. Here is some weird history on FAT32. And wow, here is the source code for CP/67/CMS. And I enjoyed this on Margaret Hamilton.

Finally: Here are IBM’s design principles to combat domestic abuse. Here is how and why to start building useful real world-software with no experience. Lastly, the interesting history of the wrt54g router

(* Sorry there was less than 9000 links. Also no quantum computing inside this time. Soon!)

In praise of e-paper and alternative displays

Here’s three pieces by Max Braun on using alternative displays for information. I think they are great.  For example, I would love to have postersized screen on my wall to read the paper each day.

And this calendar is minimal and cool:

For more on these, see these links:

Tech Stuff I am interested in, Arduino edition, March 2021


Last March at the beginning of the pandemic I was doing a bunch of Arduino projects. I stopped for some reason. Well, a number of reasons. But I want to get back at it and dive back into these sites.

If you are interested in working with an Arduino, check these out:

  1. Circuito.io: a good site to draw and plan out circuits!
  2. Using Arduino with a Nokia 5110 screen
  3. How to use bluetooth and Arduinos together
  4. More on using bluetooth and Arduinos together
  5. How to use Infrared receivers and Arduinos together
  6. A good tutorial to start you off
  7. How to use LEDS and Arduinos together
  8. How to use LCD displays and Arduinos together
  9. How to use temperature displays and Arduinos together
  10. Morre on LCD displays
  11. More tutorials
  12. A classic intro: getting an LED to blink
  13. How to use Raspberry Pis and Arduinos together
  14. How to use Arduinos to check your website
  15. More on bluetooth
  16. How to use a 16×2 display and Arduinos together

A bonus Raspberry Pi section

Finally, the homepage for Arduino is here.

(Photo by Mathew Schwartz on Unsplash )

On Eric Schmidt


I could never figure out Eric Schmidt. As a CEO, he seemed to be successful. However, he would get in public and say and do things that I would disagree with often and that seemed ridiculous at times. But nonetheless people would nod their heads and agree because hey he was the head of Google.

He’s an odd guy.

For instance, I am curious about why he became a European citizen vs Cyprus. I suspect it may be something to do with taxes. Meanwhile here he is making an anodyne statement about how China will dominate AI unless the US invests more. It’s hard to argue against it because there’s no there there. Whoever spends the most in any field will likely dominate it. How is that thoughtful or interesting?

I suspect we will hear from him less in the future. But when we do I’ll come back here to see if my opinion of him has changed.

 

Why web sites crash and become inoperable

I see many people complain about websites crashing and becoming inoperable as governments rush out IT systems to support vaccinations. People wonder: how does this happen? You might gripe: websites normally don’t crash like that so these new ones must be terrible. Let me explain why that’s not necessarily the case.

Let’s talk about the diagram above. Websites are made of software running within an environment. (An environment can be a physical computer in a data center, or it could be several computers working together, or even a mainframe. In this diagram it is the box around the web site box). You use an app or your browser to send a request through the Internet to the web site for information. The software that makes up the web site provides you with the information in a response. Sometime the source of information is from the same environment, other times it has to go outside the environment to get the information. For example, you might go to a web site and click on a link to get store hours: that is your request. The website sends a response that is a web page with the store hours. Another time you might send a request to a site to give you all your account information. In that case the web site might go get that source of information from a number of different systems outside the environment and then send you a response with all your account information.

Where it often starts to break down is when too many requests come in for the web site to handle. There are a number of reasons for that. As requests come in, web site software will sometimes need to use up more resources like CPU or memory to respond to the increasing number of requests. Sometimes the web site software will ask for more resources than the environment allows. When that happens, the software might fail, just like a car running out of gas fails. Now people monitoring the software might bring it back up again but if the requests are still coming in too fast, the same problem reoccurs. Indeed, it’s usually when people give up and the requests subside that the web site software can finally come back up and work without crashing or becoming inoperable.

Not all web site software consumes resources until they crash. Some software will set some limit to prevent that from happening. For example, the software might start quitting before it has a chance to properly respond to save itself from taking up too much resources. The software will send you a response essentially saying it can’t respond properly right now. The software didn’t crash, but you didn’t get the answer you wanted.

One way to prevent this is to get a really big environment to run the web site software. There are two problems with this approach. One is that it can be difficult to know how big this environment should be; this is especially true of new web sites. The other problem is that it can be expensive to pay for that. Imagine buying an 18 wheel truck instead of a minivan just so you can have it for when you have to move your home. That doesn’t make sense. You have all this trucking capacity you don’t normally need. The same is true with website software environments.

Another difficulty can occur when the web site software has to leave the environment to get information. The web site software might have a lot of capacity in the environment, but the other systems it has to go to outside the environment to get the information do not. In that case, the other system can fail or timeout or be very slow. In which case, there is nothing you can do to make the web site better. You cannot just add capacity in the middle if the other systems are capped. The best you can do as the developer of the web site is to find tricks to not ask the back end systems for too much information. For example, if 1 million users are asking for rate information that changes daily, you can ask the backend system for it once and then serve that to the million users that day, rather than asking for the same information a million times.

There are many ways to make web sites resilient and capable of responding to requests. However with enough load they will crash or become inoperable. The job of IT architects like myself is to make the chances of that happening as small as we can. But there is always a chance, especially with new systems with great demand.

On Bernie Michalik’s Rule of Performance Testing

Two things. First my rule of performance testing is that you cannot avoid performance testing: you either do it with test data and test users in a test environment or you do it with live data with real users in a production environment.

So often I see clients try to slim down or avoid performance testing. I came up with my rule to show them that it is impossible. Now sometimes you can get away with it but it’s risky. I never advise it. You can always do some form of performance testing before you go live. Always. Still some try not to.

Second, above is an example of a site that clearly was performance tested. Even better, it is designed to respond to peak loads. Impressive.

In praise of spreadsheets (and some new ways for you to use them)

Excel
Let’s face it: there is no better tool than Excel/spreadsheet software when it comes to managing information. New tools come out all the time, and yet people still depend on this workhorse software to get the job done.

At least it is for me. If that’s you too, then you might be interested in what they have over at Vertex42.com, including these three tools:

  1. Free Gantt Chart Template for Excel
  2. Project Timeline Template for Excel
  3. Savings Snowball Calculator

Of course Google Sheets are also great. Whatever you use, check out that site for some good tools and ideas.

Everything you wanted to know about Prolog, but were afraid to ask

If you were ever curious about learning Prolog, here’s 11 links to get you started. I did a lot of Prolog programming in the 1990s. It was one of the highlights of my career.  I played around with Lisp and other A.I. technology, but Prolog was the one I kept coming back to. I don’t write as much code these days, and when I do, I tend to write it in Python. But Prolog still has a place in my heart. It’s a great language that can do things no other language can. To see what I mean, check these out:

  1. Here’s a good intro to get you a handle on the language:Introduction to logic programming with Prolog
  2. Want to dive in and learn Prolog? This is good: Learn prolog in Y Minutes
  3. When learning code it is good to look at other people’s code. Here’s a repo on Github of sample code to look at: mjones-credera/prolog-samples: Sample Prolog code
  4. This repo has even more code: Anniepoo/prolog-examples: Some simple examples for new Prolog programmers
  5. You can take advantage of all that data in a relational database by connecting it up to Prolog like this: SWI-Prolog connecting to PostgreSQL via ODBC – Wiki – SWI-Prolog
  6. You can even run it on a Raspberry Pi: Prolog on the Pi | scidata
  7. IBM used Prolog with the initial version of Watson. You can read about it here: Natural Language Processing With Prolog in the IBM Watson System – Association for Logic Programming
  8. One of the things Prolog was really good at. In some ways I think better than some standalone ML tools: Expert Systems in Prolog
  9. Lots of good links, here: The Power of Prolog | Hacker News
  10. I haven’t played around with this but it is worth considering:  Small Prolog – Managing organized complexity
  11. Finally, here’s 99 small problems that Prolog can solve.

On how I resolved my problems installing Big Sur on my MacBook Air

Mac keyboard
Recently I tried to upgrade my Mac from Catalina to Big Sur. I have done OS upgrades in the past without any problems. I assumed it would be the same with Big Sur. I was wrong.

I am not sure if the problem was with Big Sur or the state of my Mac. I do know my MacBook Air was down to less than 20 GB free.  When I tried to install Big Sur, my Mac first started complaining about that. However after I freed up more space (just above 20 GB) it proceeded with the install.

While it proceeded, it did not complete. No matter what I did, I could not get it to boot all the way up.  Recovery mode did not resolve the problem. Internet recovery mode would allow me to install Mac OS Mojave, but not Catalina or Big Sur.

Initially I tried installing Mojave, but after the install was complete, I got a circle with a line through it (not a good sign). I tried resetting NVRAM or PRAM and that helped me get further, but even as I logged in, I could not get the MacOS to fully boot up (it just went back to the login).

Eventually I did the following:

  1. Bought a 256 GB flash drive. Mine was from Kingston. I bought a size that matched my drive. I could have gotten away with a smaller one, but I was tired and didn’t want to risk not having enough space to use it as a backup.
  2. Put the flash drive into the Mac (I had a dongle to connect regular USB to USB-C)
  3. Booted up the mac by going into Internet recovery mode
  4. Went into disk utilities and made sure my Macintosh HD, Macintosh HD – Data and KINGSTON drive were mounted. (I used the MOUNT button to mount them if they weren’t mounted).
  5. Ran FIRST AID on all disks.
  6. Left Disk Utility. Clicked on Utilities > Terminal
  7. Copied my most important files from Macintosh HD – DATA to KINGSTON (both of them could be found in the directory /Volumes. For example, /Volumes/KINGSTON.)  The files I wanted to backup were in /Volumes/Macintosh*DATA/Users/bernie/Documents (I think).
  8. Once I copied the files onto the USB Drive — it took hours —  I checked to make sure they were there.  I then got rid of a lot more files from the Documents area on my hard drive. After careful deleting, I had about 50 GB free. At one point I was talking to AppleCare and the support person said: yeah, you need a lot more than 20 GB of free space. So I made a lot.
  9. Then I went back into Disk Utility and erased Macintosh HD
  10. This is important: I DID NOT ERASE Macintosh HD – DATA! Note: before you erase any drive using the Disk Utility, pursue other options, like contacting AppleCare.  I did not erase Macintosh HD – DATA in order to save time later on recovering files. I was only going to erase it as a very last resort. It turns out I was ok with not erasing it. The problem were all on the Macintosh HD volume, the volume I DID erase.)
  11. Once I did that, I shut down and then came up in Internet Recovery Mode again. THIS TIME, I had the option of installing Big Sur (not Mojave). I installed Big Sur. It created a new userid for me: it didn’t recognize my old one.
  12. I was able to login this time and get the typical desk top. So that was all good.
  13. Now here is the interesting part: my computer now had two Macintosh HD – Data drives: an old one and a new one. What I did was shutdown and go into Internet Recovery Mode again and mounted both drives. I also mounted the KINGSTON USB drive. Then I moved files from the old Macintosh HD – Data to the new one. (You can use the mv command in Terminal. I did, plus I also did cp -R for recursive copying).
  14. My Mac is now recovered. Kinda. I mean, there are all sort of browser stuff that needed to be recovered. I had to reinstall all my favorite apps. Etc. But it is a working MacBook.

All in all, I learned a ton when it comes to recovering a Mac. If you are reading this because your Mac is in a similar situation, I wish you success.

While I was trying to do the repair, these links were helpful:

(Photo by Charles Deluvio on Unsplash)

On the new Raspberry Pi products: the 400 and the Pico

Years ago I worried if  the future for Raspberry Pi would dim. I am happy to say I worried for nothing. The good folks at Raspberry Pi continue to stride boldly into the future with new and better products. Case in point: the Pi 400 and the Pi Pico.

The 400 has been out for a short time, but it is still fairly new. If you are wondering if it could be effective for everyday use,  read this: Raspberry Pi 400 for working and learning at home – Raspberry Pi. I am seriously thinking of getting one for some basic day to day computing.

As the Pi Pico, it is brand new! If you are a fan of the Pi for IoT work, the Pico could be the device you want. To see what I mean, read this: Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4 – Raspberry Pi. I have order four! I can’t wait to try it out.

The future looks bright for Raspberry Pi.

Did you or your teen damage their phone and need to reset it?

iphone problemsIf so, then you will find the next two links handy. I did.  My son broke his screen and while I was able to repair it, other damaged occurred because it was so badly broken. Fortunately while he lost data, I was able to restore the phone to “new” state using these links. From there he went on to add his favorite apps, etc.

Links:

If you forgot the passcode on your iPhone, or your iPhone is disabled – Apple Support

If you see the Restore screen on your iPhone, iPad, or iPod touch – Apple Support

undefined

It’s pandemic Christmas. Here’s details of a new phishing attack coming to your inbox


Hey, if you are like me, you are ordering your presents online. When you do that, you get a lot of emails back updating you on the status of your order. Since it is Christmas, you are anxious about your order so naturally you are checking on them quickly. And that’s why you need to be careful.

Last night I got an email from Target asking me to check out the status of my order by clicking the link. This was fishy (phishy?) to me, because I didn’t order anything from Target. I checked the links in the email and sure enough: they did not go back to the Target web site.

And it’s not just merchants. I also got one from Paypal warning me of someone breaking into my account and asking me to press a button which wasn’t linked to PayPal.

In short, check your confirmation emails carefully before you click on anything. Otherwise your Christmas could be an unhappy one.

On the new products from Apple

The new Apple AirPods came out, and some critics flailed them for being too expensive. A fair criticism. Some new products are terribly expensive but allow Apple to enter a market and gain share and work out aspects of the product before they move to make cheaper versions that dominant more.

Perhaps the AirPod Maxs will be like that. Some Apple products are strikeouts, and some are grand slams, but more often than not many are singles and doubles: not terrible, not great, but good to very good.

An example of that is the Apple HomePod Mini.  This is one of those not bad not great products. Like the HomePod, it isn’t a failure, but it will not likely take the speaker market by storm either. Apple used to do that: wait and see what others in the marketplace were doing, them come out with something so much better and blow them away. But that was then. They are still great at what they do, and they are still financially world beaters, but I haven’t seen anything that has transformed the market like the iPod or the iPhone. And that fine.

For more on the HomePod and the AirPods Max, see these two pieces:

One product that year after year does great but is underappreciated is the Mac Mini. Apparently it is better than ever. You can read about it, here: Apple Mac Mini Review (2020): Brawn on a Budget | WIRED

Like the iPod Touch, it’s a product that Apple keeps refining and keeps make it better through each iteration. People tend to focus on the big new things from Apple, but they have some golden oldies that are always worth revisiting.

Can you replace your desktop computer with a Raspberry Pi in 2020?

rapsberry pi 4
Not yet. Not even if it is raspberry pi 4. As this piece argues, there are still some issues with it that will make you want to hold on to your desktop computer. At least in 2020.

A few comments:

  • depending on your use, you may read this and think: hey, those issues aren’t deal breakers for me. If so, I say go for it.
  • If you have been using a Chromebook and it’s been fine, then you may be more likely to say yes too.
  • If you need a second computer for specific uses, then the Pi 4 may be just the thing.

Eventually there will be a Pi that is both fast and full function and cheap and that will be the just the thing. But in the year 2020, you still want your desktop/laptop.

All that said, the piece is really good, really detailed. Worth reading. The image is from the piece.

Need a temporary Mac? Now with AWS, you can get one!

How? By using their cloud service: AWS brings the Mac mini to its cloud.

Perfect for those times you need access to a Mac for a short period of time (e.g. testing software).

Throughout my career I have been involved with Macs and cloud technology. I remember when Apple made Mac servers. There was even a separate MacOS for them. So I am loving this evolution and the repositioning of Macs in a data center.

Image from here which also has a write up on this.

 

Retro radios, remade

null

I absolutely love this City Radio, shown above. You push the button and it play music from the city listed.  So cool. Love the analog design too. It reminds me of the best of Dieter Rams and Braun.

Part of the reason I love it is because it reminds me of the old radio my grandmother had. As a kid it had all the cities of the world listed on a glowing panel, and as I would move the dial a needle would go back and forth and play music from different parts of the world (depending how good reception was). That just amazed me then.

If you have technical skills, and old radio and a raspberry pi, you can make such a thing for yourself.  Just google “convert old radio raspberry pi”. Of the links I found, I like this and this and this.

On Microsoft Frontpage: a history not just of a product, but the early days of the web

Microsoft Front Page

I found this piece on Microsoft FrontPage fascinating.  I remember when it first came out: it was a great tool if you wanted to develop for the web. While serious people went with Adobe products, FrontPage made developing web page easier for the rest of us. If you want to learn about the early days of the Web, or if you want to see what well designed software looks like (even if it seems very clunky with that Windows XP interfact), I recommend you read it.

You can actually still download it, here. Now should you? No. Read the sections of the article subtitled “Bad” and “Ugly” to see why.

 

What I find interesting in tech, November 2020

Kubernetes

Here’s 59 links (!) of things I have found interesting in tech in the last while. It ‘s heavily skewed towards Kubernetes because that’s mostly what I have been involved with. Some stuff on Helm, since I was working on a tricky situation with Helm charts. There’s some docker and Open Shift of course, since it’s related. There’s a few general pieces on cloud. And finally at the end there’s links to a bunch of worthwhile repos.

Almost all of these links are self explanatory. The ones that aren’t…well…few if anyone but me reads these posts anyway. 🙂 Just treat it like a collection of potentially good resources.

  1. How to create custom Helm charts
  2. How to make a Helm chart in 10 minutes | Opensource.com
  3. Basic kubectl and Helm commands for beginners | Opensource.com
  4. A visual guide on troubleshooting Kubernetes deployments
  5. Kubernetes Canary Deployments for User Beta testing | by Damien Marshall | ITNEXT
  6. Hands-on guide: developing & deploying Node.js apps in Kubernetes
  7. Deploying Java Applications with Docker and Kubernetes – O’Reilly
  8. Kubernetes, Kafka Event Sourcing Architecture Patterns, and Use Case Examples – DZone Big Data
  9. 10 most important differences between OpenShift and Kubernetes – cloudowski.com
  10. Node.js in a Kubernets world – IBM Developer
  11. Learn Kubernetes in Under 3 Hours: A Detailed Guide to Orchestrating Containers
  12. Service accounts — Kubernetes on AWS 0.1 documentation
  13. Copy directories and files to and from Kubernetes Container [POD] | by Nilesh Suryavanshi | Medium
  14. Monitoring Kubernetes in Production: How To Guide | Sysdig
  15. Kubernetes Cheat Sheet | Red Hat Developer
  16. Kubernetes In a Nutshell | Enqueue Zero
  17. Kubernetes Deployment in a Nutshell | Clivern
  18. Kubernetes namespaces for beginners | Opensource.com
  19. Level up your use of Helm on Kubernetes with Charts | Opensource.com
  20. Running Solr on Kubernetes
  21. Solr on Kubernetes on Portworx
  22. Zookeeper – Unofficial Kubernetes
  23. Kubernetes for Everyone
  24. Chris Biscardi’s Digital Garden
  25. Istio / Getting Started
  26. How To Set Up a Kubernetes Monitoring Stack with Prometheus, Grafana and Alertmanager on DigitalOcean | DigitalOcean
  27. Kubernetes Ingress Controllers: How to choose the right one: Part 1 | by Eric Liu | ITNEXT
  28. An introduction to Minishift, OpenShift, and IBM Cloud – IBM Developer
  29. How To Set Up an Nginx Ingress on DigitalOcean Kubernetes Using Helm | DigitalOcean
  30. An introduction to Kubernetes.
  31. Health checks in Kubernetes for your Node.js applications – IBM Developer
  32. Beyond the basics with Cloud Foundry – IBM Developer
  33. Build a cloud-native Java app using Codewind and your favorite IDE – IBM Developer
  34. Accelerating the application containerization journey – Cloud computing news
  35. 6 Key Elements for a Successful Cloud Migration | IBM
  36. An introduction to Minishift, OpenShift, and IBM Cloud – IBM Developer
  37. There aren’t enough humans for cloud-native infra. Can DevOps deal? – SiliconANGLE
  38. Leverage deep learning in IBM Cloud Functions – IBM Developer
  39. CloudReady for Home: Free Download — Neverware
  40. Council Post: It’s Time To Accelerate Your Hybrid Or Multicloud Strategy
  41. Getting started with solution tutorials
  42. How to get started with GCP  |  Google Cloud
  43. Setting up Solr Cloud 8.4.1 with Zookeeper 3.5.6 | by Amrit Sarkar | Medium
  44. solr – How to force a leader on SolrCloud? – Stack Overflow
  45. Play with Docker Classroom
  46. Getting any Docker image running in your own OpenShift cluster
  47. Building Docker Images inside Kubernetes | by Vadym Martsynovskyy | Hootsuite Engineering | Medium
  48. Get an IBM MQ queue for development on Windows – IBM Developer
  49. Ultimate Guide to Installing Kafka Docker on Kubernetes – DZone Big Data
  50. Kafka on Kubernetes — a good fit? | by Johann Gyger | Noteworthy – The Journal Blog
  51. How To Install Apache Kafka on Debian 10 | DigitalOcean
  52. Chapter 7. Monitoring and performance – Kafka Streams in Action: Real-time apps and microservices with the Kafka Streams API [Book]
  53. charts/incubator/cassandra at master · helm/charts · GitHub
  54. atlas-helm-chart/charts/zookeeper at master · xmavrck/atlas-helm-chart · GitHub
  55. nhs-app-helm-chart/solr.yaml at master · pajmd/nhs-app-helm-chart · GitHub
  56. GitHub – manjitsin/atlas-helm-chart: Kubernetes Helm Chart to deploy Apache Atlas
  57. GitHub – IBM/Scalable-WordPress-deployment-on-Kubernetes: This code showcases the full power of Kubernetes clusters and shows how can we deploy the world’s most popular website framework on top of world’s most popular container orchestration platform.
  58. A Dockerfile with (almost) all the tools mentioned in Bite Size Networking by Julia Evans · GitHub
  59. GitHub – sburn/docker-apache-atlas: This Apache Atlas is built from the latest release source tarball and patched to be run in a Docker container.

How to get the most out of your Google Home device?

Use Routines. As Wired magazine explains:

Instead of saying, “OK, Google. Turn off bedroom and play rain sounds,” and hoping Google correctly processes that those are two separate commands, you can say “OK, Google. Good night” and have a routine take care of the rest.

Essentially Routines are programs for Google Home devices to run. If you find yourself giving your Home device multiple instructions at a time, consider making a routine.

If you want to get started doing coding and you don’t know anything about coding, then do this


If you want to get started doing coding and you don’t know anything about coding, then do this tutorial: How To Build a Website with HTML | DigitalOcean

I say this for a few reasons:

  • It’s a thorough step by step guide to building a website. You will learn quite a bit about HTML by the time you are done, but you shouldn’t feel overwhelmed or that you are missing things.
  • This should be approachable by anyone from age 10 to 110. (Maybe 5 to 115…I don’t know. You get the idea.)
  • You will also learn about developer tools, in this case, Visual Studio Code. A text editor is fine too, but learning new tools and how to effectively use them is better.
  • If you go here, you will learn how to host it using Digital Ocean and Github. So not only will you build a website, but you can show it off to your family and friends, too 🙂
  • Lots of good practices in here including in this tutorial. Always a plus.
  • Once you know how to build a website, you can use this as a basis to go on to learn more about HTML, CSS, Javascript and more. Building a web site is a good set of foundational skills if you want to get into coding.

Give it a try. Even if you already know a bit of HTML: you might find your skills much increased by the time you are done.

(Photo by Andrew Neel on Unsplash)

One way to backup your files is to the cloud


I haven’t tried this yet, but I am seriously considering it. I already use AWS for other things, so it might be time to see if I can archive old files that I rarely use but don’t want to delete. I don’t feel like getting more hardware, and I don’t have much confidence in Apple’s iCloud. So this might be the solution: ​How to Use Amazon Glacier as a Dirt Cheap Backup Solution.

And if I go that route, I will need tools. This article should give me the information  I need for that: The Best Tools for Uploading Files to Amazon Glacier – Digital Inspiration.

(Photo by Glen Carrie on Unsplash)

Everything you want to know about COBOL, but were afraid to ask

Here’s 13 links to get you started learning more about COBOL. It’s got some old school stuff and some cool cloud stuff, too.

  1. Here’s a good piece that should convince you to get into COBOL: I Took a COBOL Course and I Liked It
  2. As is this: Don’t hate COBOL until you’ve tried it | Opensource.com
  3. Convinced? Try this: Build your first COBOL application – IBM Developer
  4. Or if you are an AWS fan: toricls/cobolambda: Serverless COBOL on AWS Lambda.
  5. More COBOL in the cloud: Learn how to run COBOL in a cloud native way – IBM Developer
  6. This site has tutorials….COBOL Tutorial – Tutorialspoint
  7. …and syntax information: COBOL – Basic Syntax – Tutorialspoint
  8. Here’s some useful source code: IBM/kubernetes-cobol: A Code Pattern to teach how to run a COBOL program on Kubernetes
  9. Here’s some perspective: On the past, present, and future of COBOL – Increment: Programming Languages
  10. More source: 3 open source projects keeping COBOL alive and well | Opensource.com
  11. More courses: COBOL Programming Course
  12. More on COBOL: Open Mainframe Project Helps Fill the Need for COBOL Resources – Open Mainframe Project
  13. Now you’re skilled, get yourself a mainframe! Get hands-on COBOL development experience with IBM Z software trials – IBM Developer

Send me a link to your Github repo once you are done and I’ll add it here!

P.S. Here some bonus links:

On turning an old Windows laptop into a Chromebook for my son’s virtual school

For my son’s virtual classroom, most of his work is being done using Google’s cloud services. I’ve decided to take an old T420 laptop that was in the basement and turn it into a Chromebook for him to use. So far it’s going ok.

If you are interested in doing something similar, I found this article on PC World very detailed and good for all skill levels. (I’ve read a half dozen pieces and the ones I reviewed all pretty much said the same things.) All you will need is an old PC (or maybe an old Mac), a 16 GB USB stick, and some patience. 🙂

I haven’t wiped the Windows OS yet: I booted up the 420 and told it to load the OS from the USB stick. (This part will differ from machine to machine.) With the 420 it’s easy: just hold down the blue button on top of the keyboard and let it go into setup mode and then follow the prompts.

I can’t say that the user experience is fast. It’s….not terrible. Still slow. But once things come up, it should be good.

More from me as new results come in.

Oct 19: so far so good with the Chromebooks. I ended up wiping the old OS and installing the ChromeOS on the disk drive. One odd thing: there is no notification that the installation is complete. So I recommend you start it, leave it for 30 minutes or so, then reboot the laptop. It should come up with the new OS.

One nice thing about it is that my son has Chrome settings (e.g. bookmarks) specific to his Gmail account. So when he logs into the Chromebook, I can set up the bookmarks specifically for his e-learning (e.g., I have links to all his courses on the bookmark).

The other thing I like about converting old laptops into Chromebooks is that the screen and keyboard is often better than most Chromebooks. For example, I turned a T450 into a Chromebook and I love typing on it.

Finally, old laptops are relatively cheap. You can get T420 for under $300, and T450s for around $350, which is cheaper than many (though not all Chromebooks). Better still, I bet many people have an old PC lying around doing nothing. Make it into a Chromebook and give it to someone who could use it.

Dec 28: It looks like Google bought the company that made the software I used. I am not sure what this means, but one thing it could means is that Google shuts it down. If you were thinking of doing this, best do it sooner than later.

 

 

It’s my IBM Anniversary

Every October 3rd I mark my anniversary starting working at IBM. Back then, I took a 1 hour commute via the “Red Rocket” to 245 Consumers Road in Willowdale (now Toronto) to start work in the tape library (which looked a lot like the photo above).

What else was happening with IBM back then? Only the advent of the IBM PC. Here’s a story on it here.