skysight-inc/HackerNews huggingface dataset:
We applied as well - about 2 minutes before midnight.

Our 1-liner: StreamFocus.com is an on-demand project management system that keeps teams focused on maximizing customer value.

Our last-minute thinking for applying (we started filling the app out at 10PM): The accepted teams will be announced in early August and our current schedule is a mid-august launch. So if we are accepted, we'll delay our launch those last few weeks to benefit from what looks to be a great PR opportunity. If we don't get accepted, we'll launch as planned.
Figure I might as well post this here as well:

Numbers _are not_ functions! This kind of attitude is what gets you python's list formatting operator:

>>> "%s" % ("a string",)

'a string'

>>> "%s" % ["a string"]

"['a string']"

I've been burned by that before, and I'm not exactly stupid.

(I don't think this posted the first time. Forgive me if this turns out to be a double.)

edit: Bah, I can't get this code to format properly. How's that for ironic ;)
Group to liberate iPhone from AT&T
Interview with G.ho.st founder Zvi Schreiber
G.ho.st, which stands for global hosted operating system, is a web-based OS that provides users with a familiar Windows-like desktop. The only difference between your Windows or Unix desktop is that G.ho.st lives in your browser!
Contract termination fee standing between you and an iPhone? Try this.
Microsoft tries evading new GPL grasp
"Microsoft has decided that the Novell support certificates that we distribute to customers will not entitle the recipient to receive from Novell, or any other party, any subscription for support and updates relating to any code licensed under GPLv3."
Calling Sprint service a few hundred times to get canceled is far more extreme than waiting in line all day long on opening day. Is the Iphone worth that much pain? (If the idea catches on, it would really be impressive)
There's a sample chapter on oreilly.com (Chapter IV: Organizing the page) which has a lot more text and examples.
UI design for web apps (differences from web site design)
Here is what I do when a prospect will not buy
It's even simpler than that. I changed function application so that if the first element of the expression is a simple type (e.g. a number), it just gets returned.
Arc has a bunch of iteration constructs. It's iteration-friendly. Most previous Lisps have been ambivalent about iteration, because their designers didn't like side effects.

The usual Lisp do macro, for example. What a wretched bit of language design. Even now, whenever I encounter one, I have to stop and translate it in my head. Plus it can be very verbose. The reason do is so bad is that whoever designed it wanted to make it as functional (in the no-side effect sense) as possible. But sometimes side effects are just the right model.

BTW, there is a do in Arc. It's the new name for what used to be called progn. (It's surprising how much better that little change makes code look.)
Not if you have a program do it.
Looks like it was written by someone attempting to promote their own book.
I also thought it was somewhat useful.
That is the one thing that I can be sure benefited me greatly in pg and Guy Kawasaki's writing - the inspiration they provided.

I'd read more writing like this for inspiration alone.
Video by Google -- How to Design a Good API -- And Why it Matters
Wow, I was going to post about the N800 today. It just came out with Skype support 2 days ago. I first heard about it a few days ago on buy.com -- the previous model is selling for $139, just with a slower processor, mono speakers, and no web cam.

A guy named ThoughtFix has many videos of the product on YouTube, such as http://www.youtube.com/watch?v=XE2fhlh3hJs

PG, would this work? Give users your GrandCentral number, that rings both your cell phone and the GizmoProject app on your N800. If they're near a WiFi hotspot, such as at home, work, or school, the user could then pick up the N800 and talk for free over WiFi (at home and at work.) If only the phone rings, such as when you're in a car, you can pickup the phone. With Gizmo Out (or SkypeOut), you can also call anybody for 2 cents a minute.

I think that's exactly how a Google-branded Phone would work. It would be such a media device, that supports their calendar in online and offline-mode via Gears, something this device does not have. And the large screen with 800x480 resolution means you can view web sites in landscape mode without horizontal scrolling. You can also use a bluetooth keyboard with it.

And since Treos have a small screen, this will be the end of Palm. Also, the end of smartphones, in general. Your phone will be a phone again!

