Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How hard is your problem?
31 points by aaronblohowiak on May 27, 2008 | hide | past | favorite | 54 comments
Are you solving new problems (3d scene construction from mono audio recordings), applying existing techniques to a new problem space (social network for dog walkers), or trying to one-up the competition (bill your clients online for small businesses ?)

It seems like popular programming and most startups focus the latter two problem sets. Focus on the latter two problem sets may be a "safer bet", but is far less satisfying as an engineer.

Where is the interesting computer science work being done in the first problem set? Are you doing it? Do you wish you were?




We're doing a bit of both, with the known and quantifiable (web hosting management) supporting our pioneer efforts to be part of a new and almost entirely unsettled territory (cloud computing). I wouldn't necessarily recommend it over other tactics, but it's what fit our business and our existing codebase--we launched based on an old and well-established Open Source project and the existing code greatly directed our first couple of years in operation. But, we also know that becoming a leader in a well-established field, full of well-funded competitors, is not necessarily a trivial endeavor.

So, while we think our hosting management products will be a nice source of revenue for years to come, it's the combination of those tools with cutting edge stuff in the virtualization space that will allow us to lead rather than follow (because no matter how good your products are in an established market, you'll probably always be playing catch up in the mind of the market).

I also think you're underestimating the amount of interesting work that can be found underlying seemingly mundane tasks. I've found that data analysis and visualization can be a really interesting and fun pursuit within systems management software, and it's an area that brings tears of joy to customers (seriously, people wet themselves over graphs and charts...if you also add export to Excel or CSV, there will be fainting).

Regardless of all of that, you have to solve problems that customers want solved. If you're doing that, the harder problems are better, if you are willing and able to solve them faster than your competitors.

But, if you are starting a business rather than a research project, you need to make your decisions based on what people want rather than what you want to work on. You cannot start from "here's a cool technology, let's figure out a way to sell it", at least not generally. You must start from, "Here is a market that is being poorly served, and I can serve this market well." If you can fit, "by building interesting and cutting edge technologies" into that sentence without breaking it, then you've got yourself a winner.


I'm looking forward to seeing the new virtualmin support xen.

I have been trying to make more interesting out of the apparently mundane; reimplementing the google charting api internally cause we needed to make charts, and even some good ol' csv exports (interestingly, csv export formats that are useful for biz people are not the formats i would prefer as a programmer.. the more you know..) further, I'm focusing on trying to learn the best tools for the job -- picking up vim finally, trying to grok sed/awk, bash scripting where appropriate.. even perl is sneaking into my head.

make stuff that people want is a great mantra.

i suppose i got into programming because it was a process of discovery and a process of invention. keeping it that way seems to require intention.


> trying to grok sed/awk, bash scripting where appropriate.. even perl is sneaking into my head

May I suggest that you roll all that into one neat little endeavor of learning Python... :)


I've written system administration tools in both Perl and Python. Perl is the better tool for the job (Ruby might be better still, once Unicode and performance are straightened out).

My Python code always ended up being significantly longer and slower than the same task written in Perl. Partly due to CPAN (if you can imagine it, there's at least three libraries for it in CPAN), and partly due to the nature of Perl. Perl is like a DSL built for system administration. Sometimes it gets a little clumsy on non-system administration related tasks, but when you're working in Perl's sweet spot of functionality, it's a very nice experience.

That said, Perl can be intimidating, because it is such a wide ranging language, and some of its features aren't quite right (references, and the way lists and arrays behave, can be confusing, and they're still a source of confusion for me after years of working with Perl). Python has its own quirks, and though I spent a couple of years working almost exclusively in Python, I didn't find it at all painful to come back to Perl.

Ruby, on the other hand, is a language that could probably steal my heart. Between deciding to shutdown my old company and starting up Virtualmin, I was undecided on what to do with myself. I learned some Ruby and tinkered with Ruby on Rails. Loved Ruby instantly. RoR, not as much.


Great info. Thanks a lot.


I'm solving a newish problem, posed (but not yet solved) by MS Photosynth: build an immersive, 3D-like experience from photos. But then again, I'm not a startup, but a one man nonprofit/research thing, releasing my code under the GPL. http://openphotovr.org

My next project is definitely gonna be a for-profit in some other area. Still deciding where exactly.


Scene reconstruction is an interesting problem domain. Your manual stitching of photos is a great example of crowd-sourcing.

Kick it up a notch and get the machine to do that for you =D


Yeah, we're doing it. We make humanoid robots.

http://www.anybots.com


