Category Archives: IT

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

If you were ever curious about learning Prolog, here’s 10 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

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

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.

The Internet is under water

Literally.

First up, above is a map of  all the underwater fiber optic cables that provide the internet throughout the world. While much of the connectivity for the Internet is above ground, the cables that connect one continent to another all lies at the bottom of the world’s oceans.

And not just cables. One day maybe data centres themselves will also reside in the sea versus land, based on this experiment: Microsoft’s underwater data centre resurfaces after two years – BBC News

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!

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.

Do you need to generate a QR code? Here’s a tool to do that

This web site will generate a range of QR codes for you, and has some nice bells and whistles, too. For example, here’s mine:

With the pandemic, QR codes are becoming essential for any contactless transactions. Get yours there.

 

The one use I can see from the new internal drone from Amazon

Should you get one of these for your home? If you are interested, here’s two pieces on the new drone from Amazon you should read:

  1. Times 
  2. ZDnet

Most people I’ve read say: “LOL. No! Are you crazy?” I agree,  with one exception. I would strongly discourage people for getting one for their primary residence. But if they had a second property (a cottage or a business), then I would encourage it. I might also encourage it for people living in a big property. Any time where the risk of privacy intrusion is secondary to the risk from break ins or other property damage is the time I would encourage it.

It’s interesting technology. I predict stories about privacy problems in the next year, though I could be wrong. Amazon could have done a great job of dealing with privacy concerns. We will see.

Programming is on a spectrum, or how programming is like running

Programming is on a spectrum.  I have felt for some time. That said, I liked this article by Paul Ford, one of the best writers on IT that I know: ‘Real’ Programming Is an Elitist Myth | WIRED.  His and my thoughts overlap. First, yes you can do real programming/coding with simple tools. Anyone who writes their own HTML, Javascript, simple bash scripts or basic Python scripts is really programming. Heck, I argue that what people do in Microsoft Excel is a form of programming.

If you wanted to step up from small pieces of code, you could get a book like this and write all sorts of useful code. 

 

(That’s a great book, by the way.)

However there is a very wide spectrum for programming, and some people are very advanced in the form of programming they do. That should also be acknowledged. The work I do automating tasks by writing Python scripts is very different than the work done by people writing operating systems or other difficult tasks.

I like to think of it like running. If you run, you are a runner. End of story. If you work at running, you can enter a big race like the New York City Marathon and you will be with a range of runners from the very best in the world to people who will finish many hours later. The first and the last are all marathon runners, and the last are as real a runner as the first.

Same with programming. If you program, you are a programmer. You are as real a programmer as the person writing new code for the Linux operating system. Just like you can always get better as a runner, you can always get better as a programmer. It just depends on what you want to put into it and what you want to get out of it.

Lenovo’s new laptops: now with leather

 

Now I am not sure who needs this. But if you need a new lap top and you want something fancier, perhaps you need this new Lenovo leather bound laptop You can see it here.

The new Amazon Halo Health and Wellness Band

I must say, the new Amazon wearable device looks nice. And so is the price.

That said, before you buy one, you might want to Google: Amazon Halo privacy

From a practical point of view, I think I will stick with my Fitbit wearables and my Fitbit Aria scale. The scale especially: why would one want to go through the trouble of taking photos of themselves to determine their body fat when they can just step on a scale?

If you want a bit more information on this device, here’s one link: Amazon Halo Health & Wellness Band | Uncrate

Ok, you have a web page or a web site. Here’s how can you make it look better in no time


All you have to do is follow the instructions outlined in this piece by Anna Powell-Smith: How to Make Your Site Look Half-Decent in Half an Hour

The instructions are from 2012 but they still works really well! I took a bunch of the ideas from it to recently jazz up my web site, berniemichalik.com.

You don’t need special tools or deep HTML or CSS skills. Just follow along and you will have a much better looking web site in..well…30 minutes.

(Photo by Carl Heyerdahl on Unsplash)

A collection of simple Apple scripts that I find useful to provide me encouragement during the workday (and you might too)

A long time ago, Sam Sykes tweeted this idea:

Roomba, except it is a little robot that comes into your room and says “hey, man, you’re doing okay” and I guess maybe he has a glass of water for you

I thought: what a great idea! Now I didn’t build a special Roomba, but I did build a list of Apple Scripts that offer something similar. If you are curious, you can see them here in github.

I found them useful when working from home during the pandemic. Hey, every little bit helps.

Small Victories, or how to build your own website very simply

You need to build a web site? Consider Small Victories. As they say:

Small Victories takes files in a Dropbox folder and turns them into a website.

Best of all, they can help you build a variety of different sites, from a blog to a home page to e-commerce.

The site explains it very well, so visit Small Victories and see how it’s done.

Found via Swiss Miss. Thanks, Tina!

Quote

