Timothy's Blog

A day in the life of a creative filmmaker

Learning ReactJS

September 6th, 2019 by

So I’ve been learning ReactJS which is a Javascript library/framework which allows you to easily create modular apps/websites using Javascript (which is a language I’m good at). So far I’ve created three apps (though one is more of a static clone of Twitter) which I’m pretty proud of.

The first project I did was a Twitter clone which I created just as a simple exercise in applying what I’d learned by reading the ReactJS book I have called “React Quickly” by Azat Mardan. I started out just by creating one card (for a tweet) and then using the Array.map() function to create a list of these cards using static data I had prepared ahead of time.

Twitter clone (It’s pretty simple which is good for a first app)

Overall, the book was pretty complicated and I understood the first parts, but it was written for somebody who can take in a lot of information and understand complicated topics easily. But I didn’t give up and I was finally able to write my first React app. And I went on to write more.

The next app I created was a weather app which uses the API of OpenWeatherMap.org to make requests to their server and get the weather for a particular city. I used some free icons I found on FlatIcon.com which worked pretty well and I’m pretty happy with how it turned out. You can see the app live at http://weather-app.timothygrindall.com.

My next app was even more of a challenge which used the API of hn.algolia.com to basically create a working clone of the site. The API functionality was very similar to the weather app but had some differences. You can see the app at https://algolia-hacker-news.timothygrindall.com and you can see the original site at https://hn.algolia.com/. Overall I think I got it pretty close.

I started in basic web design so I’m pretty good at styling pages (or at least using CSS). I think that is not one of my weaknesses.

For you coders out there, if you want to see my code for these projects you can see it at my Github page at https://github.com/timgrindall. Repositories are:

  1. algolia-hacker-news-app
  2. weather-app
  3. react-social-app

Now I’m kinda out of ideas for what to do next but I think I’d like to learn to use Redux which is a pretty cool technology (it works with ReactJS). Anyways, if you enjoyed this post let me know in the comments and I will try to get to your comment and approve it so it turns up.

Timothy’s 10 Laws of Computing

May 14th, 2019 by

I made up this list last night just for fun so I could post it on this blog. It’s not really a list of real “laws” but is rather some things that I thought were funny. I guess you’d have to be a computer nerd to understand them.

  1. Never start a process or ask a computer to do something that you don’t want it to do.
  2. Never stop a process or something that you do not want to stop.
  3. Never start multiple processes when your utilities are not sufficient.
  4. Never hit a button just because you don’t know what it does.
  5. Always buy a faster computer than you need now.
  6. More RAM is always better.
  7. Wait, you thought 8K was going to be enough? (In my humble opinion 4K is enough for small screens)
  8. Old computers make great boat anchors.
  9. Moore’s law is not a law.
  10. Computers are the new kid on the block. Use a pencil and paper when your computer isn’t available.

Neo-Classical Piece Inspired by Vivaldi

May 10th, 2019 by

So I was trying to come up with a piece for my recent film, The Super Rocket and was inspired by Vivaldi’s “Four Seasons” and wrote this song:

I’m pretty sure this song uses only my own material in the first part and something note for note what Vivaldi wrote as the second part (8 + 8 measures). I listened to all of “Four Seasons” to see if I could spot what had inspired me so I don’t think the first half is copied subconsciously (which is something that happens). Tell me if you think you can spot it.

Also, I’ve categorized this piece as “Neo Classical” but that’s just a word of my own making and may not be the best descriptor.

By the way, if you haven’t seen The Super Rocket (produced by my Family, some friends, and I) you can watch it below. And feel free to share with as many people as possible! Also, you can leave a comment on YouTube to tell me what you think!

I’m currently working on a new project which is a about a programmer who wants to become a computer hacker. Hopefully this one turns out. You can pray that God would give me wisdom in writing this screenplay and that it would turn into something that would please Him.

Old-New Song 2.0

April 11th, 2019 by

So I wrote this song to communicate sadness and heaviness. I thought before that it was an old song and the first part is, but I’ve added to it and now it’s a new song. Hence the title. This song is inspired by a memory of mine which is very sad, so I guess that’s my inspiration.

Overall it uses entirely diatonic chords meaning in this case that it uses no ‘black’ notes on the keyboard. But I think it sounds fine in spite of that. Part of this song is in 6/8 time but most of it is in 4/4 time which I think lends it an interesting quality (the combination of the two).