And the winner of "Startup most likely to accidentally eradicate human life" is...


Don't worry. I'm sure Will Smith will be there to save us.

Anybots looks super awesome, by the way. I can't imagine you'll have too hard a time recruiting a young product designer. Seems like a dream job.


We are. Actually I think more startups are than you're assuming. There are two reasons that this is not obvious:

- Usually a good solution to a hard problem looks easy to users.

- Simple problems get a lot harder when they're forced to scale. Just keeping things from flying apart at the hinges often involves significant optimization and engineering problems.


I think most technical folks' occupancy of your latter two problem sets isn't so much for lack of interest in new, hairy-scary problems. It's for want of the necessary tools to do so.

On the flip side, it's my guess a lot of hackers consider themselves new-problem-solvers-in-training. A 22 year old computer guy may not be solving the clean water and efficient energy problems of the world, but could conceivably have aspirations to do so when his or her talent is matched with the right street savvy, is matched with the right entrepreneurial network, is matched with the right funding opportunities, and so on. So in a lot of cases it's a question of "when," not "whether."

And if it's people breaking new ground in computer work you're after, you've got to make sure you're in the right ballpark; Plenty of universities are doing remarkable things in CS, but again, it's usually older entrepreneurs (with money and know-how) who get their hands on new tech through the technology commercialization centers.

Which is to say that new problems are being solved (in CS, too), just in different territories and in different ways than we hear about in mainstream tech news.


Going out on a limb a little, I would say in most areas (aside from the few that always seem to be in the headlines around here), no-one has really bothered applying even the basic insights of CS, math, and engineering.

There are just so many "backwater" areas of the business and science worlds, ripe for optimization, and not enough CS types with strong fundamental skills, attacking them. I guess they are all concentrated in the "hot" companies and focussed on the "hot" areas instead. =)

I was very surprised when I realized this. It was kinda akin to learning Santa wasn't real (edit: but in reverse!)

Its hard to see these opportunities from the surface, I guess they are like deep water fish - so hitch a ride with a submarine =p and start with one based on the contacts you have.


What kind of tooling is lacking?

Your point about being in-training is an interesting one, particularly for the readers of this site.

Where do you find out about the remarkable things that people are doing in CS? Also, are you suggesting that most interesting new CS work comes out of universities? If so, does that mean "If you want to solve problems, go to grad school. if you want to make money, start a me-too business?"


Check out the ACM publications: http://www.acm.org/publications

The Queue has decent stuff, but the real meat is looking at conference proceedings.


Where do you find out about the remarkable things that people are doing in CS?

Good question. I'd start in the pages of Technology Review.


Interesting work seems to flow naturally from interesting data sets. Start by seeking the data.


Interesting work makes boring data sets appear interesting. Start by seeking interpretations.


Actually some of the most seminal work in machine learning and statistics for example was done on the most boring datasets, for example read Fishers work on classifying Iris sub-species.


I doubt Fischer found the Iris dataset boring.


I disagree with your assertion that the safer bets are less satisfying. If my users like and use my app over our competitors', that's more satisfying to me than building something challenging that no one uses or likes.

If you're working on something in a crowded market, designing your product to stand out/work better than the rest can be just as challenging (and satisfying) as writing something technologically complicated.


Tipjoy is confronting a hard problem, but not in the technology space. They are trying to create a useful convenient payment mechanism without running afoul of finance laws. I don't envy them. There's a reason why all banks are the same, and basically the same as they were decades ago.


For fun about a month ago I actually bought the domain letsmakepuppies.com to make a social network for dog breeders with a subtle dating aspect for humans. I thought it was a cute idea, but then I saw a sticker that read, "Please don't breed or buy when pets in the shelters die."


I'm working on a hosted load testing solution. I would say it is challenging compared to many of my ideas since I have to basically build both a website, and a load testing tool, but not in the difficult-computer-science-problem category. The site is: http://testomatix.com

I'm getting there, but I am behind schedule. I struggle with whether I should release before I've added reporting in, or if I should wait. If folks are interested, the website has a mailing list signup.


I tried to sign up, but got an error...

System Error

* Oops! It looks like there was an error.


Doh! Sorry... That's down at the moment. It's the join the mailing list on the right that does work or you can email me at ebeland on gmail. I should have been more clear on that, sorry.

I'm connecting the load tool to the site, currently, although more still needs to be done.


I'm making photo sharing work the way it should have worked five years ago, using programming techniques I learned twenty years ago. I'm enjoying it immensely and wouldn't trade it.


