Profile cover photo
Profile photo
Michael Grant
Optimization, compressed sensing, computational mathematics
Optimization, compressed sensing, computational mathematics


Post has attachment
Faculty opening: NCSU Chancellor's Faculty Excellence Program; Data-Driven Science cluster

NC State is seeking a faculty member for the Chancellor's Faculty Excellence Program. This cluster-hiring program is designed to promote interdisciplinary scholarship in critical areas of focus for the institution.

The current faculty position is in the Data-Driven Science cluster. While the search committee is flexible and open to any strong candidates in this research focus, there is particular interest in growing NC State’s expertise in the following areas: computational geometry and topology, applied graph theory, compressed sensing, mathematical signal processing, machine learning, mathematical network analysis, modeling the internet, social networks, and analysis of massive data sets.

Post has attachment
Continuum Analytics raises $24MM Series A funding for Anaconda Python and PyData. I'm glad to be working with this group of talented folks! In particular, I'm looking forward to improving the way that mathematical optimization is practiced in Python.

Post has shared content
Congrats to Continuum's own Michael Grant + the CVXR team for winning the Beale Orchard Hayes Prize for Excellence in Computational Mathematical Programming this week at ISMP 2015 for their TFOCS software! Not only is this award an incredible achievement, but this is actually the second year in a row Michael has received this award! Read more about the TFOCS project here:

We are so excited to have such talented Software Developers on the Continuum Team. Congrats Michael!

Post has shared content
Do you
1) use Windows;
2) like GNU #Octave ;
3) know how to use Git;
4) enjoy trying out unsupported, bleeding-edge dev builds?

Then I invite you to try out the dev version of CVX 3.0 beta with Octave 4.0. To do so, you'll need to grab the Octave 4.0 binaries, and the "rework" branch of the CVX GitHub repo. 

Some important notes:

--- This is Windows only. I do not have binaries for Mac and Linux, and I cannot afford the time to build them myself. So I'm waiting for supported binaries for these platforms before I proceed. If you're a heavy Octave user you should consider contributing to the binary creation effort!

--- Complex variables will not work due to a known bug in Octave.

--- For some reason, there are issues with the GUI and plotting with Octave 4.0 on Windows 8.x. This is also a known bug.

--- Again, there is no support yet, and I mean that. Please don't clog up our support site or even the discussion forum with issues just yet. By all means, please feel free to report your experiences in the comments below. When I announce that the Octave support to be "beta worthy" I will invite bug reports.
Commenting is disabled for this post.

Post has shared content
The timing isn't the best for me personally, but I did say I'd work on getting CVX out for Octave once Octave 4.0.0 is released. So, I have some work to do!
After a lot of hard work by the GNU #Octave team, Octave 4.0.0 has been released. Well done folks! The good news for me is that the CVX-critical patches I submitted were included. The bad news for me is that this means I have some work to do... :-)

Post has shared content
Thanks, Built in Austin! "6 awesome tech companies in Austin you want to work for right now" - Check us out and RSVP for our hiring mixer on 5/20 at WeWork, from 6:30-8:30PM!

Post has attachment
Visit your favorite StackExchange site between now and the end of April 1 for a little Tamagotchi-inspired fun.

Post has attachment
I have an Erdős number of 3, and an Urschel number of 5. ;-)
Here's the paper mentioned in the article:
And his Twitter page:
Two articles written by him on The Players' Tribune:

How many kittens will die if I call the self variable in Python by another name; say, this or s or rumpelstiltskin?

EDIT: It's a semi-serious question. I'm surprised by how closely Python code adheres to the convention of naming the object variable self. Coming from languages that don't have an explicit self, it's taking a bit of getting used to. It's certainly no burden, but I admit to being tempted to buck the convention.

The standard Python documentation says this: Often, the first argument of a method is called self. This is nothing more than a convention: the name self has absolutely no special meaning to Python. Note, however, that by not following the convention your code may be less readable to other Python programmers, and it is also conceivable that a class browser program might be written that relies upon such a convention.

OK, the class browser argument I get, and that alone will probably sway me. But the claim my code would be "less readable to other Python programmers" is sort of assuming the premise for the purposes of my question.

Post has attachment
Attention Wordpress nerds:
I just got this email, ostensibly from my WordPress site, asking me to do an upgrade. It was actually a phishing attack. What looks like a link to my own web site was actually hiding a link to some sort of attack page. Be on guard! (Time to figure out why my mail service was fooled by this.) EDIT: To be clear, the sending address was spoofed. It didn't actually come from my web site; and the site itself has not been hacked (though there have been attempts!)
Wait while more posts are being loaded