Category Archives: IT

Would you pay $200,000 for a Mac SE??

You might not but I bet someone might. Because it’s not just any old SE….it’s Steve Jobs’ Macintosh. Uncreate has the details:

(Jobs) didn’t stop using Apple products, though, instead working on this Macintosh SE until 1994. Amazingly, it still has files from its days on Jobs’ desk on its drive, and as an incredibly desirable artifact from his “Wilderness Years”, is expected to bring over $200,000 at auction.

For rich fans of Apple, this would be some crazy good thing to have in your collection.

PlantUML: not just for UML. Also good for Gantt Charts, Mindmaps, etc


If you are an IT architect or specialist, you may have used PlantUML. I have and I really like it: It makes doing technical diagrams dead easy.

What I would like you to know about are non-UML capabilities of the tool. PlantUML has the capability to draw Gantt charts and Mindmaps. You can quickly write out your plans and ideas and PlantUML will convert them into the diagram you want. It’s fantastic and I highly recommend it. If you use Visual Studio Code from Microsoft, plug PlantUML into it and you can get your diagrams made that way. But the PlantUML website can also do the job.

For more on this, go to the sections on Gantt charts or mindmaps.

 

 

 

Paper Macs! Doom on Doom! Build a Voight-Kampff machine! And more (What I find interesting in tech, Sept. 2022)

Here’s 70+ links of things I have found interesting in tech in the last while. It’s a real mix this time, but still contains a good chunk on cloud, hardware and software. Some good stuff on UML, Pi and Doom as well. (Love Doom.) Dig in!

Cloud: here’s a dozen good pieces I recommend on cloud computing…

  1. I think hybrid cloud is the future of cloud computing for big orgs, and IBM does too:  IBM doubles down on hybrid cloud
  2. Not to be confused with multicloud: Multicloud Explained: A cheat sheet | TechRepublic
  3. Speaking of that, here’s 3 multicloud lessons for cloud architects | InfoWorld
  4. Relatedly, Vendors keep misusing the “cloud native” label. Customers may not care. You should care, though.
  5. Cloud Foundry used to be the future, but now it’s time for this:  Migrating off of cloud foundry.
  6. I always find these RCAs good:  Details of the Cloudflare outage on July 2 2019
  7. Speaking of outages: Heat waves take out cloud data centers
  8. Google Gsuite: now with a fee. Good luck with that, Google.
  9. Is your app resilient? Consider this four step approach to verifying the resiliency of cloud native applications
  10. If you are an AWS/Oracle user:  using aws backup and oracle rman for backup restore of oracle databases on amazon ec2.
  11. Good tips:  How to add a custom domain to GitHub Pages with Namecheap – Focalise
  12. Good argument:  Rural carriers: We need more subsidies to build 5G

Software: here’s a mix of software pieces, from how to write good bash to how to run good scrums….

  1. Is Internet Explorer dead? Nope!  IE lives! In Korea.
  2. For bootstrap noobs:  Bootstrap tutorials
  3. Fun to consider:  How is computer programming different today than 20 years ago?
  4. Helpful:  Using Loops In Bash – Earthly Blog
  5. More bash goodness:  Bash – Earthly Blog
  6. Related:  Good SED advice
  7. Some python help:  Automate Internet Life With Python | Hackaday
  8. More python:  Analyze Your Amazon Data with Python.
  9. I found this useful indeed:  Google API’s and python
  10. Load testing vs. stress testing: What are the main differences? Don’t confuse them.
  11. Good IFTTT guide:  Send me new jobs available every Monday – IFTTT
  12. Intriguing:   marcoarment/S3.php 
  13. Deploy any static site to GitHub Pages
  14. For fans of either: Visual studio and Terraform
  15. My friend Carl wrote this and it’s good:  The basics of scrum 

UML: I’ve been doing solution architecture lately, and as a result I have been using Visio and PlantUML. I love the latter and found some good links regarding it.

  1. I love PlantUML. Here’s some links on how to use it with Microsoft’s Visual Studio Code:  PlantUML – Visual Studio Marketplace.
  2. and here  UML Made Easy with PlantUML & VS Code – CodeProject
  3. PlantUML and YAML:  https://plantuml.com/yaml
  4. PlantUML and Sequence Diagrams
  5. More on  Sequence Diagram syntax and features

Hardware: here’s some good (and not so good) hardware stories….

  1. This is cool:  teenage engineering google pixel pocket operator
  2. Also cool:  paper thin retro macintosh comes with an e ink display and runs on a raspberry pi (Image on Top of this post!)
  3. Robots:  Roomba Amazon Astro and the future of home robots
  4. Macbook problems:  Macbook Air m2 slow ssd read write speeds testing benchmark 
  5. More Macbook problems:  Macbook repair program: FAIL
  6. Not great:  Starlink loses its shine
  7. A really dumb idea: the switchbot door lock
  8. Finally:  The 20 Most Influential PCs of the Past 40 Years


Pi: I still love the Raspberry Pi, and I want to do more with them soon.

  1. Nice to see this:Raspberry Pi Pico W: your $6 IoT platform – Raspberry Pi
  2. Related:  How to Connect Your Raspberry Pi Pico W to Twitter via IFTTT | Tom’s Hardware
  3. How cool is this?  LISP on Raspberry Pi
  4. Awesome: make your own VK Machine:  Cool Pi Project (image above)

