How to take your git skills to the next level

One way is to read this: How to become a Git expert – freeCodeCamp.org. There’s a lot of good pages on how to get started on git, but if you are joining a software project, you may be expected to know more than the basics. You may be required to know the kind of things that piece talks about. Of course you can ask people on your team for help, but why not get as much skill as you can first and then ask better questions? There’s always something new to learn when it comes to git and software management: learn as much as you can by yourself and increase your skill set and your value to the team.

Do you know someone who wants to learn how to code? (Maybe it is you!)

Then this is a good page for them to go to: How I Learned How To Code Using Free Resources | Home | Bri Limitless. 

There’s plenty of good links to information, and they are all free. I can vouch for a number of them, such as Codecademy and Coursera.

One problem people run into is: why should I learn to code? One obvious answer is to learn a set of skills to help them gain employment. Two other reasons I have:

  1. build a website to promote yourself or any future business you might have.
  2. automate things you do on your computer

For #1, being able to build a website is a great way to promote yourself and show yourself to the world. As for #2, that’s the main reason I still keep coding. There’s lots of information I want to process, personally and professionally, and coding is the best way to do that.

Regardless of your reason, if you want to learn to code, check out Bri Limitless’s web page.

Some thoughts on insurance companies and the use of wearable technology

When it comes to insurance and wearables, I think the effect of these devices will be limited. I think this because:

  1. I don’t believe people are consistent about using wearables. I have been using wearables and fitbits for some time. I believe most people are prone to not wearing them constantly. Inconsistent use will make it harder for insurers to guarantee you a  better rate or for you to achieve one.
  2. You are more likely to wear it and use it when you are trying to keep in shape. If you are not, you will likely not wear it. The insurer can’t know if you are getting out of shape or just no longer wearing it. (I used to use a Nike+ device for running, and I ran consistently, but I did not use the device consistently. Many days and weeks I just didn’t feel like it.) The use of wearables is mostly an upside for you, and of limited value to the insurer.
  3. One reason I gave up on using wearables consistently is that they don’t give you much new information. I walk and exercise consistently and so they often give me the same information consistently. Which means I tend to not wear them often. I don’t need the fitbit to tell me I walked 10,000 steps. I know I did because my commute to and from work plus my lunchtime walk consistently gives me that.
  4. My fitbit scale is great for tracking my weight over time, but an insurer could also just ask me my weight, height and waistline and get a sense of my eligibility for insurance, just like how they ask if I smoke. A very low tech way to measure things. Men with a waist over 40 inches are more prone to heart disease then men with much smaller waists, regardless of what a high tech scale says. A insurer needs a limited number of data points to assess your health risks.
  5. I believe there is limited return for insurers to get this much data. I base this on my current life insurer. I can get life insurance from 1-6X my salary (assuming I pay the corresponding rise in premiums) without providing medical data. They only ask for medical data if I ask for more than 6X. It likely isn’t of benefit for them to process the data for lower amounts, so they proceed without it.
  6. Insurers are data driven, for sure, but I think they are good at picking out a limited number of good numbers to determine what to charge you for insurance. I don’t think the numbers coming back from wearable tech is all that good.

So in short, I don’t believe people or insurers will get much benefit from wearable tech. People will not get breaks on their insurance, and insurers will not be able to reduce their risk substantially with the use of wearables.

MindMup 2: a good web based mindmapping too

I’m a fan of mindmapping tools in general. One I’ve been using and enjoying lately is MindMup 2. 

Two things I like about it:

  1. It’s simple to modify your mindmaps on the go. You don’t need to do much to add or modify your map.
  2. It’s also simple to export your mindmap into a number of different formats. If you occasionally use mindmaps or you want to start with a mindmap to generate ideas but then you want to do the majority of the work in Word or some other tool, this is a good feature.

Mindmup_2 is a good tool. Go map your thoughts.

Some thoughts on the 10th Anniversary of the App Store

  1. I remember what a big deal it was that Apple was going to support third party software developers. That was by no means a given: Apple could have restricted the iPhone to only their apps and a handful of third party software vendors. By being much more open, they made the iPhone so much more than it could have been if they had not.
  2. I believe iTunes had a big influence on this. It was a model, in a sense, for what the App Store could be. And as iTunes helped make the iPod a success, so would the App Store help make the iPhone (and the iPod Touch) a success.
  3. One influence iTunes had on the App Store was software pricing. Before the App Store software was either free or pricey. Suddenly the App Store came along and software was the price of a song. The few vendors that wanted to charge more could not compete with those who were fine with the low cost. The App Store changed the way people thought about what they should pay for software.
  4. Another effect the App Store had on software was time to market. With mobile apps, people expected updates regularly and bugs to be fixed right away. Companies that used to ship annually now were shipping weekly or daily. This had a huge effect on how software teams developed software. Everyone had to have a mobile app, and every mobile app had to keep up with the new pace. This effect rippled through companies. Software developers adopted the pace for mobile apps to other software being created and released that frequently as well.
  5. The App Store also improved software quality. If you released bad software, you would hear from users immediately via the ratings. There was no hiding bad apps. As well, if your app sucked, other people would come out with better apps and steal whatever market share you had.  Software development teams were on tighter leashes because of the App Store.
  6. The App Store allowed software developers to make money in ways they could not before. You had a direct channel to consumers of software via the App Store. And lots of developers made a good amount of money as a result.
  7. Apps  became part of our culture. Games like Angry Birds found an audience because of the App Store.
  8. We downloaded so many apps we lost track of them. And some of them turned out not to be good for us. Speaking of that, if you want to do a bit of spring cleaning on your apps and make sure that the ones remain are good, I recommend you read this: On the 10th anniversary of the App store, it’s time to delete most of your apps (Popular Science)

