skysight-inc/HackerNews huggingface dataset:
"MacPorts is the worst form of software configuration management on OS X, except for all the others that have been tried."

-- Winston Churchill, famous Mac user
That's a feature, not a bug. Your original system stays clean and if you mess up your fink or macports installation you can just throw the whole thing in the trash and start over from scratch.
Story of Stuff
Family Food Expeditures Around the World
I doubt you can draw such a clear distinction.

I'm sure if Paul Graham had asked an equivalent of this community what he should learn to increase his market value, "Lisp" wouldn't have been the answer. At the time, probably C++ or Perl. Yet he used his knowledge of Lisp to gain a competitive advantage for his company, and it ended up making him rich. C++ and Perl may have helped him too, but that's actually less likely, since they wouldn't have given his company its competitive advantage of nimbleness and rapid changes.

You can't know in advance what will be worth learning. Except, you can: if you want to learn it, if you have a desire to understand how it works, and if that desire is storng enough to spur you to learning it, it's worth learning.

I'd add an extra indicator actually: if everyone tells you it's worth learning, chances are it's not. If everyone tells you it's a waste of time, chances are it's worth learning. Why? Because people in aggregate will point you towards popular options (duh) - and those will probably give you less of an edge. This makes the OP's question even less valid.
There's no downside. For what it's worth, this is the first project brought to us by an outside source, and retrospectively our first "big huge" project. So maybe it's just that thought that's making me extraneously skeptical about it.
A some what longwinded read but with interesting points if you are interested in Java and the early days at Sun.
I give up. My eyes are hurting from reading white on a black background.
Thanks ctbk, the idea to do it italian only for now is because we know very well the italian market so we can actually think to bring interested people, friends and other communities in smuvi. It will be very hard to do the same with an english site, especially if you consider that few italian people are comfortable using a site written in english so we somewhat will lost the users that are more available to us.
Ask HN: How have you used Amazon SQS successfully?
After reading up on Amazon Simple Queue Service (SQS), I have concerns about how to use it effectively. Ordering is not guaranteed and a read from a queue may sometimes show "empty" when in fact there are more entries to process (apparently has to do with how the data is distributed, per their documentation).

I'm interested in how other hackers have been able to make good use of SQS and possibly overcome these issues?
I dont't understand italian, but the site has a simple design, no more, no less, I like it.
MacPorts is better than Fink, but the reason this stuff all feels hinky to you is that Mac users use Mac software.

You can usually just build command line tools from "configure". But anything with a UI is likely to be a disappointment.
I tried both, coming from Windows, and both seem to work fine. What's better about FreeBSD's Ports?
MacPorts lacks a few contributers, I think. Actually, they welcome people willing to contribute and give commit rights liberally, when you're interested. The documentation on how you should apply to join sounds more buraucratic then it feels in reality. So if you use it and fix things for yourself locally, then consider joining as well by all means, we can only all benefit from it mutually.

As somebody working with code all the time, I like MP's approach of compiling yourself, possibly patching memory profiling into your ruby, or whatever you might need.
Thanks, sure I'll try to provide more information.

wc -l tells me that the whole framework is 1095 lines of code. It is composed of this different modules:

the main module handles the page generation in a functional way, I pass a method implementing a given page of the site and this method will get a parameter that is an object that holds the whole state of the page, so I've methods like isloggedin?, username, isadmin? and so on.

The same module will handle HTML generation. We rewrote it from scratch using method_missing so there are no preset tags. We write things like

H.div('id'=>'foobar') { ... content ... }

And there are virtual tags we can define that are tags with specific pre-set properties. Also there are DSL-ish ways to write SELECTs, HTML lists, and other elements that written as H.tag(..) { } are not very easy to write/read.

Then there is the DB module that is somewhat similar but much more light than Active State, but the idea is to encapsulate a query and the single rows in objects with methods like .each, .save, .delete and so on. Example:

users = fetchall("SELECT * FROM user")
users.each{|user|
user['username'] += "x"
user.save
}

Will append 'x' to every username in the DB. We restricted all the functionalities in order to don't have any kind of "rebuild" stage, just the information passed in every query from the DB are enough. There is not one class per table and so on it is pretty basic.

Another module is KFS: this is a class that will create a database in the filesystem in a very simple to manage way. Every time we have data we don't want to store in the DB we store it in KFS: the KFS root is inside the webroot so for example storing an image there will have the effect to be directly accessible by the web server. KFS is designed to don't have race conditions and is atomic. So it acts as a base for a caching system.

Other things implemented in this 1095 line so fo code is a DSL able to generate forms for us with the ability to automatically check for missed fields, to auto-fill parts of the form with defaults coming from a DB query or from a Ruby hash object and so on.

The framework is also able to do automatic pagination of everything we like to paginate just passing an anonymous function for data access and a block for item->html rendering. Send emails, generate Google Charts with little code, and... that's it.

Our configuration is Apache + mod_ruby + ruby 1.8 + MySQL

All the code was written in less than 30 days including 50% of the framework (the other 50% was already written by me in a week of the last summer).

Thanks for your comment.
The lack of a single, cohesive, well supported set of packages on OS X is the reason I do a lot of development and experimentation inside another operating system inside VMWare Fusion.
On-demand download of code that runs on your machine outside of web pages' usual sandbox.. I don't see how this is any better than ActiveX.
What domain of knowledge does my problem fall under?
My business partner, and I have created a site; http://www.qwertykitchen.com . Its a recipe site. Our main form of search is entering ingredients that you have on hand and you get a list of recipes that contain those ingredients.

We are now looking at doing something more then just full text searching, and keywords. The first problem we want to attack is making words that are basically the same, show up in the search when the other is called.

For example, we have egg and eggs, or milk, 2% milk, whole milk, and skim milk. We want someone to only have to enter milk. If they do enter milk, then the entire cluster should be searched.

My idea of an approach to this problem is this. We search for longest common substring. Then create a directed graph representation. Then when a person searchs for a term, we use a proximity measure and then search for all the terms with in a certain proximity.

So, I was wondering one, does anyone know if their is a name for what I am talking about, and two, does anyone maybe have a better idea of how to do something like this.
Interesting, but how is this related to hacking or startups?
I use it to separate and scale parts of my application.

More specifically I am building a continuous integration application in Ruby and using SQS as build and result queues from which EC2 instances pick up tasks, builds them then add into the result queue. I don't need ordering and don't mind a few seconds of latency.

PS: If you are interested in beta testing it please drop me a line.
Recession Prep: Scott Rafer’s Survival Tips from 2000, or the ‘Summer of Angst’
Poor fellows are already unhappy cause they have been discovered and sooner or later the contact will happen. What matters now is how the contact is to be conducted. I think the best way is to take a couple representatives of the pride young enough to be able to percept reality and learn things, show them the rest "civilized" world, teach some basics, provide with some primitive instruments and get them back to the pride. Then, just watch how things will get developed: will they kill each others or will they develop ? What we can get of this is prove or bust of mainstream development theory, at least. :-)
The author writes that this was cut from the book, but I actually read it the first time in the first edition of Naughton's work. Pretty much word for word. So maybe someone got mad and decided to sue and it was left out of the second edition...?
anfedorov@gmail.com , please
This sure spends a lot of words dancing around the fact that Apple simply wants to control what applications run on the iPhone and how end-users experience those applications, and that they want to do that because they think it will make them more money.
What you are asking about is fuzzy searching, but the fact that you are asking at all indicates that you ought to read up on searching theory. There's a large body of work out there that you ought to familiarize yourself with.
I just submitted something related: http://news.ycombinator.com/item?id=205295