Sensors: one thing I was going to do with a Pi is build a CO2 meter to check on air flow. However the sensor most used for this, the MQ-135, is not all that great. It’s a problem with cheap sensors in general: you just don’t get good results. To see what I mean, read these links:

  1. BUILD YOUR HOME CO2 METER
  2. MQ-135 Gas Sensor with Arduino Code and Circuit Diagram
  3. Measure CO2 with MQ-135 and Arduino Uno – Rob’s blog
  4. Measuring CO2 with MQ135
  5. Air Pollution Monitoring and Alert System Using Arduino and MQ135

Doom! I love stories of how people port the game DOOM onto weird devices. Stories like these….

  1. So many different ports!  Weird devices that run DOOM
  2. Cool!  Even DOOM Can Now Run DOOM! | Hackaday
  3. More on that:  Run Doom inside Doom!

Kubernetes: Still keeping up my reading on K8S. For example:

  1. You’ve written a kubernetes native application here is how openshift helps you to run develop build and deliver it securely.
  2. Benefits of Kubernetes 

Twitter: I don’t know about you, but I’ve gotten tired of the drama around Elon Musk wanting to buy twitter. However I had a recent spasm where I was reading somewhat on it. Here’s what I read:

  1. Twitter, Musk and Mudge
  2. More on Zatko
  3. Also  Zatko
  4. More on Twitter
  5. Whistleblower: Twitter misled investors FTC and underplayed spam issues. Ok, that’s enough.

Finally: 

  1. Beware Tiktok!  TikTok’s In-App Browser Includes Code That Can Monitor Your Keystrokes. These special browsers have to go.
  2. A bad use of AI in France:  taxing pool owners with hidden pools. It’s bad because the success rate is poor.
  3. Lots of good tech articles at Earthly Blog
  4. Lots of good tutorials at Earthly Blog too.
  5. How do I link my domain to GitHub Pages – Domains – Namecheap.com
  6. Mark Zuckerberg braces Meta employees for “intense period”. That’s a shame, said no on.
  7. Updated: Hardware vendor differences led to Rogers outage says Rogers CTO. More on that Rogers outage.
  8. How to:  Fine-Tune and Prune Your Phone’x Contacts List from The New York Times. Useful
  9. Also useful:  4 iPhone and Android Tricks You May Not Know About – The New York Times
  10. Good to know:  How Updates in iOS 16 and Android 13 Will Change Your Phone – The New York Times
  11. Charge your phone differently:  Phone charging.
  12. Canadian orgs struggle with  Ransomware still.
  13. Apple expands commitment to protect users from mercenary spyware. Good.
  14. Related:  84 scam apps still active on App Store’s steal over $100 million annually

On the new Apple watches, from SE to Ultra

So Apple released its latest round of products recently, including the new Apple Watches. My two cents? They seem to be going after a bigger market with the watch, for on one hand (wrist?) you have the new high end Ultra while on the other you have the new low cost SE. Maybe there’s only so much of a market for such digital devices: Apple is looking to see just how big that is. Good on them. I can’t ever see me getting the high end version, but I’ve always been a fan of Apple’s SE products so maybe that watch is in my future.

For more on things Apple, here’s something on Apple Watch cases. Here’s a piece on the psychology of Apple packaging.

For fans of all things Apple, here’s a story on the design tools of John Ive.

Finally, for those of you with old iPhones, you will want to read about this on
new security patches.

P.S. I’ve been writing about the Apple Watch since it came out in 2014 (?). You can read more here.

Two more signs of the ongoing crypto winter, from Minecraft and Tesla


Actions speak louder than think pieces. So these recent actions by Tesla and Mojang are just  one of many signs of the great implosion of crypto/NFTs/Web3/etc.

First off, Minecraft developer Mojang won’t allow NFTs in the game and second, Tesla just did a big crypto sell-off.

I especially liked what Mojang had to say. Essentially NFTs are anathema to the experience that they try and provide with Minecraft. They put their finger on what is wrong with all of that technology. Good for them.

As for Tesla, they were huge proponents for cryptocurrency until recently. For them to dump most of their holdings is a sign — among many signs out there — that crypto winter has set in and will likely stay that way for some time to come.

Thanks to The Verge for both of those pieces.

On the recent Rogers outage, some modest thoughts

With regards to the recent Rogers outage, I have to say I have great sympathy for the IT staff who had to deal with it, and unlike many, I don’t have any great solution to it. I have even greater sympathy for the millions of users like myself who were taken offline that day.

In the short term, the mandate given by Minister Champagne for the telcos to produce clear resiliency plan in 60 days is a good start. At a minimum, certain services like 911 should never be allowed to fail for anyone. As for other services, that is up to the telcos to make proposals. Perhaps failproof low bandwidth services like telephony could be taken up as well. We will see. As always, there will be cost/benefit tradeoffs.

Some people were saying that the problem is with concentration of services with only a few providers. In fact there are other provides besides Bell and Rogers, as BlogTO pointed out. I use one of them: Teksavvy. Despite good price points and good service, they hold only a small fraction of the market. If people want to vote for more diversity, they can do it with their dollars. I suspect they won’t.