How chromebooks can be a means of avoiding being IT support for your family

Chromebook image
This piece explains the logic behind getting certain relatives a Chromebook so as to relieve you of being tech support:  I bought my mom a Chromebook Pixel and everything is so much better now – The Verge.

Now your mom may be tech savvy and not need a Chromebook (my mom was). But for some people’s moms or dads or children, it can be a very good solution. Especially for people who don’t travel much with their computer and who have a stable IT environment (e.g. the networking set up doesn’t change, the printer is good).

Chromebooks may not seem good value. You might compare what you get from a Chromebooks vs a Windows laptop and think: I get more from the Windows laptop. If you are good with computers, that true. But that’s not how to look at it. Factor in the cost of the relative’s computer plus the time you spend solving problems with it. When you factor that in, the benefit of the Chromebook jumps out.

iPhone 6s: still a great phone in the era of iPhone X

If you are skeptical about the greatness of the iPhone 6s, this piece makes a good argument for it: Reasons you should buy an iPhone 6S instead of an iPhone 8 or iPhone X – Business Insider. If money is a prime concern, you can find refurbished 6s phones for a fraction of the cost of a new iPhone 8 or X.

If you want an iPhone and you are fine with refurbished — and some places give good warrantees on such phones — then consider making an iPhone 6s your next phone. Or get a new one from your mobile phone carrier or buy one outright from Apple.

 

How to better understand Kubernetes networking

Kubernetes networking is a non-trivial thing to understand, but if you are going to get into the use of Kubernetes, then you need to understand it. This trio of posts is a good way to do that. Highly recommended.

  1. Understanding kubernetes networking: pods – Google Cloud Platform — Community – Medium
  2. Understanding kubernetes networking: services – Google Cloud Platform — Community – Medium
  3. Understanding kubernetes networking: ingress – Google Cloud Platform — Community – Medium

What happens when you fill your house with smart devices?

Just how bad is it to have your house filled with smart devices? Kash Hill attempted to find out by connecting many of them up in her house and then track all the data that they sent out. The results are fascinating. Some of them send the data out in the clear, which is terrible. But even the ones that encrypt your data and leaking things about you via metadata.

Essentially whatever value smart devices provide — and some of that value is doubtful — they are monitoring equipment that you set up yourself. Just how much they monitor can be seen here in her study: The House That Spied on Me.

It’s a great read, and for some, it will be a great revelation.

Image via Home Depot’s web site.

On Bitcoin rivals


While all the hype might make you think that Bitcoin is  the only cryptocurrency, there are a number of alternatives out there and this piece in Fortune outlines what they are: 5 Bitcoin Rivals That Are Rapidly on the Rise.

While this piece lists a handful, I expect that there will be a flood of such things in the future as financial markets look to capitalize on this mixture of money and technology.

The Fortune piece is also not bad in summarizing some key facts about Bitcoin if you still find it hard to get your head around it.

I expect Bitcoin to crash to a much lower level, but I don’t see cryptocurrencies going away. Knowing more about them, especially because they could have a major impact on global economies, is worthwhile.

San Francisco puts delivery robots on a lease. Good.

According to CNET: Delivery robots face strict rules in San Francisco.

I like that picture above. Often when I see delivery robots in photos, they are by themselves on an uncrowded street. In the photo above, you can get a better sense of how it will be a problem if swarms of these things start taking over the sidewalk. The idea of sidewalks becoming more crowded by these tiny vehicles is a maddening one.

I’d be fine with them if city planners can come up with a way these robots can roll around and not impede better uses of the streets such as walking and cycling and public transit. Until then, the less robots crowding the sidewalks, the better.

Like drones in the air and autonomous cars on the roads, robots are coming to the sidewalks. City planners need to start planning for that now.

Why I think this review of the Tesla Semi is really good.

I thought this piece was great: This ex-trucker has some questions about the Tesla Semi – Autoblog.

It punctures the hype behind Tesla’s new truck in the best possible way, by carefully and methodically asking questions and bringing up real life experiences that show the limitations of the truck.

Too few tech reviews come with this type of analysis. I’d like to see more of it. Most tech reviews are positive summaries of features. Or there are a small number of pieces that say such and such will never work because I say so. In either case, the person reviewing it comes from a technology background. I’d like to see more non-technical reviews of technology.

If you are interested in Tesla or the direction of automotives, it is well worth a read.

In an alternative universe this is the next hot smartphone


I am unexcited about the direction in Smartphone design. The key design idea that less is more in a phone is becoming Less is a Bore. Perhaps that’s why this design of a Blackberry got me thinking about it. While it still has a gorgeous screen, the phone itself is worthy of looking at and touching. It strikes the right balance. The phone as a design object is worthwhile.

