Thursday, February 23, 2012

On Our Responsibility Towards Pets

Topic: Ethics

Abandon: verb (used with object) to leave completely and finally; forsake utterly; desert: to abandon one's farm; to abandon a child; to abandon a sinking ship.

Although this blog is mostly related to programming, there will be some times where I will decide to talk about issues that are important to me; after all, this blog is mine, no? One of these issues is the large amount of people abandoning their newly-purchased pets after Christmas.

For those of you who have not heard of the issue, it goes a little along those lines: mister and missus Doe see an adorable puppy/kitty/birdy/etc at the pet store, and think "Aww shucks, this would be perfect for our son/daughter!" and buy said animal for the child on a whim. Christmas comes along, and the young Doe child/children are amazed to see their new puppy/kitty/birdy/etc. A month goes by, and mister and missus Doe realize that having a pet is a lot of work and costs money, work which they did not expect and money they did not plan to spend. So they, thinking they're doing well, drop off the new pet at an animal shelter.

That doesn't seem too bad, and granted it's better than simply abandonning them by the side of the road. However, hundreds, even thousands of families across North America (I don't want to think about the worldwide right now) find themselves in this exact same situation. The result is that animal shelters become overcrowded, and all those new pets have to be put down for the shelter to continue existing.

Now, I'm not saying I have a clear cut solution to this problem, but what I do have are a few tips which I hope people will pass around and, hopefully, reduce the amplitude of this problem.

Tip 1 - Think Before You Buy
People think before having a child. They think about the cost, the time they need, etc. Okay, some people don't think of that, but most people do. People should make an informed decision before buying a child a pet. What I suggest is that mister and missus Doe should ask the pet shop people about the responsibilities, look at food prices, and wait a week before buying their pet. What if there's less than a week before Christmas? Don't buy it. Take your time, and think before you decide to buy a pet.

Tip 2 - Why Buy When You Can Adopt?
Sure, animals found in animal shelters can be a bit dirtier, a bit older than what you would find in a pet store, but animals can be cleaned, and your children will love them just the same; maybe even more when you tell them that you saved it from homelessness. Animals in shelters will cost you less than buying at a pet store, and some of them even have all their shots already. Adopting an animal from a shelter is a win-win scenario!

Tip 3 - Shelters Are Good, Families Are Awesome
Before looking for a shelter to drop off your pet, try and find a nice family who would want it. There are a lot of people out there who would take a homeless animal in, but don't necessarily have the money to buy one. I'm speaking from experience on this. We used to have a dog at home. It was our first one, and we had no idea how to raise it. Eventually, it became too much for us, so we had to get rid of it. Instead of looking for a shelter, we asked around to see who would take it. Eventually we found this nice family with a nice big yard where our dog could run around and be happy. We gave our dog to that family. Now, giving that dog up was one of the hardest things we had to do, and it still brings tears to my eyes to remember it, but that dog is now happy with loving owners who can really take care of her. And that, in the end, is the biggest gift we could give to our dog; a chance to be happier than with us.

Now, I'm not crazy; I know only a handful of people, if any, will actually read this. But if, after reading this, at least one person can say "Geez, this guy is right, let's think before buying our pet." or "Wow, maybe someone else can take care of our pet...", if one animal can be kept in a loving family instead of being sent to the shelter because of what I wrote, then this post will have done its job.

TTFN,
Snowman

Saturday, February 18, 2012

Java vs C++ vs Whatever

Topic: Programming

Pretentious: adjective characterized by assumption of dignity or importance.

I want to make this clear early on because I do not want to start a debate or have to defend any language choice I will make in the future: I do not think any language is "superior" to another. Period. I have the strong opinion that a good programmer can end up doing whatever they want, or whatever they need, using only the tools provided to them. And in situations where one language IS better than another for a particular task, then just use that language!

I am saying this because I code mostly in Java. I do not do it because I think it is superior. I do not do it because I think it is faster, stronger, etc. I do it because I like Java. So with that in mind, I will not reply to comments about whether my choice of language was good or not; I'm sure that me and many other programmers are tired of this debate.

Now that that's out of the way, let me get back to my coffee...

TTFN,
Snowman

Wednesday, February 15, 2012

Say hi to Azure

Topic: Programming, AI

Artificial Intelligence: noun the capacity of a computer to perform operations analogous to learning and decision making in humans, as by an expert system, a program for CAD or CAM, or a program for the perception and recognition of shapes in computer vision systems.

Naturally one of the subjects I would like to discuss here is the research I do, namely in the domain of artificial intelligence. It is in that light that I would like to introduce you to Azure.

Azure is a baby AI (currently more of a foetus than an actual baby) that I am currently developing. It (or she if you prefer) is part of a project I've been working on for a while now, namely the Demeter Project, whose purpose it is to create controlled testing environments in which AI (which I call Units) can live, learn and strive in.

Azure is what I call an Asimov Unit, which is to say that it is a basic AI Unit; there is nothing "special" about it (contrasted with Twin, Nagato, Hive and Collective Units which I will discuss about in later posts). In fact, an AU is, in theory, the Unit which most resembles a human; an AU consists of roughly 1 body and 1 brain, while a Twin Unit has 2 bodies and 2 PSI-linked brains (which I will again discuss later).

Anyways, I just wanted to introduce Azure to you, and discuss a bit about the AI research I am doing. Now, I have to get back to work.

TTFN,
Snowman

Tuesday, February 14, 2012

Assertion Failed!

Topic: Varia

Assertion: noun. a positive statement or declaration, often without support or reason: a mere assertion; an unwarranted assertion.

In programming, an assertion is an expression which we want to be true always. In fact, usually whenever there is a piece of code of the form "assert(x)", if ever x is false the program will halt, pause at that point, allowing a programmer to examine the code and see what's wrong.

That is where this blog comes in. I'm not an expert programmer (or maybe I am but I don't know it) and I won't pretend to be. I won't pretend to be better than someone. I won't try to push my beliefs on you, and the code I post might be wrong sometimes. This blog is simply a place for me to pause and write my own little opinions and stuff. Things I found interesting, or things I want opinions about.

For those who want to get involved in programming but feel intimidated about online blogs, this is a good place to start reading.

I don't see this blog like a classroom, where I will preach my beliefs. Instead, I see it more like a small café where people can sit around while I rant away, opening discussion. That being said, the topics here will mostly have to do about programming, but may diverge into other computer science-y stuff.

The title of this blog actually refers to a piece of obscure code I ran into. The subroutine in question was never used, and had a single line: "assert(FALSE)". This means that anytime that subroutine would run, the code would crash. I almost felt sad for that subroutine (before I destroyed it), how it was never called and would only cause trouble. Despite all the funny or depressing things I've seen devs (developers) write over the few years I've been programming, this one stands out.

Anyways, I've ranted for long enough. Next post: who am I? Perhaps.

Peace out,
Snowman