In the end, people want low cost, easy of use, simple telco services. Rogers and Bell offer that. That said, I would advise people at a minimum to have their phone service and their internet service on two different providers. Heck if it is really important, get a landline. But at a minimum, split your cell phone service and your internet service. If your cell phone provider goes down, you can still contact people using the internet. You can even get a service like Fongo that will let you make phone calls. And if your Internet service goes down, you can use your phone as a hotspot to access the Internet. Will it cost more? Of course. Higher availability always costs more.

We are going to have these outages every few years, I suspect. Most companies, the telcos included, have a few big and complex network devices at the heart of their network. Those devices depend on specific software to run, and sometimes upgrading that software will fail. When it does, it may cause these outages. Just like it did to these companies in 2018.

Telecommunications is different than other utilities. In order to offer new services regularly (e.g. 5G, high speed Internet), they need to continually upgrade their technology. Electricity, water, and gas are all commodities: telecommunication services are not. The need telcos have to make improvements will always put them and us at risk.

This is not to absolve them: I think Rogers and the other telcos need to follow up on this outage with better plans to be more reliable, and the Government needs to oversee this both from a technology and regulatory viewpoint. This in the end will benefit everyone, in my humble opinion.

(All opinions expressed here are mine, not my employers. I have no inside knowledge of the services or technology provided by Rogers, other than what I read in the media, like everyone else. My opinions are based on working in IT networking since the early 1990s.)

The Drone-Jellyfish wars and more (today in robot news)

Man, what I would have given to have these Jellyfish drones monitoring my beach when I was a kid. I hated jellyfish! Still do. Kudos for the folks who came up with this. (I don’t think the drones actually fight the jellyfish, in case you were concerned about this due to my misleading title. :))

Here on land, if you are keen to have a Boston Dynamics dog robot of your own, now you can. Click on that link for more details.

Devs! Could your next online database be a spreadsheet?

If the thought of your next online database being a spreadsheet sounds ridiculous, consider this. Yes, I know, there are times when the only thing that will do the job for you is a highly scalable, highly available relational database. Certainly, there are other times when a NoSQL database with millions of records is the only way to go. That aside, there is likely many times when you need to store one table with hundreds of records or less. In that case, consider using an online spreadsheet from someone like Google.

If you write code to store data in a spreadsheet, one of the key advantages is that you and others can then interact with that data via spreadsheet software. You don’t have to run special ETL programs to get that data there. You have all the power you need. Plus the code to interact with something like Google Sheets is much simpler than the code to interact with something like AWS’s DynamoDB. I know…I have done both.

For more on this, check this out:Google Sheets API using Python : Complete 2021 Guide. It could be just the thing you need.

How to Download Apps on Your Old iPad and iPhone in 2022

If you happen to have an old iPad and you are thinking of using it, you will find this post of interest.

Like you, I have a very old iPad. It still works fine. However, one of the problems with old iPads is that Apple limits them in terms of upgrading the iPads operating system (iOS). My device cannot upgrade past iOS 9.

The problem with having an older version of iOS is this: if you try and download apps for it from the App Store, you will get message after message saying this application needs a later iOS to download. There are a few apps that you can still download directly, but not many, and not the common ones you likely use and want.

There is a work around for this problem. (I found out about it through the video below.) First, you download the apps you want on a iOS device that has a new OS. I did this on my iPhone. Then you go to your old iPad and look for apps you purchased. Voila, the app you just downloaded is there. NOW, when you try to download it, the App Store will say you don’t have the right iOS, BUT it will ask if you want to download a backlevelled version. You say YES and now you have the app running on your iPad.

This will only work for apps that have been around for a long time. So I was able to download apps like Twitter and CNN, but not Disney+. Still you can get quite a few apps downloaded that way, and suddenly mine (and soon your) iPad is much more useful.

For more on this, watch the video.

Thanks, Jishan.

 

Was the Long Tail a Lie? Ted Gioia’s thoughts and mine

I can’t say if it was a lie. Maybe it was a fairytale. Something too good to be true but something many of us including me wanted to believe in. Whatever your thoughts,  I recommend you read this strong critique on it: Where Did the Long Tail Go? by Ted Gioia. If you are a true believer, Gioia will get you rethinking it.

As for me, I think part of the problem is that online services nudge or even push us to the short tail. There are advantages to them when it comes to selling us more of the short part of the curve in red. We need services and aggregators to get our attention to spiral outwards and look at things we never considered before. Spotify still does that to an extent when it builds me playlists.

Another part of the problem is the willingness of people to get out of their comfort zone and explore the long tail. Again, Spotify will recommend music lists to me, but I often find myself sticking with the tried and true. Services need to better encourage people to try new things or make it easier to try new things.  Give people options, but in a smart way. I know it can be done. I hope it will be done.

 

Kubernetes and Clouds and much more (What I find interesting in tech, July 2022)


Since April, here are a ton of links I found useful while doing my work. Lots of good stuff on Kubernetes and Cloud (both IBM’s and AWS’s); some cool hardware links; some worthwhile software links. Plus other things! Check it out.

Kubernetes: plenty of good things here to explore if you are doing things with Kubernetes like I was:

Terraform: Relatedly, I was doing work with Terraform and these were useful:

IBM Cloud: one of the two clouds I have been working with. Alot of the work was Kubernetes on IBM Cloud so you’ll see some overlap:

AWS: I work on alot of cloud providers. Mostly IBM Cloud but others like AWS

Software: some of these were work related, but some are more hobby oriented.

Hardware: the pickings are few here

Finally: here are an odd assortment of things worthwhile:

On the new Google Glass(es), 2022 edition

In 2013, Google gave the world Google Glass. While their high tech glasses seemed cool at first, eventually it was revealed to be terrible technology, and people sporting it became known as “glassholes”. Not good.

Google did not give up, though, and have unveiled a new version of there glasses. at their recent annual convention on all things Google:

After announcing a whole new catalog of products, including the Pixel 6A, Pixel 7 and 7 Pro, Pixel Buds Pro, Pixel Tablet, and Pixel Watch, Google gave us a taste of an AR Glasses prototype they’ve been working on (labeled Proto 29) that combines natural language processing and transcription to provide subtitles to the real world. Wear the glasses and, in theory, you can understand any language. The glasses pick up audio and visual cues, translating them into text that gets displayed on your lens, right in your line of vision. These virtual subtitles overlay on your vision of the world, providing a contextual, USEFUL augmented reality experience that’s leaps and bounds ahead of what the Google Glass was designed to do in 2013.

I know, they’re still a prototype. But it’s exciting to think about! I could see how they could even show you a potential response, just like they do when you use Gmail and they suggest potential responses. Quite an amazing tool for those who travel to places with different languages.

Among other things, this shows that tech still has ways to be innovative and useful in ways we haven’t even thought of. Good job, Google, for not giving up on this technology. Looking forward to the day when these go from prototypes to the real thing.

Today in good robots: reforesting drones


I’m often critical of robots and their relatives here, but these particular drones seem very good indeed. As that linked article explains:

swarms of (theese) seed-firing drones … are planting 40,000 trees a day to fight deforestation…(their) novel technology combines artificial intelligence with specially designed proprietary seed pods that can be fired into the ground from high in the sky. The firm claims that it performs 25 times faster and 80 percent cheaper compared to traditional seed-planting methodologies.

I am sure there is still a role for humans in reforestation, but the faster and cheaper it can be done, the better. A good use of technology.

A great article / repo to learn about Kubernetes, Terraform, IBM Cloud, Scripting, and more

If you are looking for a way to gain knowledge in a lot of different ways (Kubernetes including ingress, services, and COS as a way to holding information, plus Terraform and more) then I recommend this article.

It has a link to a repo you can use that had 2 issues at the time, so I forked a copy and in the meantime to fix the issues. You can get it here.

What’s nice about this is it comes with some shell scripts that use terraform to build and configure the cluster. It’s a good way to learn many things at the same time. Recommended.

On “The Computer Girls: 1967” in Cosmopolitan


One of the great shames of the IT industry has been the push to marginalize women in our profession. As this 1967 piece shows ( The Computer Girls: 1967 Cosmo article highlights women in technology– ), women had a dominant role in the early days of the computing industry. I believe as long as the the 1980s, women were at least equally represented in the profession as men. Then for various reasons, IT became dominated by the boys and not the girls. That was a shame and it will only stop being a shame when women are at least equally represented. We still have a way to go, according to Deloitte and others. Until that time comes, read what used to be in Cosmo.

(Image from here, which is also worth reading: 10 women who changed the tech industry forever – The Daily Dot)

IBM Cloud tip: take advantage of free IBM cloud products, including the IBM Kubernetes Service

IBM has numerous free products in its Cloud Service, and you can find them, here.

One I recommend especially is the Kubernetes Service. You can create a free cluster and learn a lot about both IBM Cloud and Kubernetes by using this.

If you aren’t sure where to start, I put together a github repo to help you get started. It gives you all the information you need, so you can go from a simple web page or node.js app on your own machine to having it up and running on the IBM Kubernetes service. You can find it here: blm849/networkcontainertesting: a simple way to test connectivity in and out of a container.

It’s up to date as of May, 2022. While there are plenty of tutorials out there, you may want to see if they are up to date. For example, some features may be deprecated.

Drop me a comment if you have any feedback. Good luck!

The end of an era: the iPod Touch is being discontinued. Here’s why you still might want one.

I’ve been a fan of the iPod Touch since I wrote this in 2008: Why I love my iPod touch. It was a great device then, and 14 years later it is still great. Which is why I am sad to hear it is being discontinued, according to AppleInsider and others.

However, there are several reasons y0u still might want to buy one. At the time I first bought mine, I was locked into using my Blackberry device, but I wanted to experience what Apple devices could provide. If you have an Android phone, you can still get that experience today.  You can have the best of both worlds: an Android device for some things and an Apple device for others.

If you are a parent, you likely have experienced your kids wanting to use your phone to play games, etc. With the Touch, you can give them that to use instead. Much cheaper than an iPad.

If you want to cut the cord — somewhat — on your technology use, a Touch can help you. You can take it with you on outings and from time to time connect to a wireless signal to check on things, but the lack of a cell phone signal means you are much less tethered than normal.

The iPod Touch is still a great device. Get one new, while you still can.

On why Jony Ive left Apple

