As promised, I’ve recorded myself editing a podcast (published at 2X speed), which you can find in the middle of this post. Beyond that, this post will just be an overview of my editing workflow.
Continue reading “How I Podcast: Editing”How I Podcast: Software
After nobody asked me to, I’ve decided to write a few posts about how I podcast. There might be an additional post where I talk about some other software I use on my computer in general, but we’ll start with podcasting because it really is the heaviest use of my computer.
In this post, I’ll focus on the software I use to record. In the next post, I’ll share some of the hardware I use. And finally, I’ll explain how I edit podcasts with the aim of having a screen recording of myself editing either OHAC or Comical Start.
Some New Code
After playing around with Project Euler for a while, I determined I wanted to challenge my coding skills even more, but stay firmly planted in the mathematical realm in which I’m familiar. So, I’ve begun writing some code that can be used for certain mathematical objects. In particular, I’ve written a fraction class, a 2D vector class, and a complex number class. You can find the code on GitHub.
Continue reading “Some New Code”Birthday Index
It was my older sister’s birthday yesterday, and it had me thinking about how we talk about birthdays. There’s a peculiar inconsistency in the language we use which I vaguely noticed for the first time a couple of years ago, but never really pursued the thought.
We index our birthdays from 0.
Continue reading “Birthday Index”Looking Stupid
I’ve been sitting around, trying to determine what I wanted to write for this week. I’ve had a few underwhelming posts over the past month, due to some time constraints and missed deadlines, so I’m really aiming for ideas with a bit more substance.
I try to make note of some ideas I have, whether that is quotes from books I read, ideas from podcasts, little pictures, or just something that pops into my head that I want to save for later. I was going through those notes and determined this is the right time to get to something I heard a high school girl say at a Starbucks a few months ago.
Continue reading “Looking Stupid”Baseball is Back
Although I missed another Monday deadline (spring break has really gotten me in disarray), it was for good reason. My parents were visiting in San Diego, and it was fun getting to do some of the more “tourist” type places with people who had fresh eyes for the area.
But more importantly, my dad and I went to Petco Park to watch the Padres. Baseball season is finally back, and it makes me incredibly happy.
For most of my life, the start of baseball season has signaled warm weather, and just a certain reawakening for the year. Although this was much more apparent in Minnesota, even in San Diego I feel warmer weather, think of fresh cut grass, and just get this feeling of joy that not much else is able to provide. Baseball has always been magical. It’s a sport that is easy to engage with, easy to find someone to mess around with, and just has a pristine quality to it that no other sport manages to capture in my mind.
Project Euler
As part of my year of focus, I’ve been trying to spend more consistent chunks of time working on programming. In particular, right now I’m focusing on doubling down on my Python knowledge, and exploring some other aspects of computer science that interest me. After checking out a few books and tutorials, I’ve made my way back to a website that I found a number of years ago, which is the most intriguing to me: Project Euler.
The gist of Project Euler is to give a wide range of mathematically-oriented programming puzzles for people to solve. You can always just go on there for ideas of small programs to write, whether it’s to learn some math or to try out a new computer language. In my case, I’m trying to write the most efficient programs possible, making use both of clever algorithms I spend time figuring out or researching, and making use of Python syntax to make particularly elegant solutions. If you make a simple account, you can keep track of your progress and access message boards about each problem.
It has been very engaging so far. They are more bite-sized, but give ideas for more complex programs that can be written which are more general purpose. Rather than writing a script that solves a problem, I can focus on writing broad functions that may be helpful.
A fun problem I worked on today involved triangular numbers. These are just numbers you get from adding together all the positive integers before it. So, the seventh triangular number is just 1+2+3+4+5+6+7=28.
The goal was to find the smallest triangular number with more than 500 divisors. Here’s the Python code I wrote for it. (I apologize, I can’t figure out how to make syntax highlighting work right now.
import math
def getTriangular(n): ## Generates a list of triangular numbers up to n
triangularList = [sum(i for i in range(1,k+1)) for k in range(1, n+1)]
return triangularList
def getNumberDivisors(n): ## Generates number of divisors
numDivisors = 2 ## We don't care about n=1, so assume it has 1 and n
for divisor in range(2,int(math.sqrt(n))+1): ## Only check to sqrt(n)
if n % divisor == 0: ## Needs to be a divisor
if divisor * divisor == n: ## If square root
numDivisors += 1
else:
numDivisors += 2 ## Otherwise, divisor has a factor
## pair larger than n//2
return numDivisors
def main():
triangleList = getTriangular(25000) ## Hopefully big enough
is500 = False
triangleIndex = 7 ## It's certainly larger than seventh number
while not is500:
triangleIndex += 1
#print(triangleIndex)
if getNumberDivisors(triangleList[triangleIndex]) > 500:
is500 = True
print(triangleList[triangleIndex]) ## Tell me the number
main()
The code runs reasonably quickly, which is always the goal. The standard view on Project Euler problems (and I believe it is their official stance) is that well-optimized solutions should run for no longer than a minute on nearly any computer. The first few problems should take substantially less time than that.
I recommend giving them a try if you have an itch for some challenges, and either want to work on optimizing your code in a certain language, or try out the functions in a new language. For example, the fact that Python supports arbitrarily large integer addition (compared to C or Java) makes some problems pretty trivial. Thinking about how to deal with other languages becomes rather interesting.
Spring Break
I missed my first self-imposed Monday deadline in a while. I’ve actually been on Spring Break, in a sense. My girlfriend is in town visiting, and we’ve been staying pretty busy. Tomorrow we’re on our way to Universal Studios Hollywood. We both went to the Orlando location back in high school, so we’re somewhat familiar with what it has to offer. But it will be an excellent time. I just wanted to write this brief post as a marker of my failed deadline, but to keep the number of posts per week consistent enough.
I’ll have a new, full post this upcoming Monday.