It would have been good if Apple had struck out in a new design direction with the iPhone X. Instead they went with Less is More. Instead we have a phone with the Notch and a camera on the back that sticks out. It’s as if Apple would have preferred not to have these cameras and sensors,  so rather than design the phone to incorporate them into the design, they stick out, figuratively and literally. In a few years from now when Apple has gone in a different direction, Apple fans will look back and exclaim how poor that aspect of the phone design is.

As for now, we live in an age where the screen dominates design, from TVs to smartphones. In the future that may change and the technology that we interact with will be contained in objects that have noteworthy design in them.
For more on this beautifully designed phone, see If BlackBerry Ditched the Keyboard | Yanko Design.

The further decline of Peter Thiel

The man who threw his lot in with Donald Trump continues to sink in the world. Case in point: Y Combinator Quietly Ends Relationship With Peter Thiel.

July, 2021: Here is a piece on how he exploited Roth IRAs to make a fortune and pay no taxes. Just a bad guy.

February, 2022: Further news on Thiel: he’s stepping down from Facebook’s board and going full time MAGA. He’d be tragic if he wasn’t so malicious.

July, 2022: this piece is on the “enigma” of Peter Thiel, but it’s becoming clearer the guy is a fascist.

 

I create a super simple set of tools to secure your Ubuntu server

And you can get it here: blm849/supersimplehardening: A super simple way to harden your server.

I create a lot of Ubuntu test servers, and I find that as soon as I create a Ubuntu server on a cloud environment, it gets immediately attacked by automated software. This is obviously a concern. A bigger concern is that when I went  searching for recommendations on how to harden such a server, I found  a wide variety of recommendations! It can be hard to know what to do. Still, I needed something. As a result, I created this package of scripts. The scripts do a number of things:

  • prevent direct root login to your server via ssh. This was one of the things I saw consistently happen and once someone cracks the root access on your machine, it’s game over.
  • stop some basic security holes, like IP spoofing
  • download some useful software, like logwatch, ufw and others
  • upgrade all software on the server

This is just a very very limited number of things to prevent attacks. But it is better than nothing.

If you install Apache, PHP, MySQL or other software on your machine, there are even more attacks that will be launched against it. I recommend you get a firewall up and running and at least run logwatch on a regular basis to look for potential attacks being launched against you.

Finally, if it is important for you to secure your server, don’t stop with my scripts. Go out and consult with IT security specialists right away.

Good luck!

What I find interesting in tech, November 2017


Here’s an assortment of 42 links covering everything from Kubernetes to GCP and other cloud platforms to IoT to Machine Learning and AI to all sorts of other things. Enjoy! (Image from the last link)

  1. Prometheus Kubernetes | Up and Running with CoreOS , Prometheus and Kubernetes: DeployingKubernetes monitoring with Prometheus in 15 minutes – some good links on using Prometheus here
  2. Deploying a containerized web application  |  Container Engine Documentation  |  Google Cloud Platform – a good intro to using GCP
  3. How to classify workloads for cloud migration and decide on a deployment model – Cloud computing news – great insights for any IT Architects
  4. IP Address Locator – Where is this IP Address? – a handy tool, especially if you are browsing firewall logs
  5. Find a Google Glass and kick it from the networkDetect and disconnect WiFi cameras in that AirBnB you’re staying in– Good examples of how to catch spying devices
  6. The sad graph of software death – a great study on technical deby
  7. OpenTechSchool – Websites with Python Flask – get started building simple web sites using Python
  8. Build Your Own “Smart Mirror” with a Two-Way Mirror and an Android Device – this was something I wanted to do at some point
  9. Agile for Everybody: Why, How, Prototype, Iterate – On Human-Centric Systems – Medium – Helpful for those new or confused by Agile
  10. iOS App Development with Swift | Coursera – For Swift newbies
  11. Why A Cloud Guru Runs Serverless on AWS | ProgrammableWeb – If you are interested in serverless, this is helpful
  12. Moving tech forward with Gomix, Express, and Google Spreadsheets | MattStauffer.com – using spreadsheets as a database. Good for some
  13. A Docker Tutorial for Beginners – More Docker 101.
  14. What is DevOps? Think, Code, Deploy, Run, Manage, Learn – IBM Cloud Blog – DevOps 101
  15. Learning Machine Learning | Tutorials and resources for machine learning and data analysis enthusiasts – Lots of good ML links
  16. Importing Data into Maps  |  Google Maps JavaScript API  |  Google Developers – A fine introduction into doing this
  17. Machine learning online course: I just coded my first AI algorithm, and oh boy, it felt good — Quartz – More ML
  18. New Wireless Tech Will Free Us From the Tyranny of Carriers | WIRED – This is typical Wired hype, but interesting
  19. How a DIY Network Plans to Subvert Time Warner Cable’s NYC Internet Monopoly – Motherboard – related to the link above
  20. Building MirrorMirror – more on IT mirrors
  21. Minecraft and Bluemix, Part 1: Running Minecraft servers within Docker – fun!
  22. The 5 Most Infamous Software Bugs in History – OpenMind – also fun!
  23. The code that took America to the moon was just published to GitHub, and it’s like a 1960s time capsule — Quartz – more fun stuff. Don’t submit pull requests 🙂
  24. The 10 Algorithms Machine Learning Engineers Need to Know – More helpful ML articles
  25. User Authentication with the MEAN Stack — SitePoint – if you need authentication, read this…
  26. Easy Node Authentication: Setup and Local ― Scotch – .. or this
  27. 3 Small Tweaks to make Apache fly | Jeff Geerling – Apache users, take note
  28. A Small Collection of NodeMCU Lua Scripts – Limpkin’s blog – Good for ESP users
  29. Facebook OCP project caused Apple networking team to quit – Business Insider – Interesting, though I doubt Cisco is worried
  30. Hacked Cameras, DVRs Powered Today’s Massive Internet Outage — Krebs on Security – more on how IoT is bad
  31. Learn to Code and Help Nonprofits | freeCodeCamp – I want to do this
  32. A Simple and Cheap Dark-Detecting LED Circuit | Evil Mad Scientist Laboratories – a fun hack
  33. Hackers compromised free CCleaner software, Avast’s Piriform says | Article [AMP] | Reuters – this is sad, since CCleaner is a great tool
  34. Is AI Riding a One-Trick Pony? – MIT Technology Review – I believe it is and if AI proponents are not smart they will run into another AI winter.
  35. I built a serverless Telegram bot over the weekend. Here’s what I learned. – Bot developers might like this.
  36. Google’s compelling smartphone pitch – Pixel 2 first impressions | IT World Canada News – The Pixel 2 looks good. If you are interested, check this out
  37. Neural networks and deep learning – more ML
  38. These 60 dumb passwords can hijack over 500,000 IoT devices into the Mirai botnet – more bad IoT
  39. If AWS is serious about Kubernetes, here’s what it must do | InfoWorld – good read
  40. 5 Ways to Troll Your Neural Network | Math with Bad Drawings – interesting
  41. IBM, Docker grow partnership to drive container adoption across public cloud – TechRepublic – makes sense
  42.  Modern JavaScript Explained For Dinosaurs – fun

