skysight-inc/HackerNews huggingface dataset:
Ask HN: SICP says "Program == Language Evaluator" What does this  mean?
Chapter 4, 2nd page (in my edition)

"Metalinguistic abstraction -- establishing new languages -- plays an important role in all branches of engineering design. It is particularly important to computer programming, because in programming not only can we formulate new languages but we can also implement these languages by constructing evaluators. An evaluator (or interpreter) for a programming language is a procedure that, when applied to an expression of the language, performs the actions required to evaluate that expression.

It is no exaggeration to regard this as the most fundamental idea in programming:

The evaluator, which determines the meaning of expressions in a programming language, is just another program.

To appreciate this point is to change our images of ourselves as programmers. We come to see ourselves as designers of languages, rather than only users of languages designed by others.

In fact, we can regard almost any program as the evaluator for some language."

I didn't understand that last sentence at all. The authors give some examples(a constraint propagation framework etc) from earlier chapters, which they say are languages with their own primitives etc.

But the claim seems to be more generic (emphasis mine) "we can regard almost any program as the evaluator for some language"

I am having some trouble wrapping my head around that. What "language" would a typical web app be viewed as? What are its semantics?

Let us say I have an inventory tracking web app program which deals with, say users, warehouses, orders etc. How is this "viewable as a language"? How do I go about writing an evaluator for this "language"?

