• About Me Card

Max Hemingway

~ Musings as I work through life, career and everything.

Max Hemingway

Tag Archives: Programming

Raspberry Pi and Amazon Alexa Voice Service

25 Friday Mar 2016

Posted by Max Hemingway in Development, Programming, Raspberry Pi

≈ 5 Comments

Tags

Development, Programming, RaspberryPI

Amazon have released a step through guide that allows you to access the Alex Voice Service using a Raspberry Pi.

This project demonstrates how to access and test the Alexa Voice Service using a Java client (running on a Raspberry Pi), and a Node.js server. You will be using the Node.js server to get a Login with Amazon authorization code by visiting a website using your computer’s (Raspberry Pi in this case) web browser.

This guide provides step-by-step instructions for obtaining the sample code, the dependencies, and the hardware you need to get the reference implementation running on your Pi.

Github Repository: https://github.com/amzn/alexa-avs-raspberry-pi

Hardware you need

  • Raspberry Pi 2 (Model B)
  • Micro-USB power cable for Raspberry Pi (included with Raspberry Pi)
  • Micro SD Card – To get started with Raspberry Pi you need an operating system. NOOBS (New Out Of the Box Software) is an easy-to-use operating system install manager for the Raspberry Pi. The simplest way to get NOOBS is to buy an SD card with NOOBS preinstalled – Raspberry Pi 8GB Preloaded (NOOBS) Micro SD Card
    An Ethernet cable
  • USB 2.0 Mini Microphone – Raspberry Pi does not have a built-in microphone; to interact with Alexa you’ll need an external one to plug in
  • A USB Keyboard & Mouse, and an external HDMI Monitor
  • WiFi Wireless Adapter (Optional)

Skills you needPI

  • Basic programming experience
  • Familiarity with shell

One for my list to try on my Raspberry Pi.

 

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

Early view of the Raspberry Pi3

27 Saturday Feb 2016

Posted by Max Hemingway in Development, IoT, Programming, Raspberry Pi, Uncategorized

≈ 1 Comment

Tags

Development, IoT, Programming, RaspberryPI

PIThe Register has an article on the new Raspberry Pi3 which is currently going through FCC testing and certification.

The Pi 3 Model B otherwise looks pretty much like 2015’s quad-core 32-bit ARM Cortex-A7-based Raspberry Pi 2: it sports a familiar Broadcom system-on-chip, HDMI port, SD card slot, wired Ethernet socket, and 40 general-purpose IO pins, all in a credit-card form factor. – Source The Register

Not much is know from the rest of the submission about its features, however Wifi and Bluetooth onboard it will be interesting to see what other things have been built in as the details of this version are released by RaspberryPi.

 

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

Programming Nostalgia – Back to the 1980’s

08 Monday Feb 2016

Posted by Max Hemingway in Programming, Tools

≈ 2 Comments

Tags

Coding, learning, Programming

As part of the update to the Usborne’s coding books for today’s kids releasing two new books:

  • Lift-the-flap computers and coding
  • Coding for beginners using Scratch

Usborne have released some of their 1980 computer books as PDF’s that can be downloaded for personal use.

The released titles include:

Introductions to Programming

  • Programming Tricks and Skills
  • Machine Code for Beginners
  • Computer Programming
  • Practical Things to do with a Microcomputer

Computer Games ListingsSpeccy

  • Computer Spy Games
  • Weird Computer Games
  • Creepy Computer Games
  • Computer Battlegames
  • Computer Spacegames

Adventure Games

  • The Mystery of Silver Mountain
  • Islands of Secrets
  • Write your own Fantasy Games
  • Write your own Adventure Games

First Computer Library

  • Computer Fun
  • Simple Basic

Definitely a blast from the past. Thank you Usborne for taking me back to my early years! Now where is that emulator software….

Source

Click to access programming-tricks-and-skills.pdf

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

PI Zero Stock & Project Competition

06 Saturday Feb 2016

Posted by Max Hemingway in Development, IoT, Open Source, Programming, Raspberry Pi, Uncategorized

≈ Leave a comment

Tags

Coding, Development, IoT, Programming, RaspberryPI

PISince its launch the Raspberry PI Zero seems to be in high demand with its low price of under £5.00 for the base module. The official suppliers are still out of stock with no view as to when they may receive their next shipment. They fly out as soon as they come in

This makes the PI Zero Stock literally Zero!

The unofficial supply chain of place such as Ebay are now up as high as £42.00 with sellers caching in on what is supposed to be a cheap computing platform.