What is the equivalent of “Hello, World” for github?


This: Hello World · GitHub Guides.

If you wanted to learn how to use GitHub but felt unsure or anxious, this is a nice little tutorial on how to do it. You don’t need additional tools or deep skills or even be a programmer.

Well worth a visit.

(Image by Richy Great)

Quote

On the Apple Cube, a wonderful failure

It’s hard to believe that this computer (see above), that is in the MoMA no less, was a failure. But as this piece shows, it was one of Apple’s least successful computers for a number of reasons: 20 Years Ago, Steve Jobs Built Apple’s G4 Cube. It Bombed | WIRED.

Beautiful design, but not a great product. Every company has those from time to time. Apple was no exception.

Quote

On Microsoft Teams, or how the old problems of Microsoft are new again


There were two problems with the company that Bill Gates built up until he left (after the famous antitrust case). One old problem was the approach they sometime took to dominate a market. Based on this quote and this article, Slack files competition complaint against Microsoft in the EU – The Verge, it seems they are using this approach again. According to Slack…

Microsoft is reverting to past behavior,” claims David Schellhase, general counsel at Slack. “They created a weak, copycat product and tied it to their dominant Office product, force installing it and blocking its removal, a carbon copy of their illegal behavior during the ‘browser wars.’ Slack is asking the European Commission to take swift action to ensure Microsoft cannot continue to illegally leverage its power from one market to another by bundling or tying products.”

That’s too bad. It’s bad for Slack, of course, but it’s bad for anyone who works in a modern office and wants to work effectively. You end up using not the best product or the one best suited to your needs, but the product from the vendor that is able to crush the competition.  That’s how you end up with places having lots of Microsoft products, rather than the best products.

Which brings me to the second problem with Microsoft’s products. It’s a problem Steve Jobs talks about here:

My personal feeling is Microsoft’s products still have no taste, whether it is Sharepoint or Xbox or Azure or Teams. When I compare them to Playstation or IBM Cloud or Slack or a variety of other products from different vendor, I am always disappointed. I realize that taste is subjective and that could be just me, but I always find them a bit blah. They do the job, and at an enterprise level they may make good business sense, but in a perfect world, they would not be the ones I would use. I believe Microsoft knows this: that’s why the first problem occurs.

P.S. A reminder, when it comes to IT opinions expressed here, these are meant to be my opinions only, and not those held by my current employer.

Quote

Two interesting IT trends and one novel thing: iPhone 11s in India, Siemens doubles down on WFH, and you can run Windows 95 PC inside Minecraft and play Doom with it.

The good folks at itbusiness.ca have a podcast called Hashtag Trending and today they talked about two interesting IT trends and one novel thing: iPhone 11s in India; Windows 95 PC inside Minecraft; Siemens doubles down on WFH. Here’s an excerpt:

Apple is building iPhone 11s in southern India. The move comes as Apple has been looking to shift some of its manufacturing away from China amid US-China trade war and disruptions stemming from the COVID-19 pandemic. Apple already assembles two other models in India — the iPhone XR and iPhone 7. ….

… A new modification has been created for the game Minecraft allowing players to order computer parts from a satellite orbiting around a Minecraft world and build a computer that actually runs Windows 95 and other operating systems. According to the Verge the mod uses VirtualBox, which is free and open-source virtual machine software, to run operating systems like Windows 95. All you have to do within Minecraft is place a PC case block and then use it to create virtual hard drives to install operating systems from ISO files.

And lastly, Reuters is reporting that German conglomerate Siemens says it’s going to allow employees to “work from anywhere” for two or three days a week, and focus on “outcomes” rather than time spent in the office. Days after the recent announcement, the company says it was giving its over 100,000 employees access to a new app that provides local data on the COVID-19 situation, shows office occupancy levels and acts as a contact tracing tool. This of course is just the latest enterprise announcing its intentions for the post-COVID-world, following in the footsteps of Twitter, Facebook, OpenText and others, which have made their own announcements around remote work for employees moving forward.

It’s really remarkable how much thought provoking stuff is jammed in here. I find itbusiness.ca a good way to keep up with IT business news, regardless of what country you live in. Worth subscribing too for sure.

Quote

Microsoft tries again in the phone business with the Surface Duo

And Verge has the story on this device…


…here: Microsoft’s Surface Duo looks like it’s ready to launch – The Verge.

Who knows if the world is ready for a Microsoft Phone or a Dual Screen Phone. I predict that dual screen phones like this will become more common in the next few years. Unlike some of the foldable screen phones, this one looks more durable, which will help. As well, phone makers need new designs to entice people to upgrade. And people will want the next new thing (though maybe not from Microsoft). All this adds up to more of these in the hands of cell phone users in the next few years.

That said, I am terrible at making predictions!  But I predict this will see some form of success. 🙂

Quote

