skysight-inc/HackerNews huggingface dataset:
WMS isn't about vector data or fast rendering. For fast rendering you need good software like Mapnik http://mapnik.org , Everyblock uses it.

For building actual web maps I'd say WMS is irrelevant: is anybody really clever enough to write a JS slippy map, but too dumb to think up a tile URL scheme? OpenStreetMap http://openstreetmap.org went with z/x/y, and nobody needs anything more complex.
I agree, some lisps are easier to install than others. But if you're a noob, how do you know which one to choose?
"If you look at the average programmer, he doesn't want to think about programming"

This is nonsense. You can't just 'press keys and go home' and make working software. Most of the programmers I've worked with thought a great deal about programming.
I was wondering how long something like this would take to build. If you can configure something like this to be specific for say... media streaming, you can say "goodbye" to all those content delivery networks.
http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php

This essay is a required read for anyone thinking about copyright law, and why tricks like this don't actually work.
Confirmed. Most discussions I've encountered of applications "needing" workflow software, could be easily served by simple state machine. I was very confused for a while before I realized this.
I've never looked at CLOS. But, what I mean is the "dominant metaphor," which I suspect is still lists.

I'll just go through my probably plebeian understanding. Arrays are to lists as hashtables are to objects. An array, in my mind, is a list that only contains one type and is indexed with enumerated integers. On the other hand a list can contain any type, but is also indexed with enumerated integers.

In JavaScript:

array = [1, 2, 3]
list = ["one", [[array], 3]]
array[0] == 1
list[20] = 23 // list indices aren't necessarily a linear enumeration