That's basically what I'm doing right now: walking in and making my pitch, and it doesn't go well. What worked was we made a software app for a company in one industry and got a call from another company asking about it. So next month I'll probably just sell this one app and make free money of it. I wonder if that's why it's so rare to find a true custom software company...
I have chronic insomnia. Now that I'm walking home from work (about 35 blocks), I feel even better, and my insomnia is worse. I tried resetting my circadian rhythm by not eating 16 hours before going to bed: even worse insomnia. Anything I do to control my insomnia exacerbates it.
Those fellows are prehistoric hackers, don't you see that ? ;-)
You may also want to take a look at pkgsrc, which lists OS X/Darwin as a supported platform:

http://www.netbsd.org/docs/software/packages.html
That sounds hard, and I'm sorry to hear it. If your point is that your experience contradicts my statement, I agree. Had I run the "comment" command with the -v option, it might have taken the following more accurate form: "I know of two things that have helped me sleep better, although I didn't have insomnia to begin with; somebody else I know who does, reports that both helped him too, but of course it doesn't mean they'll help you, but they might be worth trying."
Well, at the very least, its cross browser / cross platform.
Can you learn an industry without working in it? My boy, that, or rather the converse: that you can work in and manage an industry without learning it, is the great promise that MBA programs make to their students. The idea that there are abstract principles of management, of dressing down subordinates, of bringing in new business and cutting costs (that's all that CEOs do, essentially) that free the MBA from ever having to dirty his or her hands with the business--their primary, all-consuming interest, they protest--is for them a feature, not a bug. It's business processes all the way down...
The odds that a potentially devastating space rock will hit Earth this century may be as high as 1 in 10. So why isn’t NASA trying harder to prevent catastrophe?

Because they may be 1 it 10. They are not really 1 in 10.
> We search for longest common substring.

That idea can be improved upon: "length of largest common substring" is not the measure to use. At the least, you want to use Levenshtein distance <http://en.wikipedia.org/wiki/Levenshtein_distance>, but even that can be tweaked to weigh common typing 'errors' lower (for example, colour is closer to color than to clour)

> Then when a person searchs for a term, we use a proximity measure and then search
> for all the terms with in a certain proximity

This is a form of <http://en.wikipedia.org/wiki/Query_expansion>;
Ask YC: wiki for java docs?
I am trying to put together a wiki for a project at work which is written in Java. I would like to promote collaboration between the programmers, in addition to the top-down funnel knowledge-base currently put in place by the project manager. The goal is to provide wiki-like edit capabilities to an existing set of generated java docs, and also to integrate into the wiki the growing knowledge base collection of developer questions / solutions currently being gathered by the project manager.

I've looked at sites such as wikia.com and wetpaint.com for hosted wiki solutions, but didn't find any solutions to import the existing knowledge base (Word documents :)) and the generated java docs. Unless there are some functions on these services I am not aware of?

I also looked at jdocs.com, which appears to do just that - provide editing for java docs, but I found its UI not appealing.

What I have in mind is something that looks like Facebook's developers wiki - http://wiki.developers.facebook.com/index.php/Main_Page

Or is there is a mediawiki plug-in that does just this?
All of these have "Yes, but..." corollaries that can bite you just as bad:

1.) Yes, but...a little time spent refining your idea at the beginning can save you a lot of wasted time later. For example, my startup is a webapp to let people create their own casual games. We decided, early on, to start with an arcade proof of concept, because arcade games are what everyone thinks of when you say video games. All our competitors did the same thing. But most of the growth in the casual games market has actually been puzzle and word games, which are also more personally compelling to me. A little thought might've saved months of work. (Or maybe not, since it's looking like the sweet spot for our app may be in multi-genre games that don't fit into any archetype.)

2.) Yes, but...it's often not clear what the right tool for the job is until you've explored the problem domain, and you need to pick a tool in order to do that. What if, after building that Window's GUI app in C#, you find that it really should've been a webapp? If you'd written it in heavily macro-ized Lisp, you could probably just change some macro definitions to generate HTML pages instead of Windows GUI forms.

