views:

118

answers:

3

I've been doing Rails for some time now, and, as the title suggests, I'm pretty bored with it.

In the mean time, I've been very much attracted to mathematics, particularly logic, but also geometry, abstract algebra, combinatorics and graph theory, differential equations.. I enjoy pretty much all of it..

My main goal is to read lots of books and research papers in a particular area of math and implement them as algorithms, with the goal of writing my own papers in that area at some point. I just don't want to invest a lot of time in something completely unrelated, making people scratch their heads when they look at my experience record.

So I'm asking: What types of mathematical algorithms can I implement that are related to web dev?

I have a few constraints for this idea. The main constraint I have is that I will have to create my own open source library, mostly from scratch, and making a live demo accessible from the web, to potential employers. This means that it has to have a pretty interface. I don't want to have to send in a resume with links to the source code and all that.. The project will have to be interesting enough to generate curiosity for it's own sake, thus attracting my next job.

The second constraint is that it not be "too" niche. I make this constraint that, if and when I create this demo, someone with no programming experience should have an idea why it is useful. At one point, I create a library that converted Php code into Ruby code. Surely some non-programmers would think it's just some trick I pulled, but a few (a scant few) of them could grasp the concept and saw how it could be useful. This is border line too niche. At one point I was thinking of creating an algebraic equation solver, but I fear that it might be too niche also.

One good example of what I'm looking for is recommendation engine for consumer products. If I went down that route, I'd probably collect some public data, or just create some of my own somehow.. The algo would be accessible from a site I build, and my next potential boss could click around and see how the algo responds to different "favorite-ing" choices. I'm just not sure if they are "in demand" at the moment. Also I feel that too much data would be required for it to be very interactive.

Another good example is computer graphics, but keeping in mind a particular type of graphics algo, not just make pretty pictures. I'm not chasing after an art / design job here.. I've seen a lot of people suggest this on similar threads, so please don't bother suggesting this, unless of course you work (or have worked) for a firm that employs such people, and so you have some concrete advice.. As an outsider, computer graphics looks very crowded unless you have a very specific talent or skill.

What do you guys suggest?

PS: If you can speak from experience you'll probably be upvoted at least once (by me).

+1  A: 

You may want to see about implementing equations that can be useful for data mining, as that is an area of great interest to companies, to try to use the information that they have acquired already.

The math involved can be varied, from integration to statistic and linear algebra.

I am currently doing this for fun in Scala, and I may do it in F# and for a challenge, in javascript.

Another area that is a bit more niche, but can be helpful in games, is another physics game engine, but, to make it different, you could work on trying to implement electromagnetic equations in different coordinate systems, as having a more general physics engine may help people come up with new ideas for games.

Look at some of the jobs on jobs.stackoverflow.com and see what math oriented development positions are listed, and that may provide some guidance to you on what is currently in vogue.

For math though, you may want to try using a functional programming language and integrate it with other languages. For example, if you have a library in Haskell, how would rails take advantage of it?

James Black
> For example, if you have a library in Haskell, how would rails take advantage of it?If I could get Php and Ruby to play nice after fighting for months, I'm confident I could do the same for Haskell, if I wanted to :) I'm pretty sure there something similar for Ocaml <=> Ruby..
Farley Knight
A: 

Whats in demand changes regularly. Don't focus on something trendy instead of something that suits you or is fun.
Employers are mostly more interested in what approach you are taking then what exact subject you handled.

If you are looking for something that makes it easy to dive into math-oriented development, give Haskell a shot. Its also in production use for web-related projects.

Georg Fritzsche
+1  A: 

I implement and make interfaces for mathematical algorithms for a living now at CenterSpace Software, and we do have a lot of fun doing it. You're on a good track here.

As you know mathematics is an extremely broad field, and applied mathematics with their related algorithms is a huge field. To narrow this, I would look somewhere where there's a lot of computational need and see what numeric algorithms are at the heart of it. Cloud computing is really a field that's growing explosively - developing an in-demand algorithm on the cloud would be a great project. This could leverage your web-dev background and could be a natural career step.

Specifically, how about putting the TSP on the cloud? You said you like graph theory, and TSP on the cloud would scale nicely....

Good luck and have fun,

Paul
CenterSpace Software

Paul
I accepted this answer cuz it's the only reasonable one.. But that said, I can't really say that the TSP is related to web dev.. I mean, sure, there are tons of people who want another Facebook clone, but when would they need to know the shortest tour through their entire friends list? It might be a neat gimmicky thing to use a graph drawing algorithm and show them their own personal social network, but it's not really a requirement, nor much of an attractor.
Farley Knight
You Facebook example is silly and reveals your narrow computing experience. Serious business make serious money from computing the TSP and related optimization problems. Putting such algorithms in the cloud is not a gimmick and has nothing to do w/ Facebook.
Paul
I'm absolutely aware of my ignorance! But I doubt I'm going to impress a "serious business" by putting 3 hears of stupid Ruby crap + whatever I end up doing next. I need a more gradual shift.. Not a sudden change that leaves people puzzled about my intentions.
Farley Knight