Of course, arrays and lists are both technically Arrays in JavaScript (a bad naming choice; I'd have called them Lists). Now a hashtable is typically just a list that uses strings for indices instead of integers.

hashtable = {
"today":20080403,
future:function(x) { return this.today + x }
}

A "method" is just a value that happens to be a function. Usually hashtable-oriented languages choose to abstract away the string, and treat it as a variable.

hashtable["today"] == hashtable.today
hashtable.method(23)

Like with lists/arrays, JavaScript gets hashtables/objects almost exactly right, but again is subject to some questionable naming choices.

RE: trees and graphs -- I was getting at the relationships between nodes, not the actual computations, but I'm not comfortable enough with the terminology to explain exactly what I meant.
I think most people prefer languages that let them think about the problem they are trying to solve, rather than think about what the macros expand to, or what happens when they call that continuation.
Everyblock is going to be huge -- can't wait til they bring it to Atlanta. (Or I move to a cooler city)
Nokia N-Gage Goes Live
So either you are working on some startup that will be a viable competitor but are still in the famed "stealth mode", or you know public information you are not sharing with us. C'moonnn, tell us more. ;)
Ha, that's cool! I originally thought of Paul McCartney and Wings, but the Java analogy requires that the later, inferior thing be more successful than the earlier cool thing... besides which I am a strong Lennon/Harrison partisan and have deep issues against admitting that Paul was ever not a dweeb. Fortunately, Stevie came to the rescue.
I think the question to ask instead is if there will be a viable _AdWords_ competitor. Without a strong pool of ads, you won’t have a competitive alternative.

Looking at the system from my own perspective as an advertiser:

Google AdWords is absolutely amazing in its flexibility, customization, speed, return on investment, etc. The tools provided are wonderfully helpful and I happily shovel gobs of cash to The Google every month.

Microsoft AdCenter (Live.com) isn’t quite as flexible, but it’s getting there. The tools are decent and improving, with the only limiting factor being the modest number of visitors their search engine receives. The dribble of click traffic from Live.com / MSN is small, but it’s worth paying for.

Yahoo Search Marketing by contrast is an absolute joke. The ad system is slow, inflexible, unreliable and a complete waste of time and cash. Even the most basic filtering option –- displaying ads only on Yahoo’s Search page –- isn’t available, and so your ads will appear on every spammy domain squatting and adware site under the sun. If you’ve a high per-click cost, advertising cash spent at Yahoo is completely wasted and is best directed back to (you guessed it) Google.

Ask.com, etc: Similar. Within a day of signing up and advertising, you’ll see a remarkable number of clicks, all originating from sleazy domain squatters and link farms. As far as competing for ads goes, these guys aren’t even in the race.

My dream: I’d love to see Microsoft acquire Yahoo and replace Yahoo’s joke of an ad management system with Live.com’s halfway decent alternative. That one action alone would probably do more for Yahoo’s bottom line than any number of new niche content network improvements... but that’s another rant entirely.
(In agreement, just to express it another way): Patents on implementations can and do effectively limit idea reuse.

E.g. if the idea is "a web 2.0 flower box" making a second implementation is fine.

If the idea is a "web 2.0 flower box using this specific patented method of procedural generation" then you won't be able to recreate the same product again - at least not without moving to Europe where there are no software patents :)
> Don't fund with credit cards unless you absolutely have to.

Funding with personal debt should not be considered 'bootstrapping', if only because it's so damn stupid, and should not have a positively-connoted word associated with it.

It's more like buying ownership in your own company with money you don't have.

Would you borrow money to buy stock in someone else's company?

Would you borrow thousands of dollars to gamble in a game that has about a 1/10 chance of winning?
If you can rewrite it from scratch, that may be the safest plan. You'll probably need to anyway. You can also go talk to the university about it, but many (perhaps most) universities are cluelessly overreaching about this sort of thing, and take forever as well.
I was only talking about the code itself, the primary metaphor of the programming language, not what the language actually represents. Most langs that I've encountered are structured as semi-formalized strings (i.e. C-derived langs), where as Lisp is structured in "physical" lists. I shouldn't have talked about "abstractions," because that wasn't what I meant. I was getting at the "concretions" of the actual lingual interface.
Craigslist! ;-D
Ask YC: Feedback on my site No-NSFW, The Not-Safe-For-Work Warning System.
No-NSFW is a Firefox extension which warns you if the link that you clicked on is NSFW. NSFW ratings are determined by user-votes cast via the extension.

The extension could be rough around the edges - would appreciate any feedback / bug reports.
I wonder how much of this is sort of self-feeding behavior: e.g. in America we use email a lot at work, so emails are answered quickly, which reinforces its use. But in China, they don't use email so much, so email isn't answered quickly, which discourages its use. Maybe it's more initial conditions and less culture.
This is Henry Blodget talking here, folks. Keep that in mind as you read his analysis.

Also, his definition of startup is a bit off -- Craigslist shouldn't be included in this group.
Can you be more specific about what you don't like about this guy's coverage of Eastern Europe?
Oh my god! RUN!

Seriously, that's quite cool.
Fluid Mechanics in Game Programming
Old news on proggit: http://reddit.com/info/69dia/comments/ . I chimed in there a bit.

Also, people underestimate the amount of design work that goes into a good map. The Everyblock folks didn't really follow through: street colors are a bit off, fonts too blurry, roads don't blend at junctions like they should, etc. Generally, Google Maps has the best-balanced cartography, Microsoft Live Maps the most legible fonts, and all other webmaps are a class below.
Well, we have 2 data points now. I guess we can agree that it's harder to learn than Python :-)

For what it's worth, I think learning Lisp is useful for getting (re)acquainted with lambda calculus if nothing else.
Logging IM isn't that difficult. If you use something like Pidgin then you get all of your logs neatly organized in one place regardless of protocol.

Equally most corporate IM servers support logging. I expect that with a very small amount of hacking eJabberd could be persuaded to store good data even if it can't already do so.
I would take 3 months to learn a new language, but then my startup would be dead.

I picked up Python in a day. I'm quite proficient at it a year later. A simple syntax + a great standard library is the best way to get things done, if not the best way to learn to write software.
I think what you're describing may be in a different class than the products the OP is castigating. The latter are not vertical systems. They're middleware that the client expects to integrate with existing systems (paying huge consulting bills in the process, though they may not know it yet). And once that integration is done, then magic happens and the productivity boost is supposed to kick in.

What you're describing sounds more like an in-house framework that is used to boost your company's efficiency in delivering systems to customers. That's different. When you're doing a lot of similar projects, abstracting out the common parts can be a big win. I've seen this succeed, up to a point.

I say "up to a point" because I've noticed a pattern. Sooner or later the vendor decides that their in-house framework is so great that they've really solved the problem of enterprise software development in general. Now they "just" need to package it up as a platform.

The problem with this is that the value is not in the framework, it's in the team that's built up around the framework. The framework may make you more efficient ("you" meaning the programmers, managers, analysts who know it, identify with it, and belong to an organization based on it), but it doesn't follow that it will make others more efficient, because the framework abstracted away from you is not the same thing at all. The overhead for anybody else to use it is considerably greater and may (and usually does) exceed the benefit.

Vendors do this because they want to shift away from being a consulting company (where the product is you, and the framework is your secret weapon) to being a product company (where the product is the framework and the "you" part is vastly diminished, ideally to zero). Of course even in the success stories (SAP?) the consulting role is still huge. And I can't shake the impression that the successes are mainly in sales and marketing rather than technical substance.

Anyway, these are just things I've observed. I don't claim they apply to your situation.
How Many Hours a Day Are You Blogging?
You can shorten (+ x 1) to (1+ x), and if you get annoyed typing "lambda", it's not that hard to change it to something shorter like "fn". Also, CL has a lot of built-ins so I don't find I need to write lambdas nearly as often as in other languages. In this example, just say "1+".

Another thing you'll find is that for trivial problems, Lisp might take a few extra characters, but it scales much better. Try making your Python lambda print the value of x first. Try telling your Ruby lambda that x (and x+1) fits in a machine word so it can compile the function into only a couple of CPU instructions. Try writing a metacircular evaluator in C#. :-)

When you're just getting started, in any language, it doesn't really matter which implementation you pick. (FWIW, CLISP is byte-compiled, SBCL is a native compiler, and Allegro costs $600. Not unique to Lisp: you can find expensive proprietary C++ compilers, too.)

As a Lisp and Ruby programmer, I disagree that Lisp's documentation is weak. I would be very happy if Ruby's docs were even half as good as Lisp's.

I type "sudo apt-get install library-name" for both Lisp and Python libraries, so no difference there. (Ruby gems are less frequently packaged, and aren't compatible with the FHS, so they're a little harder.)

Lisp examples seem to be more often found in (dead tree) books, while Ruby and Python examples are more often found on the web. Since Ruby and Python libraries (and even syntax) are still in flux, and Lisp predates the web, this kind of makes sense. If you can't buy a couple books, it can be rough, though some good Lisp books are becoming available on the web for free.

Those symbols you picked are a little weird, but when's the last time you actually saw a cdadr? It is at least consistent (which is more than can be said for some languages!). I don't find "unshift" or "__gt__" any better.

I don't want to sound like a pure apologist. I admit that Slime is an investment (if you don't already know Emacs). Apparently there is a Lisp plugin for Eclipse, but I know nothing about it. It is a shame more IDEs don't support Lisp well, though I can see why they don't.