Jony Ive did not leave Apple because of the ‘Accountants’, or at least that’s not the only reason, despite what this The New York Times piece says. I think that’s one of the reasons, sure. After Steve Jobs died, I am sure Ive felt less important. Plus he already had made a significant difference and he made a lot of money.

I believe one of the other reasons was simply because he and Apple have designed themselves into a minimalist corner. Jony Ive’s career rose on the design of the machine that saved Apple…this:

Since then the Apple computers have gone from that to this:

It’s a great computer,  but very little in the way of physical changes year over year. The engineers still get to do a lot, but there’s very little for Ive and the design team to do there.

Sure he got to design some of the higher end devices, like this:

But the Macbooks and the iMacs are very simple now. (Never mind the iPhone.) They are all wonderful engineered and fantastic minimal designs. But that’s the point: they are minimal to an extreme. And that, I believe, is one of the main reasons that Ive left.

The book that inspired that article is supposed to be really good. Apple fans, get a copy if you can.

Spot the robot finds useful work in Pompeii

I am not a fan of Boston Dynamics or their overhyped robots. They are often put to poor use, like harassing homeless people. And yet people seem positive about them. To which I normally reply: “meh”.

I am happy to make an exception for this use of them shown above. It’s  Spot, Boston Dynamics robot dog, working in Pompeii. It’s also a good example of where their robot is being useful and taking on risks that humans should avoid. If Spot’s manufacturer wants to make their robots do jobs like this, I’ll be more supportive of them.

(Image link to article)

What I find interesting in tech in general, Apr 2022


Well, I didn’t expect this week to be “what I find interesting in IT Week” , but here we are! I hope you have found it all useful. While the other posts were specific, these are of a general nature. From weird cool stuff to mainframes to iphones to architecture. Dig in!

IT Architecture: Here’s some tools you IT architects can use:

Cloud: some cloud related stuff:

Programming: here’s some things software and hardware folks might find interesting:

Finally: here’s some links that need to be seen without falling into a particular category:

What I find interesting in tech: DevOps and CI/CD (April 2022)

Yesterday I wrote about DevOps. One of the things I emphasized there was that DevOps was more than Continuous Integration (CI) and Continuous Delivery (CD). And while I still think that, I also know that for many people, CI/CD is a very important part of DevOps. It’s important for me too. Here’s a list of things I’ve found interesting in that area that I thought were worth sharing:

Generally:

Toolchains:

Tekton:

Helm

GitOps

On DevOps, or the important of a good reference architecture when doing IT Architecture

If you are designing an IT system, you can greatly benefit from a good reference architecture. A good reference architecture can be:

  • a superset of whatever architecture you design
  • a guide to what is possible in your design
  • a reminder of what is essential and what you may have left out
  • an explainer of all the potentially relevant parts to your design
  • a supporter of whatever architecture you do decide on
  • like a mentor providing you thought leadership and guidance on what works and why you need it

IBM has long put together such good reference architectures. Of all I have seen, this is one of the better ones I have seen: DevOps architecture: Reference diagram – IBM Cloud Architecture Center.


It covers all the stages of DevOps, from Planning to  Deployment to Learning. It shows the logical parts of the DevOps Architecture and what tools support that. It reveals the relationships between the parts, both static and dynamic. It reminds you of the things you need that you might not be aware of. I think it’s fantastic.

I think it is great for another reason. Implicit in the architecture is the definition —  at least for IBM and I — of what DevOps should be. It’s not just CI and CD. It’s not just a toolchain/pipeline from Dev to Ops. DevOps is really this entire cycle:

Each stage is important. Too often the focus is on Development and Deployment. But stages like Planning and Learning are an essential part of the DevOps cycle  that are essential not just for code quality but testing quality and ops quality.  It all ends up with better results for all the stakeholders of an IT system, from the business sponsors to the users.

Anyone involved with IT architecture, system design, IT testing, system operations or DevOps in general would benefit from studying that reference architecture.

(Images are links to IBM pages)

What are NFRs (non-functional requirements) and why should you care?


If you have any role in the design of an IT system, you should care about NFRs.  As this piece (Nonfunctional requirements: A checklist – IBM Cloud Architecture Center), states:

Defining and addressing the nonfunctional requirements (NFRs) for a system are among the most important of a software architect’s responsibilities. NFRs are the system quality attributes for a system, as distinct from the functional requirements, which detail a system’s business features and capabilities.

Examples of NFRs include key concepts such as reliability, performance, scalability, and security. NFRs are cross-cutting in nature and affect multiple aspects of a system’s architecture. It’s important to articulate and address the NFRs early in the project lifecycle and to keep them under review as the system is produced. To help with that task, you can use the following checklist of key NFRs. The checklist designed to be consulted when you define and evolve a system’s architecture.

The bold text is key. NFRs describe the qualities your system should have. You have functional requirements and you have quality requirements (i.e. , NFRs). Any system design needs to address both.

The number of specified NFRs your system can have are endless. Three of the key ones found at the top of that list are:

Those three are typically covered in any system design I work on. The piece goes on with a great rundown on the various NFRs you’d expect to address in most system architectures.

Three NFRs missing from that list that I think are important and that I would ask you to consider are:

  • Accuracy
  • Maintainability (related to complexity)
  • Cost

There is often a tradeoff with accuracy and other NFRs, such as performance. To gain better performance, data will often be cached and served up even when it is out of date (i.e., inaccurate). That may be fine. But accuracy should always be taken into account and not just assumed.

