Skip to content

Plutonic Rainbows

Books on A.I

Michele Baker gives a list of recommended books on Artificial Intelligence.

Sunday

Weather is very dark and gloomy with frequent rain. Not something that goes nicely with Easter. Still, there is plenty of chocolate. Been listening to the new music releases most of the weekend. There is a lot to get through. I'll try and get back on the work & study program tomorrow.

Easter Weekend

It's cold, wet and raining in my part of the world. So here's some Python for converting Celsius to Fahrenheit.

# -*- coding: utf-8 -*-

x = float(raw_input("°C: "))

fahrenheit = x * 1.8 + 32

print "Fahrenheit: {0:.1f}°F".format (fahrenheit)

Staying indoors, I am listening to the new album Tahoe from Dedekind Cut - and also enjoying the previous one. There is also a new album from Chris Carter that sounds good. As well as a Flame 1 release which features Burial in a collaboration with The Bug.

Boomkat:

London’s dankest relay palpably paranoid pressures from the capital on The Bug's newly minted Pressure label, hopefully the start of an ongoing collaboration between the pair.

Spying those hours of the dance when the smoke machines are puffing but there’s nobody there yet, Fog finds them melding charred bass hustle with billowing greyscale atmospheres in a time-honoured style shared by both artists.

On the flip, Shrine distills their meditative intensity to more suspenseful degrees with exceedingly brittle drums bearing the huge, brooding weight of a slowed down dread bass and glowering pads = minimal fuss for deadly, concentrated impact.

Revision

It was a long week for me. I've decided to spend these two days just looking over things I've already covered. It's so easy to forget fundamentals when you do not build revision into your learning.

Struggling with Blockchain

Lots of this code doesn't make sense and I am finding it a struggle to remember what comes next. I think the way to approach it is to perhaps map out the steps I need to take; otherwise it just seems like a convoluted mess. I also need to look at lists again. Onwards and upwards.

Blockchain

This week I am working through a tutorial on creating a simple Blockchain. Some of the stuff, I don't yet understand but as I am following a separate course, this week's lesson is to look through sample code on the Internet.

import hashlib as hasher

class Block:
  def __init__(self, index, timestamp, data, previous_hash):
    self.index = index
    self.timestamp = timestamp
    self.data = data
    self.previous_hash = previous_hash
    self.hash = self.hash_block()

  def hash_block(self):
    sha = hasher.sha256()
    sha.update(str(self.index) + 
               str(self.timestamp) + 
               str(self.data) + 
               str(self.previous_hash))
    return sha.hexdigest()

import datetime as date

def create_genesis_block():
  # Manually construct a block with
  # index zero and arbitrary previous hash
  return Block(0, date.datetime.now(), "Genesis Block", "0")

def next_block(last_block):
  this_index = last_block.index + 1
  this_timestamp = date.datetime.now()
  this_data = "Hey! I'm block " + str(this_index)
  this_hash = last_block.hash
  return Block(this_index, this_timestamp, this_data, this_hash)

# Create the blockchain and add the genesis block
blockchain = [create_genesis_block()]
previous_block = blockchain[0]

# How many blocks should we add to the chain
# after the genesis block
num_of_blocks_to_add = 20

# Add blocks to the chain
for i in range(0, num_of_blocks_to_add):
  block_to_add = next_block(previous_block)
  blockchain.append(block_to_add)
  previous_block = block_to_add
  # Tell everyone about it!
  print "Block #{} has been added to the blockchain!".format(block_to_add.index)
  print "Hash: {}\n".format(block_to_add.hash)

Mastercard

Interest rates are high on credit cards. Use the script below to calculate what you are paying on an APR of 1.45%.

# -*- coding: utf-8 -*-

def percentage(balance, divide, interest):
    return balance / divide * interest

balance = (float(raw_input("\nEnter Balance: ")))

new_total = percentage(balance, 100, 1.45)

print "\nOn a balance of £{0:.2f} there is £{1:.2f} in interest.\n".format (balance, new_total)

Ikebukuro Owl Police Box

Atlas Obscura:

Since the police box is within a stone’s throw of Ikebukuro Station and very eye-catching, many people use it as a meeting point. It’s probably one of the safest meeting points in Tokyo, right next to police officers.

Link

New Words

Artificial Intelligence: 人工知能.

For example, 大学から2年間ぐらい人工知能を勉強しました。

Neural Network (i.e Python's Tensor Flow): ニューラルネットワーク.

Machine Learning: 機械学習.

For example, 21世紀に機械学習の問題は増えます.

While Loop & Exit

A simple script that asks a user to guess the number. It uses a while loop that will continue to ask for user input until the condition is met. We then use exit() to break the loop.

from sys import exit

while True:
    print "Try and guess the number."
    guess = raw_input("> ")

    if guess == "7":
            print "You guessed correctly."
            exit(0)

    else:
        print "Wrong."