YouTube’s fight with its most extreme creators highlights the problem big IT has on it’s hands

Here’s a really good piece highlighting a big problem the Frightful Five / Big IT have right now with user generated content: YouTube’s messy fight with its most extreme creators – Vox.

Some background is in order. For years, content creators on Youtube (part of Google/Alphabet) have been jacking up the extremism in their videos to get more views. Extremism in all senses of the word, including political extremism. Some do it for Fame, but many do it for Fortune. This was going well for them until….

In March this year, 250 advertisers pulled back from YouTube after reports that ads were appearing on extremist content, including white supremacist videos. As a result, YouTube demonetized a wide range of political content, including videos that didn’t include hate speech but might still be considered controversial by advertisers. Creators called it “the adpocalypse” — they saw their incomes from YouTube evaporate without fully understanding what they’d done wrong or how to avoid demonetization in the future.

And this is the problem for Youtube and other platforms…how to maximize both traffic and profit. For a long time the formula was simple: more extreme videos = more traffic = more profit. Now they are hitting a wall, and advertisers and consumers are fed up.

The question big IT will be struggling with is: how to draw the line? In case you think the line is easy to draw, I recommend you watch the video by Carlos Maza of Vox. He makes a case that it is very difficult, even if at first glance it should be obvious what should be removed.

I don’t think there is a simple answer to this. If anything, it is going to be one of the major political debates of the first part of the 21st century, as global IT companies deal with national laws and policies.

The home speaker / AI market heats up as Sonos makes advances

Sonos One

WIRED has a good review of the latest product from Sonos, here: Sonos One Review: Amazon’s Alexa Is Here, But It Still Has Some Growing Up to Do

What makes this development significant to me is that it signals that Sonos is concerned with Apple and others coming and taking away market share. Sonos has a great line of products already, but Apple is threatening to take a piece of that with their new home speaker with Siri/AI capability. Sonos has beefed up their AI capability to meet the challenge.

I expect that the next big thing in IT will be the vocal interface tied in with a speaker system in some form. I expect we will see them everywhere. Perhaps not for extended communication, but for brief and frequent requests.

If you are an IT person, I recommend you learn more about chatbot technology and how it will integrate with the work you are doing. More and more users will want to be able to communicate with your systems using voice. You need to provide a vocal interface for them to get information and send information.

Most homes will have one device acting as an aural hub. Sonos wants to make sure it is one they make, and not Apple.

The iPhone 8 is really the iCamera 8

iphone
Great review of the latest iPhone*, here: The iPhone 8 is a look into the augmented future of photography | TechCrunch. I had heard that the iPhone 8 had a great new camera, but this article really drives that home.

If you are thinking of getting an “8”, this could be the reason you need. On the other hand, if you rarely take photos or don’t care too much about the quality, I think the case for an upgrade gets weaker.

*  I don’t consider the iPhone X the latest phone so much as a promise of where the iPhone is going. To be honest, I think the iPhone X is as much an attempt to celebrate the 10 years of the iPhone and Steve Jobs’s legacy, not unlike the Twentieth Anniversary Macintosh. Not that there is anything wrong with that.

 

