Martin O'Hanlon

Martin O'Hanlon

I love technology and creating projects and learning resources for Raspberry Pi. As a child I wanted to be either a computer scientist, astronaut or snowboard instructor.

Location UK

Activity

  • Hi, my name is Martin and I am an educator at the Raspberry Pi foundation. I will be around until the 3rd March to help answer any questions and provide support. I hope you enjoy the course.

  • >Education is key to protection!

    Absolutely

  • Thank you Matt. I enjoyed reviewing your lesson plan. I think the final activity to note possible alternatives is an important one.

  • Phishing is really important but there are lots of other initial attacks we should be cautious of.

  • > Also be wary of where you store the USB

    Yes, we often dont think about the physical security of our devices.

  • More effort and time is absolutely a factor.

  • 2. Im not sure its Lazy, but I agree that inconvenience creates a barrier. The perception is that security is less important than ease of use.

  • Hi, I am Martin an educator at the Raspberry Pi Foundation and I will be around until the 27th Jan to help or answer any questions. I hope you enjoy the course.

  • Hi, I’m Martin and I work for the Raspberry Pi Foundation. I will be around until the 23rd December to answer any questions and offer any support. I hope you enjoy the course.

  • >If all code were to run in ring 0, any coding error will affect the smooth running of the system as a whole. It may lead to crashes.

    Indeed, it also represents a security risk if all software has access to the lowest level.

  • Welcome Victoria

  • Welcome

  • Hi Miems, is there any help I can give here? Was there something specific you didnt understand? Do you have any questions?

  • I think that change has already happened. Certainly for consumer computing.

  • You dont have to worry about getting an answer wrong. These are mostly fun questions, designed to get people thinking about how the demands for data storage have increased.

  • Welcome Margaret

  • I hadnt really thought about the need for a CT scanner to have a GPU, but I think you are right, the need to do image manipulation and analysis will undoubtedly be a requirement.

  • I think they are both good ideas / thoughts. There is obviously no right or wrong answer here.

  • Hi Muhammad, was there something specific you wanted more information or help on?

  • Hi, I'm Martin and educator from the Raspberry Pi Foundation. I will be around until the 2nd December to help answer any questions or provide support. I hope you enjoy the course.

  • Welcome Dawn

  • @TonyMo thanks I will take a look.

    As you are getting the same result from different IDEs it suggests to me that the root cause is probably your food.txt file. I suspect it has “windows style” line endings (/r/n) in it.

    If this is true, how did they get there? Did you copy and paste the data for the file from the browser when taking the course? I…

  • @DavidRaguin Thank you :)

  • @TonyMo I see. What environment (operating system, python editor, etc) are you using? I surprised you saw that.

  • Welcome David, you may also be interesting in our Introduction to Databases and SQL course - https://www.futurelearn.com/courses/introduction-to-databases-and-sql

  • Absolutely, a tree structure can be represented in a CSV file but it would be a lot less intuitive.

  • What were you expecting Tony?

  • It is. Thoughts on why this might no always be desirable?

  • With 0 in the file seems to force python to regard the highscore.txt as containing numbers, not a string.

    I suppose it is a little simpler than that. If the file had nothing there would be no highscore at the start of the game.

  • You may find it helpful to have a look at our programming 101 and 102 courses, maybe skim through and recap.

  • Welcome Tony

  • Hi, I’m Martin and educator from the Raspberry Pi Foundation and will be around until the 28th October helping to facilitate the course. I hope you enjoy the course and learn something new.

  • That is a great example.

  • @TinaHagar Hi Tina, as an alternative which may help you here is a video lesson we created for Oak National Academy on number bases which includes a section on converting denary to binary.

    https://classroom.thenational.academy/lessons/number-bases-c4rkac

  • I’m here :)

  • Hi Tina, how can I help? Was there something specific you struggled with? The process of converting number bases (e.g. denary to binary) can be a little daunting the first time.

  • Hi Tina, I have fixed the link to the survey form. Apologies.

  • Welcome to the course. Im Martin, an educator from the Raspberry Pi Foundation, and will be joining you until the 16th August to help facilate the course.

  • Hi Kimberly, this course would definetly increase your knowledge around programming, networking and protocols. If you are looking for a networking fundamentals course I would recommend our “An Introduction to Computer Networking for Teachers” course (https://www.futurelearn.com/courses/introduction-to-networking/11) - you can sign up and take the course now.

  • Interesting. I just downloaded the PDF and tested the link and was successfully taken to https://isaaccomputerscience.org/concepts/sys_bool_useful_circuits

  • @MurrayBelchamber John was referring to the draughts board

  • Was this deliberate to see if anyone was awake?

    No, just a mistake. It has never been reported before. Thank you for letting us know. I have updated the content.

  • Thats a great example. Thank you

  • Welcome Mark

  • @MarkWeddell I really like the idea of offering users a choice

  • I have found weather examples work quite well too. I find that its important to move onto “digital” examples relatively quickly though to give more concrete examples.

  • Looks great, thank you for sharing

  • I just followed the link. Yes it goes to the FutureLearn knowledge bank which includes an example.

  • @CraigBrewer

    I quietly talked this through to myself, in the same way I understand that some programmers talk through code to a plastic bath duck!

    I think this is a great strategy. How did it work for you?

  • Thanks for sharing.

  • You could upload it to a cloud storage site like dropbox, google drive or onedrive and share a link.

  • Welcome Craig.

  • I like your selection of Animals.

  • Thats a great example.

  • Not sure why specifying ‘left’ align for box1 - it is appearing on the right hand side… any suggestions?

    I ran your program and box1 - the slightly smaller box is appearing on the left.

    You can see a screenshot of what I see here - https://imgur.com/a/BNxnd7n

  • I really like your example.

  • Yes, it is an over simplified example and circuit to give an example of an XOR. Obviously a full implementation would be more complex and cater for exceptions.

  • I agree. Its a very useful resource.

  • Apologies, the course wasnt configured properly to allow code to be shared in comments. I have just made the change, but I suspect it will only apply to new comments.

    e.g.

    print("this is code")
    
  • Thats great. It would always be hardwired but you could implement any combination you wanted.

  • Thats a great example.

  • Welcome Sedem

  • Absolutely. Thanks for sharing.

  • Thanks for the advice.

  • Welcome John

  • Hi,

    I will be around from the 3rd May until the 30th May helping to facilitate the course.

    I hope you enjoy learning about maths and logic in computing.

    Martin

  • Thank you for sharing your code. Looks great.

  • It is a really useful file format for storing data, particularly if you want to pass the data between different programs.

  • Absolutely.

  • Thanks for the feedback Glen

  • I suppose in this dictionary all the keys have to be unique to avoid misunderstanding of which key’s value I’d call.

    Yes, you are correct all the keys need to be unique

    I’d like to know if the dictionary can interpret it like that.

    I wasnt sure what you meant by this, could you expand a little and I will do my best to offer some advice.

  • Thank you for the support Paul

  • with takes care of the open and closing of the file for you. One of the benefits of with is that you as the programmer no longer have to worry about the state of the file.

  • Excellent. Those moments stay with me for a while and I come back to them often.

  • Welcome, I’m Martin and I will be facilitating this course.

    I will be around to answer questions and offer feedback from today (the 5th April) until the 2nd May.

    I hope you enjoy the course.

  • Excellent observations.

  • Thank you, its great to see your progress.

  • Do you have your server and client programs running seperately. I would expect to see that error if the server program wasnt running (or there was something blocking the connection - like a firewall)

  • Excellent.

  • I would be relatively usual to detect more errors than there actually were. You are detecting false positives. Maybe there is something about the image you are using which means more false positives are detected?

  • Exactly. The browser halts waiting for a response it will never get because the program doesnt reply.

  • That looks like a really strong implementation. I like how you coded explicitedly for a tie breaker.

  • I think in a nutshell, FEC is where “redundant” code is added to the message…..

    Yes, FEC is a big subject though and there are many different implementation.

    I imagine the redundant bits of code wrap the original message, so if there is loss or corruption of data it would occur in the redundant portion, hence not likely affecting the original…

  • It sounds like there was only had 1 instance of IDLE running. To open 2 instances you have to specifically start IDLE twice.

  • 127.0.0.1 is the IP address of your local computer. The IP address is the address of your computer on a network. The address 127.0.0.1 is reserved for the local computer so it can “talk to itself!”

  • @NurulNorazmi Do you have 2 instances of IDLE running? i.e. Not 2 files open, but 2 IDLE shells running?

    It sounds like you when you run each program they are running in the same shell?

  • That sounds like great progress. Error detection is difficult, there are so many different scenarios to cater for.

  • Welcome to the course. I am Martin and I will be facilitating the course until the 1st April. I hope you enjoy the course learning about Networking with Python.

  • In the previous step there are instructions for installing the guizero library.

  • The data about what colours the GUI is using arent saved in the file. The file just contains the text.

  • I needed access to the document.

  • Later in the course you will learn about different types of layout. The “grid” layout is particularly useful for forms.

  • Great work. I just noticed a really minor issue in the code.

    txt_pwd2 = TextBox(app)
    txt_pwd1.hide_text=True
    

    txt_pwd2 is not hidden.

  • Welcome back Rob

  • I like it.

  • Could you share your complete code listing?

  • if app.full_screen == True

    app.full_screen should return True if the screen is in full screen mode.

  • @CristianL I see.. The program finishes because of the return in the exception handler. i.e.

        except ValueError:
                number = input("Invalid. Enter your birth year  ")
                return
    

    return will exit the function.

    I have modified your program to remove the return and also move the year validation check inside the exception…

  • @CristianL I quickly tried the program and it validated years between 1905 and 2002.

    it does not work as expected.

    Can you elaborate? What didnt it do that you expected it to do?