Mathematica 6 is finally out!
It appears that Mathematica 6 is finally out. The information is on
http://www.wolfram.com/products/mathematica/index.html
although it isn't on the main www.wolfram.com page yet. Go read about it ...
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
It appears that Mathematica 6 is finally out. The information is on
http://www.wolfram.com/products/mathematica/index.html
although it isn't on the main www.wolfram.com page yet. Go read about it ...
Here's an interesting article I'm going to have to come back and digest when I have more time...
Everything Your Professor Failed to Tell You About Functional Programming
My hard drive was filling up at work, and I wasn't sure where all the big files were scattered. I used the very excellent FolderSizes program, and it worked like a charm. It helps you find those 5GB directories you've forgotten about. There is just no way to figure it out in windows. Highly recommended.
I was very excited about Verizon FIOS service coming to my hometown of Needham MA. It should be a good fast internet connection.
Our cable TV service with Comcast is very unreliable, so I'd love to get rid of it. Verizon has been running ads in the Needham newspaper trying to get us to pressure the town to get them a cable license. From that, I'd infer that FIOS TV will be coming someday. (I heard on NPR they are actually trying to get state legistlation passed so they don't have to negotiate with each little town for a cable license.)
That all seems excellent, and I'd only pay $96.75/month for 30MB internet, digital cable, and 3 set top boxes. By comparison, I pay about $120/month with Comcast, for a slower internet connection and lousy cable performance.
But I love my TiVO, and it appears that I may not be able to control their Motorola QIP2500 Set Top Box (STB) using the serial port. The STB has a serial port, but Verizon has turned it off. I could use the IR port to change channels, but I found that to be very unreliable.
Verizon offers a Digital Video Recorder (DVR), but they only want to rent it to you for $12.95/month. I already have 2 TiVO's with paid up subscriptions. Their DVR also has been getting really awful reviews. Basically, anyone who's ever used a TiVO won't survive trying to use it.
So I'm stuck over a little technical detail. Enable those serial ports (which can be done with a remote update if they wanted to) and I'm all on board.
I'm not sure if it is worth switching just for internet.
:-(
I use C++ every day, but boy it is annoying sometimes. It has little symantec flaws that catch you. You can use numeric_limits to avoid hardcoding a "big number". Given that
numeric_limits<int>::max() is 2147483647
numeric_limits<int>::min() is -2147483648
numeric_limits<double>::max() is 1.79769e+308
What do you suppose numeric_limits<double>::min() would be?
I assumed it would be -1.79769e+308, but no. It is 2.22507e-308, the smallest positive double value. What the hell? If you want to return that, give it a better name.
Sure, I realize that I can use -numeric_limits<double>::max(), but boy that is confusing and makes template code based on this impossible. Asking around the office, everyone seemed to know the value, and they all found out the hard way by having a bug in their code.
It ranks up there with using abs and fabs with doubles.
Like many of the Mac Faithful, I'm looking forward the Steve's keynote at Macworld tomorrow. The Guardian has an interesting behind the scenes article about the work that goes into a reality distorting keynote talk.
Maybe Bill Gates should read it for pointers, since I read more than a few blog posts along the lines of "His CES keynote was really bad compared to a Steve Jobs keynote."
I have been on a quest for a text editor I can fall in love with. If you Google on this topic, you will find many blog post just like this one. Programmers like myself, trying to find the perfect tool. It is frustrating - the perfect editor for me doesn't really exist.
My colleagues at work all use Emacs. Their fingers have those awful key combinations build into them, and they are super productive and wicked fast. I want to be wicked fast too. I have just had another bout of trying to learn Emacs, but I don't think it is for me.
I have tried over and over to learn it. I plunked down for the 3rd edition of Learning GNU Emacs, and started to read it again recently. But I'm giving up. My fingers are not that agile, and my brain rebels against learning all those multi key combinations. I want well though out keyboard shortcuts, but the layout of Emacs is just stupid. I do want a command to convert to uppercase sometimes, but that should be tucked nicely away in a menu, not Meta-u. Emacs was pre-clipboard, and whole yank thing just bothers me. Cut is Control-x, thank you very much. That much my fingers do know.
I used Codewright for a long time, and I quite liked version 5.2. Version 6.X was really buggy and I stopped using it. (For that matter, it has been discontinued, and sent to the graveyard of dead Borland products.) I just used the Visual Studio IDE after that. But we have linux boxes at work, and I'd really like to be cross platform.
My wish list:
I don't think there anything on the market that fits all my wish list.
If I could just use a Mac all day, I'd have BBedit or TextMate. Oh how I'd like to use TextMate. But unfortunately it is Windows boxes and Linux clusters for me.
Emacs and vim dominate the linux market, but they involve overly complicated key combinations. I know you can be very productive with them, but can't seem to get my fingers to that level.
There are a number of nice windows only editors that do pretty well on my list. I have to put in a plug for Boxer, which I use every day as a supplement to Visual Studio. It has a nice clean interface, is fast and works on big files. It doesn't do tags or external compilation, or have an open file pane. If you're reading this and looking at editors, give it a look.
I looked at EditPad Pro since was ported to linux and windows. It is pretty good. However, it uses Kylix for cross platform support, and that's also in that Borland Graveyard.
What is left? SciTE gets a lot of good buzz. It is cross platform and really fast. It does very nice code folding, which also does these useful dotted lines at indent levels. However, I was kind of surprised at how "lightweight" it really is. Want to convert to uppercase - sorry. I started to use it for a few days, but it can't do a search across all open files. That's something I really need to do. Looking at their development lists, the main author is opposed to adding it. He thinks a disk based "search in all file" command is a replacement, which it is totally not.
I tried out SlickEdit, and still may give it another go. It is cross platform (although the Motif interface is looking kind of old/ugly). It does all the IDE stuff like tags and external compilation. It is fast. It is, however, very expensive. A windows/linux "named user" license that would let me put it on all the computers I use is ~$400. Damn. I don't mind spending money on software, but that's way more than typical. Also, the interface is kind of cluttered. I found myself fiddling with it rather than doing work. [UPDATE: I've added a much more detailed look at SlickEdit here.]
I was kind of bummed at this point because I didn't think there was anything left. In desperation, I looked at Jedit. I discounted it at first because I really don't like Java. Java gets used to make programs that do things I find very boring. I assumed that any editor starting with the letter "j" would suck. However, it is really a nicely designed program. It is very elegant, and has some handy plugs-ins. The console and error list work really well with our home-grown build system. The only thing it doesn't do on my list is work well with large files. It uses almost 3X memory for a file, and you have to allocate the maximum memory up front (since it is a Java program). I give it 96MB of memory, which is just silly, and I still can't open 4 10MB files at once. Otherwise I give it very high marks. It has a huge "ecosystem" like Emacs does. That's nice because it means that someone has already done the syntax highlighting for R, a pretty obscure language I use. (They call it S+, if you're wondering where it is hiding.)
So for now, I'm giving Jedit a tryout. I'll use Boxer for my large files on windows, and probably SciTE on linux.
Anyone out there have any suggestions for something I missed?
One of the those things on the bottom of my todo list was to finally figure out how to configure Mulberry, the email program with the best IMAP support. I paid the web site of Cyrusoft a visit today, and they're out of business. Cross that item off my list. Bummer.
Mulberry was the most powerful email program out there, but they never figured out their GUI. It was way complicated to set up. I tried a couple of times, but never spent the effort to get it working. I really wanted to like it. This slashdot entry about their demise shows I'm not the only one who felt that way.
I've been reading a very good book about the Ruby computer language. In Ruby circles it is known as the Pickaxe book (due to the picture on the cover). Apparently the rest of the world is also reading this book. Tim O'Reilly had a much discussed blog post that they are now selling more Ruby books than Python books, with sales up 1250%! Given that they are only selling the Pickaxe and one book on Rails development, that is pretty impressive.
My friend Brad thought my previous post about Ruby was a bit terse, so I'll give a little background. I've been doing some surfing myself, finding out about the Ruby community.
Ruby is a very nice little language, which is riding a huge wave of hipness and popularity, driven largely by a web development framework called Ruby on Rails. Like any good system, it was developed by a guy who can be a TLA, in this case David Heinemeier Hansson, or DHH. He's also been a very effective advocate, making videos and presenting at conferences on why Rails is such a productive environment. For maximum hipness you should use the TextMate editor on a Mac. You must use a black background with white letters, or you're not cool.
Here's a very frequently cited post: Thirty-seven reasons I love Ruby. There's a very strange online book about Ruby that uses cartoon foxes to make its points.
Ruby has true continuations, which is the first thing the "language guy" in our office asks about a new language. Here's an interesting post called Why Ruby is an acceptable Lisp. Notice all the Lisp guys freaking out in the comments. I especially liked this followup post comparing Ruby (and Rails) to Python web frameworks.
One other interesting Ruby blog post: Six Figure Ruby: 10 ways to make money with Ruby right now. Evidently there is even an international model Anina who codes in Rails. Go figure.
So Ruby has a good book, good language features, a killer app in Rails, and lots of momentum.
I don't do web applications of any sort, so I can be kind of a neutral observer. It seems like Ruby is intersting a lot of Java talent. I personally never clicked with Java, so I can certainly.see.why.they.would.want.to.try.something.new. Ruby is also giving the Python community fits of naval gazing. Why didn't the killer app appear on Python? Python is a very nice language, and I really should be learning it first. However, I get bored whenever I start to read Learning Python. So for me, a more engaging intro book and a streak of impracticality have led me to tackle Ruby first. I'll get to Python after that.
I'm sure I'll find that Ruby is kind of slow, so I'll be waiting for the version that uses a Virtual Machine, coming in Ruby 2.0. The particular VM they are using is called YARV.
Here's an interesting News.com article about the "Blue Hat" event at Microsoft. It featured "blue hat" crackers giving demos of how to break Microsoft code.
Even more intersting is the sidebar. One of the security consultants, Dan Kaminsky, talks about how the MD5 hash function is starting to be cracked. He has an interesting paper titled MD5 To Be Considered Harmful Someday. I didn't realize the progress that is being made attacking MD5. As he says, once people make progress you start to worry about it falling apart completely. Bottom line: try to avoid using MD5 for security.