Some thoughts on the end of the CBC mail robots

mail robot
According to Haydn Waters, a writer at CBC, the mail robots at the corporation are being discontinued. Instead:

Mail will be delivered twice a week (Tuesday and Thursday) to central mail delivery/pickup locations on each floor.”

What gets lost in alot of discussions of robots, AI, etc., taking all the jobs is that the drivers for the decisions is not technology but economics. If there is no economical need for robots and other technology, then that technology will not just appear. There is nothing inevitable about technology, and any specific technology is temporary.

Of course there will be more use of robots and AI and other technology to replace the work people may currently do. The key to finding work will be to continually improvise and improve on the tasks one has to do to remain employed. That’s something humans do well, and technology will struggle with for some time in the future, AI hype not withstanding.

The comeuppance of Silicon Valley

It’s not in full decline, but Silicon Valley is on its heels these days, whether due to the practices at Uber or Facebook or Google or …well, the companies that belong there as a whole. Here’s three pieces that all touch on the some of the problems there, but really I could have put three dozen recent articles instead of just these three:

  1. There’s Blood In The Water In Silicon Valley
  2. Privilege and inequality in Silicon Valley – Tech Diversity Files – Medium
  3. Silicon Valley is confusing pseudo-science with innovation – The Verge

Everything I see tells me that they are not equipped to deal with the challenges on their own. If this is true, then expect these high tech companies to come in for a political bruising soon.

Some thoughts on the problems Facebook and Google (and even retailers) have with people being awful on their platforms

Google, Facebook, and Twitter are platforms. So are some retail sites. What does that mean? It means that they provide the means for people to use their technology to create things for themselves. Most of the time, this is a good thing. People can communicate in ways they never could before such platforms. Likewise, people can sell things to people they never could.

Now these platforms are in a bind, as you can see in this piece and in other places: Google, Facebook, and Twitter Sell Hate Speech Targeted Ads. They are in a bind partly due to their own approach, by boasting of their ability to use AI to stop such things. They should have been much more humble. AI as it currently stands will only take you so far. Instead of relying on things like AI, they need to have better governance mechanisms in place. Governance is a cost of organizations, and often times organizations don’t insert proper governance until flaws like this start to occur.

That said, this particular piece has several weaknesses. First up, this comment: “that the companies are incapable of building their systems to reflect moral values”. It would be remarkable for global companies to build systems to reflect moral values when even within individual nations there is conflicts regarding such values. Likewise the statement: “It seems highly unlikely that these platforms knowingly allow offensive language to slip through the cracks”. Again, define offensive language at a global level. To make it harder still, trying doing it with different languages and different cultures. The same thing occurs on retail sites when people put offensive images on T shirts. For some retail systems no one from the company that own the platform takes time to review every product that comes in.

And that gets to the problem. All these platforms could be mainly content agnostic, the way the telephone system is platform agnostic. However people are expecting them to insert themselves and not be content agnostic. Once that happens, they are going to be in an exceptional bind. We don’t live in a homogenous world where everyone shares the same values. Even if they converted to non-profits and spent a lot more revenue on reviewing content, there would still be limits to what they could do.

To make things better, these platforms need to be humble and realistic about what they can do and communicate that consistently and clearly with the people that use these systems. Otherwise, they are going to find that they are going to be governed in ways they are not going to like. Additionally, they need to decide what their own values are and communicate and defend them. They may lose users and customers, but the alternative of trying to be different things in different places will only make their own internal governance impossible.

 

Where Apple is going next

According to this source, Apple is going into the Health Care Industry: Apple Is Going After The Health Care Industry, Starting With Personal Health Data.

I think a more general statement is that Apple is going to be looking into expanding into services, be they health care, banking, or something else.  They’ve already been successful with Apple Pay.  I expect they can find niches in health care and other industries that they can easily fit into. Plus they can work with partners to deliver tools to people and health care providers that can save everyone in terms of health care costs.

I’m looking forward to Apple bring forth innovations in health care that results in lower costs and better care. I hope they can deliver.

For more on some current health features from Apple, go here.

Very cool. Build a Google Home for Only $35

This is a pretty cool DIY project: The AIY Voice Kit Lets You Build a Google Home for Only $35.

Now, I have my qualms about letting Google have access to so much personal information. If you do not have such qualms and you want to build a cool project, click the link and head on over to Wired, where they have more information on it and how to get it.

Juicero post-mortem

 

Juicero
The juicero is toast. Not surprising to me: it was a terrible idea.

While the juicero was terrible, this analysis of the engineering behind the juicero is fantastic: Here’s Why Juicero’s Press is So Expensive – Bolt Blog.

Even if you aren’t interested in this device, read this analysis. You will come away with a much better appreciation of all the devices currently in your own life and some of the thinking that goes into making them.

 

Installing SonarQube on CentOS/RHEL

The following webpage has detailed instructions for installing and configuring SonarQube on a RHEL/CentOS 7 Linux server (real or virtual) and it was one of the best guides I’ve seen (and I’ve reviewed half a dozen):

The webpage  outlines how to update your Linux server, how to install MySQL (as a data repository) on it, and how to then install SonarQube software on the server.

Some things to note. First, this procedures has you using wget to get v6.0 of SonarQube:

Check out the page https://www.sonarqube.org/downloads/ and see the latest version of SonarQube (e.g. 6.4) and replace “sonarqube-6.0.zip” with the latest version (e.g. “sonarqub-6.4.zip”.)

One important thing to note: this procedure creates a userid and database called sonarqube.

Later in the process, the changes made to /opt/sonarqube/conf/sonar.properties needs to match this:

sonar.jdbc.username=sonarqube                                   sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

If the userid, password and database you created in MySQL do not match what it is the sonar.properties file, you will see cannot connect to the database errors in the /opt/sonarqube/logs/web.log file and SonarQube will not come up.

Once you enter: sudo ./sonar.sh start

Get the IP address of the SonarQube server and then go to a browser and enter:

The CRTC upholds net neutrality in Canada

It may not seem obvious, but preventing ISPs from providing zero-rating is actually support for Net Neutrality.

I generally see Net Neutrality as a good thing, though the ISPs have something of a case here. That said, Net Neutrality is a good thing to stick with, especially because what the ISPs give they can also take away.

More on the CRTC ruling here: CRTC ruling against zero-rating a boon for businesses, experts say (via IT Business)

Jean-Luc Mélenchon, a candidate right out of a Philip K Dick Novel

Melenchon hologram
In France, politician Jean-Luc Mélenchon plans to be in seven places at once using  something similar to a hologram. According to Le Parisien:

Strictly speaking, these are not holograms. Jean-Luc Mélenchon will be present in seven different places thanks to … an optical illusion discovered for the first time half a century ago by an Italian physicist

Virtual Mélenchon reminds me of the politician Yance in Philip K Dick’s novel, The Penultimate Truth. We may not be far off where we get virtual candidate that look like people but behind the scenes we have AI or some combination of AI and people.

For more on the technology, see the article in Le Parisien. For more on Dick’s novel, see Wikipedia. Read up now: I think we can expect to see more of this technology in use soon.

How to get a Raspberry Pi working with a TV with composite/component input (as opposed to HDMI)

RaspberryPiTV
I had an old Raspberry Pi 1 Model A, with an HDMI port and a standard RCA composite video port for older displays and I also had an old Toshiba TV (pictured above) and I wanted to get them working together. Here’s what I did and here’s some things I learned.

First things first, I had to get a the Raspberry Pi functional. To do that, I mostly followed the steps here: http://www.pcworld.com/article/2598363/how-to-set-up-raspberry-pi-the-little-computer-you-can-cook-into-diy-tech-projects.html. I say mostly because I was using a Mac, so I used SDFormatter to format the SD card. If you have a Mac, you can get SDFormatter here.

Basic steps to set up the Pi were:

  1. Download Raspbian
  2. Download SDFormatter
  3. Put the SD Card in my Mac (you want at least an 8 GB SD card).
  4. Format the SD Card using SDFormatter
  5. Unzip Raspbian
  6. Take the files in the unzipped Raspbian folder and copy them onto the SD Card (which should appear on your desktop)

All that is pretty straightforward in terms of setting up the Pi. If you don’t care for the instructions from PCWorld, Google “Raspberry Pi setup Mac” (or Windows or whatever your operating system) and you will likely find a site that is helpful.

Now, once the files are copied on to the SD Card, modify the config.txt file on the SD card. This is a key thing I had to do. Before I did it, I could plug my Pi into the TV but nothing appeared on the screen. After modifying the config.txt file (and it took some hacking around), I was able to get it to work.

Why do you have to do this? It seems that Raspbian assume you will be using HDMI and will not recognize a non-HDMI output device unless you modify the file. So modify it you must.

Note! Before I edited the file and replaced the text in it, I selected all of the text in that file and copied and pasted it into a file on my Mac as a backup. I recommend you do the same. Then I made the changes to the file, saved it, then ejected the SD card and put it in my Raspberry Pi. If you want to see my version of the file, you can see it here.

It was a process of trial and error to figure out which lines in the the config.txt to change. I was fortunate that I could start with this page which had details on how he got it working. Unfortunately his config.txt and the one I needed were slightly different, so I kept at it until I figured out how it should work. (With his file, the text was unstable: it kept rolling up the screen. With my file, the text did not roll.)

In my config.txt, I have colour burst disabled, rendering everything in black and white. Enable it if you want colour. I disabled it because I thought it would improve resolution but it did not.

Other things to note:

  • I had trouble determining which part of the composite cable should go into the TV. I had one end plugged into the Raspberry Pi, but it took me trial and error until I figured out where to plug the other end into the TV.
  • It will take up to a minute or longer before the Raspberry Pi sends video to my TV. If you don’t see output right away, be patient.
  • Most newer TVs also have composite/component ports. I used them for some testing.
  • Is it worth doing this if you can hook up to HDMI? I’d say no. I wanted to make use of the old Toshiba TV but if I had an old monitor with an HDMI port, I’d get an HDMI cable from the dollar store and connect up the Raspberry Pi that way.
  • When is it worth doing? I’d say if you had simple output to display, and the only ports available on your TV were the component ports, than give it a shot. I actually wrote a simple Twitter client in Python that polls Twitter every 5 minutes and displays my feed in text form. For simple text output like that, this set up is perfect. (You can see the output above: it looks weird due to the refresh rate and my phone: to the eye, it looks ok.)
  • Is it component or composite? I see the words “component” and “composite” used  and I am not sure which is correct.  In my case, all I know is I have one cable to connect the Pi’s video output to the TV’s input port. The Pi has only one video port to plug into, so that’s easy. Most TVs will have more than one port to accept video input: you need to experiment to get the right one.

