Category: AI & Automation

AI tools, Claude Code, automation, and AI-assisted workflows

  • Taking a Machine Learning Course

    I started a Stanford course yesterday on Machine Learning.  It’ll be interesting to update my knowledge since things have changed a great deal in that area since I did an AI class at Waterloo 10 years ago.

    Machine Learning has really taken off in the last couple years as the number of problems and the technical capabilities of AI algorithms has evolved.  In particular services like voice and text recognition are like magic.  Applications like self-driving cars, flying drones, game bots, chat services, marketing segmentation, bio data analysis and astrophysics have exploded with new use cases for this type of approach to software.

    A good machine learning algorithm offers tremendous leverage, since it has the chance to solve problems that people have a hard time defining how to solve them.  A solid self-driving car system could disrupt a trillion dollar industry.  Self piloted drones could create a new trillion dollar industry.  These are algorithms that could impact everyone on the planet.

    So I’m kind of excited to refresh my knowledge and learn a few new things.

  • Strength Training Required

    These last few weeks have been stressful.  Trying to hit deadlines at work and hunched over a computer again at home have left me more sore than I can ever remember being.  My back is shot, and I haven’t been able to sleep comfortably for at least a week.  It’s been brutal.  Once you get past 30, your body just doesn’t handle abuse the same as it could before.

    This week I am going to be switching to a stand-up desk to see if that helps, and at home I’m going to swing the kettle bells.  If I can find time I’m going to work in a 30 minute walk everyday.  Hopefully that will alleviate things.

     

  • Learning about Artificial Intelligence

    There has been a real break through in AI technology over the past year with the work that Google is doing on the Google Brain project. Details are scarce at the moment but it seems like they’ve taken neural network concepts and dramatically improved their performance.  From what I can glean, Google is using this internally, and exposing some of it through services like voice recognition.

    For the last few weeks I have been reading a futurist book about the development of super intelligence.
    It’s a very big book that goes into detail on many different scenarios for how the development of a super human intelligent computer program might happen and what the results would be.

    The most likely case (in my mind) is that at some point in the future a program will be written that has comparable intellect to a human and is able to program itself or evolve itself to become even smarter. When that event happens there will be a series of tipping points. At some point the program will surpass it’s human creators ability to understand and program it (much like we don’t understand how the human brain generates intelligence). Then it will surpass the intelligence of the smartest people, then better than the best team of people.

    We are wholly unprepared to deal with an intelligence such as this.

    This transition could actually happen very quickly (days). If it does happen quickly then the likely outcome is that AI will exist as a singleton and it will spread across the planet to grow and become even more powerful.

    The dawn of a strong AI will mark the biggest single turning point in human history since the development of agriculture.

  • Painted Living Room

    Sometimes all that’s needed is a little bit of paint.

    Last weekend Heather and I started painting our living room in an effort to make the space more liveable. By painting over the brown and beige walls with white the furniture becomes more of a focus and the room feels brighter and bigger.

    With a couple of new floor lamps, an airport express box for playing music, and possibly a new couch in the room it should get more use.

    We’ll put on the last coat of paint this weekend and I’ll post a picture.

  • Ben Franklin’s Daily Schedule

    Came across this today.

    The thing that struck me is

    1. Ben and I go to sleep at the same time, but he got up 2 hours earlier in the morning than I do.
    2. Two hour lunch breaks — good idea.
    3. Time to plan and time to reflect each day.

    I’m going to try to work this schedule for a few days and see how it works.

  • Python Imap Gmail

    Connecting to a Google Gmail account is easy with Python using the built in imaplib library. It’s possible to download, read, mark and delete messages in your gmail account by scripting it.

    Here’s a very simple script that prints out the latest email received:

    #!/usr/bin/env python
    
    import imaplib
    M=imaplib.IMAP4_SSL('imap.gmail.com', 993)
    M.login('myemailaddress@gmail.com','password')
    status, count = M.select('Inbox')
    status, data = M.fetch(count[0], '(UID BODY[TEXT])')
    
    print data[0][1]
    M.close()
    M.logout()
    

    As you can see. Not a lot of code required to login and check and email. However, imaplib provides just a very thin layer on the imap protocol and you’ll have to refer to the documentation on how imap works and the commands available to really use imaplib. As you can see in the fetch command the “(UID BODY[TEXT])” bit is a raw imap instruction. In this case I’m calling fetch with the size of the Inbox folder because the most recent email is listed last (uid of most recent message is count) and telling it to return the body text of the email. There are many more complex ways to navigate an imap inbox. I recommend playing with it in the interpreter and connecting directly to the server with telnet to understand exactly what is happening.

    Here’s a good resource for quickly getting up to speed with IMAP Accessing IMAP email accounts using telnet