Maintainability is often ignored, but it is key for the long term success of a system. Two examples of this. One, developers will sometimes not externalize values in their code; changes to the code require a fix and an outage. That is less maintainable than code with external values in a simple text file that can be changed on the fly. Two, code that is not well documented and not peer reviewed will be harder to maintain. Externalization, code reviews and documentation are examples of maintainability requirements you may have and should have for your IT system.

Cost is an important NFR because it causes tradeoffs with most other NFRs. For example, without cost considerations, stakeholders might have availability requirements that are for 99.99999….. It’s only when cost (and complexity and maintainability) become factors do we see often see availability (and other NFRs) scale back.

Finally, NFRs are not just for software architects: they are for everyone. In fact, I wish the term “non-functional requirement” was replaced with “quality requirement”. However I suspect software architects — for whom functional requirements are key — came up with that term, so we all have to live with it. When you think of NFRs, think Quality Requirements. Everyone involved in the design of an IT system wants it to have good quality. Understanding the NFRs/QRs are key to this.

 

On the Amazon Astro robot, or servants old and new

Amazon has a new robot coming out, and there’s been a number of reviews. Here’s a list of just a few of them:

If those reviews have convinced you to get one, you can apply to get into the queue for them over here (they aren’t generally available): Amazon.com: Introducing Amazon Astro, Household Robot for Home Monitoring, with Alexa, Includes 6-month Free Trial of Ring Protect Pro : Everything Else

My thoughts:

  • It’s smart Amazon is rolling them out this way. (No pun intended.) There are going to be many missteps* : a gradual rollout will minimize problems and bad press. (* Also not a pun. :))
  • A robot is the next iteration in home devices. People may have a number of Amazon home devices around. Robots are like Alexa on wheels. And if anyone can mass produce them, Amazon can.
  • I can see Google and others getting into the game. I have a number of Google Home devices around my house. Having a Google Robot (Gizmo?) would be a benefit to me. For one thing, I might consolidate my Home devices and just have one robot / floor.
  • I wonder if Apple will get into the game? I’d love to see an Apple Home robot. Maybe it will look like Eve from Wall-E? 🙂
  • Perhaps at some point this thing can do many things. Or maybe there will be just a series of robots: one to vacuum, one to move small things around and watch the house and provide information, maybe even one to tend to plants or keep the cat busy. Robot technology has a way to go before it is humanlike and can do everything.

Anyway, a home robot for under a grand is an exciting development.

P.S. While I was reading that I was reminded of this piece: Finding the servant call buttons in New York City’s Gilded Age mansions | Ephemeral New York. In some ways saying “Hey Siri/Alexa/Google” is the equivalent of pressing servant buttons.  One day we will have a household of robot servants working for us at the press of a button.

(Image linked to from the Ephemeral New York article. Those buttons are in the Frick museum in New York: check them out if you go there.)

What I learned writing web scrapers last week


I started writing web scrapers last week. If you don’t know, web scraper code can read web pages on the Internet and pull information from them.

I have to thank the Ontario Minister of Health for prompting me to do this. The Minister used to share COVID-19 information on twitter, but then chose recently to no longer do that. You can come to your own conclusions as to why she stopped. As for me, I was irritated by the move. Enough so that I decided to get the information and publish it myself.

Fortunately I had two things to start with. One, this great book: Automate the Boring Stuff with Python. There is a chapter in there on how to scrape web pages using Python and something called Beautiful Soup. Two, I had the minister’s own web site: https://covid-19.ontario.ca/. It had the data I wanted right there! I wrote a little program called covid.py to scrape the data from the page and put it all on one line of output which I share on twitter every day.

Emboldened by my success, I decided to write more code like this. The challenge is finding a web page where the data is clearly marked by some standard HTML. For example, the COVID data I wanted is associated with paragraph HTML tag and it has a class label of  covid-data-block__title and covid-data-block__data. Easy.

My next bit of code was obit.py: this program scrapes the SaltWire web site (Cape Breton Post) for obituaries listed there, and writes it out into HTML. Hey, it’s weird, but again the web pages are easy to scrape. And  it’s an easy way to read my hometown’s obits to see if any of my family or friends have died. Like the Covid data, the obit’s were associated with some html, this time it was a div statement of class sw-obit-list__item. Bingo, I had my ID to get the data.

My last bit of code was somewhat different. The web page I was scraping was on the web but instead of HTML it was a CSV file. In this case I wrote a program called icu.sh to get the latest ICU information on the province of Ontario. (I am concerned Covid is going to come roaring back and the ICUs will fill up again.) ICU.sh runs a curl command and in conjunction with the tail command gets the latest ICU data from an online CSV file. ICU.sh then calls a python program to parse that CSV data and get the ICU information I want.

I learned several lessons from writing this code. First, when it comes to scraping HTML, it’s necessary that the page is well formed and consistent. In the past I tried scraping complex web pages that were not and I failed. With the COVID data and the obituary data,  those pages were that way and I succeeded. Second, not all scraping is going to be from HTML pages: sometimes there will be CSV or other files. Be prepared to deal with the format you are given. Third, once you have the data, decide how you want to publish / present it. For the COVID and ICU data, I present them in a simple manner on twitter. Just the facts, but facts I want to share. For the obit data, that is just fun and for myself. For that, I spit it into a temporary HTML file and open it in a browser to review.