I hope you found this useful.

P.S. The other thing I like about doing this is: my TV now  looks like the TV between Leon and Holden in Blade Runner. 🙂

Thoughts on automation, from the WSJ (and me, someone who specialized in automation)

Robots
Christopher Mims has a good piece here that touches on many of the recent arguments concerning automation, here: Automation Can Actually Create More Jobs (WSJ). Well worth reading.

For my own perspective, early in my career my job was automating many of the systems operations tasks in my part of IBM. In one year I automated essentially the work of 10 people. No one lost their job as result, because while it was good to have these activities automated, the activities were not valuable enough to justify hiring people to do the work. Essentially the automation improved the quality of our work. Automation using IT to improve the quality of work is a good use of automation, be that automation be a lowly shell script or very expensive robot with A.I. Quality aside, how the automation affects staff depends on the culture and the makeup of an organization.

There is talk of places like McDonald’s replacing workers with kiosks as a result of a drive by some for a higher minimum wage. First off, McDonald’s are rolling out those kiosks in Canada, too, which makes me think they are going to deploy them regardless of what the minimum wage is. Second, I have used the kiosks a number of times, and they are of a limited benefit to a McDonald’s customer. The kiosks are good if there is a long line for a person to take your order: they kiosks are bad if there is a small line or no line. They are bad because it will take you many more minutes to place your order, due to the kiosk’s user interface. (Try one and you will see.) The kiosks some time will fail to print out your receipt: if you don’t remember your order number, then you have to go in line, tell them what you ordered, and then get your number. Overall the kiosks are not bad: they are especially good if you like to special order. But if the lines aren’t long and your order is standard, skip them and go in line.

Besides that, McDonald’s will still have plenty of staff and likely will for the future. Kiosks can’t cook, can’t pack your order, and can’t clean the restaurant. If you think robots can do that and do it cheaply, you need to learn more about robotics. I can see why McDonald’s and other fast food places need automation: they are constantly trying to retain people while trying to keep costs down. But the notion they are automating to spite people looking for a higher wage is ridiculous. McDonald’s is not going to become a glorified vending machine and they should not try to be. People go to restaurants and coffee shops to socialize and to come in contact with other people, and automation will provide less of that, not more.

As well, smart fast food places will learn that human contact makes for better business (see Starbucks). There are many ways to be successful as a fast food business, and a positive experience in dealing with staff is one of those ways.

Automation changes work. However, how it changes work is complex. It is tempting to assume that it will eliminate all work, but that is too simplistic. In addition, we need to think about work, income, and why we do what we do. Automation can help us do that, and that is one clear benefit of automation.

(Image: link to image.freepik.com)

How IBM Watson helped Time magazine narrow its search for Person of the Year 

Interesting article: How IBM Watson helped Time magazine narrow its search for Person of the Year (IT Business)

From a technology point of view, it is also interesting that the IBM partner was using IBM’s Watson and Bluemix technologies.

I am biased here, as someone who works for IBM and believes in these technology, but I do think that if you think A.I. and cognitive doesn’t have a place in your business, you should read this. In the next two years, expect all your competitors to adopt these new technologies to compete with you.

My mixed bag of IT links for December

Like previous collections of IT links, this collection reflects things I am interested in or found useful recently:

  1. If you want to get started using APIs, I recommend this: Most Popular APIs Used at Hackathons | ProgrammableWeb
  2. If you want to build that web site, consider Using Twitter Bootstrap with Node.js, Express and Jade – Andrea Grandi, and this Building a Website from Scratch with ExpressJS and Bootstrap | Codementor. Also Mastering MEAN: Introducing the MEAN stack and Bluemix Mobile, Part 1: Creating a Store Catalog application – Bluemix Blog
  3. Or develop a mobile app like this: Create Swift mobile apps with IBM Watson services – developerWorks Courses
  4. I am a fan of Bluemix and Eclipse. This article ties them nicely together: IBM Bluemix – Eclipse Package Download – Neon release.
  5. I am also a fan of IoT these days. For fellow IoT fans, these links are good: Intro to Hardware Hacking on the Arduino — Julia H Grace and $10 DIY Wifi Smart Button | SimpleIOThings.
  6. Speaking of IoT, if you have been doing some work with Arduinos, you might be interested in the ESP8266. Some good info on it here ESP8266 Thing Hookup Guide – learn.sparkfun.com and a good thing to do with it, here: SimpleIOThings | Simple Do-It-Yourself Internet-of-Things Projects
  7. More good links related to software and application development work here Migrate an app from Heroku to Bluemix and here A Concise Introduction To Prolog, plus Building without an Ounce of Code – Part 2 – Apps Without Code Blog and this Turning a form element into JSON and submiting it via jQuery – Developer Drive
  8. Some interesting links pertaining to Minecraft: Can Minecraft teach kids how to code? – Safari Blog and Minecraft and Bluemix, Part 1: Running Minecraft servers within Docker.
  9. There’s lots of talk about AI these days, the  Economist explains why artificial intelligence is enjoying a renaissance
  10. If you are interesting in working in IT, you might like this: How to Get a Job In Deep Learning or this: An Unconventional Guide for Getting a Software Engineering Job — Julia H Grace
  11. Or maybe you want start a start-up. If so, check this out: A Free Course from Y Combinator Taught at Stanford | Open Culture
  12. Finally, here are just a number of interesting but mostly unrelated links:
    1. IBM Blockchain 101: Quick-start guide for developers
    2. Building three-tier architectures with security groups | AWS Blog
    3. Performance Tuning Apache and MySQL for Drupal
    4. How to secure an Ubuntu 16.04 LTS server 
    5. Clean Your System and Free Disk Space | BleachBit
    6. Use an iPad as a Raspberry Pi display — Kano OS – YouTube
    7. (Software iSCSI) Configuring SAN boot on Red Hat Enterprise Linux 5 or 6 series

 