3.) Yes, but...when you find yourself doing the same thing over and over again, it's time to abstract it into a library. Otherwise you end up like one of my old employers, who found they were invoking some DNS call wrong and said, "Well, we can fix it...but we'll have to fix it in 109 places."

Another example comes from my current project - I've got this abstraction called a SpriteReference, which basically picks out one or more sprites, possibly in a context-sensitive way. I built a custom (JavaScript) GUI widget for this, which is used in lots and lots of places. When I went to clean up the GUI for this, I spent a day changing the widget and it's instantly reflected everywhere I use it, instead of hunting down the several dozen places where SpriteReferences may appear in the UI and changing each one.

4.) Yes, but...oftentimes, you need those tests and documentation to build the rest of your application. You can't build upon code that doesn't work. There've been several times that I went back and added unit tests simply because that was the only way I could make further progress. The alternative is "hope and pray programming", which is unfortunately quite common in real companies (both my previous employers have practiced it, and they were in security/remote-access and financial software).

5.) Yes, but...if you can do it in 6 months, so can all of your competitors. It seems like there's a wide variety in launch times of successful products, ranging from 3 weeks for Reddit to 5 years for the Apple Macintosh. I definitely agree that you should put something up on the screen as soon as you can though - I'd say more like 1 month. That gives you something to react to so you're not designing against a vacuum.

Really, this is why software entrepreneurship is hard. A lot of advice is right but incomplete, and could easily go the other way depending on circumstances you have no way of foreseeing.
Facebook 'violates privacy laws'
do you have specific suggestions on what to read?
Time sink.
make install clean (in a ports dir) usually just works. It fetches dependencies, deals with dependence versioning correctly, applies already tested FreeBSD patches, etc. Add to that csvsup and portupgrade, which help you upgrade everything correctly in essentially one full swoop, and the whole system is hard to match.
I sleep much better since getting a white noise machine that I have on overnight. I use the Marpac 980, which I'm very happy with: http://www.marpac.com/sound_cond.asp

I got mine from Amazon for $50.
RailsConf 2008 - Saturday Morning Summary
What Friendfeed’s “MicroMeme” Means For You, Brands, and The Web
Make that Three:  India Appeals Adoption of OOXML
Right. I can only recommend it for someone who has an actual melatonin deficiency. People with healthy melatonin systems take on only risks and gain no benefit from the additional melatonin.
Great, now people can make web pages that shut down my Mac!
How the Semantic Web Will & Won't Work
frequent updates yes... but you need $299 up-front to take advantage of it, unless you feel like continually giving $50...
On a Mac:

System Preferences, search term "Vision". First match should be "white text on black display". Hit enter.
Hysterical... I thought about following Juci until I saw those updates!!
INFJ (44/88/62/11) ... I'm the rarest type of all! Quite amazing that there are 21 others like me already. Want to hook up? ;)
Or signed Java. Click to grant privileges, and it can do anything a local app could do. Perhaps BrowserPlus will offer better browser integration, but that's an incremental improvement, not a 'game changer'.
Or where to or not to bootstrap a startup.
For unlimited use $295 is a good price. As a programmer, I couldn't code it for that. I think others using this on a commercial basis would agree.
If you're a people-person and can instinctively understand the people you meet, then you're right. But not everyone is born with this skill -- certainly I wasn't. Learning about the other Myers-Briggs types helped me to develop it.
Paul... I am so thankful to you for writing this. Thank you! I cannot pluck myself away from this place and now you have clarified what I just recently started suspecting. I moved to the US from Brazil 17 years ago due to family challenges. I went straight to Framingham MA, like many other Brazilian immigrants. On my second week here, a group of newly formed friends took me to Boston. I felt in love. I swore I would move there in 2 years time. I was living there in 6 months. Unlike many Brazilians, I was in awe with the new culture, and couldn't get enough of it. I didn't want to immerse myself in the Brazilian community. Soap operas, the national past time of a country up to that time pretty completely closed up to foreign influence (read: low level of choices) had always been boring to me. I wanted to learn English as fast as I could so I could read the newspapers and get in the know of what was going on in such an exciting place! After learning English, I went to college (something of a dream, it was not a prospect in my life back when I lived in Brazil), had a really hard time choosing one career (I wanted to do everything) and found my love in building software.