It would also be the end of expensive phone plans! People would still need to have a regular phone, but only with a $30 plan that includes 300 minutes -- weekends and nights are unlimited anyway, and during the day, you'll be near a WiFi hotspot except in the car, using the Google Phone instead.

I believe this is what Google's WiFi Phone will look like and Nokia will be the company that makes it, maybe even this year! I believe Nokia's next update to this platform will literally be the Google Phone... it has already supported GoogleTalk for years now; they just need to integrate call/hangup buttons on it.
Arc seems to take a very implicit approach to things - rather unlike Python. I haven't written anything non-trivial in Python, but it looks like the problem with the list formatting operator is that it's an infix operator that depends on similar looking characters (paren and square bracket) for its syntax. I think it might be less confusing as a function or method:

list_format("%s", ("a string",)
list_format("%s", ("a string",)
("a string",).format("%s")
["a string"].format("%s")

Looking at it on the screen, making it a method call looks far less confusing. Arc treating constants and sequences as functions doesn't seem like the same kind of thinking to me.
Perhaps I should've elaborated a little. Here's a follow-up that I posted on reddit:

both of them violate the user model in subtle ways[1]. Most people don't expect numbers to act as functions. If a bug crops up because of it, more than likely they won't check to see if that's the problem. Again, I'm not against brevity. Just don't make functionality implicit in situations when the programmer isn't expecting it. If you use it so much, use a symbol prefix like `--I don't care. Just make it explicit.

In python's case, it's because it treats tuples and lists differently. Tuples and lists are almost always identical in python. The user's assumption is that they will also be identical in this case, when in fact they aren't.

[1] User interface design is surprisingly helpful when designing programming languages. It's fairly obvious why, but most people don't realize it.
Google threatens to close German office in reaction to internet surveillance law
I'm not a huge GK fan, but I don't agree with YC disliking him so much. I think that he writes for a different audience.

I'd compare his books with Entrepreneur Magazine (does he write a column for them?). Practical, yet oversimplified, advice for the average joe.

We are the Wired and Business 2.0 crowd. I bet that 90% of Kawasaki readers have never even heard of del.icio.us, let alone YC.
Facebook, the CIA, and You (dark side of social networking)
>User interface design is surprisingly helpful when designing programming languages.

I don't know why this is surprising (though I don't dispute that most people find it so). I think both Python and Arc pay a lot of attention to this principle, though their philosophies on the subject are quite different. I agree that allowing constants to be called as functions could be a source of bugs. It also seems like it could be, as PG says "quite handy". I'll have to see for myself when Arc is released.
Amen to that...

The N800 is the kind of open device hackers need to show users the value of cool 3rd party apps. Either on-deck or off-deck via Flash. The iPhone currently does not allow for either of these options which leaves a sour taste in my mouth.

The hacking of the iPhone wont cut it either. That is just a handful of users and does not make it a mainstream change valuable to developers.

I dont think Apple will truly open up the iPhone until there is real pressure to do so. Maybe when "killer" 3rd party apps start gaining mainstream acceptance and users demand the ability to install them on their own devices.
The most pointless article ever. Mobile phones are not new things! iPhone is just another mobile phone.No one is going to stop developing in Flash or Java just because it doesn't work on iPhone. Those who wanna cater to the iPhone market will make a "watered down version" of the app. Just the way an m site is developed for mobile browser.Thats it.
#\x is a character literal in Common Lisp (in this case, the semi-colon character).
There are no silver bullets to making a sale or growing revenue, but there are best practices and simple things that can make a difference. This post offers something simple and obvious that can turn a loss into a new opportunity and a win. It's happened for me more than once.
The iPhone is more than "just another mobile phone". It is a paradigm shift in the wireless industry by a very influential company.

It is widely gaining acceptance so as a developer, supporting it is a very important consideration. Simply "watering down" your app is not always possible when you are trying to do things besides serve simple HTML with no hardware interaction.
YC doesn't dislike him. Even News.YC doesn't dislike him. Since there's no downvote link, all the article's (current) score of 13 means is that 13 News.YC users dislike him.
We currently get 4500-5000 uniques per day, so that's not a large proportion.
We're generating svg graph files with AT&T's open source graphviz product. Graphviz is really impressive.
I agree with you, iPhone is not just a mobile phone..its a LOT more than . But how much has the mobile phone industry influenced the formats targeted for desktop till date? Just because of the fact that Apple dont want Flash or Java on their device doesnt mean its the end of these formats.

If another device maker come up with a cheaper phone with a more powerful browser, with support for Java and Flash, things will change. Always, the fittest will survive. Flash and java are necessary evils(if you think they are evil).

I dont care about the Apple logo. As of now N800 is far more better than the iPhone. And no, i dont care if you dare to call your mp3 player "ipod".
I'm no lisp hacker, so that part stood out to me as particularly hard to understand in comparison to the rest of the code which was perfectly clear to me. I had to re-read it a number of times to figure out what it meant; obviously, if I was at all familiar with lisp I would have had no trouble with it.
Finding Balance in Life: Retreat Versus Engagement
A lesson for all of us: "If we do not offer the body and mind a period of rest, retreat, and recovery, our engagement with the world becomes a form of self-injury, of overload. We dont develop resistance or resilience.
That's why it's really nice to see that Arc has threads and an atomic-execution mechanism. GHC-style Software Transactional Memory would be a natural fit, and it seems to scale very well.

Locks seem to be on their way out.
So it will take 1 (one) must-have application written in Flash or Java to make iPhone buyers look like fools? Sounds okay to me.
As far as you're thinking in procedural mind, probably there seems to be a big difference between constants and procedures (functions).

Once you are converted to functional mind, difference between a constant and a function that returns a constant is very subtle. When you use combinators a lot, you no longer think functions as something "invoked" or "called" in the similar sense as in procedural languages.

A possible pitfall in this case is that Arc is dynamically typed language. I usually program in Scheme, but when I'm passing function-returning-function-returning-...-functions around a lot, sometimes the 'one-function-level-off' error becomes hard to track down. Implicitly promoting a numeric constant into a constant function possibly delays catching this bug (since it masks the function level difference) but I doubt that it makes situation much worse. I think optional type declarations and type inference would be a lot of help.
Does Arc have an API for iterating across general types of data structures? The classic example is lists and arrays; in Common Lisp, supporting both can be a hassle and the language itself seems ad hoc when the issue arises. MAP supports both, but MAPCAR doesn't; the LOOP macro has seperate "IN" and "ACROSS" syntax, and no (standard) way to extend this to user-defined data types.
I think that, like the .com bubble, the importance of the iPhone will be overestimated in the short term and underestimated in the long term.
Gaming Accessories for 8 cents each with FREE SHIPPING over $20! Wow!
Great deals to be had at this website! Plus, they have great deals on R4 Revolution for Nintendo DS, which allows you to play ROMs on your Nintendo DS! They also have other Wii, PSP, PS3, XBOX360, and iPod accessories!
The Ultimate Web 2.0 Color Palette for the Gimp
All the Web 2.0 colors you need conveniently packaged in a palette for the Gimp.
If it's really a must-have application, writing it in Flash/Java leaves you open to a competitor starting off with ~1 million affluent users just by rewriting it in JS.
A fairly good talk, although I wish he had spent more time focusing on what the good solutions are that they currently use rather than what they did that did not work. Most of what he threw out there was fairly common knowledge, but some of the stuff I haven't been exposed to before: replica pools, database partitioning, cache priming for replication updates... so mostly stuff that is specific to MySQL.

I wish he had addressed why they used MySQL over Postgresql though, I frequently wonder why one would chose any db other that postgres.
I've been hearing a lot of criticism against GoF lately, and I think now I understand why: IMHO I believe that since the past decade or so we moved up one step above the "complexity chain". Nowadays we hugely rely on frameworks to develop code, and therefore we don't need to think in terms of design patterns as much as before. However, one level down in this chain (at the framework level) design patterns are heavily used behind the scenes. Even at the language level (iterators, for example, came from GoF).

In summary, nowadays we don't need to rely on design patterns so heavily, but the frameworks we use still rely on them.
A startup that can easily replace your secretaries.
If I were Steve Jobs, I'd get Adobe and Microsoft into a bidding war over whether the iPhone will run Flash or Silverlight. If (a) the two are close in power, (b) all browsers can run either, (c) the iPhone runs only one, and (d) the iPhone is very popular, then the one the iPhone doesn't run dies.

(a) seems to be true, (b) is currently true, modulo install, and (d) looks likely. So if Apple decided to make (c) true, they could probably anoint a winner.
This sort of thing works much more cleanly in Arc.
Yahoo Shutting Down Bill Pay
There were actually 526 incoming hits from some part of news.yc, obviously not all of these people dislike AoS, but I would bet the number who do is significantly higher than 13.
fixed: (http://ycombinator.com), and for that matter
http://ycombinator.com.
For the record, in Python 3000, they're changing the printing and formatting around a lot, so the example above will become:

"%s".format("a string") #yields: a string
"%s".format(["a string"]) #yields: ["a string"]
"%s".format(("a string",)) #yields: ("a string",)

This will eliminate the confusing difference in the treatment of of tuples and lists when formatting a string. I think it's more clear, although I imagine some people will complain that "format" takes longer to type out than "%".
I would be more impressed with the philosophy in this presentation if I hadn't wasted so many hours of my life working around the 'final' and 'private' things the Java APIs try to prevent me from incrementally extending.
Focus your team collaboration with StreamFocus on-demand Project Management
Any YC comments on the idea here would be greatly appreciated :)
I think Guy is being somewhat maligned here. I am not particularly fascinated by his work, the same as others who have posted, but I think we are missing something.

Read The Mythical Man Month by Fred Brooks, one of the truly innovative works on software development. And you know what? Its boring. Its saying the same obvious stuff over and over, who gives a damn? The thing is that what he wrote was brilliant, when he wrote it. Work derives much of its meaning from context.

The same point can be made about Rachel Carson and Silent Spring. Its pretty much torturous to read: we have already had these ideas drilled into us. But when they were first written they sparked a global environmental revolution.

Is Guy in the same league as Brooks or Carson? No, I don't think its quite fair to say he is, but I do think dismissing him off hand is unnecessarily judgement... which happens to be a big trick for blog articles these days, and seems to be a connecting thread in the articles you write. Perhaps I am now being the one who is unnecessarily judgmental.
Java is a language built around safety, safety in the jvm, safety in the programs, safety in the APIs. Its a real pain to deal with these issues when you need to do something the library simply doesn't support. This is what we get for working in a language explicitly designed for "average programmers": safety, lots and lots of safety. And it makes sense, for larger companies with low quality and interchangeable programmers. But it still sucks to deal with.

I definitely prefer Python's "if you're an idiot you can go ahead and depend on private stuff, but we don't care if you get screwed" approach.
Apple's 3-Tiered Marketing Model
Sounds like an interesting idea, the work flows sound particularly interesting. I don't know if I would spend any time focusing on what is wrong with big management systems (you are telling them something they already know, assuming there is a demand for your product), and would instead focus on your functionality (which you do a good job of covering).

I would irrevocably obliterate your opening sentence, it is MBA speak, which is to say that it is meaningless to the majority of readers. I'd say something simpler like: "StreamFocus.com is a simple system for establishing order from product development chaos." But thats just me. :)

I'd consider scaling back on the promised features a bit (especially the Quicken integration) unless you are actually completing them. Its better to deliver a great small app and add functionality over time, than to deliver a mediocre massive app and fix functionality over time.

The gist of the issue is that the idea sounds good, but a lot of it is vague enough that it could be fantastic, or drudge. Its hard to know without seeing a working copy.
PG: For some reason, even with upvotes, the article is not making it to the front page. It seems to be some kind of error? Also, my partner mike_organon upvoted it and the upvote didn't work - quite strange. I tried deleting the original and reposting, but the same problem)
Thanks for the feedback :) We've been hacking on the application since early this year, so the features here are actually just about ready to launch (Lisp has made things go at a good pace for us). (The QB integration is already there - I use it for billing and payroll myself)

The workflows and auto-prioritizing are the big deals of our app that no one else yet has. It has dramatically improved productivity in my Architecture Firm (We are up to about 40% increase in efficiency with staff able to do higher level work with the aid of the work flow templates).

We are thinking of opening up a YC private beta in about 2 weeks to get feedback about the real thing.

On the first sentence - an interesting point. We'll think about that (that is effectively our 1-liner, so its a pretty important sentence)
Getting Started with Ruby on Rails using LinRails in Ubuntu/Linux
This quick start guide will have you hacking with Ruby on Rails in no time.
Start your own online shop in 5 minutes
New French Web 2.0 company, has made really nice thing. that giving you the opportunity to have your own shop for free online, when they giving you also the products, then you put a small widget in your blog or web site, and start earning if someone entering the shop and ordering something. This is really great way to make money online.
Before this people usually submitted a comment to explain their question, and that comment ends up pushed down the list and new users lose the context of the discussion. So, I think it's a feature.

Another way it can be implemented is by pinning the very first comment to the top if it was submitted by the same user. That way you keep the form simple with two text fields only.
Hmm, interesting idea. The trouble with that plan, though, is that it would be unclear whether to reply to that comment, or to the question. So you'd end up with a weird ragged discussion.
If one is pinning the comment to the top already, one could easily remove the reply link to that comment.
It's not a bug. The sw detected that it was your partner, basically. I don't want to disclose the exact algorithm (it changes anyway), but in order to protect against spam and voting rings, some votes don't affect scores, and others affect scores but not rankings.
How to?
That's cool enough. Though, potential spot for allowing subtle bugs? If I'm tossing around what I believe is a function (but instead happens to be a simple type, maybe even like #f or something), when I apply it I'd prefer to get a runtime error instead of a silent value return.
Yes, true. But do I also remove the vote link? Presumably. Then I have to remove it wherever it occurs, meaning I have to add a field to the obj saying that it's a special top-comment. And what about deletion? Lots o code.

Whereas all I'm doing here is exposing the text field that was in submissions already, since underneath they're the same kind of obj as comments.
Oh, ok - wow. But how about the front page issue? Ah, maybe it's because 1 upvote was my wife who just joined (daniela) and the other was a friend who just joined but plays a role in the startup, (Frode Odegard.)?
Unfortunately I tested the iPhone Safari -- it doesn't support svg right now. Safari for Leopard is supposed to support it so I imagine it will come in an update.
Getting onto the frontpage is a variant of the code that determines ranking. Not all votes count for it.
Technology's Untanglers: They Make It Really Work
In theory, if everyone had a facebook profile, wouldn't a facebook search be more useful than a google search in many instances?
I don't think the search has to be difficult to be useful. A facebook search can certainly provide more contextual (and by extension, more useful) information than a google search.
The question is, how large of a context do you want your search to touch?

I think that the size of the facebook (or myspace) user population can grow to such a point that internal search becomes a serious substitute for a more general search with an engine like google or yahoo.
Is it also a factor that streamfocus is related to my id, and I posted it rather than someone else - or would you have to shoot me if you answer this one? (Thanks for the clarification, btw)

I was thinking about the partner identification algorithm you have, thinking it must be pretty clever, and then I realized: the system probably just does a check into the contact database showing that my partner and I both signed up under 1 company for Startup school. It was a bit baffling how you could pull it off without that as my partner very rarely posts here so there is not much data to build from. Oh, I see: we both have streamfocus.com in our descriptions.