Hopefully the stock levels will come back to a level to stem/curb the high prices coming in.

But why so popular – this is mainly due to the cheap price of the computing module and has captured the imagination of hackers, developers and hobbyists.

There are a wide range of interesting projects appearing on the net such as:

  • Pi Zero Synth
  • Pi Zero Projects

Hackaday and Adafruit have joined up to create a new competition looking for the best Raspberry PI Zero project.

The platform is ideal for IoT development of small modules, sensors and other projects. The other forms of the Raspberry PI is already being used for IoT projects such as a Home Heating Control Device.

It will be interesting to see what comes out of the competition and the next innovation. One competition I shall be watching with interest.

 

 

Like Loading...

Are you rethinking your Java Plugin’s

29 Friday Jan 2016

Posted by Max Hemingway in DevOps/OpsDev, Programming, Security

≈ Leave a comment

Tags

Coding, Programming, Security

Oracle have recently announced via a blog post that they are going to deprecate the Java browser plug in JDK9 and remove it from future releases.

By late 2015, many browser vendors have either removed or announced timelines for the removal of standards based plugin support, eliminating the ability to embed Flash, Silverlight, Java and other plugin based technologies.

With modern browser vendors working to restrict and reduce plugin support in their products, developers of applications that rely on the Java browser plugin need to consider alternative options such as migrating from Java Applets (which rely on a browser plugin) to the plugin-free Java Web Start technology.

Oracle plans to deprecate the Java browser plugin in JDK 9. This technology will be removed from the Oracle JDK and JRE in a future Java SE release.

Early Access releases of JDK 9 are available for download and testing at http://jdk9.java.net. More background and information about different migration options can be found in this short whitepaper from Oracle.

Source: https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free

JavaMost browsers are already removing plugin support or don’t support extensions any more. See links below:

  • Firefox
  • Edge
  • Chrome

Oracle are addressing this through their Java Web Start which downloads the relevant files to your computer if not present then caches them for later use.

Java Web Start is an application-deployment technology that gives you the power to launch full-featured applications with a single click from your Web browser. You can now download and launch applications, such as a complete spreadsheet program or an Internet chat client, without going through complicated installation procedures.

Java Web Start includes the security features of the Java platform, so the integrity of your data and files is never compromised. In addition, Java Web Start technology enables you to use the latest Java SE technology with any browser.

With Java Web Start, you launch applications simply by clicking on a Web page link. If the application is not present on your computer, Java Web Start automatically downloads all necessary files. It then caches the files on your computer so the application is always ready to be relaunched anytime you want—either from an icon on your desktop or from the browser link. And no matter which method you use to launch the application, the most current version of the application is always presented to you.

Source: http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/

However this may not be plain sailing as pointed out in this blog post from Openmicroscopy

What does it mean for desktop developers/administrators?

To deploy Java Web Start, one first needs to get familiar with Deployment Rule Sets. Administrators can then create a list of known-safe applications and manage compatibility between different versions of Java on the system. Each browser will have their own set of dialogs and control mechanisms.

It is getting harder and harder to distribute Java Web Start applications for developers and/or administrators.

Source: http://blog.openmicroscopy.org/tech-issues/future-plans/2015/09/23/java-web-start/

Other useful reads:

NPAPI Plugin Perspectives and the Oracle JRE

 

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

Easier Markdown with GitHub

28 Thursday Jan 2016

Posted by Max Hemingway in DevOps/OpsDev, Open Source, Programming

≈ Leave a comment

Tags

Coding, DevOps, Open Source, OpsDev, Programming

Github

Its good to see that GitHub has now provided a toolbar to aid in formatting Markdown.

This will help some users from using HTML code format to a word processor GUI type experience. It should appeal to those who are starting out on their coding journey or want an easier life not having to remember if they have included all the <> and </> commands in their files.

Below is an example of a Markdown file that I did as part of a Data Science Coursera Course:  https://github.com/Cloudmage/ExData_Plotting1/blob/master/CodeBook.md

 

Code Book for Project 1 for Exploritory Data Analysis Course – Coursera
=======================================================

## Data Source
* <b>Dataset</b>: <a href=”https://d396qusza40orc.cloudfront.net/exdata%2Fdata%2Fhousehold_power_consumption.zip”>Electric power consumption</a> [20Mb]

* <b>Description</b>: Measurements of electric power consumption in
one household with a one-minute sampling rate over a period of almost
4 years. Different electrical quantities and some sub-metering values
are available.