If you want to see the code I wrote, you can go to my repo in Github. Feel free to fork the code and make something of your own. If you want to see some data you might want to play with, Toronto has an open data site, here. Good luck!

 

On moving off Google for Search

Have you ever thought of giving up on Google as a search tool? I have, and so did Clive Thompson. He wrote about switching here. As for me, I have changed my default search engine to DuckDuckGo and I am preferring the experience.

I still use technology from Google. It’s pretty hard not to. But you have choices when it comes to Search, try using something else..

New robots just dropped (in your pool and your…toilet?)

Pool cleaning robot
Whenever new robots are released, I like to feature them. Robots are still pretty limited in the home, but there has been some attempts to get past the Roomba and have them in other parts of the house. Cases in point, this Toilet cleaning robot and this Pool cleaning robot .

Check them out. The robots are coming.eventually.

(Image via Yanko).

It’s spring. You should freshen up your web site too.

Is your website looking old and tired? Maybe you just need to freshen it up and clean it up. I wrote about how you can do that in around 30 minutes, here: Ok, you have a web page or a web site. Here’s how can you make it look better in no time. I used the guidelines there to refresh one of my sites: berniemichalik.com.

Part of that advice is freshening up your web site’s fonts. If you have no idea how to do that, then you need this: top 50 Google Font Pairings [Handpicked by Pro Designers]. One of the examples is displayed above.

On the new iPhone SE

iPhone SE, 2022 edition, RED

One of my favorite phones from Apple is the SE, and in 2022 there is a new version of it. From what I read, the new version is a combination of physical features, old and new, combined with new software. I like it.

I read some complaints that argued the iPhone SE should have the same shape as the previous SE phones (think “flat edges”). Those complaining miss the point: there is no ONE form factor for the SE. The form factor is based on recycling once was what was new recently.

If you like an older form factor — home button, anyone? — and you like a great low cost iPhone, then the SE may be for you. Check out this list of reviews:

Convinced? Then head over to Apple and buy one. I am a fan of the (PRODUCT) RED one: iPhone SE 64GB (PRODUCT)RED – Apple

(Image from the Apple web site)

P.S. If you are looking for a bargain smart phone that isn’t the SE, there  I recommend this.

The two problems with home robots

This is a cool story about a concept robot for homes:  A BB-8 Droid for your home – Yanko Design.

I used to have problems with such concepts, because  they provide an opportunity to have a device wandering around your home, recording data and selling it to others. That’s why I was never keen on such devices coming from Amazon or Google. I was very pro-privacy when it came to such technology.

For better and worse, I have since adopted quite a few Google Home devices in my house. If I was worried about them recording all the time, I appear to have gotten over it. As often is the case, the convenience they provide trumped privacy concerns.

Given that, I would love to have a robot like the one above. Instead of having multiple Google Home devices, I could just have one Google Home Robot that followed me around.

That brings me to the second problem. While it is cute that they illustrate this one rolling and bouncing around a home, mobility for robots is a huge challenge. Especially homes with stairs.

I see two ways around that. Such a robot would not be good for me, but people living in one level condos and apartments might find some combination of a vaccuum robot + Google Home device just the thing. And for people with stairs, maybe a robot above with wheels and a handle you can use to bring it with you up and down stairs might be the best alternative.

Robots are coming to most homes eventually. Maybe they will look like the one above. Maybe not. But soon we will see them everywhere.

Tiny DOOM! And other things I find interesting in tech, February 2022


I’ve been doing work in a number of areas recently: IT architecture, Azure, Kubernetes and more. As I do that, I collect a number of links, which I have below. As well, I put together some Raspberrry Pi links, because I love my Pi. Also DOOM because I will always click on a DOOM link. Lots of good material. Let’s review!

IT architecture: I’ve been thinking much about IT architecture these days, and I’ve been writing about it here: BLM on IT. One thing that helped me think about it was this: 5 diagrams you need to document your solution architecture. This is also helpful: Editable architecture diagram resources: IBM IT Architect Assistant. In addition, something on DDD:  Apply Domain-Driven Design to microservices architecture.

Devices: These two pieces are on new trends in devices:  Dell envisions a sustainable laptop allowing you to replace parts creating a design you could grow old with and Lenovo ThinkBook Plus Gen 3 Laptop.

On the other hand, we have this: BlackBerry phone with keyboard is not dead. Remember netbooks? They were great little devices. Here’s a piece on them: Netbooks: The Form Factor Time Forgot.

Cool: Here’s something fun: The Best of 404PageFound and Other Primitive ’90s Websites That Still Exist. I love DOOM, so: Is this one of the smallest playable DOOM devices? and Pocket-Sized Doom Is Actually Playable. Speaking of small things, we have this, A VM in your browser,  this Writing a simple 16 bit VM in less than 125 lines of C and this System/360 simulator. Also this: CHUNGUS 2 – A very powerful 1Hz Minecraft CPU.

Raspberry Pi: for Pi fans, here’s some good links:

Cloud and DevOps: here’s some things I found worthwhile in that space

IBM: Here are two good initiatives my employer is providing: Good probono program from IBM to help environmental groups  and A good initiative from IBM to help on the matter of Racial Justice.