Tell me what you think about this song in the comments!

Sonatina in F Minor

February 24th, 2019 by

So I wrote my first song on my new keyboard controller for my PC. I used a program called Reaper and some VST (synthetic) instruments that came with my piano keyboard. Overall it turned out pretty well.

I thought I was writing the piece in C Minor right up till the end because that’s what key it started in but I know its in F Minor now (funny how chromatic chords can mess you up). I expect to start writing music for The Super Rocket soon, unless I think of another reason to procrastinate 😁!

Now I’m not sure if it’s right to call this piece a sonatina but it has a recurring a section and kinda a development section in the middle so I’ll call it that.

Originally I wrote the piano piece first and chose the flute to go along with the piano because me and my sister Grace used to play pieces together (her on the flute and me on the piano), though that happened only every looong once in a while. Anyways, I enjoyed playing on this keyboard and I’m sure it will serve me well for years to come.

I would like to try out some real sampled instruments sometime. I’m even considering recording my piano parts for The Super Rocket on my parents grand piano, but that’s just a dream (I may end up using different instruments).

Rondo in C

February 17th, 2019 by

So I began my first foray into musical Rondo form today. I spent just over three hours composing this thing. Overall I’m pretty happy with it. Rondo means the music is made of 5 or 7 sections (in this case 5) labelled ABACA or ABACADA (7-part rondo). There are also ‘re-transitions’ between the sections which add to the length.

I really should learn to use a program such as Pro Tools or Reaper so I can do a proper recording with professional samples. Also, this music has no dynamics (it’s the same loudness throughout). There are some things you can do in MuseScore to adjust dynamics but I totally forgot about it.

I just bought a piano keyboard and I’m planning on getting Reaper which is a DAW (Digital Audio Workstation) which will allow me to record music in much higher quality with better dynamics and phrasing. Pretty excited about that.

I’m pretty happy with the progress I’m making in music composition and I think this is an interest that will stick with me for years. Tell me what you think about this music in the comments!

Node JS Forum Project

January 31st, 2019 by

So I recently embarked on the journey to create a forum website using Node JS which is a back-end programming environment for Javascript. I started this project on December 15th and mostly finished by the 19th but I did spend a few days before that watching a tutorial on Youtube to refresh my Node.js skills. I had considered it finished but recently started working on it again to add an image modal window to the project so when users click on images they get enlarged. I created the whole project in Node.js using the Express library and Mongoose library and I used Passport for user authentication.

Screenshots follow below:

Front Page
“Finished Projects” sub forum
“Asteroid 23eb6” thread page
login page
profile page

So how does this forum work? Well, when a user wants to make a post the page sends a request to the server where my Node.js code handles the request and stores the post contained in the request in a database. This post is then listed in it’s correct sub forum and is pulled from the database when it is needed so viewers can view it. So the website is entirely dynamic.

I included the ability to log in and make posts, delete posts, reply to posts, upload images, and upload post thumbnails (automatically created from first image in a post). You can also create a user profile for your username and others can see it when they click on your username. I created a section to display the most recent posts from any of the sub forums on the front page and used AJAX requests to update how many unread new posts there were in each sub forum. Overall I tried to make it a full-featured forum site.

I modeled this site after the http://www.blenderartists.org site which is a site I’ve used a lot and highly admire. I had to use some site to emulate because I don’t have that good of an idea of what a good forum site looks like off the top of my head.

I had a lot of fun with this project and really was able to apply a lot of what I had learned about Node.js and back-end programming from tutorials. You can’t learn everything from tutorials though and sometime you need real-life application. I didn’t put a lot of work into the styling of the page but I did try to make it make sense at least. I don’t know when this knowledge of Node.js and back-end programming will come in handy, but I’m sure it will come in handy someday. Maybe somebody will want to have me build a forum for them?

If any of you need a website done for you even if you don’t need a full-featured forum, email me because I can create custom websites for small businesses for a low cost! Click the link ‘Web Design’ at the top of this page to see my portfolio and learn more.

If you have any questions about this project or how I created it just leave a comment down below!

Victory is When The Dawn Breaks

January 14th, 2019 by