## Data Sets Used

The following descriptions of the 9 variables in the dataset are taken
from
the <a href=”https://archive.ics.uci.edu/ml/datasets/Individual+household+electric+power+consumption”>UCI
web site</a>:

<ol>
<li><b>Date</b>: Date in format dd/mm/yyyy </li>
<li><b>Time</b>: Time in format hh:mm:ss </li>
<li><b>Global_active_power</b>: household global minute-averaged active power (in kilowatt) </li>
<li><b>Global_reactive_power</b>: household global minute-averaged reactive power (in kilowatt) </li>
<li><b>Voltage</b>: minute-averaged voltage (in volt) </li>
<li><b>Global_intensity</b>: household global minute-averaged current intensity (in ampere) </li>
<li><b>Sub_metering_1</b>: energy sub-metering No. 1 (in watt-hour of active energy). It corresponds to the kitchen, containing mainly a dishwasher, an oven and a microwave (hot plates are not electric but gas powered). </li>
<li><b>Sub_metering_2</b>: energy sub-metering No. 2 (in watt-hour of active energy). It corresponds to the laundry room, containing a washing-machine, a tumble-drier, a refrigerator and a light. </li>
<li><b>Sub_metering_3</b>: energy sub-metering No. 3 (in watt-hour of active energy). It corresponds to an electric water-heater and an air-conditioner.</li>
</ol>

New Toolbar

 

 

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

Digital Scouting

25 Monday Jan 2016

Posted by Max Hemingway in Development, Innovation, Programming, Tools

≈ 3 Comments

Tags

Development, Innovation, learning, Programming

digitalThere have been a series of new badges introduced by the Scouting movement. Two of these replace the traditional IT Staged Badge with a Digital Citizen and Digital Maker staged badge. These are aimed at giving young people skills in the digital age and help with STEM education.

These badges also teach young people to follow the Scouts digital manifesto:

The Scouts’ Digital Manifesto

  1. Use digital to learn and embrace new skills
  2. Share your adventures digitally and inspire others
  3. Know when to switch off, balancing screen time with outdoor activities
  4. Use digital skills to support your family and community
  5. Use digital to be creative
  6. Stay safe online and know the risks

Each of the badges provides 4/5 stages and builds on each stage. The badges can be earn’t from Beavers, through Cubs, Scouts and Explorers (ages 6 up to 18) so start with the basics, then build into writing apps.

These are a set of badges that I am looking forward to helping the local Scout Group out with. All I need to find for my local Scout Group is some spare Laptops or some Raspberry Pi’s…….Any offers welcome.

Perhaps there is a Scout group near you where you can help volunteer your skills with these badges.

Badge requirements

