Monthly Archives

2 Articles

Programming Poetry

Connected


Once, atoms were sparsely connected
 then they connected.
Once, molecules were sparsely connected
 then they connected.
Once, proteins were sparsely connected
 then they connected.
Once, cells were sparsely connected
 then they connected.
Once, people were sparsely connected
 then they connected.
Once, societies and countries were sparsely connected
 then they connected.
Once, technologies were sparsely connected
 then they connected.
Once, people were sparsely connected

Learning Programming?

The poem above was written with a bit of python code. I’m sure you spotted the repetition. Can you isolate the changing vs non-changing portions of the poem?

My favorite way to learn programming is to puzzle through the code. Figure out what it’s doing. Change how it works. Mess it up. Make it better.

Here’s the code for this poem. Make sure you mess with it.  Click here to try this poem

 

# you can make functions with def in python
# this function is named makeVerseOne
# it has one parameter, named 'what'
# the function outpus a a verse with {0} replaced with the parameter 'what'
def makeVerseOne(what):
  return "Once, {0} were sparsely connected".format(what)
  
  
# this does the same thing but with a different verse
def makeVerseTwo(became):
  return " then they {0}.".format(became)
  
# this is a list of things my poem is about  
whatWas = [
  "atoms",
  "molecules",
  "proteins",
  "cells",
  "people",
  "societies and countries",
  "technologies",
  "people"
]


# this is an empty list. I want to STORE my verses here.
verses = []

# we commonly fill lists with values returned from functions
for what in whatWas :
  verses.append(makeVerseOne(what))
  verses.append(makeVerseTwo("connected"))
  
# remove last line, for edginess
verses.pop()
  
# lets combine all the verses with a newline after each verse
poem = "\n".join(verses)

# output the poem to the terminal
print(poem)

Chatbot ideas + How to come up with ideas – Continuation of the ideas every day series

by Micah Riggan 0 Comments

How to come up with ideas to exercise your creativity

This post is a continuation of my series of posts where I come up with ideas every day. I’ve noticed most of my ideas are generally about what I’ve paid the most attention to, or spent a lot of time with, or things that have bothered me. My perspective is that all things can be improved, and some ideas fill a space that was completely unnoticed before. This exercise has made me think quite a bit about how I come up with ideas, and what makes an idea good. Most of my thoughts on the matter are based on my computer science education. Hard to escape what I know.

So this time, instead of just spurting out ideas, I’ll try to deconstruct where the ideas came from.

MyAi

  • A user contextual ai that remembers facts about your interests and previous conversations and web visits
  • Sort of like the Google of bots
  • this bot converses with all users and gauges their interests in various topics
  • Uses these conversations to determine when a user would be interested in a segment of a website

Where the idea came from

I was researching chatbots last night, so bots were already on my mind. I was thinking about conversational context with chatbots since I found the conversation awareness of the chatbot software to be lacking. So this was an area that I felt could be improved. Once I had something that I knew could be improved, I imagined what it would be like if it were perfect. A bot that could hold a conversation and it knew the context of everything you chatted with it about, and could understand when something else was related to that. After I had this concept of the best understanding, and the idea that it could read websites and relate it to what you were talking to, I noticed the similarities to Google’s search engine.

I thought it would be very interesting to see what the “Google” of chatbots would be like. I imagined it would know what your interests were, like google, but it would also be able to get information in a conversational setting, which would be more specific than search queries and emails. Allo is sort of like this. But I’m imagining this as a bot that follows you along on every site you go to. As if Allo were embedded into the browser.

Site as a chat

  • Turns a website into a chat.
  • MyAi digests your site, and
    • finds content that is novel to you that it thinks might be interesting
    • finds content that is familiar that it knows you are interested in
    • summarizes what the site is
  • Allows users to talk to the site and say “I’m interested in <some topic>” and the site would either show content related to that or apologize and offer to show content that MyAi thinks is relevant

Where this idea came from

Since I was thinking about having a chatbot that could read all the sites, and I knew chats are predicted to be a major interface, I imagined if that’s all your site was.

So a previous idea, and a supposition about the future, combined, then I imagined the implications of having your site only be a chat.

Then I asked what are the challenges of having a 100% chat site? How would users navigate? How would you distribute your information?

 

How to come up with ideas – Potentially good ones

It seems like the pattern is:

  • Ideas are related to what you are exposed to.
    • You can’t have an idea about something you haven’t be exposed to.
    • Expose yourself to a wide variety of concepts to increase your ability to come up with ideas
  • Ideas can be triggered by previous ideas
    • Take time to think of ideas
    • What would happen if your idea came true?
  • Some ideas are optimizations
    • What’s been annoying you lately?
    • What’s too slow?
    • What’s too big?
    • Money, time, emotional responses, decision making, social interaction, hunger, love, safety, shelter
      • look at the needs and psychological urges of people
        • build something makes the urge easier to fufill
      • minimize the negative, maximize the positive
  • Some ideas take concepts that are beneficial in one domain and apply them to another idea to create a novel idea
    • What concepts are useful in your field?
    • What are some fields that have low exposure to those concepts?

Summary

Identify a thing people or will do soon. Identify problems with accomplishing the thing. Determine which concepts could contribute to doing the thing better. Stay in the loop with as many fields as you can, so you are always aware of concepts that can be used to solve problems.

 

Thanks for reading 🙂