One of my silliest long-running projects is a chatbot called cbot. All it does is connect to an IRC (Internet Relay Chat) server, and respond to people’s messages. For instance, if you greet it, it will greet you back. If you insult it, it will send you a poorly-constructed comeback. Obviously there’s nothing groundbreaking about it - there are other chatbots that are much better. I made cbot because I wanted to learn some new concepts (specifically the IRC protocol and dynamic loading), and it was really helpful for that purpose. Plus, it’s another project in C, and I like projects in C!
Read moreLast night I had a sobering experience. A faculty member from another university sent me a message letting me know that some of their students had turned in modified versions of my shell, lsh, for a homework assignment. Maybe I shouldn’t be too surprised. Writing a shell is a very common assignment for computer science students. My tutorial based on lsh has somehow managed to climb the ladder to the first page of search results for many queries related to writing shells. So at the end of the day, I guess this was bound to happen. And even though I can’t really be held responsible for what other people do with my tutorial and code, I feel pretty bad about this. Although there’s not much I can do to prevent students from presenting my shell as their own, I feel like I should point out why it’s such a terrible idea.
Read moreDuring spring break I had an odd experience. I found all four of my high school student ID cards, complete with my school picture from each year. When I showed them to a few friends, they all remarked on how little my face has changed since then. For reference, the picture I use on the front page of this website is a high school senior picture, nearly four years old. Not only do I look pretty much the same now as I do in that picture, even my freshman year picture looks about the same. So over the course of seven or so years, it seems that my appearance—or at least my face—hasn’t changed that much. Oh well.
Read moreOne of my favorite types of quick side projects are ones that involve web scraping with Python. Obviously, the Internet houses a ton of useful data, and you may want to fetch lots of that data to use within your own programs. Python has a few excellent tools which can be combined to create a powerful, easy to use system for quickly harvesting this data from webpages. I’ve used Python’s web scraping tools for fun projects like downloading music lyrics, and then using that to make a Twitter bot that replies to you with Taylor Swift lyrics. But these tools could also be useful for serious projects, like aggregating course enrollment or evaluation data from your college. So how would you go about simple web scraping in Python? Let’s dive in!
Read moreRegular visitors to my site (if there are any!) may have noticed that, starting
today, stephen-brennan.com
is redirecting to a new domain name, brennan.io
.
This change was motivated by a few reasons:
HackCWRU 2016 has finally come and gone. I’m up late, since staying up for 30+ hours kind of messed with my sleep schedule. This year, we had over 500 people sign up, and around 180 people in attendance (but citations are really needed here - I don’t have the official counts). I had a ton of fun, and there’s a lot to say about the good times had at HackCWRU 2016. But, I think those have already been written very well by Andrew Mason in his wrap-up blog post. So, go read that instead of reading a blog post by me!
Read morePeople say that “hindsight is 20/20.” And to a point, they’re right. When you look back at your past experiences, you see them clearer than you have before. Typically, it’s a bit reactionary; you emphasize the very bad parts and the very good parts. They play a much bigger role in the opinions you form as a result of your life experiences. This isn’t good or bad itself, it’s just part of how you think of the past.
Read moreWelcome to the second article in my “Computer Science Fundamentals” series! These articles are all about demystifying computer science. While they’re not going to make anyone an expert on computers, I’m hoping that they will help people understand what computer science is about. You can read the previous article (about programming) here if you haven’t already.
Read moreThis Thanksgiving, I’m thankful for a lot of things: for being in school majoring in my favorite subject ever, for landing an awesome internship at Yelp, and a whole lot more. But I’m also pretty darn thankful for the little things, like having a halfway decent programming language and a computer.
Read moreA long time ago, before the printing press, the only ways people could exchange ideas were through spoken word and painstakingly transcribed books. The printing press allowed people’s ideas to flow much more freely. Except that people’s ideas only flowed as long as they had access to a printing press and money to pay for its use. Later on, radio and TV entered the scene. They created an entirely new way to transmit ideas, news, and entertainment. You know, if you owned a broadcast station, had a license to transmit on a particular frequency, and employed enough people to run the station.
Read more