Azure: I have been doing tons of research of Microsoft’s Azure and so I have many links on it here. Enjoy!

Kubernetes:  I have been doing some Kubernetes work too which lead to these links in

Finally, here’s some other useful links I didn’t want to lose:

Penk Chen is making computers cool again

And to me he is doing it with these two machines: the CutiePi tablet above, and the Penkesu Computer below…

I think both of these machines are fabulous. I love the different designs of both of them. The handle for the CutiePi is great: you can carry it and then use it to stand up the computer. As for the Penkesu, I love how it reminds me of the old netbooks I used to love.

Well done, Penk Chen and team. For more on the bottom device, see: The Penkesu is a DIY retro handheld PC with a mechanical keyboard – The Verge.

P.S. Hat tip to Clive Thompson for pointing this out.

 

Chrome OS Flex could be just the thing you need to make your old hardware useful again

I wrote some time ago about how I turned an old Windows laptop into a Chromebook for my son’s virtual school . At the time I did this I used software from an organization called Neverware. It all worked well and I was recommending it to many.

Not long after that Google bought Neverware. I thought: oh no perhaps we will lose this ability to recycle old machines in this way. What a shame.

Turns out I had nothing to worry about. Google is coming out with Chrome OS Flex, and I presume it will provide similar capabilities that Neverware’s software provided. If so, I recommend it. It’s a great way to recycle old computers.

For more on it, here’s two more pieces worth taking a peak at:

Hacking North Korea


This is a fascinating story in WIRED: North Korea Hacked Him. So He Took Down Its Internet

It may seem far fetched, but if you read it you can see there were plenty of opportunities for him to exploit weaknesses in North Korea’s networks. He’s also modest about what he was able to accomplish.

Among other things, it reminded me that the Internet is full of fragile technology that can be brought down. Even if that technology is owned by government agencies.

Some good links on how to learn Python

A friend asked me for some help when it comes to learning Python. I put together this list for him, but it’s good for anyone wanting to learn the computer language.

  1. Why Learn Python
  2. Automate the boring stuff with python. A great book!
  3. Learn python in 24 hours. Another book. Also great.
  4. Learn python in 10 minutes
  5. Good doc on python
  6. Learn Python the hard way
  7. How to make a web app using Flask and Python
  8. How to build a twitter app in python
  9. Become a More Efficient Python Programmer

There are so many great resources on the Internet concerning Python. I could easily triple the size of this list. Start with these: you’ll find the rest soon enough.

(Image from Free Code Camp, which also has good links worth reviewing.)

On the sorry state of printers, 2021

What does the Verge think of printers?

Printers are the worst. They’re unreliable, they guzzle reportedly $12,000-a-gallon ink, and their manufacturers have been known to use dirty tricks, scare tactics, and DRM to strongly encourage you to buy cartridges exclusively from them.

Whoa! Strong but true. What prompted this? Well it seems…

Some of Canon’s own toner cartridges are now being detected as fakes — and they’re forcing the company to teach customers how to bypass its own DRM (via Techdirt).

Wild. You can read more about that here: Canon printers now think Canon’s own toner is fake – The Verge.

I have always wondered why printers are in the sorry state they are. While they are common, they are almost seen as a dead end technology. People don’t write about new printers the way the write about new smartphones. They are seen as a necessary evil in many cases. No one in Silicon Valley is coming along to disrupt the printer business.

I remember when IBM spun off their printer division into a company called Lexmark. And I can remember over a decade ago Kodak made printers with cheap ink. Now when I go into a computer store, those brands aren’t there. It’s the Canon’s and HP’s of the world that are making printers and presumably making money from them. Perhaps the only way to make a go of printers is to make them poorly. Which is sad.

What programming language should you learn? (2022 edition)

The best programming languages to learn in 2022, according to TechRepublic are these:

It’s interesting to see how things have changed. Back in 2015 when I wrote about this, Java was 1st and Python was in 4th. Javascript was 8th! I am not surprised by this.

Java and the C languages will always be good to know. But if you want to be marketable, learn some Python and Javascript.

It’s Friday. A good day to tidy up, workwise. Start with your inbox


It’s Friday, a good day to tidy up, workwise. That way it’ll be easier to start things fresh on Monday.

Sure you can tidy up your Downloads folder, your desktop, maybe delete some really big files that have been hanging around forever. Those are all good, but I recommend you clean up your inbox.

If you need a tool to do this, I know some really smart people who have recommended this: Mailstrom: Clean Up Your Inbox Now.

Your Monday self will thank you.

Why beach robots are good

While I am not a fan of most popular robots these days, I will make an exception for this one: This Microsoft-powered AI-enabled robot cleans up cigarette butts littered on the beach! – Yanko Design

It’s sad we need such a robot, but if this problem is going to exist, I am all for such technology. It’s a great project and not unlike a Roomba for the beach. Nice.

Something to consider if you are gaming this holiday season (never mind the metaverse)

If you are planning to do some gaming this holiday season, especially Halo, then read this: Cheaters are already ruining Halo Infinite multiplayer games – The Verge. And it’s not just Halo, but lots of big online games.

As an aside, when I read about Mark Z’s Metaverse, I imagine them not even considering things like this.

(Image from article).