Finally, it could be simply that Lisp doesn't map well to your mind. (I don't mean this as an insult -- everybody's different. Maybe Smalltalk or Prolog or Sisal is your cup of tea.) I don't think Ruby maps well to mine, though I know some people who seem like Matz reincarnate -- which could explain why the docs are so sparse! The core of programming, to me, is having fun building good abstractions, and if Lisp isn't doing it for you, by all means, find (or invent!) something that does. Cheers!
Siggz.net: Your only online resource for creating your Sig Graphics for Forums, Emails and more!
Create vibrant sig graphics for your Forum Sigs, Emails, Myspace, Facebook, Websites and more! Create your Family, Scrapbook a Sig Graphic from scratch with no knowledge needed! Blinkie Generator, Glitter Text Generator, Create a Siggz Strip Slideshow! Share your creations with other Siggz members too! Competitions, Contests and more.
I think it has a lot to do with culture. Russians are very much like Chinese in this regard: voice mail has never gained any traction there, and email is considered somewhat 2nd grade.

Email is for things that weren't important enough to deserve a phone call. Phone calls are getting replaced by SMS messages, especially among younger crowd, but email/voicemail are nowhere close to importance they have among Americans.

A typical example: my neighbours sent me an evite for a party next weekend, in Russia that would be a bit insulting: my parents would think "nah, it's not a real invitation, otherwise they would have called"