Two additions to my github repositories: one for IBM Watson, one for monitoring Linux systems

I’ve recently added two repos to my github account:

The first one is some proof of concept code I wrote to demonstrate how to work with IBM Watson’s Tradeoff Analytics service using node.js

The second one is some sample code I have had for some time that does simple server monitoring of a Linux server.

There is no intellectual property involved in these repos: it is simple code based on documented code samples found in many places on the web.

For more details, see my Github landing page, here: blm849 (Bernie Michalik)

Is Tim Cook the Steve Ballmer of Apple?

This piece makes a strong case that he is: Why Tim Cook is Steve Ballmer and Why He Still Has His Job at Apple. I’d add to it and say that people like Steve Jobs and Bill Gates were great people at a great time and a great place. Steve Jobs wasn’t terribly successful at NeXT: he was still great, but the timing of his ideas wasn’t and the company itself wasn’t either. Tim Cook and Steve Ballmer are very good CEOs, but they are not in the same league as Jobs and Gates, and you could argue that the time has come and gone for both Apple and Microsoft.

Apple has many good months and years ahead. We will have to wait and see if they can regain the golden era of Jobs and his new iMacs, iPods, and iPhones.

The Apple Car is off (for now)

According to the article below, Apple “has drastically scaled back its automotive ambitions, leading to hundreds of job cuts and a new direction that, for now, no longer includes building its own car, according to people familiar with the project.” Too bad. I expect we will see more and more car related activity from Apple, but a shiny new vehicle may not be one of those things.

For more details, see:

Source: How Apple Scaled Back Its Titanic Plan to Take on Detroit – Bloomberg

My favorite place to go for technical tutorials is DigitalOcean

If you want tutorials that are clear and understandable and work, then I recommend the Tutorials at DigitalOcean. You might think it is obvious, but I can’t count the number of how to technical guides on the Web that don’t work are hard to understand and confusing.  All the ones I’ve used from DigitalOcean have worked well. Plus they are a pleasure to read.

Now when I am searching on for a technical topic, I put in “DigitalOcean” as part of the search terms.

Installing and configuring and using IT is hard enough: make getting started that much easier by using their tutorials.

Thoughts on using JMeter to do web performance testing

There are many tools to use for web performance testing, but if you want a good tool that does the job, I recommend Jmeter. The good and bad thing about JMeter is that there are alot of different options and features. To make it simpler for you, the good folks at Digital Ocean have a good tutorial on getting it set up, here: How To Use Apache JMeter To Perform Load Testing on a Web Server | DigitalOcean. While this is fine for testing one page, there are test scenarios where you want to have the user perform multiple steps (e.g. go to the home page, login to their account, check their account balance, then logout). If that is the case for you, too, then you want to read this next: How To Use JMeter To Record Test Scenarios | DigitalOcean (I used Firefox for this: if you are going to use JMeter to develop your performance test cases, then download Firefox too.) For any performance testing that follows a sequence, you really want to use the recording feature of JMeter.

Some other thoughts….

On my thread group, I added the following listeners:

  • Response time graph
  • Graph results
  • Aggregate report
  • View results tree (with scroll automatically on)

I also login to the web server and tail -f  the access log (and sometimes the error log).

I do all this because it is easy to run have a lot of errors when you first (and even later) run your test. For example, if you are testing a sequence, you might see good performance, but you might also see 404s in the access log, or you might see other anomalies in the aggregate report (e.g. good response 90% of the time, but bad response on average). Having more data is better and it insures you don’t have false positives (e.g., you think performance is good, but it really isn’t because the application is failing).

As soon as your developers have some code in place, have someone run Jmeter against it. Don’t wait until towards the end of the project. Jmeter is free and anyone can use it.

Back up your test plans often. It is easy to change your test plan, have it go from a successful one to an unsuccessful one because of the change, and then find it hard to go back because you changed a number of variables.

For your test plan, have multiple thread groups. This will allow you to test different test scenarios for different test groups. You can have different test plans too: it’s up to you how you manage it. For example, I recorded a long sequence for one test group, then I copied it and made a simple test group with less steps by removing them.