
Looks like functional programming is the next big hype in programming - expect to see lots of bullshit-bingo corporate-speak about it in the coming years. Meanwhile, here's a decent overview in Dr Dobb's Journal of a few languages in which functional programming is possible, including a peek at the Mathematica language, which I write in all day every day.
11:57 | link | | |
And there was much rejoicing! Here's an overview from the boss, Stephen Wolfram.
22:41 | link | | |
From the local newspaper, reproduced here since it will eventually migrate behind a paywall:
Wolfram Research founder projects further growth
By Don Dodson
Sunday October 26, 2008
CHAMPAIGN – While some companies scale back, Wolfram Research continues to swell in what founder Stephen Wolfram calls a "rapid expansion phase."
"We've added 24 new people in the last two months," Wolfram said on a visit to Champaign last week. "We're hiring lots of technical research-and-development people and adding strengths in business and marketing."
The company, which employs more than 300 in Champaign, is the maker of Mathematica technical computing software.
On Thursday, Wolfram announced the newest version of that software, Mathematica 7, will be ready for shipping in November.
Meanwhile, the company is forging ahead with its "computable data initiative," which is expected to result in a new, undisclosed product sometime next year.
Nearly a year ago, Wolfram Research announced it would hire as many as 75 people with specialized knowledge in different fields for the initiative.
At this point, about 65 people are involved in the project, including 20 to 25 data "curators," Wolfram said.
"This is a really good area for finding people," he said, praising Champaign-Urbana's "large intellectual base." Those involved in the initiative typically have master's degrees, and the project is seeking more expertise in several areas, including finance, economics and medicine, he said.
But knowledge isn't the only requirement.
"It's less the skills set and more so the culture match. We're looking for smart people who can figure things out," he said.
Wolfram described his company's culture as "a large community of people independently doing things. We really look for people interested in our world."
The company sells to a wide variety of customers in government, academia and research and development and needs employees who "resonate" with those customers, he said.
Aside from the computable data initiative, the company is trying to fill other positions, mainly in business, marketing and project management.
Plus, there's another new venture on the horizon. Wolfram said the company is starting up Wolfram Solutions, a consulting arm that will help business customers see how Mathematica can address their needs.
"I'm pleased we're growing," Wolfram said, "but it always makes me nervous to have more mouths to feed."
Wolfram Research, founded in Champaign in 1987, occupies the entire fifth and sixth floors of Trade Centre South, as well as parts of the third and fourth floors. It also has a storage and shipping facility at Randolph and Green streets in Champaign.
Wolfram said he doesn't expect to need too much more office space soon, adding, "I think we can fit some more people into this building."
Wolfram, who lives in the Boston area, said Wolfram Research has an office in Cambridge, Mass., that interacts with scholars at Harvard and the Massachusetts Institute of Technology.
The company has close ties with the University of Illinois Mathematics Department, and Wolfram said he'd like to expand the company's dealings with other parts of the university. He said he'd like the company to be more visible in Champaign-Urbana and to do more outreach.
Sometimes, he said, people at the UI are surprised to learn Champaign is the home of Mathematica. That lack of awareness "seems a shame," he said.
Wolfram was back in Champaign last week for the International Mathematica User Conference, held Thursday through Saturday at the Hilton Garden Inn. About 250 to 300 people were expected to attend, with "beta" versions of Mathematica 7 to be distributed there.
Wolfram typically visits Champaign a few times a year but conducts most of his business conversations by phone.
"I'm always accused of being a micromanager, or these days, a nanomanager," he said.
So seldom does he work face to face with colleagues that when he asked one, "Why are you looking at me?" she responded, "That's what people normally do."
Wolfram said his company is profitable and has no debt. He said it has weathered two recessions and fared slightly better than other firms in those times. His theory: "During recessions, people think more" and consequently buy more Mathematica.
As a closely held, privately owned company, Wolfram Research does not release sales figures. Hoover's Inc., a business information service, estimated the company's 2007 sales at $21.6 million, a figure Wolfram neither confirmed nor denied.
"Their data curation is not as good as our data curation," he said.
11:25 | link | | |
Here's the Mathematica Demonstration Theo wrote.
17:27 | link | | |
My boss went down to Houston, Texas, a couple of days ago to help his nephew's family with a newborn and to help do some hurricane weatherproofing of their house. Meanwhile, Brendan Loy, the Weathernerd, says "Get the hell out! Ike’s storm surge is a deadly threat!"
23:11 | link | | |
I was emailing with a couple of friends tonight, and one said his internet bandwidth at home is limited by a "fair access policy" to 150MB every 90 minutes or somesuch. If I had that limit, I wouldn't be able to work from home. Just today I've downloaded about 10GB of stuff from work: mainly Mathematica installers and cvs checkouts of Mathematica documentation. Our isp is Mediacom.
The wikipedia article above says that HughesNet's FAP for "large businesses" is 1.25GB per day!
00:30 | link | | |
I'm deep in some programming for work, and to drown out the kids' noises I like to play music through my gun muffler headphones. What to play? I found that my usual Mozart divertimeni were annoying with the work I'm doing, so I cast around a bit and stumbled across the complete works of King Crimson. I discovered them in their early 80s incarnation - Fripp, Belew, Buford, Levin - thanks to my friend Dan Largent, who had no use for his KC cassettes, and I realized this evening I'd never listened to the old pre-80s KC.
So I spent this afternoon coding with "In the Court of the Crimson King" and now I'm trawling through my boss's code with my first-ever listen to "In the Wake of Poseidon".
20:49 | link | | |
Some folks at Wolfram Research have put together an online scrapbook to celebrate the 20th anniversary of the first release of Mathematica.
00:18 | link | | |
Stephen Wolfram reflects on 20 years of just starting out and Jean Buck takes a stroll down memory lane and looks at how Mathematica has grown. I started there in May 1996 just after the English edition of Mathematica 3.0 was released - my first job was to help typeset the German and French translations of The Mathematica Book using our homegrown LaTeX-based system.
13:57 | link | | |
Wolfram Research's Oleksandr Pavlyk recently computed the 10-millionth Bernoulli number using Mathematica:
BernoulliB[10^7]
(It took about 6 days to run).
He has a readable essay about it along with proof that the monster number he generated actually is a Bernoulli number.
14:38 | link | | |
Pat Rice on building the product every day.
14:51 | link | | |
Sometimes it takes me a decade or so to realize what's going on. Reading this blog entry tonight, I finally realized 14 years later what Joe Kaiping and Joe Grohens were up to.
It was 1994; Wolfram Research's Joe Grohens had sent one of his TeX gurus, Joe Kaiping, to the TeX Users Group conference in Santa Barbara, California, while my employer sent me, Rich Rogers and Mike Hockaday. We met Kaiping and he joined our little gang of young geeks. It happened that his problem and my interests overlapped, and I wound up months later porting the Wolfram flavor of LaTeX to some Mac version of TeX. This was the early 1990s, so when I finished the project I FedEx'd the code to him on a pile of floppies. (!)
One day in 1996 he dropped me an email and suggested I apply for his position at Wolfram - he was heading off to a private consulting gig and they needed another guy who knew TeX. My interview with his boss, Joe Grohens, was rather perfunctory and involved no coding at all. And now I realize, after all these years, that they had already conducted the code-writing part of the interview by having me do the porting job months earlier.
23:07 | link | | |
Here are some interviews with Mathematica users filmed in various places around the company headquarters in Champaign during last year's Wolfram Technology Conference.
22:12 | link | | |
Here's Peter Overmann's summary of what's new in Mathematica 6.0.2. Meanwhile, back to excelsior as usual.
22:16 | link | | |
Coming soon: two weeks of deep immersion in Mathematica at the Advanced Mathematica Summer School.
22:01 | link | | |
I've never used an IM client, til this morning. My boss has us im'ing for quick meetings, and after much gyration with vpn and pidgin, I'm connected from home. I never thought I'd be able to change a poopy diaper during a work meeting.
12:37 | link | | |
This week I'm revisiting the very first thing I wrote in Mathematica, a documentation testing package. A quick initial survey revealed a vast panorama of tottering kluge towers built high atop mountains of cruft. It's been very pleasing to retain the odd little working pieces and utterly trash the rest of the infrastructure in favor of a tidy little routine that handles more in a dozen lines of code than what I initially squeezed into 600 lines of bizarre rigamarole.
Here it is, all boiled down to the uttermost simplicity:
RunTests[dir_String, tests_List] := Module[{manifest, res}, manifest = FileNames[{"*.nb"}, dir, Infinity]; res = Reap[Module[{nb, nbExpr}, nb = #; nbExpr = Quiet@Get@nb; Module[{test}, test = #; If[DocumentationCheckQ[nbExpr, test] === False, Sow[nb, test]]; ]& /@ tests; ]& /@ manifest, _, Rule][[2]]; (* return results sorted from most failures to least *) Sort[res, Length[Last[#1]] > Length[Last[#2]] &]]
15:29 | link | | |
I used to go into the office in Champaign every day, driving half an hour each way listening to the radio or somesuch. One year I was going to work in the middle of the night to accomodate our other schedules, so I had a front-row seat for Mars' show in the eastern sky. Must've been mid-2003.
Nowadays my trip to the "office" involves stepping over the kids' toys without spilling my coffee, and plopping down in my chair in our old library at home. "Old" because it's now more a computer lab than a library, but old names hang around.
Digression is the soul of blogging, ain't it? Back to the subject, my periodic self-discombobulation. It's time for the great year-end emacs init file reorganization and email shuffle.
I've always downloaded my email to my work computer and stored it in gnus's nnml format. Now that I work from home 99.9% of the time, my plan is to get all my email archives in place here at home, then read Wolfram's imap server from here. I'll rsync back to work periodically so stuff can be backed up responsibly there.
I used to start a new mail directory each year - Mail-2002, Mail-2003, etc. Last December I was too lazy/busy to switch things over and kept using Mail-2006. Meanwhile I started using emacs' planner mode to keep track of everything and now it has scads of links to messages in the Mail-2006 dir, so I'm going to keep it all in one vast directory.
[Sat Dec 29 22:30:02 CST 2007] [billw@billwlx plans]$ du -sh /billw/Mail-2006 1.6G /billw/Mail-2006 [Sat Dec 29 22:30:33 CST 2007] [billw@billwlx plans]$
In transferring my work gnus and planner settings to home, I was also compelled to clean up and organize my .emacs file. This year's MVP in the file organization department is Ken Manheimer's allout package. As I wrote to Ken when I started using allout,
Using allout is like putting on glasses - I've been able to improve and clarify code in every file in which I've used it. Sure, any outline mode could help with that, but they all have arcane or busy navigation & show/hide commands. The genius of allout's hot-spot navigation makes it all as easy as putting on a pair of glasses. Hmm... that sounds like promotional copy - feel free to use it if it answers a need :-)
That's about it - no conclusions, no big ideas - just a note for future reference.
23:00 | link | | |
13:58 | link | | |
That was the first bit of advice Joe Grohens gave me when I started working at Wolfram Research in 1996, and it's still the best programming maxim I know. I just rediscovered its value.
Five years ago Dave and I were editing some documentation source files when we found some old TeX macros that weren't used anymore. He left them in the code and defined them as no-ops, while I was leaning towards getting rid of them all. And there those macros sat doing nothing for half a decade til tonight when I suddenly needed the information they preserved.
Never throw away information.
20:07 | link | | |
My current pleasant little project in between the cracks of my other larger project: word counts for translations. First, there's lots of good old-fashioned electronic archaeology to find the specific English Mathematica notebooks used for a partial translation way back when, followed by customization of my notebook word count routines to account for archaic data formats in the old files.
You don't have to be a math whiz to work at Wolfram Research.
23:37 | link | | |
Lotsa driving today. When Lisa returns from her physical therapy appointment, Sarah and I will head out across the wide flat prairie to Rantoul to make some deposits and open her first savings account. Then west over the northern reaches of the Sangamon River to the county clerk's office in downtown Decatur to get a copy of my birth certificate, which will be used on the north side of town to get a replacement Social Security card. Then Sam's Club for a few cheap bulk items and Aldi's for some other cheap stuff, then home.
Meanwhile I'll leave a large Mathematica program running at home, hoping that it will finally work. Programmers are professional optimists - "Surely it'll work this time!"
Also, I set up Haloscan comments and left a couple of test comments on the Rush in Manchester post, but the comment count is still zero. Grr.
Later. That was a long day! There were a few screwups along the way, either because we left in a rush without thinking through every detail or because I'm getting old and foggy.
There were two highlights of the trip. First was a visit to our old apartment in Rantoul (1100 Falcon Drive, Apt. 6). We lived there "in the Rantoul days", as the kids say: from July 1998, two months before Sarah was born, til January 2004 when she was about 5-1/2. She was deeply moved as she recalled how she and her brothers played in the back yard and under the tree in the front, and as we left she took some mementos: a wildflower from the yard, a stick and a brown autumnal leaf from the old tree out front, and in a last-minute impulse in the front yard she bent down and picked some blades of grass. She has a good heart.
On our way out of town we passed the Papa John's pizza joint from which we ordered many a meal in the Rantoul days. I promised her we'd look for one in Decatur and there it was on Route 51 - the second highlight of the trip! After a successful visit to the county clerk and Sam's (the SS office was already closed, the slackers) we stopped at Papa John's and ordered our old usuals. Their warm aroma filling the car brought back even more happy memories from the Rantoul days.
For the word mavens: is there a word for that quiet happy/sad reflection on personal history that hits when you visit "the old homestead" or somesuch?
Note to self: Aldi's margarine is about half the price per unit of Sam's.
11:39 | link | | |
10:45 | link | | |
When I fell into the "documentation testing" gig couple of years ago I began by modifying some of my boss's existing tests to extract a bit more information here and there. That file grew and sent out tentacles into other files and nowadays it's grown to a tangled web of functions across half a dozen files. Now my job is to reunite everything under one clean standalone Mathematica package. Finally a chance to sit back and think about all this stuff and get it organized. It will also be my third rethinking of the whole thing - I've found I should plan to throw away my first couple of implementations of anything as I learn what works in the long run and what doesn't. Frederick Brooks said you should plan to throw one away; it takes me two, at least.
15:49 | link | | |
My boss bought me a shiny new Lenovo ThinkCentre M55p to take home, and the WRI sysadmins got it all set up & working at the office. It's running windows since some Mathematica documentation tests I run work a lot faster under windows. I'll also run ubuntu 7.04 under vm once I get things up & going.
Now the box is at home behind my Linksys WRT54Gv2 router and I'm singing the aforementioned blues. Upgraded router firmware, opened ports, no joy. Waiting for sysadmin advice, which is understandably slow early on a Sunday morning. Meanwhile, I have an itchy install finger with the ubuntu 7.04 cd just inches away, and I'm intrigued by this open-source router firmware.
11:02 | link | | |
Here's a Wolfram Research site devoted to all the math geekery behind the teevee show NUMB3RS. Pretty cool if you have time to work through it all. The WRI folks involved with the show are Michael Trott, Eric Weisstein, Ed Pegg and Amy Young.
Update: here's more from the Wolfram Blog.
22:59 | link | | |
A facility for quotation covers the absence of original thought.—Lord Peter Wimsey
Left column Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
And the Word became flesh and dwelt among us.—St John of Patmos
Right column Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.