In two years time I had pretty much shed the longing for the familiar things I grew up with, so the struggle between that and the thirst to experience the new subsided. After a while, I started thinking I need a new "fix": a move to a new (cool) place could do me good. I could never find a place I could justify moving to, but the need for the "fix" kept nagging at me. Until... I worked onsite on and off in Mexico City for 6 months and, despite falling in love with that and other places in Mexico, it was branded in me that no place other than the US would ever feel like home to me.

I kept looking to other cities, however. I naturally like to continuously reassess my choices anyway. It was very recently that I finally figured it all out.

I grew up in complete starvation of intellectual stimulus. I needed it, and didn't get it. Since landing in the Boston area, I have been completely consumed with nurturing this deficiency. I feel like I am behind and must catch up (to what, I haven't found out yet). Although I lived in Cambridge for 7 years up to a few years ago, I feel the same for the entire Boston area: there is not a time when I step somewhere that I don't meet somebody mind bogglingly interesting.

This is so good to my soul. There is no place with the level of intellect found here. You are so right.

-=-Carlisia
I did the test and resulted to be ENFP, and I'm shocked how much the description matched what I really think and how I'm! There was even the detail that I hate bureaucracy so much. Pretty impressive.
I usually select the text with the mouse to alternate the colors. It's terribly annoying for me, too. I wonder if visual perception differs greatly form one person to the other (I can't explain these design choices otherwise, unless the author has sadistic tendencies)
The domain of knowledge you're interested in is "information retrieval" (IR).

Here's a textbook on the subject from some of the top minds in the field: http://www-csli.stanford.edu/~hinrich/information-retrieval-...

I am not an IR expert, but one particular algorithm that you might find useful is latent semantic analysis, a.k.a. latent semantic indexing: http://en.wikipedia.org/wiki/Latent_semantic_analysis
Intel and Nvidia Go To War | Tech Jaws
In my case the specialists I saw were at the Sleep Medicine and Research Center in St. Louis, MO. The presiding doctors there are James K. Walsh, Ph.D., and Gihan Kader, M.D.

Dr. Walsh in particular is a professor at the nearby St. Louis University. If you do a search on Medline for Dr. Walsh you will see that he is active and published with studies on sleep disorders.

http://www.stlukes-stl.com/services/sleep_medicine/research_...
In other words, in the interests of not showing you are able to support your argument, you choose not to try to support your argument.

Gotcha.

Next time, please don't inject politically charged arguments into this kind of discussin.
I do agree. Test driven development really encourages the software to be more flexible since it allows to change the code immideately getting the impacts on the other parts of the system ( what is impossible without auto tests ); moreover once you test the code you try the interfaces and approach for usability, what improves the design speed and quality.
Thank you for saving me from reading the link!
I've tried MacPorts, and inevitably when I update the packages I wind up creating some kind of dependency issue that causes me to just give up, scrap the /opt folder and start over again.

I've just started building things from source recently. It's not hard, gives you maximum control, and is less likely to freak out if you update a given piece of software.
one of the Oreilly tiger manuals gives stern warnings not to move or rename or delete the perl and python that tiger installed. I think that still goes for Leopard, as well as for the factory ruby
I use a hybrid of fink unstable and manual compiles. Fink unstable keeps me with relatively up-to-date versions of most of my programs, but some (git, ghc, darcs) I compile myself and install in my ~/ins folder because the fink maintainers have abandoned those packages.