Problem toughness is not only defined by technical difficulty. Most programmers (myself included) tend to focus on that, but the toughness has many other components, such as the number of users, their fickleness, the strength of the competition, etc.

I wrote an article about this some time ago on my blog: http://www.inter-sections.net/2008/02/11/how-tough-is-your-p...


I make Flash brochureware!

...no, it is not satisfying.


You should apply to Justin.tv! We have nice hard flash problems here...


I agree that solving 'new' problems is a lot of fun. This can cause problem if you try to turn more mundane problems into interesting ones by making your code cover substantiatlly more general cases than is necessary. This is what has happened to me sometimes.

I guess you could consider the optimisation problem of how to finish your 'less than new' problem most effectively as a potentially interesting meta-problem.


I'm wokring on local climate model. But one question that bothers me - how will i sell it?... May be i should change direction, i wonder...


The title had me at a/s/l


We are going to create a 21rst century patient facing medical experience.

The experience of going to a pharmacy sucks, and is obsolete. The entire medical industry is complacent in allowing 100 billion in unnecessary medical costs because of non-adherence to medications. The doctors don't consider it their job to make their patients adhere. The pharmacist maybe talks to you for a few minutes and hands you a sheet of medical and legal jargon that says, on page 3, how important it is to take medicine. The drug companies also fail to ensure adherence. Yet patients don't know enough to care.

None of these people have stepped up to the plate. So we're gonna do it, and when we solve the problem, we can start upending all the parts of the patient facing medical experience where bad decisions and stupid compromises have been calcified into the shitty experience that anyone who has had a sick family member knows all to well.

We are not exactly a web start up though. We must design some actual stuff people will use too. The computer science part of our project is that all this adherence stuff can actually reduce to a flow of information problem given a few assumptions and the right way of conceptualizing the problem from a psychological and brain science standpoint. The computer science forms the informational backbone along which we can build a medical experience that doesn't suck and isn't full of compromises that suck for the patient. From a computer science point of view, we are applying existing techniques to a new problem, but from the point of view of the medical establishment, we are solving a currently unsolved problem of huge proportions.

Information about your medication is some of the most important information you encounter, because it directly influences how long you live and how well you live. Edward Tufte is an old man now, and the pharmacies are still basically acting like it's 1952 in the way they present this vital information.


You are of course aware that there is strong legislation in force protecting pharmacists and that industry? And that people are not allowed to decide on their own medication?


I know how the system works, yeah.


I'm interested in your approach because I'm working on something similar. I'm also interested in seeing the research on reasons for non-adherence. Send me an email: alex DOT krupp AT gmail


You'd have to go to a medical library to do research, or pay 15 dollars per article. There are easily 2 or 3 hundred bucks worth of journal articles (at 15 or 20 a pop) that are required reading. The most valuable articles will be studies on medication adherence protocols that failed, and then reasons for non adherence, and then consequences of non adherence. For some reason, the articles on non adherence for diabetes and AIDS were the most useful articles in the consequences catagory. I would suggest combining the research with reading the first 2 large sections of the HIG. They are complimentary, in that the HIG gives principles for correctly presenting information, and the research points out what information to present, how and why the current system fails, etc. You should also find articles describing the current best practices for this problem. I almost cried when I read a 2007 group health article on current best practices (which are really laughably weak).

I'm not feeling inclined to just hand over all of my cites. There are too many and it would take too long to sort through. But, I'll see if I can dig up a couple of the meta studies that have further links to other research in them later tonight. If you have those and some motivation, you can fill in the rest.

How can you start a project like this without having already encountered all that research? I don't understand. I went and sequestered myself away for a month and researched and read all that stuff. The more I read about the problem, the more I was convinced my solution worked and is desperately needed. But many of the ideas I had intuitively changed when I did the boring work of reading medical journals all the time.


Thanks for the advice.

"How can you start a project like this without having already encountered all that research?"

My project actually has to do with parenting, not medication. I'm basically interested in applying models from many areas of academia to parenting, including the research on medical non-adherence. However I'm only interested in ameliorating one or two very specific issues, and medical adherence best practices will probably end up playing only a supporting role to research from other areas of academia. Also I'm still in the kitchen table phase of the project; I just finished my undergrad two days ago so today is really day one in the library.

If you could find the meta studies, that would be excellent though.

EDIT: I'm also interested in whether there are applications of adherence medical research in athletics, in terms of understanding why people don't do stuff (like working out) in general.


I'll dig those up either late tonight or late tomorrow night but I'll get there.