Where does a program stop being "viewable as a language" If I write a small program (say to calculate Fibonacci numbers, can that be "viewed as a language"?

I am missing something very profound here. If anyone has any insights, I would be very grateful.

Help?
Thanks. I'll look into that. I'm working on understanding the syntax of these rules, but it's been slow going.
12" netbooks are just too big. If it has 12" screen it better be a "fully" powered laptop.

Todays netbooks are too limited to even deserve a screen bigger than 10" and I guess the main purpose of a netbook is to be small and portable.
Did you read any of those publications? There was (for me, at least) a latent excitement underneath the surface, of the absolute coolness of the possibilities that seemed to be at our fingertips. Every issue was filled with articles that had somebody showing you how to do something you never even dreamed of.
So I hacked together a quick and dirty application this afternoon that graphs your tweets based on when you sent them. you can look at the graph and see what time of day you tweet at most frequently.

I know it's not an uber-cool application, but it's a weekend afternoon project. And best of all, unlike (seemingly) every other Twitter-related application, you don't need to give it your Twitter password!
Five principles of good social software design
It's strictly machine-to-machine, basically this is a way of extending the functionality of a website without having code server side, all the extension code runs on the browser of the end-user and talks to the server using the API.

The server side code for the project is going to be in PHP.

Think of it as HN on steroids, custom filtering and alternative user interfaces, tweaks and so on by adding chunks of javascript to the site, either just for yourself or if you think your stuff deserves a greater audience as a switchable plug in for others. If something is very well thought out we might make it default to 'on'.

Greasemonkey allows you to do some of this for a single user, but you normally wouldn't have access to the 'raw' data that builds up a site, in this case you would, all the
rendering comes from the javascript. Another part of the configurables is custom stylesheets.

The general idea is that you can completely overhaul the front end of the site from a plug-in on the assumption that more than one person will want to make those changes we make those changes available to the rest of the users.

I got the idea a while ago while browsing HN, it's one of the things that made me wonder how far you can push customization of a website and my conclusion is very far if you are willing to give up control.

So the only criteria I would attach to public distribution of an extension would be that the extension is not malicious in intent. Beyond that it is 'anything goes'.

A 'hackable' social network. Very simple in basis but extremely extensible.
The hell?

laissez-faire

You are comparing the nations food supply ...
with iphone applications...

...
The Rasterbator - Create huge, rasterized images from any picture.
mod_rewrite is one of the nastier apache modules, it's like a swiss army knife with 75 blades, there is always a way to do what you want but you'll end up with some blood on your shirt, even if you're careful.

Don't sweat it, everybody goes through this phase when they start with mod_rewrite, then after a while it gets easier.
Couldn't you just ask "would you agree"? Mabye it's confusing because you are making statement like if you were going to ask "would you agree", but then ask a question expecting opposite answer (if you were going to agree, you have to say "no, I don't have a problem"). And I think there is no real difference between saying I agree and I don't have a problem with that.
Worldwide Slump Makes Nigeria's Online Scammers Work That Much Harder
I see no reason why the government should get involved. It's an free market, if people don't like Apple's practices regarding the App store, they are free to go elsewhere or buy a phone from a different manufacturer.
I do re-check threads I've commented/ voted on. I assume others do as well and want to be held accountable: this is HN! I have no interest in spending time on here if this turns out to be another noisy channel.

I assumed some Google fan-boys voted me down initially, which angered me, nearly frying my development machine on a flash video (Chrome beta runs at 100% CPU with certain plugins).
Didn't chemistry.com start as a referral engine test by a PhD? (This may be heresy.)
Not really, he's showing that the government already has 'full disclosure' rules for some industries and suggests that the digital world might benefit from that same principle.

You could easily trivialize this by suggesting that the food supply is a critical resource, but if a company gets large enough to employ a bunch of people living in Apples 'eco-system' and Apple decides to pull the plug the results for those people are quite comparable to eating something bad. In both cases there are people that have no way of knowing what is going on 'under water' whose health and well being depends on being informed.

To ask for that information is the only right thing to do.

Consumers don't have the power to bend a large corporation to their will, but the government can do that.
I think you are missing the point regarding the acceptance of applications, it's not an end-user issue.

It's mostly the app store developers that are setting themselves up for trouble because of this.

So that should read 'if developers don't like Apples practices regarding the App store they are free to go elsewhere', only there is no 'elsewhere', the only way to the Iphone leads through the app store.
Social Bookmarking Submission
I got best Social Bookmarking Submission Service which is very reliable and cheap in the industry which give natural boost to my ranking and traffic as well.These guys are really best to provide such a nice service for quick results.You must try for it...because ultimately your Decision decides your Destiny...and it is in your hand.
Actually, apple has been found guilty of doing exactly what you claim they never do in norway:
http://news.cnet.com/8301-10784_3-6153085-7.html?tag=mncol;t...
In which I switch on a 30 year old computer and it just works
There's a fundamental disconnect between what the ISPs are saying and what the users are saying.

Being in a fairly rural area, my options are currently limited to Clearwire, which is a pre-wimax service that advertises 1.5MB/sec for around $40/month.

What actually happens is there is something of a "soft cap". Download more than a few GB a day, and you get a phone call threatening to cut you off (and are forced to pay the contract ETF). So what they are actually selling you is rolling capped service, and what you thought you were buying--what they were advertising, in fact--was throughput-based service. And, FYI, this isn't something that's published anywhere, not even the fine print: just an extremely vague AUP that says something like "Don't use the network too much."

This is on top of the packet shaping and interfering with torrent traffic and (somewhat legitimate) issues like transfer power and crosstalk.

The statement that "If they really had to guarantee bandwidth it would cost way too much" is totally beside the point. What's happening is that consumers are being sold a service with advertising that is false and misleading. I might buy that services that advertise "up to" speeds are fair enough for the normal person to figure out, but when you throw packet shaping and soft caps into the mix, "up to" advertising is flat-out lying. It's fraud.
I understand your point. But very simply, that is not what Capitalism entails. Capitalism is like biology's natural selection. You don't arbitrarily go determining rules of engagement and codes of conduct within the animal kingdom, so as to even things out. Why? Because those things are taken care of naturally.

I'm not saying I know what's best for anyone. Rather, it's just not the American/Capitalistic way. And Americans, they like their Capitalism.
JOINs rightly get a lot of crap - they are massive performance bottlenecks if you are working with large tables.

Having a single awkward example does not detract from that.

I'll add to this by noting the post does say "For smaller tables it doesn’t matter but as tables get bigger avoid joining when you can" which is sound advice.

I'd say joining scales up to perhaps a million or two rows unless you have a lot of RAM (you can see join spills to disk in the EXPLAIN ANALYZE output). I often am working with tables in the 10-30 million row range so my
perspective is probably a little slanted towards the negative.
This might come as a shock to you: There actually is an 'elsewhere' beyond the iPhone. Last time I checked apple didn't go around forcing people to become app developers.

Don't like their rules? Don't play on their lawn.
I agree that the government should not be able to tell AT&T and Apple what to do ...

... as soon as Apple and AT&T deliver phone service without using any public infrastructure. As long as they want to use the public airwaves, though, the public should have some oversight into what goes on.

(Remember, "the big bad government" isn't telling them what to do, the people that own the infrastructure, us, are telling them what to do. It's just that the process is very, very indirect.)
Ok, point taken but equally, nobody is forced to develop for the iPhone. Develop for Android or Symbian. Ultimately, so many developers have succumbed to Apples practices and they are responsible for giving Apple the power they have.
This is still no reason for government involvement.
Agreed it was too strong of a statement, but denormalization really is something you do all the time in big databases. It is not some targeted last resort technique.

If you have 30 million rows in a table you absolutely cannot do joins so you bring everything in that you commonly need.
I don't think it has to do with whether or not it is the American/Capitalistic way either...

It's about whether it is right to have a platform that is closed without specifying clearly and unambiguously what the rules are for access to that platform.

Imagine you're an Iphone developer, you build your application, you get it accepted. Business is good. Then you hire some more people and you improve your application. Business is even better. Sooner or later you have an office full of people, and then one day your application gets rejected. Not only that, you'll have to pay back to the users that bought your application what they paid for it.

And all this without so much as an explanation why or a public rulebook where you could see for yourself why you were not in the clear.

Capitalism or the American way does not enter in to it. Think about a real-world analogy (and which like all analogies is broken) where the toll-keeper on a road would decide retroactively that the goods that you transported on their road did not meet their criteria, and that you have to reverse your business for the last N months, without any recourse on your part.
ASP .NET MVC!
I voted Yes, I'd have a problem with this. Sounds like a common sense idea, but the implementation would be horrific. How exactly do you set the standards for this? You can't make a law especially for Apple, so you have to legislate ... what exactly?
"the public should have some oversight into what goes on", the public do have some oversight. The public could stop buying AT&T and Apple products/services.
Harsh Truths About Corporate Blogging
The billion dollar genius ego dilemma
Here's where the analogy breaks down:

Ingredients listed on food are provided so that people who have allergies can see what's in the food, and not die. In a universe where foods don't have to list ingredients, foods without the ingredient label will be cheaper, meaning allergic people have to pay more to find out what's in the food. Meaning that allergic people ("disabled", if you will) are forced to pay more because of a from-birth (or from-young-age) disadvantage through no fault of theirs.

I'm republican and libertarian as the day is long, but I support government regulation that puts this sort of disadvantaged people on equal footing with everyone else. That means elevators have to be in buildings, handicapped people should get free parking, learning disabled should get special classes in school, etc.

You can't be allergic to an iPhone app. Being open and transparent about an app market is one of those things that should be competitive advantage. Sprint or MS or whoever's building their app store should be able to say "Look at our app store, it's open! Come over here!" as a selling point even when their software stack is inferior (no flamewars please).

I'm an iPhone developer and I am pissed at apple. What they are doing is wrong and evil. But developers are perfectly capable of staging a coup and changing Apple's mind (we did with getting them to release the app store in the first place). I'm open to discussing why that doesn't happen (too many people are making too much money is my theory).

But what shouldn't happen is the government stepping in and saying "Too lazy to stand up for yourselves? Don't worry, we'll do it for you!" That's so dumb I don't even know where to begin. It sets an awful precedent. Software developers are fiery and passionate, generally speaking, and I've seen way too many professions lose that because they outsource their righteous indignation to their government, and then become dependent. And then there's regulation written for yesteryear affecting today's tech companies, and in about fifty years tech becomes the auto industry or the banking industry: one-brilliant people who gave their battles away to someone else to fight, and everybody paid the price for it.

Maybe that's a bit overdramatic for one government intervention. On the other hand, for want of a shoe...
I always keep paper around me to jot down ideas, sketches of interfaces, uml, whatever. The problem for me is retaining the content of the paper for later use, and being able to find it.

I tried a OneNote on a tablet PC for a while but having to wake/boot a sketchpad before capturing your thought just doesn't flow. I also tried OneNote (great program) on my main machine but the mouse and keyboard just isn't conducive to sketching.

What do you guys do?
Morally: yes.
Good business: yes.
Legislated: why?

I bring up Capitalism because this is about business.
All of your points are rock-solid data points of why NOT to do business with Apple's App store. Yet developers insist.

I am going start a company that manufactures pagers. Is this a bad business decision? Maybe ... Is it my choice ... yes...

Of course there's a difference. Your point is about retroactively pulling the plug for no disclosed reason. I get that - but again all the more reason that its a bad business decision.
I'm not sure I see why this would be hard. I'd say the law could look something like this...

"Companies who create computing environments that are not open to all applications must clearly define the acceptance criteria for developers wishing to create applications for those environments"

I guess there will always be some ambiguity (What's "clearly " for example) but anything is an improvement over what we have now.
Thought I was add that the PostgreSQL documentation is really, really good for learning. It is a bit dense but overall very well written, includes nontrivial examples, and you can really get a solid dive into a topic reading it.

The current 8.3 documentation is here:
http://www.postgresql.org/docs/8.3/static/

I especially enjoy the sections on indexes:
http://www.postgresql.org/docs/8.3/static/indexes.html
The thing is your analogy doesn't hold up. Companies are required to put information like the number of calories in a product and that has nothing to do with allergies.

As for the rest of your comment I don't know. I guess we'll see. The tech community couldn't be more riled up then it is now (how many times have "I'm dropping Apple" posts made it to the front page of HN lately?). So if Apple does eventually change their policy than maybe you're right. If not I think you should reconsider your objection to limited Government intervention.
Ok, I get your point.

I think I'm more worried about the 'domino' effects of these arbitrary decisions.

Independent software developers ('the guy in the attic') are probably fairly aware of the legal position they place themselves in when they develop for the iphone (though by the recent spate of postings I'm beginning to doubt even that).

But if you were employed by a company making the above sample iphone app it would be your ass on the line, not your boss'.
"The Glow library is well designed, but why on earth did the Glow developers want to reinvent the wheel? The reason they give -- to support old browsers not covered by existing libraries -- just doesn't make sense."

Real reason :- They are spending their time and their money and the best people to decide how to spend both are the people who "own" both the time and money.

I guessSome devs managed to convince a manager(with budgeting authority) that this was a good idea.

Not that that's a bad thing. In general, I am all in favour of people reinventing wheels sometimes. Every reinvented wheel often fits local circimstances better, (omits unneeded functionality/generality etc) and is a good learning experience, if nothing else. Monoculture sucks.

So "why did they do it ? " is largely an exercise in rhetoric ... except for your key point ( I upvoted you btw)

"But at a time when the BBC is under tight scrutiny and intense political and budgetary pressure, why waste precious resources trying to compete when others will do it for free?"

The fact that they spent public money to do this is far more dubious. That said, large organizations waste a tonne of money on utterly trivial things - a few programmers salary for a couple of years (or whatever the time frame was) is likely to be small beans, relatively.
Thanks for the feedback. I think you are spot on. I've tried to force myself to think in terms of b2b because business are willing to pay for stuff that works. I'll put together some market tests and go out and ask people. thanks again.
I'm not necessarily agreeing or disagreeing with you but I'm curious about one thing: Are you against anti-discrimination laws like those that forbid people from not hiring a person based on skin color?

I ask because those laws set a precedent of using Government intervention to make sure private industries treat people fairly. So if you are in favor of those laws you have to ask yourself if it's fair for some developers to be forced to develop on platforms with 30 million fewer customers.
> The tech community couldn't be more riled up then it is now (how many times have "I'm dropping Apple" posts made it to the front page of HN lately?)

See, it could be much more riled up than it is. For one, developers could pull their apps from the store. That 50,000 figure Apple published ages ago could be 5,000. If Tapulous or one of the iPhone developers that Apple babies pulled their apps in protest, I guarantee it would keep Steve Jobs awake at night.

Google could stop handing macbooks to each new recruit. They could refuse to serve maptiles to future phones.

Front-page posts on HN, while I admit are more meaningful than Reddit or Digg or someplace, are chump change on the thermometer of developer outrage. All anyone's done so far about this is write passioned rants and maybe threaten to not buy any new macs personally.
Thanks for the suggestion but can't really change it now without screwing everything up
The input data would be considered to be 'in' the language.

Think of the evaluator as a classic unix 'filter', the language it implements describes how the input should be formatted.

Just like when you write 'english', you expect the processor of your 'output' to be able to evaluate the english language so that it can produce meaningful output from your input.

I think it is as simple as that. But if it isn't I'm sure it won't be long before I'm corrected ;)

edited slightly for clarity (added the 'to be in' in the first sentence)
i agree. JSON for "simple" data structures if you want to save bandwith, XML if you want to have more complicate structured documents with markup.
not very good. no particular insight, unnecessary bashing of a strawman which you created yourself.

surely you've noticed that the bar around here is set pretty high. you'd have to do a lot better than this to get any traction with this crowd.
Here's my problem with that.

The examples you give are never, EVER going to happen. Developers aren't going to pull their applications from the most popular computing environment just to prove a point. Nor are companies like Google going to change their whole computing environment just to prove a point. It would be corporate misconduct to flush all that money down the toilet just to prove some point to Apple that has nothing to do with your actual business.

So if we accept the actions needed for the public to make Apple change are not things that will ever happen the question is "As a society are we willing to just accept this injustice?" If your answer to that question is "Yes" that's perfectly valid. But if your answer is "No" then it requires government intervention.

Again, keep in mind, we aren't talking about forcing Apple to change their terms. Just to get them to publicly define them so developers don't waste months developing applications that may or may not be accepted.