(Source: https://members.scouts.org.uk/supportresources/4282/digital-citizen-staged-activity-badge)

Digital Citizen – stage 1

How to earn your badge
Complete every task to achieve Stage 1, showing that you have thought about the potential risks and how to stay safe for each activity.

  1. Show that you can:
    • turn on and log into a computer
    • use a piece of software, for example email or a game
    • name the main parts of a computer system
    • connect a peripheral (for example a scanner or printer) to your computer and use it.
  2. Create a piece of digital media. It could be artwork, a photograph, music or animation.
  3. Use the internet for research:
    • decide on an area of interest
    • find three websites with content that matches your area of interest
    • collect relevant information by printing or saving as files.

Digital Citizen – stage 2

How to earn your badge
Complete every task to achieve Stage 2, showing that you have thought about the potential risks and how to stay safe for each activity.

  1. Plan and then create a piece of digital media. It could be artwork
    or a photograph that you alter using creative tools, music, animation, CAD (Computer Aided Design) or a 3D sculpture.
  2. Show that you can:
    • send or reply to someone with a short email and include an attachment
    • download photos or other media from a camera or smart card
    • open and save a document then share it using a cloud service (like Google Docs or Microsoft Sharepoint) or a USB stick
    • create a document that includes media that you’ve downloaded or copied from another source.
  3. Use the internet for research:
    • decide on an area of interest
    • use two different search engines to find three websites you think are reliable
    • collect information by printing the pages or saving  as PDF documents
    • select relevant information by copying text or an image and pasting into a document
    • display your findings as a poster or a short report.

Digital Citizen – stage 3

How to earn your badge
Complete every task to achieve Stage 3, showing that you have thought about the potential risks and how to stay safe for each activity.

  1. Plan, make, edit and share a piece of digital media. It could be
    artwork or a photograph that you alter using creative tools, music, animation, CAD (Computer Aided Design) or a 3D sculpture.
  2. Explore social networking sites that are appropriate for your age, then create an example of a good social network profile. Show that you know how to:
    • use anti-virus software
    • set up or adjust settings for accessibility
    • recover from a frozen programme or screen.
  3. Use the internet for research:
    • decide on a specific area of interest
    • use at least two different search engines, using operators like AND, NOT and OR in the search box
    • collect information by using bookmarks or favourites. Save URLs or use a social bookmarking tool like Diigo, Reddit, StumbleUpon, del.icio.us or digg.
    • select specific, reliable information relevant to your area of research
    • create a structured display of the information you have gathered. You could do this in a document, on a website or using a social tool such as Pinterest.
    • share your research with other people, for example by email, on the web, by MMS or social media.

Digital Citizen – stage 4

How to earn your badge
Complete every task to achieve Stage 4, showing that you have thought about the potential risks and how to stay safe for each activity.

  1. Create a portfolio of digital media. It might include artwork or a
    photograph that you alter using creative tools, music, animation, CAD (Computer Aided Design) or 3D sculpture.
  2. Create a film, video, stop-motion animation or podcast and share it using a suitable media sharing tool.
  3. Create a social network profile for your section, a band, local interest group or something similar. Alternatively you could make a small
    website that can host content, like the film you made in step 2, photos, poetry or information about your local area.
  4. Use the internet for research:
    • Choose a local, national, community or Scouting issue, or something from the news or current affairs.
    • Collect information from different sources, such as spreadsheets, databases, online news services and ‘open access’ data sources.
    • Put your information together in a structured way, for example grouping similar information. Make sure you know where each
      piece of information comes from.
    • Select the information you think is most appropriate and reliable.
    • Create a multi-page website with your information and make it public. Present your information in a variety of ways – you could
      use infographics, images or graphs.
    • Share your website with a wide audience.
    • Explain your sources of information and why you picked out what you did.
    • Get some feedback on what you have done and make changes to
      improve your website based on that feedback.

(Source: https://members.scouts.org.uk/supportresources/4283/digital-maker-staged-activity-badge)

Digital Maker – stage 1

How to earn your badge

  1. Connect computer peripherals or accessories, such as a screen and
    keyboard, and explain what job they do.
  2. Design a game:
    • Use role play to act out how your digital game would work. Play the game with a group of friends and change the rules.
    • Using paper, prototype a game and explain to someone how it works. You could video your explanation.
    • Evaluate and share your idea.
  3. Edit an existing website. You could change the design using a paper printout or software.
  4. Play a game with a friend where one of you acts the part of a robot and the other sends the robot commands. Record on paper what sort of commands worked best and which were hard for the ‘robot’ to follow.

Digital Maker – stage 2

How to earn your badge

  1. Connect two devices and exchange data between them using WiFi,
    Bluetooth or a cable.
  2. Show that you can use two different platforms or operating systems. They could be systems that run different devices such as computers,  tablets, phones or games consoles.
  3. Design a game:
    • Make a cartoon, animation or video of a game using a video camera or other equipment.
    • Create some pseudo code to explain how some parts of your game will work. Pseudo code is an instruction for the computer to follow, but is not written in a specific language.
    • Design a sequence of a game, like a whole level or an in-game puzzle.
  4. Design a single page website. You can use a design tool but writing HTML code would be fine too.
  5. Create a set of instructions for a programmable Robot, turtle or toy to
    follow. Games like Minecraft can help you do this.

Digital Maker – stage 3

How to earn your badge

  1. Show how to troubleshoot problems with computing equipment, such as hardware  devices and software updates.
  2. Make a prototype of a game using a suitable tool. It must include:
    • event conditions (when your game reacts to something that happens)
    • user movement controls
    • iteration (when your code or instructions are repeated)
    • variables (for scoring, health or counting things within the game).
  3. Build, design and publish a multipage website with working hyperlinks for navigation between the pages.
  4. Make a robot using prebuilt components.

Digital Maker – stage 4

How to earn your badge

  1. Set up a home network and connect it to the internet.
  2. Install or run an alternative operating system on a computer. Alternatively,  use a ‘Live DVD’ or USB stick.
  3. Design a game:
    • Build a game that includes progression and is fun and interesting to play.
    • Get someone else to play and evaluate it.
  4. Create a fully functioning website including linking to a database.
  5. Make a robot using a kit with components that respond to sensor input (for example, a robot that backs away from an object in its path).

Digital Maker – stage 5

How to earn your badge

  1. Install the software to run a web server and host a webpage on a  computer or other device. Tools like LAMP, WAMP or Google’s Webserver project for the Raspberry  Pi could help you. You can find these for free online.
  2. Make a game or app that serves a purpose. It should:
    • have a clear objective
    • be challenging for the user
    • have a clear sense of progression
    • keep a score
    • offer a reward to the user for playing (for example the score could unlock levels or icons).
  3. Make a website that serves a purpose, provides a good experience for the user and meets any legal requirements.
  4. Use off-the-shelf components to make your own robot that responds to the environment (for example a robot that reacts to light, its proximity to other objects or sound).

 

 

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

Learning to Program

14 Thursday Jan 2016

Posted by Max Hemingway in Development, Programming, Uncategorized

≈ 3 Comments

Tags

Coding, DevOps, learning, Programming

CodeIf one of your new years resolutions is to learn how to program? If not why should you consider to learn to program and add it to your list? As businesses become more focused on  Cloud, DevOps/OpsDev, aaS (as a Service) or SDnn (Software Defined) a knowledge of programming and a language will help you understand these advancements, services and technologies, as well as allowing you to participate in their delivery.

Here are some good resources to help you:

A good book resource on how to program can be found on Gthub at https://github.com/braydie/HowToBeAProgrammer

The site covers the following topics:

Contents

  1. Beginner
    • Personal Skills
      • Learn to Debug
      • How to Debug by Splitting the Problem Space
      • How to Remove an Error
      • How to Debug Using a Log
      • How to Understand Performance Problems
      • How to Fix Performance Problems
      • How to Optimize Loops
      • How to Deal with I/O Expense
      • How to Manage Memory
      • How to Deal with Intermittent Bugs
      • How to Learn Design Skills
      • How to Conduct Experiments
    • Team Skills
      • Why Estimation is Important
      • How to Estimate Programming Time
      • How to Find Out Information
      • How to Utilize People as Information Sources
      • How to Document Wisely
      • How to Work with Poor Code
      • How to Use Source Code Control
      • How to Unit Test
      • Take Breaks when Stumped
      • How to Recognize When to Go Home
      • How to Deal with Difficult People
  2. Intermediate
    • Personal Skills
      • How to Stay Motivated
      • How to be Widely Trusted
      • How to Tradeoff Time vs. Space
      • How to Stress Test
      • How to Balance Brevity and Abstraction
      • How to Learn New Skills
      • Learn to Type
      • How to Do Integration Testing
      • Communication Languages
      • Heavy Tools
      • How to analyze data
    • Team Skills
      • How to Manage Development Time
      • How to Manage Third-Party Software Risks
      • How to Manage Consultants
      • How to Communicate the Right Amount
      • How to Disagree Honestly and Get Away with It
    • Judgment
      • How to Tradeoff Quality Against Development Time
      • How to Manage Software System Dependence
      • How to Decide if Software is Too Immature
      • How to Make a Buy vs. Build Decision
      • How to Grow Professionally
      • How to Evaluate Interviewees
      • How to Know When to Apply Fancy Computer Science
      • How to Talk to Non-Engineers
  3. Advanced
    • Technological Judgment
      • How to Tell the Hard From the Impossible
      • How to Utilize Embedded Languages
      • Choosing Languages
    • Compromising Wisely
      • How to Fight Schedule Pressure
      • How to Understand the User
      • How to Get a Promotion
    • Serving Your Team
      • How to Develop Talent
      • How to Choose What to Work On
      • How to Get the Most From Your Team-mates
      • How to Divide Problems Up
      • How to Handle Boring Tasks
      • How to Gather Support for a Project
      • How to Grow a System
      • How to Communicate Well
      • How to Tell People Things They Don’t Want to Hear
      • How to Deal with Managerial Myths
      • How to Deal with Organizational Chaos

 

List of useful books on GitHub on programming:

  • https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md

If you are now wondering which language to base your learning on this post may help

  • https://maxhemingway.com/2015/01/08/learn-a-programming-language-but-which-one/

There are lots of online courses available to help you learn – alot are free

  • http://thenextweb.com/dd/2012/10/21/so-you-want-to-be-a-programmer-huh-heres-25-ways-to-learn-online/#gref

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

8 Free “For Dummies” books you should read in 2016

12 Tuesday Jan 2016

Posted by Max Hemingway in Architecture, Cloud, Development, DevOps/OpsDev, Enterprise Architecture, Innovation, Programming, Security

≈ Leave a comment

Tags

Architecture, Development, DevOps, Knowledge, OpsDev, Productivity, Programming, Security, Tools

There has been a lot of the free smaller versions of the “For Dummies” books published recently. These are normally sponsored by a company to help promote a way of thinking/product/etc, however they do contain useful overviews and information on the subject that they are presenting on.

Here are my top 8 of these which should be on your reading list for the start of 2016. All are downloadable in PDF format*.

Agile for Dummies

API for Dummies

DevOps for Dummies

Micro-segmentation for Dummies

Next Generation Endpoint Security for Dummies

Software Defined Data Centres for Dummies

Software Defined Networking for Dummies

Software Defined Storage for Dummies

*You may need to sign up to receive some of these books.

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...

An A-Z Guide to being an Architect

07 Thursday Jan 2016

Posted by Max Hemingway in Architecture, Big Data, Cloud, Development, DevOps/OpsDev, Enterprise Architecture, Governance, Innovation, IoT, Open Source, Productivity, Programming, Security, Social Media, Tools

≈ Leave a comment

Tags

Architecture, Cloud, CPD, Data, Development, DevOps, Innovation, IoT, Knowledge, learning, Open Source, OpsDev, Productivity, Programming, Social Media

Back in 2008 Microsoft published An A-Z Guide to ABCBeing an Architect in their Architecture Journals.

Here is my take on an updated A to Z Guide to being an Architect. A couple of these may be similar.

A – Architect

Having the right level of skills as an Architect or engaging an Architect with the right level of skills will depend on the work needing to be undertaken. There are several types of Architect with some specialising in certain areas and others being multi domain skilled. The list below covers some of the different types of Architect- this is not an exhaustive list:

  • Enterprise Architect
  • Information Architect
  • Solutions Architect
  • Software Architect
  • Systems Architect

B – Blueprints

Following Blueprints and Patterns either published by vendors (such as the Microsoft Blueprints) or developed internally around your products and services will ensure repeat-ability and cost control around the design process.

Some examples showing different pattern types can be found at Architecture Patterns

C – Contextual Web Era

The up and coming 4th Platform area is the Contextual Web Era

  • 1st Platform – Mainframe Era
  • 2nd Platform – Client Server Era
  • 3rd Platform – Cloud Era
  • 4th Platform – Contextual Web Era

This is an up and coming era with lots of new innovation and developments. Keeping up with developments is key going forward for any architect to understand designs/solutions, art of the possible now and future, innovation and for developing roadmaps for solutions.

D – DevOps

To quote Wikipedia – “DevOps (a clipped compound of “development” and “operations”) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes”. Having knowledge of DevOps, OpsDev and Agile assist with Architecting a solution for a business understanding their practices and modes of interacting with technology to meet business requirements. A Good book on the subject of DevOps is “The Phoenix Project” by Gene Kim.

E – Enterprise Architecture

EA (Enterprise Architecture) is a blueprint that defines how a business can meet its objectives and strategy. This is achieved by conducting analysis, design, planning, recommendations and implementations through an Enterprise Architecture Framework

Enterprise Architecture Wikibook

F – Four Two Zero One Zero

42010 is the ISO Standard that most frameworks adhere to. Working to a Framework brings structure to your designs and life cycles.

There are a number of frame works available such as:

  • DoDAF
  • MoDAF
  • TOGAF
  • Zachman
  • Other Frameworks are available

Enterprise Architecture Wikipedia Book

G – Governance

Governance is an important part of architecture as it

  • Ensures Conformance
  • Controls Variance
  • Maintains Vitality
  • Enables Communication
  • Sets Direction
  • Issue Resolution
  • Provides Guidance and Prioritisation
  • Promotes Best Practise
  • Minimises Risk
  • Protects IT environments from tactical IT changes, project solutions, and strategic proposals that are not in an organisations global best interest
  • Controlling Technical Diversity, Over-Engineering and Unnecessary Complexity
  • Ensures projects can proceed quickly & efficiently
  • Control over IT spend
  • Quality Standards
  • Efficient and optimal use of resources and increase the effectiveness of IT processes

H – Hands On

It is important to be current and understand the technologies you are architecting. There are lots of options available to get your hands dirty using technology from using Cloud Servers to virtual machines on your compute device. There are other computing devices such as the Raspberry PI that provide a cheap alternative to standing up small farms to learn on.

I – IoT

IoT (Internet of Things) is where physical things are connected by the internet using embedded sensors, software, networks and electronics. This allows the items to be managed, controlled and reported on. My blog posts on IoT Device Security Considerations and Security Layers goes into more detail on this subject.

J – Juxtaposition

Juxtaposition is something an architect should be doing to compare things/items/artefacts etc.
noun;
1. an act or instance of placing close together or side by side, especially for comparison or contrast.
2.the state of being close together or side by side.

Source:http://dictionary.reference.com/browse/juxtaposition

K – Knowledge

I would class Skills with Knowledge. It is important as an Architect to ensure that your skills/knowledge are up to date and where you are unsure of a technology, you have a plan to address and skill up. Build a good CPD (Continuing Professional Development) plan and work towards completing it.

L – Language

With the move to cloud it is important to ensure your scripting skills are up to date as most cloud platforms use scripting to assist with the deployment of environments. This is also true of other DevOps/OpsDev applications. If you are unsure on what to learn this guide may help you – Learn a Programming Language – But which one?

M -Micro Segmentation

Micro Segmentation allows a business to use Networks, Compute and Storage to automate and deliver complex solutions by carving up and using the infrastructure. This segments part of the infrastructures to specific functions/tasks. It can also be used in a security context to segment networks, firewalls, compute and storage to increase security and reduce cyber attacks.  VMware have produced a book “Micro Segmentation for Dummies” that can be downloaded from here.

N – Next Generation

Next Generation refers to the next stage or development to something such as a new release of hardware or software. Next Generation is becoming a common term now to define products and artefacts, an example being Next Generation Firewalls.

O – Open Source

Open Source has been available for a long time with software such a Linux, however there is a bigger shift towards using Open Source and acceptance by businesses. Some examples of Open Source that is now mainstream within business include;

  • Ansible
  • Chef
  • Docker
  • Puppet

P – Performance

Performance can cover people as well as solutions / systems. Performance metrics should be set out at the inception of an engagement then monitored and reported on. This will be a factor in driving Continuous Improvement going forward as well as forecasting / planning for future upgrades and expansion.

Q – Quality

Quality is a huge subject and has a lot if standards governing it and how it affects all aspects of business and architecture. Knowing which standards and how they affect a solution will assist in the whole architecture lifecycle. There are also a number of tools available to help you;

  • Architecture Frameworks
  • ITIL
  • Six Sigma

There is also a level of pride and satisfaction in producing a quality solution and system achieving the objectives and requirements set out by the business.

R- Roadmap

Any architecture/solution should have a roadmap to set out its future. Roadmaps should include items such as:

  • Current state
  • Future state
  • Innovation
  • Upgrades / Releases
  • New Features / Functions
  • End of Life / Replacement

S – SMAC

SMAC stands for Social, Mobile, Analytics, Cloud. SMAC is an acronym that covers the areas and concepts when these four technologies are brought together to drive innovation in business. A good description of SMAC written by a colleague can be found here Acronyms SMAC.

T – Transformation

The majority, if not all systems will undergo a form of transformation. This may be in the form of a simple upgrade or to a complex redesign and migration to something else.

U – UX

UX (User eXperience) affects how people interact with your architecture / design and how they feel about it (emotions and attitudes). With the boom in apps and the nearing Contextual Web Era, UX is one of the most important factors to getting an architecture used. If your users don’t like the system they may find something else to use that they like.

V – Vision

Understanding the vision of your customer and their business is the driving factor for any architecture.

On working with your customer you should look to become a Trusted Advisor and also with your colleagues. A great book on the subject is The Trusted Advisor by David Maister. The book covers 3 main areas which discusses perspectives on trust, the structure of trust building and putting trust to work.

W – WWW

The internet is a key delivery mechanism for systems. Knowing how this works and key components to the internet should be understood such as:

  • IPV4 – IPV6
  • DNS
  • Routing
  • Connectivity
  • Security

X – X86

X86 – is a standard that every knows as its one of the most common platform types available.

Y – Year

Year is for the longevity of the solution you are designing. How many years are your expecting it to last What are the Business Requirements, statutory obligations, depreciation etc that need to be planned in. Consider things like End of Life, Maintenance and Upgrades on hardware and software from a solution point of view.

Z – Zero Defects

The best solution is the one with zero defects, but reaching this goal can be a challenge and can also consume a lot of expense. The best way to ensure Zero Defects is to use:

  • Best Practice
  • Reference Architectures
  • Blueprints/Patterns
  • Checklists
  • Reuse
  • Lessons Learnt

This is my current A to Z and some of the entries may be different in your version so “What is in your A to Z of being an Architect?”

I will look to write some further blog posts on the areas listed in this A to Z

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on X (Opens in new window) X
  • Click to share on Bluesky (Opens in new window) Bluesky
Like Loading...
← Older posts
Newer posts →

RSS Feed

RSS Feed RSS - Posts

Other Publications I contribute to

https://sparrowhawkbushcraft.com/

Recent Posts

  • Understanding ETSI TS 104 223 and ISO/IEC 42006
  • Graceful Speech & Timeless Tales: Mastering the Art of Gesture
  • Graceful Speech & Timeless Tales: The Power of Pitch
  • Graceful Speech & Timeless Tales: Modulation
  • Graceful Speech & Timeless Tales: Harnessing Inflection

Categories

  • 21st Century Human
  • 3D Printing
  • AI
  • Applications
  • ArchiMate
  • Architecture
  • Arduino
  • Automation
  • BCS
  • Big Data
  • Certification
  • Climate Change
  • Cloud
  • Cobotics
  • Connected Home
  • Data
  • Data Fellowship
  • Data Science
  • Development
  • DevOps/OpsDev
  • Digital
  • DigitalFit
  • Drone
  • Enterprise Architecture
  • F-TAG
  • Governance
  • Health
  • Innovation
  • IoT
  • Machine Learning
  • Metaverse
  • Micro:Bit
  • Mindset
  • Mobiles
  • Networks
  • Open Source
  • Podcasts
  • Productivity
  • Programming
  • Quantum
  • Raspberry Pi
  • Robotics
  • Scouting
  • Scouts
  • Security
  • Smart Home
  • Social Media
  • Space
  • STEM
  • Story Telling
  • Technologists Toolkit
  • Tools
  • Uncategorized
  • Wearable Tech
  • Windows
  • xR

Archives

Reading Shelf

Archives

Recent Posts

  • Understanding ETSI TS 104 223 and ISO/IEC 42006
  • Graceful Speech & Timeless Tales: Mastering the Art of Gesture
  • Graceful Speech & Timeless Tales: The Power of Pitch
  • Graceful Speech & Timeless Tales: Modulation
  • Graceful Speech & Timeless Tales: Harnessing Inflection

Top Posts & Pages

  • Graceful Speech & Timeless Tales: The Power of Pitch
  • Understanding ETSI TS 104 223 and ISO/IEC 42006
  • Pen based Productivity Tools – The Chronodex 2025
  • Configuring the Raspberry PI with Ansible and AWSCLI
  • Graceful Speech & Timeless Tales: Mastering the Art of Gesture
  • 10 Books I'd send to my younger self
  • Pen based Productivity Tools – The Chronodex 2023
  • The Impact of Enterprise Architecture on Innovation Culture
  • Graceful Speech & Timeless Tales: The Art of Articulation
  • Graceful Speech & Timeless Tales: Modulation

Category Cloud

21st Century Human Architecture Automation Big Data Cloud Data Data Science Development DevOps/OpsDev Digital DigitalFit Enterprise Architecture Innovation IoT Machine Learning Mindset Open Source Podcasts Productivity Programming Raspberry Pi Robotics Security Social Media STEM Story Telling Technologists Toolkit Tools Uncategorized Wearable Tech

Tags

3D Printing 21st Century Human AI Applications Architecture artificial-intelligence Automation BCS Big Data Blockchain business Certification Cloud Cobot Cobotics Coding Communication Connected Home CPD creativity cybersecurity Data Data Fellowship Data Science Delivery Development DevOps Digital DigitalFit Digital Human Drone Email Enterprise Architecture GTD Infographic Information Theory Innovation IoT Journal Knowledge learning Machine Learning Metaverse MicroLearning Mindset Mixed Reality Networks Open Source OpsDev PKMS Podcasts Productivity Programming Proving It Quantum R RaspberryPI Robot Robotics Scouts Security Smart Home Social Media STEM Story Telling Technologists Toolkit technology Technology Couch Podcast Thinking Tools Training Visualisation Voice Wearable Tech xR

License

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Meta

  • Create account
  • Log in
  • Entries feed
  • Comments feed
  • WordPress.com

Blog at WordPress.com.

  • Subscribe Subscribed
    • Max Hemingway
    • Join 82 other subscribers
    • Already have a WordPress.com account? Log in now.
    • Max Hemingway
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...
 

    %d