skysight-inc/HackerNews huggingface dataset:
The only thing setting entrepreneurs apart is their inclination to buckle down and make things happen. It really isn't that complicated, and all the sensationalism is just unnecessary.

Though the Woz quote about being one with the computer is classic... Now I'm paranoid that I have Woz in my lap, which is dirty.
From $0 to $65 million in five years: Bear Naked's Story
http://stufftodo.dedasys.com

It's more of a task list/time tracker. It does the second about as well as is possible without a local client running and is alright at the first.
Webware 100 Voting Opens -- Go and Vote.
Judge makes lawyers pay for frivolous patent suit
"The Denver Post is reporting that the U.S. 10th Circuit Court of Appeals has upheld the decision of a Federal judge who threw out and reversed a jury decision in favor of a patent infringement claim and ordered the plaintiff's lawyers to pay the defendants' court costs. U.S. District Senior Judge Richard P. Matsch sanctioned the plaintiff's attorneys for 'cavalier and abusive' misconduct and for having a 'what can I get away with?' attitude during a 13-day patent infringement trial in Denver. With the Appeals Court in agreement, could this case be the 'shot heard round the world' in the revolution against patent trolls?"
We're using it for our site, and it's pretty much perfect for what we're doing. There's really no better way to make something that's live, dynamic, good-looking, and cross compatible in every browser.

Without knowing anything specific about it, I'd guess ColdFusion sucks given the fact that it is the only Adobe product that almost nobody has used for any new application since the Reagan administration.
It's not about websites -- raw text is what Perl was made to handle. It really is the Swiss Army Chainsaw, the Duct Tape of the Internet -- I try never to use Perl anymore, but when I need it, it's there, along with CPAN, calmly biding its time.

Perl is horrible, ugly, unclean, unmaintainable in the general case, inelegant (ahem accessing nested arrays by multiple index? ahem)... and in spite of all that, used sparingly and in the right situations, it cannot be beat.

CPAN is the key to Perl. Lots and lots of code that Just Works. Sometimes the elegant, bulletproof solution is not the best one -- sometimes the solution that takes 2 lines and 5 minutes is, in fact, the correct solution for the task at hand. And that latter task is whence Perl sprang. It also amply describes the chaos of the Interwebthingy from around 1994 to 2001.

Things are different now. Corporate-like. But in the beginning, it was the Wild West, and you used the sharpest tool you had handy. Perl was often that tool.
"The only lesson I'll get from digging through code to find a bug caused by an improper character, though, is that I should have chosen a better language."

That may be the only lesson, but there's also a nice (but hard earned) little byproduct: you REALLY get to know your code. I want the details of my system to be stored in my brain's firmware much like Woz did when he designed the Apple II. Hopefully, the dividends will come later when I'm tweaking it again.
The way to write this in ruby without extending the symbol class is

(1..100).inject { |acc, n| acc + n }

inject is a left fold or a reduce- it applies the function {acc + n} to each element in a list (or array) where acc is the result of the last function application.

For such a simple function, all we need is the knowledge that we are adding, which is contained in the symbol '+', representing the addition method.
So Ideally we would like to write

(1..100).inject( :+ )

The semicolon is how you tell ruby you are using a symbol.
Yes, you can write a simple sum function, but the point is that this code is more flexible in a very powerful way- we can use other functions then inject and add.

Method calling in Ruby is actually message passing. So instead of calling

1.+ 2 # => 3

You can say

1.send( :+, 2 ) # => 3

So we are not trying to convert a symbol to a proc. What we are trying to do is continually send the message ':+' to inject's built in accumulator, with every member of the list (or array) as an argument.

In ruby, the brackets are like a function, but it is actually a closure of class Proc. You can convert a different class to a proc (if it supports it) by calling to_proc.

Ruby has a syntactic shortcut, '&' for converting to a proc. Normally it actually makes the code clearer because it is also used when passing Procs onto other methods, and is a nice type annotation. So we can hack this syntactic shortcut to create

(1..100).inject( &:+ )