Americans value their "personal space" too much, and email/voicemail allows you to do just that: communicate with people without getting out of this bubble of comfort. Eastern cultures reject that: if you want to talk to me, - then TALK to me. That's the attitude. (exaggerated a bit, but delivers the message)
Sure. Nobody would ever write a macro to solve a problem.

No wait: on second thought, I surrender to how completely dumbfounded I am by this comment.

I'm calling Kenny...
Thanks for this Paul. I've spent time on both sides of the side spectrum in addition to my own failed startup (but I'm not beaten yet!) and what you say is at this point in my life glaringly obvious.

I'm making the jump this month from a (safe, established) monolith back to a (exciting, dynamic, risky) small company and hope to be back on my own startup path soon, and this post was a bit of inspiration precisely when I needed it.
After trying to get Pylons+PythonLDAP work on MacOS X I am slowly giving up on this OS as a platform for development. Yes it can be done and it's not THAT hard, but why? For coders Linux just works - everything takes seconds as opposed to minutes. Plus you get a nicer font rendering.

Sorry for the rant. It's just frustrating: I had high expectations for it.
> Linux: two weeks, gave up when I got Clisp to run in the command line interface.

Are we talking Lisp noob, or Linux noob?

As the other posts indicate, use an apt-based distribution (Debian, Ubuntu), and do

sudo apt-get install clisp slime
I think I've read somewhere that Disqus uses Django.
Zillow and the Idealism of Engineers Going Shopping
Ex-Googler, New EMI CIO Says: 'Downloads May Be Good'
The point I was trying to make is that whitespace and parens are not equally good as delimiters.

Specifically, reading a newspaper that has parens instead of whitespace would be harder.

(Specifically,(reading(a(newspaper(that(has(parens(instead(of(whitespace (would(be(harder.)))))))))))))

In terms of actually being a problem, I'd say it depends on the code, for sure. I could create that same example in C, but end it with }}}}}}}}}}}}}}. However, in my admittedly limited experience with lisp, it seems more likely to be highly nested, tempting people to put more levels on a single line.

I also agree with you that C shouldn't be held up as the paragon of readability.

Python is pretty darn good though.
Socializing Your Inbox Is Inevitable (mentions Xobni)
Ditch your PC and live the shared apps life
lower income individuals and families

Not really. Not immediately, anyway. Low income people often have more debt than wealth, making inflation beneficial. The people who are genuinely hurt are those on non-inflation-indexed pensions, and those of us with savings or inappropriate investments (long term bonds, for example).
I'm interested in why you think that Lisp systems haven't yet efficiently abstracted away from HTML/CSS/JS. I work on such a system every day and the abstractions seem pretty efficient to me.
I would of went for NOTnsfw.com

It is still available.

http://www.whois.net/dnr/index.php?d=notnsfw&tld=com
I checked this out since I wanted to release code I wrote for my research under the GPL: Where I work (UCSC), the employee owns the copyright to code he writes, unless the code was part of a deliverable for some grant (in which case it generally belongs to the grant-awarding institution). For general research grants, that's not the case. If there are potential patents, the university does claim right to those, but if there aren't, there was no problem.
Why Apple Will Go Atomic
Ok, I think I get you. But then I think you can't categorize programming languages this way, the default data-structures provided by the language don't characterize it. In fact, it seems to me that you like most JavaScript because it's object oriented, it's dynamic typing and functions are first-class. Features that others languages lack, and not because the "dominant metaphor" is the hash. Casually in JavaScript the objects are built with hashes (at least apparently), and can be easily extended.