The Segway, the last big hyped thing of the dot com era, is no more

To be honest, I am surprised it lasted this long! I do remember the incredible hype surrounding it during the end of the dot com era. Then it came out, and the dot com era bubble burst, and so did the hype surrounding it.

It’s good for anyone to go through a bubble: it’s a good insulation against future bubbles. So RIP, Segway: you were part of one of my first big bubbles*: Segway, the most hyped invention since the Macintosh, ends production.

* The first biggish bubbles I went through was the AI bubble in the late 80s, early 90s. Anyone working in tech will likely go through many such bubbles in their life time.

Quote

Remember Blackberry?

You don’t see too many BlackBerry mobile phones any more. But that doesn’t mean the end of BlackBerry the company. As you can see from this, they are alive and well making technology for automakers: BlackBerry QNX now in 175 million cars | IT Business

Here’s some key facts:

BlackBerry says its QNX suite is now in 175 million cars, up from the 150 million it announced at CES this year.

The BlackBerry QNX for automotive is a suite of embedded software solutions, including operating systems and middleware, as well as a host of security solutions that protects the vehicle’s systems from cybersecurity attacks. Vehicle manufacturers that don’t want to build their own secure operating systems can use BlackBerry’s QNX operating systems and frameworks to build their ADAS systems.

 

Quote

Which technology has lasted since 1995, 25 years ago


This is interesting. In reflecting upon Java’s 25th birthday, this article looks at what else has lasted since that then: Java’s 25th birthday prompts a look at which tech products have survived since 1995 – TechRepublic.

You might think that very little has lasted that long. And it’s true, many technologies have died. (Altavista for one.) But many technologies continue to succeed and grow. Amazon, for starters.  Java itself still is found in computers all over the world. Check out the piece and see what lives and what died since the mid 90s, when the World Wide Web came into its own.

Quote

On the evolution of technologies

This is a great piece on understanding technology: The best is the last — Benedict Evans. One thing I love about it is that it illustrates its point by using non-digital technology. I tend to think of information and digital technology when I think of tech. This piece overturns that and talks about planes and ships.

And what is the point it is illustrating? Namely, this:

The development of technologies tends to follow an S-Curve: they improve slowly, then quickly, and then slowly again. And at that last stage, they’re really, really good. Everything has been optimised and worked out and understood, and they’re fast, cheap and reliable. That’s also often the point that a new architecture comes to replace them.

Smart piece. Once I read it, I wanted to apply the lessons to other technology too.

Quote

If you are struggling with your iPhone because of the pandemic…

Then you need to upgrade your phone. Why? This:  Apple rolls out iOS 13.5 with COVID-19 features | Engadget

Quote

On specific Agile (software development) traps

There’s much positive to be said about the benefits of Agile software development, and the shift of software development teams is one sign that many feel this way.

However, I think there are some limits to Agile, and this leads teams to fall into certain traps over and over. Indeed, the Wikipedia page highlights a common criticism of Agile, namely:

Lack of overall product design
A goal of agile software development is to focus more on producing working software and less on documentation. This is in contrast to waterfall models where the process is often highly controlled and minor changes to the system require significant revision of supporting documentation. However, this does not justify completely doing without any analysis or design at all. Failure to pay attention to design can cause a team to proceed rapidly at first but then to have significant rework required as they attempt to scale up the system. One of the key features of agile software development is that it is iterative. When done correctly design emerges as the system is developed and commonalities and opportunities for re-use are discovered.

Now, it’s not the case that teams either do design or not. But I have seen that there are a number of specific traps bigger that Agile teams fall into that arise from lack of design. These traps arise from making tactical or limited decisions outside of a larger framework or structure, which isn’t surprising since Agile followers are guided by the principles that the “best architectures, requirements, and designs emerge from self-organizing teams” and “working software is the primary measure of progress”. Unfortunately what I’ve seen that lead to is:

  • Poor middleware/database system decisions: with this trap, you get teams making a decision on deploying a specific middleware package or database system that will support the software development they are doing. However, while that may be great for the Dev, it may not be great for the Ops. If you have enough teams making tactical decisions, you may end up with a more complex system than is necessary and greater technical debt that you want. Once you get enough data into your database systems, trying to reverse the decision may result not result not only in new development and testing, but a small (or not so small) migration project as well.
  • Poor infrastructure decisions: likewise, with this Agile trap I have seen teams using IaaS pick different images to deploy their software onto. Like the database problem, developers may choose one operating system (e.g. Windows) over another (e.g. Debian) because they are comfortable with the former, even if the production environment is more of the latter. The result can be your organization ending up with multiple VMs with many different operating systems to support and thereby increasing the operational costs of the system.
  • Poor application framework decisions: I see less of this one, although it can happen where teams pick an assortment of application frameworks to use in creating their software, and as with middleware and infrastructure, this will drive up the support effort down the road.