So by defining how '&' works by defining to_proc, we can make it create a closure (or Proc) which sends the ':+' symbol, along with any arguments that are yielded to the Proc. In this case, every value from (2..100) is yielded to the Proc. (1 will be the starting value of the accumulator.)

You can accomplish a lot of things with a closure, including this hack. But to me this shows that ruby was not designed as a functional programming language, and how by using Ruby's dangerous flexibility you can manage to warp it towards your needs.

After learning more languages, Ruby is starting to become pretty ugly to me, but somehow people keep managing to ignore all its faults, make little hacks like these, and be very productive with it.
This is my biggest fear with Hecl. Hecl makes mobile apps easier, putting them within reach of people who aren't Java whizzes, but the web makes it easier still.

However... people are still worried about connection charges, and phones are getting more capable, to the point where you can do some fairly interesting things on them, like with Android.
The Page 99 Test: Open a Book to Page 99 and Read; the Quality of the Whole will be Revealed
The word "Java" kept ringing in my head while I read that article.
"After learning more languages, Ruby is starting to become pretty ugly to me, but somehow people keep managing to ignore all its faults, make little hacks like these, and be very productive with it."

When I first saw it, I wondered why anyone would want this irregular little language when they could just use Smalltalk or Scheme. An early rant asked why I have to know the difference between a block and a Proc: why the &^(%*)(& do I have to know when to use a block, when to use a Proc, and how to convert between them???
Flex is tag based and compiles to flash and sits on the client and talks to Coldfusion (or any other server side language) on the server.

If you have done javascript flex (or more properly Actionscript) will be easy to pick up.

However if you don't like Rapid Application Development (or get paid for code by the line) you will hate Coldfusion ;<)
I've heard this idea from multiple places, so I expect it's one of those ideas that is easy to think of but difficult to implement. A similar idea was expressed in the plot of The Music Man, where children are taught to play instruments by imagining that they are whistling.

I wouldn't be surprised if the main implementation problem is that many people are naturally off-key when whistling or humming, and those on-key know the notes well enough that it is more efficient to simply enter music via a piano-like keyboard.
"I thought it was going to kill me"

Yea, this is the tough part. I've done almost everything I could think of with my personal life to maximize my startup's chances of success. Diet, exercise, sleeping, time spent with family, adjusting work schedule, leveraging technology, etc., etc.,etc.

Now all I have to do is build the thing.
Matt Maroon - I like your blog but buddy regarding Coldfusion you haven't got a clue.

http://www.gotcfm.com/thelist.cfm
I think it's just these two articles so far (considering the link in the opening line of the article). Which is probably a good thing, since they'd all be pretty similar:

"Don't learn [interpreted language X]. It has [features A, B, and C] that you will miss when you have to go back to programming in [more popular compiled language Y]. You'll be so frustrated with [Y] that you'll have to quit your job to work full-time on [X] -- which is coincidentally what I plan to do."
We use JIRA from Atlassian and love it.

http://www.atlassian.com/jira
Pulse of Open Source: A Look at Niche Conversations
+1 for Jira.

The Confluence Wiki from Atlassian is also a very nice product.
Ask YC: Why is everyone so negative about patents?
It appears that everyone in the tech and startup industries have a very negative attitude towards patents, why is this?

As I see it patents are nothing but good for startups. If you have one you have some sort of defense against being run over by others stealing your unique technology. And noone sues a startup based on patent infringement knowing that there is probably not a lot of money to be made if the case is won.

Besides VC's love patents.

So why exactly are patents so evil?
what are you running on the backend?
I would be hard pressed to be convinced that going 100% web-based is 100% a good thing. I think that's simply overestimating the value of web-based technology over the human desire for having different modalities of doing things. While different technologies may come into fashion and push others out of fashion, the human desire for having choices will NEVER go out of fashion.

Perhaps the title of the article should be, "EVOLVE Windows 2008 (into something different)", but that doesn't sound as sexy as what's given.
It's too idiosyncratic so I have it as private- Just writing all the instructions for the non user friendly commands would take me too long and the program would be incomprehensible without knowing them. I want to strip it down and make it usable to others as a starting point for writing their own app, but don't have the time right now...but it is a plan I have...
We started running one site with Google Adsense. It didn't generate much money, but showed us what kind of keywords DID generate clicks. We used this knowledge to start selling banner adverts and that has brought in a lot more. We're not talking fortunes - it brings in around $4000/month, but that passive income helps
Probably the best argument against software patents is the way they are implemented. The patent office is doing a horrible job at determining which patents to grant.

Just look at Amazon's one click patent, or at the thousands of patents granted to patent trolls for things like "lists of media that are customized to a specific user". I kid you not, the last company I worked at was being sued for presenting users with song recommendations because it violated a patent on "customized lists".

The other major issue I see is that software companies don't care about patents. Very few patents are enforced by large companies, because its not worth it. Not to mention, you can't do basically anything anymore without infringing on someone's patent. They've become a sort of mutually assured destruction mechanism that companies build up with the pretext of being able to counter sue anyone who sues them.
In areas where patents are the norm (not web 2.0), they have dramatically raised the cost of doing the business.

Also, on the topic of patents, did the USA switch to first a file? I was unclear if that actually ended up being part of the recent patent reform.
That sort of thing, for all of its doubtless glories, represents nothing so much as a contempt of the next programmer who has to deal with it. We're just moving bits and bytes around here, people. Please sum up the numbers and don't introduce any mysteries into the plumbing.

ALL OF THE REAL INNOVATION IN SOFTWARE IS RELATED TO THE PROBLEM DOMAIN AND NOT THE LANGUAGE
'/' in this case is the adverb 'over'. When applied to a function it causes that function to fold over a list. This is the same as inject as far as I know.

You are correct in supposing that !n generates an array of integers from 0 to n-1. It is somewhat of an unusual choice for a symbol. I've always thought of it as a factorial 'on the other side'. I don't know if that's what was intended. The k language compresses many old APL functions into symbols like this. Some make sense, some make less sense. You are after all dependent on your keyboard for the range of symbols you can type. In APL the same function was indicated by a lowercase Greek iota.

'+' is being used in two different ways. The first way shows it being used in conjunction with an adverb, so '+/' is like a one-argument function that gets applied to the list at the right, but then '+' is inserted between each of the elements of the list because of '/'.

'\' is a very similar adverb. It's called 'scan', and it's like 'over', except intermediate output is produced. It can help illustrate what's going on.

!100
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ..
+/!100
4950
+\!100
0 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 231 253 276..

In the second case, '+' is being used as an infix operator, taking two arguments, 1 and !100, so '+' adds 1 to each element in the list 0 to 99, inclusive. This is simply what happens when you add an atom to a list. Each element in the list gets incremented by the value of the atom. Most verbs in k are like this, in that they do what you want, or maybe, they do what they should do if your preference is for something to occur rather than for an error to be thrown.

5 + 0 1 2
5 6 7
5 + !3
5 6 7
1 2 3 + 4 5 6
5 7 9
1 2 + 4 5 6
'length (an error)
If you're saying something that's actually true, you don't need to use all uppercase.
Problems in identifying people of other races: Are kids as bad as grown-ups?
What's your niche? The answer is often yes, if you can find the affiliate program that is perfect for your audience.
Hm. It seems like the mobile space is following the same path as the PC space. Phones (like PC's) are tending more towards thin client status. As soon as Android and Webkit are up to snuff with rich web apps, we will be seeing mobile phones in a whole new light.
Great post!
ONE PLUS ONE EQUALS TWO.

God, I hope I didn't just rip open the space/time continuum.
Ok, I'm guilty. I upvoted this "Do not learn Perl" post before reading that the article actually meant the opposite.

Please downvote this comment so I can pay for behaving like this was a different site.
This simply can't work for anything other than very simple tunes. Rhythm is less than half of the picture in any modern piece of music, and there are a few basic patterns that repeat across hundreds or thousands of songs.
Because the costs of software patents outweigh the benefits. I think that the equation is different for other fields (biotech, for instance) though.
We use Flyspray, and it works fine--very lightweight and easy to install anywhere with PHP available (we use it because it integrates relatively easily with the rest of our site).

I've also used Trac and liked it even more. Roundup is also good, if you don't need all of the extra stuff trac provides (wiki, timeline, etc.). If trac hasn't fixed their horribly broken authentication yet, then that would be a strong argument against it, but I can't imagine that it hasn't been fixed by now.
The patent office is doing a horrible job at determining which patents to grant.

Absolutely. I've seen lots of good software patents -- patents which are inventive, useful, and benefit the world by being published. The patent which covers rsync is a perfect example -- anything which is worth half of a PhD thesis when it is rediscovered a few years later certainly qualifies as "novel" in my opinion.

I've also seen a lot of very bad patents -- patents which cover "inventions" which were already well known in the field, patents which take a well-understood practice and add a formulaic "over the internet", patents which are written in such a manner as to not actually disclose anything about the invention being patented, et cetera.

The patent system needs to be reformed so as to stop granting so many bad patents; but I absolutely believe that software patents could be a net positive if they were implemented properly.
[internal struggle]

+1, Contrite!
I use Symbol#to_proc every day. I've never cared for the term "inject", though (or Python's "reduce", for that matter); I find SICP's "accumulate" much more mnemonic.

For what it's worth,

(1..100).to_a.sum

works in Rails, though

(1..100).sum

doesn't.
A refreshing deviation from the tired "10 reasons to do whatever" meme...
You wouldn't sum an array of 10 integers using reduce... you'd most likely use fold.

Spolsky was talking about the power of abstracting away for loops. Functional programming languages do this all the time, with primitives like map, fold, filter, etc. And this happens without any toll on the programmer's mental burden or the machine's performance.
online logo maker
http://www.codinghorror.com/blog/archives/000809.html
Aha, it's the Eliza trick: if you can look smart for the first fifteen seconds, many people will conclude that you're smart.

One wonders what percentage of people pick one of those two songs to try first. (I'm guessing that several other popular choices, like, say, "America, the Beautiful" and "Twinkle, Twinkle, Little Star", are also pretty easy for the program to pick out.)
What Is A Startup
The graphic says it is inflation-adjusted.

Scrolling from left to right, the graphic clearly gets fatter, so revenues are bigger. Ticket prices are a part of that (inflation adjusted dollars are one thing, inflation-adjusted prices are another). A graphic showing ticket sales wouldn't be much fun because it would get narrower every year, with occasional blips like Star Wars, Jaws, Harry Potter, but nothing like the old powerhouses of Wizard of Oz, Snow White, Gone with the Wind, etc.
> Perl is horrible, ugly, unclean, unmaintainable in the general case, inelegant

Bollocks. It has some bizarre vestigial organs and functional redundancies from its evolution, but so does every language. Sometimes it's easy to take concision too far, but you prefer the alternative of mandatory verbosity?

Go look at some of the things people are doing with Moose and POE and try to claim inelegance.
Oh, cool. I knew the colon meant a Ruby symbol, but I did not know that you could use & to convert a Proc to block.
Ask YC: do google gears and other offline libraries matter?
I wonder if offline access for productivity applications like Backpack or RememberTheMilk. I'm always at an office or library where I have a wifi connection.

Are there any times where having offline access would really help you out, and if so, what apps would you like to have access to?
Wishing axod would elaborate . . .
So I understand you have never had a wife (or children.) She will give new meaning to the word "forced."
http://philip.greenspun.com/business/internet-software-paten...

...sums up a big part of the problem.
This has been posted before... just an animated GIF generator. Web designers beware!
Simply terrible.

It couldn't even pick out the highly recognizable beat of that old favourite, Axel F!
If you don't understand the difference between "a function that sums a list of integers" and "a function that accepts a function", then Joel has a pretty decent introduction you should read:

http://www.joelonsoftware.com/items/2006/08/01.html
Right now, almost every car looks like an ergonomic blobject. The trendy thing to do to cars right now is to add chrome, neon, and spinny wheels. If I were to extrapolate a future car from current trends, I'd imagine a chrome egg that glows like Las Vegas.

Sure, I could just as easily imagine a car that looked like a matte black monolith. Problem is, that's just a random shot in the dark. There is no current trending to lead me in that direction.

I think the genius in creating a new paradigm lies not in extrapolating from superficial trends, but in isolating a fundamental problem that no one else has fully appreciated yet. It would be like predicting a future car that doesn't need to be replaced as soon as it's paid for.
The USPTO is backed up by several years. Even if you have a cookie cutter patent application, it will take several years before it is issued. It also commits you towards a product/strategy direction when it may be better to not file, and stay flexible.

Software intellectual property is typically protected by trade secret rather than patents.
You can't know what you don't know. Read some golden age science fiction. Or watch Star Trek TOS. It's pretty ridiculous the things that they assumed.
What's sad to me is that almost every schematic of the brain leaves out the most crucial interface - the spinal cord. Don't underestimate these concepts. Design should afford use because of how embodied our "rational" minds are. Even better if you create an emotional attachment.
or about yourself

At the risk of getting even more downmods for saying true things here, can I just point out that it's a little arrogant to pretend that a blog post about Ruby is going to move someone towards self-actualization?

Anyway, have you failed? No. You wanted to show us your favorite line of Ruby code, and you did.

As for me, I don't really have a favorite "one line" of code, but I fondly remember when I was a kid typing in Nibble Magazine's "one and two-liner" programs. Actually, the "lines" were lines as defined by the Apple II's command line buffer limit. Here's an example:

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/appl...

Maybe I'm not a sufficiently abstract person. My favorite two lines of code was an honest-to-god graphical car driving program in two lines of APPLESOFT BASIC [1]. Two lines of code in a language so crappy it's basically a joke. And yet...a full-on-graphical-car-racing program. I'm strongly tempted to think that APPLESOFT BASIC is superior to Ruby, based on the evidence I've seen.

Point is: The next time you show a feature of a langauge, maybe make it solve a problem, or create something real, rather than just showing how few characters it takes to do something banal. Adding numbers together? Seriously, it's a solved problem.

[1] Sorry for the capital letters, but I'm in Apple mode now:

http://www.apple2.org/images/Literature/a2/BlueBook.JPEG
Those contraptions come with "Warning: Chick repellent" label.
"I am willing to do whatever it takes to get what I want."

I hope you don't mean that literally.
Popularo sneak peek - Launch tonight 7pm EST - with image goodness
Capitalist Climate Solutions
Heh, Axel F was the second song I tried, and it recognized it.

Did you add the song after tapping it?
So just out of curiosity .. what do you think is the most beautiful way to right the equivalent code in arc?
Would you settle for

$someDic = {};

?
Indeed you did. I'm from the future to tell you that really don't need to use caps.
How To Manage Your Online Reputation
Scribd is Seeking an Evangelist
Scribd is seeking a motivated individual to encourage adoption of iPaper and the Scribd Platform. Requirements are great interpersonal skills, a good understanding of Web 2.0 and the current Internet landscape, and enthusiasm for Scribd's product. Hacking skills are optional. Job is a full-time position in Scribd's San Francisco offices. Scribd offers competitive salaries, health benefits, and generous stock options. Please send resumes to trip@scribd.com.
Blog Recommendation Startup Outbrain Raises $5 Million
Nice idea. Shame it doesn't work. Something where users could sing or hum the tune could actually work though. A true 'musical' search engine. I had this idea years ago but I think the implementation would be really hard.
Yeah just develop mobile internet sites - forget the java apps for now
you know you are ballin when you can hire a full time evangelist
People powered kinetic generator strapped to your knee
In this case, the "equivalent" code isn't a line that produces the same result, but is instead a line that illustrates the dynamic culture of the given language's evolution.

For Arc, right now, practically every line is an equivalent.