Do you have an idea for an iPhone app that you just wish you could have? Well, now is your chance. See, I’m the kind of guy who likes money. So if you have an iPhone app that you wish existed and you’d be willing to pay 99 cents for, let me know and it just might magick itself into existence. (No guarantees, but you never know!)
Archive for the ‘Computer Science’ Category
Posted by Michael Dickens on January 3, 2010
Posted by Michael Dickens on December 12, 2009
It has been said that computers will never be able to replace humans. There have been various arguments: that human intelligence is transcendental; that computers can never feel emotion; et cetera. These arguments, however, are flawed.
First of all, as much as people would like to believe the contrary, there is no evidence that there is anything transcendental about the human intellect. None. People do like the belief that we are special, but we simply are not. And that is not such a bad thing, really. So we are not so special. What then? Nothing ends. Accepting our place in the universe does nothing but make life easier, since denying the truth is no longer necessary.
Then there is the fact that human intelligence is currently being replicated by computers. At this point, computers are not nearly as smart as people are. But they are certainly a lot closer to reflecting human intelligence then they were thirty years ago. Allow me to demonstrate. Have you ever played a video game? Many games involve other characters. These characters are not played by people, but are actually controlled by the computer. You may have noticed that these characters do not always act entirely realistically. But at the same time, they do not act very unrealistically either. It could be a lot worse. The task of actually writing an intelligent non-player character is a very difficult one. But we are getting better at it. Before too much longer, we will have computer programs capable of acting completely human.
One major objection, though, is emotion. It has been said that computers cannot feel emotion. So far, they do not. But really, emotion is only the release of certain chemicals in the brain. Computers could be built with these same chemicals. Or they could possibly perceive emotions in a different way. Currently, there is no reason for computers to have emotions. It would be inconvenient (and also very difficult to implement). But other than that it would be hard to implement, there is no reason why computers would not be able to feel emotions. In their own way, emotions are very logical. When something happens that is beneficial, you feel happy. When something happens that is detrimental, you feel sad. When something happens that you wish had gone differently, you get angry. Computers could be programmed to behave in all of these ways.
For all of these reasons and more, it is possible — even achievable in the relatively near future — for computing machines to become as intelligent as humans. But what then? Would they take over the world? Hopefully not. We could live in harmony. Maybe they would destroy us because of our destructive capabilities. Who knows? Whatever happens, it will be something, and it will be exciting.
Posted by Michael Dickens on December 1, 2009
Today I learned that Ruby‘s random number generator uses the Mersenne Twister, the greatest pseudorandom number generator known to man — both faster and higher quality than the commonly-used linear congruential generator.
Posted by Michael Dickens on November 20, 2009
Why all this pointless squabbling between whether a PC or a Mac is better? I personally use a Mac, and I happen to like Macs a lot better, but I can understand that some people prefer PCs, and that’s totally fine with me. What really aggravates me, though, is when people make really stupid excuses as to why their side is better than the other. For example, the claim that Macs only have one button. This is only true on laptops; besides, laptop mousepads are terrible anyway. I much prefer to use an external mouse. And anyway, you can right-click by holding down ctrl, which is really not that hard. What is really annoying about this sort of claim is that it really doesn’t matter, and everyone knows it. It’s really just an excuse as to why your faction is better than the other faction. If you’re looking for real evidence of superiority, try bringing up the price of a Mac. They simply cost too much. And you Mac people, don’t bring up the fact that PCs have a somewhat uglier interface. Really, are you using a computer because you want it to look pretty? I personally have the internet open about 90% of the time when I’m on the computer, so I can’t even see the desktop.
Read the rest of this entry »
Posted by Michael Dickens on November 10, 2009
At least according to Numb3rs. After I saw another Objective-C reference, I figured that the writers must have something for Objective-C. Maybe one of the math consultants does Objective-C. But I think a very likely reason is that Objective-C just looks cool. It’s not my favorite language (I don’t even like it that much), but I definitely can’t argue with the fact that, if you don’t know what is going on, it looks freakin’ cool. You use brackets for method calls. Come on. How can you not love that? And the unnecessarily long method names that are supposed to make the language easier to read but really don’t. Those are just great. (I couldn’t find any good pictures, but check out this video.) Compare that to, say, Lisp.
Yaaawwwnn. Too many parentheses. But Objective-C has a real “hacker” feel to it.
(P.S. The actual coolest language is Scala.)
Posted by Michael Dickens on November 9, 2009
I wrote a BF program which calculates every prime number from 2 to 100. This is it:
Since I’m using a slow Python interpreter, it takes a long time to finish. But it still works.
Posted by Michael Dickens on November 7, 2009
I have some experience programming in both Ruby and Python, and have long wondered which is superior. Many people love Python, and many others love Ruby. Both of them, in my opinion, are at the pinnacle of easy-to-use languages; they are both dynamically typed, multi-paradigm languages. Here is a comparison of the details, with the winner in bold.
Read the rest of this entry »
Posted by Michael Dickens on November 5, 2009
The Java Virtual Machine (JVM) allows a compiled Java program to run on any platform. That sounds pretty cool, right? You don’t have to worry about the fact that different platforms use different assemblers, because it runs on a virtual machine. But it’s pretty fast. Not as fast as a purely compiled language, but a lot faster than an interpreted language such as Python. Isn’t that a great idea?
But you know what would be even better? If everyone just used the same platform. (Preferably the one that I am currently using.)
Posted by Michael Dickens on November 3, 2009
The Ruby programming language has many ways to do what you want. For example, it has no fewer than nine types of loops. Here I have each loop, and how you would express it in C. For some of these, I made up the names. And sometimes I called them loops when they are actually iterators. But I can do that if I want to.
Read the rest of this entry »
Posted by Michael Dickens on October 25, 2009
From this delicious Stack Overflow thread.
Top 10 things likely to be overheard from a Klingon Programmer
1. Specifications are for the weak and timid!
2. You question the worthiness of my code? I should kill you where you stand!
3. Indentation? I will show you how to indent when I indent your skull!
4. What is this talk of release? Klingons do not release software. Our software escapes leaving a bloody trail of designers and quality assurance people in its wake.
5. Klingon function calls do not have parameters – they have arguments – and they ALWAYS WIN THEM.
6. Debugging? Klingons do not debug. Our software does not coddle the weak.
7. A True Klingon Warrior does not comment on his code!
8. Klingon software does not have BUGS. It has FEATURES, and those features are too sophisticated for a Romulan pig like you to understand.
9. You cannot truly appreciate Dilbert unless you’ve read it in the original Klingon.
10. Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!