So I’ve been learning to write music and got sidetracked and wrote this short piece of music. Sorry for the poor audio quality, I just exported straight from MuseScore so it’s a pretty simple MIDI composition. My Mom thought the title didn’t go with the music which is in a minor key but I explained to her it’s the victory that comes before we know it. I could have developed this a little more but decided I didn’t have enough time. I think the music is very similar to a song I heard a long time ago but I don’t know if I can really help that. Anyways, tell me what you think!

The Super Rocket

December 2nd, 2018 by

So I was thinking of things to blog and realized I hadn’t done a post on The Super Rocket for a while. So, here we go: We’ve wrapped shooting on The Super Rocket. If you don’t know what The Super Rocket is, it’s a film I’ve been making with my family and a couple friends. The basic thrust of the story is that two brothers build rockets together and have a falling out over a “Super Rocket”. This is a project I’ve been working on for awhile and I’m pretty proud of how it’s turned out. That being said there were some bloopers, but the actors (Matthew and Daniel Blanchet) we’re great actors and I couldn’t have asked for better.

I’m currently working on writing music for the film and I find this is a little daunting I don’t really have another way of getting music as my budget pretty much only covers my phone bill and website fees. Still, I’ve written music before and I feel I can do a good job. I also found a good course on Udemy for “music composition” and feel I am in good hands. So I don’t know when I’ll have the finished film but I expect it to be done some time early next year when I will upload it to Youtube. I may even have a showing for it at the church but I have not arranged that yet. Just an idea.

Here are some still from the film (Yes these are the best ones)!

Also, I have a film in the works for my next project, so check back here for updates soon!

Elon Musk and AI

July 6th, 2018 by

I was thinking today about the subject of artificial intelligence and why people are so scared of it. Actually, let me start by saying that I didn’t believe people really were afraid of AI. I just thought they were making stuff up, or pretending, or telling stories. I didn’t think they were actually scared of it till I heard of Elon Musk’s fear of AI. Apparently he has said that he is pretty afraid of what people will do with AI. Actually he has said we are “summoning the demon” with AI. Apparently a lot of people believe this because there are a lot of movies made and stories told about AI turning against it’s masters and wrecking havoc or enslaving humanity. Basically, the idea is that robots can come up with their own ideas and we might not necessarily like them. But I always believed that AI was purely under the control of human invention because who would build a robot with its own ideas of what it should do, right? Apparently I am wrong. Because a lot of people believe that robots can come up with it’s own ideas.

But when you look at the programming of robots closely you see that there is no real possibility of it coming up with its own ideas unless you it programmed to do that (the infamous chat bot Tay comes to mind). Even when looking at the self-learning of complicated neural network programs such as Deep Mind’s Alpha Go you find that the network is relegated to pursuing one goal only: playing Go. The robot does nothing else and could never do so (without it’s programming being altered). Also, we have the interesting situation of never having a robot go rogue before. Though we see many examples in movies and TV of robots going against their makers, it has never happened in real life.

Perhaps you say because robots just aren’t smart enough? Robots are getting very close to being as smart as humans though they’re not as close to being as flexible and multi-disciplinary as the human mind. That’s part of their programming. Perhaps you may say, Robots just need to be programmed that way and then they’ll be a danger to humankind? it’s possible, but the history of computer programming shows that robots do exactly what you tell them to do and nothing else. They’re really very dumb in that regard. So it’s really a matter of computer programming to get the robot you are looking for. You may point out that robots just need to be a little smarter, but what is smarts really but programming? Even the human brain is a product of design – God’s design. So human intelligence is a type of programming that utilizes neural networks (though different from the ones in man-made deep learning networks). And programming is always limited by the programmer. You know your limits.

So I think robots could be developed that could help us create and do everything on computers that humans already do: just without the work! Is this a bad thing? Possibly. The internet could sometimes be treated as a bad thing and it is, but what would we ever do without it? In the same way, really intelligent robots represent a progress that has never been experienced before, but we can have a taste of what it can do with deep learning and neural net based robots today. It would be a shame if we cut it off while it was still budding.

If any of you are interested in learning more about AI and neural networks, I would recommend the book On Intelligence by Jeff Hawkins. It’s probably one of the best books I’ve ever read in my life and represents a great step forward for human-like intelligence based on the biology of the human brain. If you are interested in learning about the many applications of artificial intelligence (or “machine learning” as it is known), you can read about it here.