It's a fun thread :D
I read more anon as more soon. But I haven't seen the word anon used outside of Shakespeare. So, either pg will be providing more information soon or there are more anonymous requests ;)
Imitation Is Flattery? Or Just Bad for Entrepreneurs?
MIT 6.901: Inventions and Patents
I'm afraid of the overreaching part... I'd love to rewrite, but i'm having trouble justifying a rewrite of something that works really well as-is. Translating it to another language doesn't seem like enough.
Trust in Peers Trumps the "A-List"
Since you are rewriting all external links on web pages to go through your website, I am exposing my browsing habits to you, right?
I really don't see how it could take two weeks to get clisp installed on linux unless you were trying to compile it from source, which I have never had to try.

Now trying to install various lisp packages you need, that's another story...
An Inconvenient Truth About Privacy
But you can format and indent your lisp code so the reader (people) doesn't have to rely on counting parentheses.

Example from taken from http://www.gigamonkeys.com/book/

(defun test-+ ()
(let ((*test-name* 'test-+)
(another-var 'foo))
(check
(= (+ 1 2) 3)
(= (+ 1 2 3) 5)
(= (+ -1 -3) -4))))

You should be able to read what this code does (check basically runs the statements and reports if they return true or false) without having to count a single parentheses.
Yes, but you could disable it when you don't mind seeing NSFW content.
(Based on the OP's comment I assume that he is not starting his own company, but rather partnering with someone.)

A rewrite is probably best, but it might hinder negotiation of terms.

-Pro: Wrote the original, lessons learned and experience.
-Con: Isn't bringing existing IP so might not be worth as much.
-Con: Maybe someone else can write a better clone (UI expert).
-Con: Clean room rewrites are tainted if you have seen the original code. Willful infringement is much more expensive.

If it was me I would try and convince the university to release under an open source license. BSD would help, but the GPL could be good too depending on sector. Then I would be free to go off and commercialize it. Open source code requires a different business model, but there are plenty of examples of success, especially for companies that own the original thinking behind the project.
In my experience, Common Lisp often doesn't come out best at the code snippet level. Where it shines is in building whole systems. After a while one passes an inflection point where one realizes, "Holy cow - what I'm doing now is supposed to be way harder than it is". I probably have this experience every week.

You obviously put a lot of sincere effort into learning Lisp and I agree with much of what you say. After all that work, I wish I knew an easy way to communicate the joyful side to you.
Eriskay: a Programming Language Based on Game Semantics
Ask HN: Metrics for startups?
Are there any metrics that are valuable to startups? If so, which ones and why do they matter (or, how do you use them)? I am thinking mostly of software metrics, but other trains of thought are welcome as well.
I thought half the benefit of CDNs was reduced latency, which AWS does not provide.
Yes, I partially reffer to you, but in a broader sense.

The most important to recognize, in my opinion, is that there is no such thing as a huge market of delivering Google-alike ads. There's only a market of finding right customers for companies, and this is the market that makes billions of dollars every year. (just like there's no "Turkish food market" -- there's only "cheap quickly delivered food for busy people market")

This is how the innovation works: you find completely new answers to old problems. And what you asked for is a mere slighty better reiteration of the answer that works pretty well. Unfortunately, if you want to grab the money from the desk, you can't do this.
The 101 Coolest Easter Eggs Hidden in Your Software, DVDs and Video Games
Recursion is implicit in the rule, "For every rule, there is an exception."

Unfortunately, the recursion never terminates.
sets of related closures over common state?
Maybe they have. What system are you using?
Solid debugging, perhaps with things like breakpoints

I was actually complaining here about this a few days ago. What activity on this item are you referring to?

Breakpoints as such are probably superfluous, since it's so easy to insert "(break)". But I wish I could single-step through s-expressions and have them highlighted in the editor, and I wish there were an easier way to inspect state. Actually it doesn't seem that sldb is so far away from what I want (with the exception of single-stepping and highlighting), yet I always find myself reverting to the equivalent of printf debugging.
I don't think that is the case. If you are willing to spend a few hundred dollars you can get legal counselling from a lawyer.

Also, if you are attending startup school, they might have half an hour talk from someone on legal issues and you could ask that person.
Okay, and I would look to hashtables as the best way of describing these "sets."
Stop organising, please
http://downforeveryoneorjustme.com/slowforeveryoneorjustme.c...