Wow! The last three movies I've seen have been great (Ok, I'm not counting this one).
This is a funny movie...and the dialog is fast and furious. Juno is what I imagine Sarah Silverman (I love her) would be like if she got knocked up in high school.
This movie is about high school kids and teen pregnancy. It doesn't seem like a movie that I would like...but I loved it.
Go see this movie!
The Oscar nominated screenplay was written by former stripper and phone sex operator Diablo Cody. You can tell Juno gets a lot of her character from Diablo.
Check her out on a recent Letterman appearance concerning Juno:
Here is an earlier Diablo Cody Letterman appearance where she talks about being a stripper:
Nominations for the Academy Awards were announced today. Ceremonies are Sunday, February 24.
The other nominee is The Golden Compass.
I will be *shocked* if Transformers doesn't win. The effects amazed me, and that doesn't happen very often anymore.
Good luck Scott!
I stopped by Pixar today. The above picture is about all you get to see if you aren't a guest of a Pixar employee.
I *really* want to see what their studio looks like inside, but I don't know anybody that works there.
If you know somebody that works for Pixar that wouldn't mind showing me around, please let me know. In exchange, I'd be happy to show them around our campus.
Stop reading this and go see Cloverfield now.
I'm not kidding.
This is a fun monster movie...and the less you know, the better it is. It may be the perfect monster movie. I *really* liked it.
I got to see a special screening of this film earlier this week. The movie is like a cross between Godzilla and The Blair Witch Project...except much better than either one.
Since the movie is filmed from a video camera held by one of the characters (like Blair Witch)....expect a bumpy ride. There is a lot of running and spinning. A security guard said 16 people ran to the lobby to vomit during the movie. A friend of mine had to get up and leave because he was nauseated. All the people came back to finish watching, though. It is recommended you sit further back in the theater to lessen the impact (or closer if you want the ultimate experience!). I didn't have any problems with it, and I sat about 6 rows from the front.
Oh! And make sure you see this in a theater with good sound...it makes a huge difference! The sound is really well done (props to Skywalker Sound!) and will make you feel like you are there if you go to a good theater.
Here is the teaser (which is essentially the first 5 minutes of the movie):
If you have multiple computers on your desk and want to control them all with a single keyboard/mouse...you got to try Synergy.
I have a Windows box and a Linux box at work. I had both systems setup next to each other. I was constantly using the wrong keyboard/mouse when I would switch systems.
Now I use Synergy and just a single keyboard/mouse. When I want to switch to my Linux box from Windows, I simply drag the mouse cursor on Windows in the direction of the Linux monitor and the mouse pointer magically appears on Linux and all keyboard input now goes to the Linux box. When I want to go back to Windows, I just drag the mouse cursor back towards the Windows monitor. It looks like a dual-monitor setup because the mouse just slides back and forth between the two computers as if it were the same mouse.
How does it work? One system is a server (in my case, my Windows box) and one is a client (my Linux box). The server has the keyboard/mouse attached to it. When you move the mouse to an edge, Synergy redirects keyboard/mouse output to the client over the network connection. It works like a software-based KVM switch (but doesn't do the video).
It even supports copy/paste between systems! And when my screen-saver kicks in on Windows, my Linux box does the same...and they both wake up when I touch the mouse.
It is definitely better than a desktop filled with keyboards and mice for multiple systems.
And best of all, Synergy is free!
Highly recommended! Give it a try!
The C/C++ runtime library contains basic functions like memory allocation (malloc, new), output (printf), and string manipulation (strcpy, strlen).
When building a C/C++ application or library, you must pick a C/C++ runtime library. In Visual Studio 2005, you can select this option using Project->Properties...->Configuration Properties->C/C++->Code Generation->Runtime Library:
You have 4 versions:
The C++ runtime library is dependent on the C runtime library. The C runtime library version must match the C++ runtime library version. Thus, these options apply to both the C and C++ runtime libraries.
In previous versions of Visual Studio, you had additional options that were single-threaded. These versions would execute faster on a single core than the multi-threaded versions. However, they were not safe to use in a multi-threaded application. I'm guessing these libraries were dropped since multiple cores are quickly becoming ubiquitous and multi-threaded applications are needed to take advantage of these extra cores.
These four choices are all the permutations from two variables:
The first variable is easy. Use Debug on internal software that is not shipped to customers. The debug runtime library *can't* be included with your application legally. Just to be clear, you *can* ship a debug version of your application to a customer, but it should use the *release* version of the runtime library.
The Debug runtime library gives you access to some helpful debugging aids for error reporting and tracking down memory leaks. See the additional debug functionality you get with this version of the runtime library (and macro _DEBUG defined) here.
The next variable is DLL or Static Library. In general, you should use DLL. You might consider the Static Library version if:
The above instructions work well if your application doesn't use any other libraries. That rarely happens. Microsoft has several vague warnings in their documentation about using more than one version of runtime in an application.
The goal is to use one runtime library throughout your entire application.
That is nearly impossible since you typically don't have control of which runtime library other libraries use. For example, OpenGL uses the runtime library. If your application or any other libraries you use don't use the same runtime library as OpenGL, then you are mixing runtime libraries.
How do you know what runtime library a .EXE, .DLL or shared library (.LIB), or .OBJ use? Use this command line:
dumpbin /all XXXX | find /i "msvcr"
...and replace XXXX with the .EXE, .DLL, .LIB (for static libraries...not the stub for .DLL's), or .OBJ in question. You should get something similar to this:
You can use the results from this command with this page to see which runtime library you should use.
If you don't get any output, then it likely means that a static runtime library is used.
Even with information about what runtime libraries are in use, you may find it impossible to make your application use a single runtime library. If you match the runtime libraries, it is possible that one library uses the Visual Studio 7.0 version of the runtime library (msvcr70.dll) but you only have access to Visual Studio 8.0 (msvcr80.dll).
So now what?
It turns out is is OK to mix runtime libraries *except* in certain cases. A well written library should avoid these cases and then it doesn't matter if the runtime libraries match. Libraries that cannot avoid these cases should ship with 4 versions of their libraries that match the 4 versions of the runtime libraries.
Here is a good article with examples of situations to avoid so that you don't have to worry about mixing runtime libraries.
Choosing a runtime library summary...
I went to a screening of No Country For Old Men a couple of days ago.
This is the best movie I've seen in the past year.
I grew up in West Texas, so I enjoyed this movie on another level. The accents, people and locations were very familiar to me.
The main hitman in the film may bump Hannibal Lecter off the top spot for creepiest villain.
This is a great film...a must-see.
I bought my first laptop (a Dell Inspiron 8000) back in 2001. I'm ready for a new one and I think I found it.
What I like about it:
My new phone can act as a 3G high speed modem (5-10 Mbit/s) via bluetooth. I should be able to hop on the Internet anywhere my cell phone works with faster Internet access than I have at home...without connecting the laptop to anything!
I figure I will mostly use this for web surfing, email, blogging, and programming.
Here is a video review of the IdeaPad U110.
Linux/Unix (and Mac since OS X) have always had much better shells than Windows. But that is about to change.
Windows PowerShell 2.0 looks very impressive. It should make the Linux/Mac/Unix world scramble to come up with something that matches the features of PowerShell 2.0.
The feature I'm most excited about is called the "Graphical PowerShell." It is pictured above and replaces the pathetic "Command Prompt"...
You can see from the top picture that the Graphical PowerShell is broken into three parts.
One of the things that drove me *nuts* about Windows' Command Prompt was that you could not select a multi-line command. Selection worked in screen space, which is terrible!
For example, below I wrote a command that I want to copy. Because selection is in screen space, the best I can select is 'more *.cpp | find' instead of the whole command 'more *.cpp | find "include"'.
Graphical PowerShell doesn't have this problem. You can select by line now (finally!)...
You can also resize the window which doesn't work very well with Command Prompt.
The PowerShell command language itself is well thought out and very consistent. All commands are made up of verb-noun pairs like Set-Location, Copy-Item, Write-Output, etc. (with aliases that work as shortcuts). It looks to be very competitive with all the other shells out there in terms of shell features.
Passing data between commands in Unix/Mac/Linux involves sending text from one to command to another (like "more junk.txt | grep lenihan"). PowerShell passes *objects* between commands.
This article shows a quick example of the power of passing objects instead of just text. A list of directories is passed to a move command. If this were done with text, the text would need to be formatted in such a way that the move command would recognized the text as file names (like removing the date information). PowerShell already knows what type an object is so you can skip any of this formatting! Very nice!
PowerShell 1.0 is out now. It still uses the old Command Prompt for input/output. The Graphical PowerShell (replacement for Command Prompt) is part of PowerShell 2.0, which is available in alpha right now.
I can't wait for PowerShell to replace the Command Prompt in Windows!