Given these traps, I think the way to avoid them is to inject some specific design phases into the overall software development lifecycle. One way to do that is to revisit a software development lifecycle (see diagram below) used by practitioners at IBM and documented in places like this IBM redbook. It has a waterfall quality about it, but it doesn’t have to be limited to waterfall type projects. It can be highly iterative.

The lifecycle process is shown here (taken from the redbook):

 

GSMethod

The part of the lifecycle in the large box is iterative and not all that different from an agile sprint.  But here you take time to explicitly make design / architecture decisions before building  software. You continue to iterate while making important design decisions before building.

Now, before you start your iterative software development lifecycle, you should need to  make specific architectural decisions. You should make these specific decisions in the solution outline and macro design phase. For smaller teams, these two phases may blend into one. But it is here in solution outline and macro design where you make decisions that are fundamental to the overall solution.

For example, in solution outline you could make overall architectural decisions about the application architecture, the choice of infrastructure technology, what application frameworks are the target for the team. These overall architectural decisions guide the dev, test and ops teams in the future. You may also decide to park some of these decisions in order to do further discovery.  Macro design could be next, where each of the dev teams make certain design decisions about their technology choices before they proceed with their iterations. As they are building and deploying code, they can run into issues where they need to make further design decisions, either due to problems that arise or technology choices that have to finally be made: and this is where the micro design phase is useful.  Micro design decisions could be quickly made, or they may require spikes and proof of concepts before proceeding. Or there could be no decisions to be made at all.  The main thing is more design checkpoints are built into the development lifecycle, which can result in less complexity, less maintainability costs, and less technical debt down the road. What you lose in velocity you can make up in overall lower TCO (total cost of ownership).

There is a risks to this type of approach as well. For example, if the project gets hung up with trying to make design decisions instead of gather requirements and making working software. The key stakeholders need to be aware of this and push on the design teams to prevent that from happening. If anything, it can help the key stakeholders better understand the risks before getting too far down the road in terms of developing software. Overall I think the risks are worth it if it helps you avoid these common agile traps.

Quote

Adafruit goes to war against the coronavirus

That’s a bit dramatic, but Adafruit (a tech company I love) has been deemed an essential service and is helping to manufacture things needed in the fight against it. I am happy to see that.

Here’s a bit from them saying who they are and what they are doing. Awesome!

Adafruit is a 100% woman-owned, loan-free, VC-free. profitable, USA Manufacturing company. Please see our about page and press page to read about us. Our founder and lead engineer is Limor Fried, a MIT Electrical Engineer.

We have paused some operations in NYC due to COVID-19, we are paying all team members, contractors, and more. There are no layoffs for 130+ Adafruit team members.

Adafruit was deemed an essential service to distribute/make some PPE (Personal Protection Equipment) such as face shields, and manufacturer electronics for essential life-saving/preserving equipment and developement which is needed in New York and beyond.

Adafruit Industries located at 150 Varick Street, New York, NY 10013 by Executive Order 202.6, “Essential Business” by New York State:
https://esd.ny.gov/guidance-executive-order-2026

via Adafruit Industries, Essential service and business: NYC – Executive Order 202.6 Capabilities and more #NewYorkTough #NewYorkStrong #adafruitchronicles @adafruit « Adafruit Industries – Makers, hackers, artists, designers and engineers!

Quote

Is Cloud Computing Green?

It depends on how you measure it, but according to this New York Times Article, cloud computing has brought environmental benefits.

The article starts with this:

The computer engine rooms that power the digital economy have become surprisingly energy efficient.

A new study of data centers globally found that while their computing output jumped sixfold from 2010 to 2018, their energy consumption rose only 6 percent. The scientists’ findings suggest concerns that the rise of mammoth data centers would generate a surge in electricity demand and pollution have been greatly overstated.

That’s good. The other good thought here is that centralized computing can continue to drive out efficiencies that distributed computing can not.

All in all, one more reason for companies to embrace cloud computing.

Quote

The decline of start-up tech in 2020

Is described here: As the Start-Up Boom Deflates, Tech Is Humbled – The New York Times.

Key takeaways:

  • It’s not as bad as the dot com era
  • It should not be expected, given how many duds startup tech has given us lately
  • It may lead to something worse, but my assessment right now is it could signal a correction more than an overall decline

There’s been many stories written about tech lately: that article is a good chance to get an overall assessment as to where tech is now. At least, start up tech.

Quote

The future of laptops…


Might be seen here: LG brings Gram 17 laptop to Canada | IT Business

Qualities include lightness and thinness, as well as limited ability to make hardware changes. Magnesium body vs aluminum. You can read more about it at IT Business.

It’s only a matter of time before laptops reach a physical limit as to how much lighter and thinner we can make them. That time is not yet. But definitely in the next 5-7 years.