http://clinical.diabetesjournals.org/cgi/content/full/26/1/1...

Where things are now. Check the cites/links on the bottom

http://jac.oxfordjournals.org/cgi/content/full/55/4/413

Antiretroviral adherence, drug resistance, viral fitness and HIV disease progression: a tangled web is woven. This article is great. Also it has a bunch of cites and links to other relevant issues.

http://www.ajmc.com/files/articlefiles/AJMC1995OctCramer167_...

Partial Medication Adherence, The Enigma in Poor Medical Outcomes. It's old (1995) but still relevant.

That's all for now. Dig through those and their links and you'll find a lot to get started.


Since when do people resist taking medicine prescribed by a doctor? Why see a doctor if you aren't going to do what he says.


You are not in touch with the general world population.

Most/many diseases are caused by people not adhering to very basic eating, exercise and health routines to begin with. Couple that with vague superstitious beliefs about Drs just wanting to make money/actually hurting the patient, also the inability to pay for the medicine, etc.

I do wonder, however, if someone is not capable of taking medicine, how will they use a website/other technology any more reliably?


just to find out what's wrong. Doctor's tend to over-prescribe.


Woman: Doctor, my daughter has trouble breathing.

House: Have you been keeping up with her medication?

Woman: She doesn't use that except in emergencies. Pharmaceuticals are very risky.

House: You know what else is risky? NOT BREATHING. That has some minor side effects such as DEATH. Your doctor, after carefully weighing all the options, decided that NOT BREATHING is more dangerous than [insert minor side effect of pills].

(Paraphrased, I don't remember the exact lines.)


me: I'm sick doctor: here's some anti-biotics.

repeat for 20 years.

me: realizes doctor prescribes anti-biotics for allergies, the flu, and the common cold.


I don't think laypeople should decide when doctors are overprescribing. That's like new age people who think quantum physics is a scientific way of stating their religious superstitions without understanding the math.

The problem isn't so much with doctors as it is with patients who see ads for made up conditions on TV and try to talk their way into samples with the talk to your doctor guides to scoring drugs. Ban advertising, ban bribing doctors to push pharma junk, the problem largely dissolves.

(I accidently pushed to downmod instead of upmod you, sorry. I will go upmod 2 others.)


I'm just tired of being prescribed meds for things when I obviosly don't need them or as much as they give. Or they won't give me what I need. I can't sleep here's and anti-depressant with a side effect of making you tired.


You're a moron if you think you are capable of deciding what medicine you need without having medical school. Sorry, man, but we got this great thing called division of labor where the MD learns about the medicine and you can focus on something else. Then when you need to apply medical knowledge to your life, you ask the MD. Your nonsensical post makes me think you should think really hard about taking everything your doctor says.

If you think your doctor is not treating you properly seek a second opinion. But you are not qualified to make the judgements about your medication.


see my anti-biotics comment. They don't do a damn thing for the common cold. I don't know what I need all the time. But I'm starting to get pretty good at learning what I don't need. But they still like giving me that stuff.

A second opinion? can't afford the first. I've gotten pretty good at knowing what's gone wrong with my own body over the years.

I'm no pharmacist for sure, or a doctor. But every time (that I recall) going to a doctor I get a prescription. Why is it I get a prescription for the common cold? or the flu. No prescription can cure those (at least that I'm aware of). Better to tough it out.

why is it exactly that you trust MD's so much? I don't trust them any more than I trust mechanics, and my body is more important than my car, and more complex.


The largest cause of disease progression in HIV is adherence between 70 and 90 percent. Hypertension, Diabetes, etc. All these long term problems have adherence rates less then 70%. Resistance is low on the list for reasons for nonadherence. More common reasons include forgetting (because human brains are lousy alarm clocks), not getting refills, not renewing the rx, and not being able to afford it. One problem that happens is people fail to take meds as prescribed, get sicker, go back to the doctor, get a higher dose, take it right, and take too much since the doctor was operating under the assumption that the previous dose was taken.

This is responsible for about 10% of hospital and 24% of nursing home admittances, at a cost of 100 billion. There are many 2007 and 2008 medical journal articles about how this is a huge problem desperate for a solution. Its not that people don't want to take the med, in most cases. Its that it takes more then wanting to adhere to make it happen, and the medical industry has no good solution.


That is a huge problem. It also addresses the desire to do good while you're trying to do well for yourself. I wish you the best.


That's what she said.


You could have said NP-Hard if you wanted to go for the cheap thrill but remain on topic.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: