AppleScript, the perfect adjunct to iTunes: An open letter to Apple CEO Tim Cook - <AUTHOR> http://www.macworld.com/article/3142462/macs/applescript-the-perfect-adjunct-to-itunes.html <comment><USER2> Next year I will have been programming for half a century; in this time I've used a few dozen languages (counting things like awk, m4, and SQL in addition to ordinary programming languages). AppleScript has to be near my least favorite language. It's so called natural language syntax is verbose, unintuitive, and ambiguous to me. Almost any real programming language would be better: bash, python, Lua, JavaScript, tcl, ruby, whatever.

AppleScript seems to be a valiant effort to design a language for non- programmers, but the English like syntax just adds complexity to writing even simple programs.

See Dijkstra's take on "natural language" programming[1].

[1] [https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html)

<comment><USER3> You're also not the audience that AppleScript's natural language programming was designed for (similar with Automator). Don't get me wrong, I feel the same pain points, but AppleScript never was a programming language for developers.

<comment><USER4> I think its a lot worse than this though; it isn't realistically a language for _anyone_.

 _Anyone_ working on almost any task in Applescript is going to be frustrated. In particular, just the ambiguities in the language for doing simple queries on containers makes writing even simple scripts needlessly painful.

<comment><USER5> This.

I can't remember what it was like before I learned a programming language. I do vividly recall my fights with compilers, however, and imagining trying to guess what Applescript wants in a particular context without reasonable notions of what was going on under the hood, and I would have become a plumber instead.

Applescript is horrid. Seriously, every time I try to write something in it, it devolves into Googling for whatever weird, stilted 'natural language' variant is needed in a given context in the best case. The worst case is me wracking my brain for odd ways to write subordinate clauses that might make it happier.

Applescript should be used as the definition of a write-only language. People like to bag on Perl, but even if you hate everything about Perl, it is still a vastly more human language than Applescript.

<comment><USER6> > Applescript should be used as the definition of a write-only language.

It's the opposite. Applescript is a _read-only_ language. Very difficult to write, but easy to read code that's already done. Whereas Perl is easy(?) to write, difficult to read. So it's a "write-only language".

</comment></comment></comment></comment></comment><comment><USER7> All we can do is guess, but maybe they're retiring AppleScript specifically, rather than automation support generally?

Yosemite added JavaScript for Automation (JXA)[1]. Very few people actually enjoy writing AppleScript, I think most see it as a noble but failed experiment in human-language syntax. Perhaps this is just a sign that Apple's removing AppleScript altogether in favour of JavaScript?

[1] [https://news.ycombinator.com/item?id=7862973](https://news.ycombinator.com/item?id=7862973)

<comment><USER8> I'd be very happy to see AppleScript retired in favour of JavaScript. The pseudo-english syntax has always been painful. It might have been reasonable with a good IDE, but I have never found one that can tell me how to write what I want to write.

<comment><USER9> JavaScript is not AppleScript.

JavaScript is only useful with dozens of libraries imported, and they introduce their own quirky syntax (I'm looking at you, JQuery).

JavaScript can't "do shell script" (even PHP can do exec).

JavaScript can't read and write files.

JavaScript can't read the selection in one program, pull data from another program, and merge it in with something on the clipboard to piece together what you're actually wanting.

JavaScript can't handle unicode to my satisfaction. Even escaping strings is a pain. AppleScript's string manipulation is so clean. Regex that would be very complicated to put together without a trip to StackOverflow is translated into something super easy ("every word of last paragraph").

<comment><USER10> JavaScript can do whatever the environment lets it do. Obviously browser based JavaScript is extremely limited but JavaScript running outside of a browser (e.g. on a server, or in a desktop application) can and does do all of those things you say it can't do.

It's been a long time since I've ever done any AppleScript so I can't really compare, but it does seem like the JXA environment can do any of those things, since it has an Objective-C bridge[0].

[0] [https://developer.apple.com/library/content/releasenotes/Int...](https://developer.apple.com/library/content/releasenotes/InterapplicationCommunication/RN- JavaScriptForAutomation/Articles/OSX10-10.html#//apple_ref/doc/uid/TP40014508-CH109-SW1)

</comment></comment></comment></comment><comment><USER11> Literally the only thing I'd improve about this article is that I wish they'd not be so 'iTunes-specific'.

AppleScript is beyond useful for just iTunes - back in the 10.4/10.5 days, I used to use AppleScript for some pretty interesting things, including modifying the 'Extras.rsrc' file to perform some interesting functions like colouring windows and changing font files that OS X simply didn't support at the time.

I also recall making an AppleScript that did some other OS/GUI-level modification, such as choosing to have my icons at the left side rather than the right on the desktop (coming from Windows this was rather annoying)...it's an incredibly powerful and useful tool when utilized correctly and I sincerely hope Apple keeps it around.

EDIT: Damn, I looked around to find that old 'Cloak' program but it looks like macthemes.net has been gone for a long time...makes sense since there's no real 'scene' for that anymore as it's all dynamically-generated now :/

<comment><USER12> Hell, at my last gig, we used AppleScript to build custom DMGs. No doubt there are probably easier ways to go about it, but we didn't need a GUI and the end result was consistent.

</comment></comment><comment><USER13> Part of how Microsoft got into a bad spot was refusing to end-of-life anything. The hardest choice in making products is what not to build and what to take away. Apple cannot maintain an infinite number of components, so I find this type of argument unconvincing. If this feature is so important I need to see numbers. How many people are using it? The thing is, Apple probably already knows this from system analytics and they know that they are better off putting 50 engineers on facetime and zero on this. If you want to argue a feature is important, show me numbers. They cannot please everyone.

<comment><USER14> But they can please the right type of people. You know, the users who talk about your product all day long to anyone you asks and end up bringing all of their relatives onboard. You want those too, and raw numbers won't let you know who they are.

<comment><USER13> It's a fair point. Not all users are equal but I'm very unconvinced by this user's issue because there are a million little oddball use cases out there and Apple does not solve those for everyone. The only issue here is that they used to solve this issue for this user and now they are maybe taking it away.

<comment><USER15> If they can mess with swipe to unlock and make my kid cry then really anything is on the table and we just have to adapt.

<comment> Ar-Curunir "Have to adapt"?

There's choice in the market, you know? I'm pretty happy with my Nexus 6P, for instance.

<comment><USER15> My kid is now very happy with my 6P too :-)

</comment></comment></comment></comment></comment></comment><comment><USER16> So long as OSA sticks around, it'd be hard to shed a tear over AppleScript - you can use saner languages to do everything Applescript does through OSA. AppleScript is a complete abomination of a language. Killing OSA would be a terrible idea though. Not enough information to really know what's happening, regardless.

</comment><comment><USER17> LOL. He writes "You see, it's all about freedom. Freedom to do things we want that Apple doesn't think we need to be able to do."

Apple was never about freedom. Apple has always been about control. They take freedom and control away from consumers to deliver a "better experience" and charge a premium for it. If you don't align with Apple's vision, you are always SOL.

Their whole business model is built on a gamble that they know better then everyone else. no Floppy, iPhone, iPad, no headphone jack... (although the headphone jack is probably a bust)

<comment><USER18> Yep - and this model generally works because when it comes down to it choice sucks.

I'd rather have a high quality thing with good defaults than a thousand different things to choose from. Ultimately the best would be a combination where you have high quality software with sane defaults that also allows a power user to make changes when necessary, but in practice it's hard to do both without tradeoffs that cause you to end up with neither.

This doesn't mean I don't like playing around with linux or that everything Apple does is high quality (looking at you Apple Music), but generally reducing choices a user is required to make is a good thing.

<comment><USER19> > I'd rather have a high quality thing with good defaults than a thousand > different things to choose from

You're a one off edge case though. There is a line between flexibility and lack of control.

<comment><USER20> Are all Apple's customers one off edge cases? That's an awful lot of one offs.

<comment><USER19> He was complaining about an odd one off edge case of debating that quality must come at the cost of flexibility....

</comment></comment></comment></comment></comment><comment><USER21> I'm not an expert, but it seems like there's at least some separation between AppleScript (the programming language), Automator (the visual IDE), and the Open Scripting Architecture (the language-agnostic framework that actually interacts with the OS and applications).

Does anyone know if it's possible to either build open-source clones of Applescript and Automator? I can see why Apple would be leery of supporting a team of people to support those, but maintaining and supporting the OSA seems to bring a broad set of benefits.

</comment><comment><USER22> Apple, can you sink no lower? Even MS has this one figured out.

I guess I'm just pissed because Apple's stuff used to be so good, in so many ways. Heck, I was raised on OS9, and later OSX (both PPC and Intel): I couldn't stand Windows, and was an Apple fanatic for years, viewing even Linux is a worse alternative. I only fell into the Linux thing because I was building my own computer, and no way in hell was I installing Windows on it (Yes, really: And what a faithful decision it was).

And now... Jeez. What a mess. Seriously, Apple. Up your game.

<comment><USER23> I don't think Apple needs to up its game. I think it needs to put some of the gray hairs out to pasture. If I see another video of Jony Ive looking soulfully into the camera telling me that I really really don't need USB and MagSafe because the future ...

Love my SE. Love my Mid 2014 MBP. Don't need a watch.

<comment><USER22> Oh yes.

Speaking of which, have you seen CH's videos mocking this? They're quite funny, especially the one on the iPhone 7:

      Apple: Johnny giveth, and Johnny taketh away.

<comment><USER24> Here's the link:

[https://www.youtube.com/watch?v=RgBDdDdSqNE](https://www.youtube.com/watch?v=RgBDdDdSqNE)

</comment></comment></comment></comment><comment><USER25> I would think that if they're getting ready to introduce a replacement technology ("SwiftScript" maybe?) they wouldn't let go their expert on the old tech just yet.

<comment><USER26> Just Swift I hope. I'd guess it more likely that scripting was dropped alltogether as the number of users of AppleScript is probably under 1%.

</comment></comment><comment><USER9> AppleScript is my first language. When I was 7 years old I learned a little bit of Logo, but I stopped using it. When I was 13, half my life ago, I taught myself AppleScript. Many of my scripts were for iTunes, but I also expanded to scripting my whole OS. I still use it daily.

If there are any comparable programs for Linux, I really want to know. I don't trust Apple's direction, and AppleScript is a killer feature tying me to this platform for now.

</comment><comment><USER27> AppleScript just needs nice IDE with code snippets, etc. Script Editor is just a bit more than TextEdit and it's not enough.

It's interesting language, but it's not used widely, so when you have to use it, you need to remember syntax, etc, and that's much easier with good IDE. I doubt that I would be happier to use Python, because I used it once or twice in my life and I would google for every bit of language anyway.

</comment><comment><USER28> Bring us back another HyperWebCard with a born again ResEdit.

<comment><USER29> Second that! Like many (almost all?) others, I find AppleScript the language really painful to use. As I recall HyperTalk was similarly laden with unnecessary syntactic sugar, but the HyperCard environment was so much fun to use that I really did not mind the language.

<comment><USER30> I really enjoyed working in HyperCard, HyperTalk 2.0 -- but never felt that way about AppleScript.

I don't know why, exactly. Perhaps it was that HyperCard defined a domain. Applying the same primitives to every app could get clumsy.

A hand-waving example: making every useful procedure a function hanging off of a single Window object. Except for the two functions that are actually in the Application object...

(I don't have specific example at the moment but this sort of thing was discouraging for me.)

<comment><USER29> I think what was fun about HyperCard was that it was not purely textual -- a lot of the work (and fun) in building a stack was graphical. AppleScript seems more like a traditional programming language, but with syntax I have a hard time remembering (only use it very occasionally) and a lot of extra typing.

</comment></comment></comment></comment><comment><USER31> Please help us get SwiftAutomation into 10.13 by taking a moment to duplicate the two following Radar tickets (include their rdar:// numbers to help Radar maintainers determine they're dupes), and telling everyone you know to do likewise, and so on:

[http://openradar.appspot.com/29329704](http://openradar.appspot.com/29329704) [http://openradar.appspot.com/29363517](http://openradar.appspot.com/29363517)

More duplicate requests = more likely to get Apple's attention.

See also:

[http://lists.apple.com/archives/applescript- users/2016/Nov/m...](http://lists.apple.com/archives/applescript- users/2016/Nov/msg00182.html)

</comment><comment><USER32> The concept of a general computer is under attack by Apple, Google and Microsoft because consumers don't care and would ultimately prefer an appliance over a general computer. I think it means that the future of general computers will increasingly be relegated to open systems, namely Linux.

<comment><USER20> They're not attacking anything, they're just presenting an alternative. Nobody is trying to take away your Linux distribution.

<comment><USER32> Maybe attacking was the wrong word. Apple and Microsoft, at least, have historically produced general computers but they're moving away from that as computers move more and more from the domain of us nerds to an everyday appliance involved in all aspects of our lives.

</comment></comment></comment><comment><USER3> > It's not clear whether the termination of Mr. Soghoian means the demise of > AppleScript altogether

It's _not_? It's pretty clear to me…

Unfortunately the effectiveness of this argument is lost in the times. The author gets really caught up in metadata, bur we're in a year where Apple just wants you to subscribe to Apple Music and stop managing music files manually. To be clear, I'm not disagreeing with the author, just echoing why I think the argument wasn't effective.

</comment><comment><USER33> AppleScript and other user automation are pro features. They've steadily moved away from that market so I think it's unsurprising if it were retired / abandoned.

<comment><USER34> AppleScript certainly doesn't feel like a language for "pro". It feels like a language for people that can't learn regular computer languages. The irony is a language with a small syntax is easier to learn than something that tries to mimic real languages.

</comment></comment><comment><USER35> You want to script iTunes? That's such a niche usage that it's surprising Apple allows it at all. ITunes is for content consumption.

<comment><USER36> I was going to say what I use Automator for in iTunes, but then I read the article and what the author does is pretty much the same thing as what I do.

</comment></comment><comment><USER37> OP understands the argument is about user freedom and wants Apple to act to preserve it? Really? #wrongtree

</comment><comment><USER38> Scripting iTunes metadata made sense when Apple wasn't pushing a streaming service.

</comment><comment><USER39> |You see, it's all about freedom. I think Apple would disagree with you

</comment><comment><USER40> They have also just killed wifi routers, which likely means Time Machine is also living on borrowed time (clearly it's all going to iCloud very soon).

At least this should free them to focus on their real revenue generators: dongles and "jet white" phones.</comment>


Space Invaders: Why you should never, ever use two spaces after a period - <AUTHOR> http://www.slate.com/id/2281146/

<comment><USER2> I'm a two-spacer ^. Perhaps it is wrong by current standards but I still think it adds to the scan-ability of a paragraph. They call a paragraph full of holes ugly, I call it easier to scan.

And for the record, monospaced fonts aren't dead: all sensible text editors use them. Monospaced fonts are what I use to write ruby code (not many sentences appear there), java code (sigh... Lots of comments and sentences), and even LaTeX documents. I normally compose documents and long emails in a text editor exactly because the typography of a word processor is a distraction. Even this comment box uses a monospaced font!

^ except on the iPhone where it's impossible/awkward

<comment><USER3> The article glosses over monospace fonts, and leads with Assange, quite possibly for Google News juice, before admitting on page two that it's just a convention preferred by lots of typographers for proportional fonts.

In proportional fonts, a single space is better, although monospace uses two after a full stop and after a colon. This is is to prevent "rivers" and make it clearer where one sentence ends and another begins.

I type using two spaces, because a lot of what I type ends up rendered monospace (emails, comments in code, etc.). The nice thing about HTML, though, is that when I view the source, it's usually monospace, but the document will be rendered with a single space, and usually in a proportional font. (I know GMail and Google Groups hate monospace, so a lot of source code and diagrams look unbearable. There were ways to fix this, but I abandoned GMail last year; the Buzz debackle was the last straw in a long line of straws like its lack of threads. That's a different story, though.)

</comment></comment><comment><USER4> He's amusingly wrong in his certainty that everybody else is wrong.

Two spaces grew out of a typographic convention of using a 1.5-width space that was favored by typesetters for proportional typefaces because typewriters didn't have half-width spaces represented on their keyboards. The actually "correct" approach would be 1.5-character width spaces, because even in proportional typefaces a little extra space serves as a useful visual cue that aids in quicker text scanning by eye.

The modern convention of using a single space is the result of journalistic publishers' desire for economy of printing paper. It costs more -- either money for extra pages or characters that won't fit on a page -- to have two (or even 1.5) spaces between sentences. For that reason, a new convention for non-personal correspondence arose, not out of "correctness" or readability concerns, but out of the miserliness of accountants.

As for the lack of studies, that's because it's pretty difficult to come up with a meaningful set of criteria that can be (relatively) easily measured in such a study. Worse, the people with both the resources and interest necessary to fund such studies are for the most part not interested in finding out their cost-saving measures make it harder to read their publications. People I know who read a lot -- who enjoy reading -- including myself all agree, though: having more than a single (proportional or otherwise) character width of space between sentences helps with making it easier to read quickly without having to backtrack and without missing things. In fact, if anything proportional typefaces makes the problem worse, because the spacing between sentences tends to end up smaller than it would otherwise be.

For all his annoying certainty that people who are certain of their disagreement with him are annoyingly wrong, Farhad Manjoo is pretty laughably lacking in the proud correctness he claims.

</comment><comment><USER5> I thought that two spaces are to discern between the period that ends a mid- sentence abbreviation and one that finishes a sentence.

By the way - I think that the layout should be dealt with by the software that converts the string of characters to an actual graphical context. Why should I care what font will my text be displayed with? I prefer software that understands "end of sentence", "end of paragraph", maybe "end of abbreviation" (if necessary to make this distinction) and puts whatever amount of whitespace is appropriate for this to look decent. This usually isn't even an integer number of spaces, but rather a fractional one.

And yeah, I'm a single-spacer but rather because of laziness than anything else.

TLDR: A space in ASCII (or Unicode) encoding of the text != amount of whitespace in layout.

<comment><USER4> I'm inclined to think you're right -- except that two spaces between sentences should still be the norm when typing, until AI sufficient to correctly guess what kind of period you are using is invented, so that the software has the cues necessary to recognize what type of period you used.

</comment></comment><comment><USER6> Honestly I find his argument rather moronic. There's a long list of outdated practices that cost a ton more in productivity than double spaces and he has little hope of changing them as well.

Also, I _like_ Courier AND Terminal.

NOTE: Single my spacing here is due to the iPad, not preference.

<comment><USER7> I think HN collapses two spaces. Let me just test that.

Edit: Indeed, HN won't allow for two spaces.

Second edit: The two spaces are in the source text. Is this a HTML thing?

Third edit: Yes, this is a HTML thing. I somehow must have forgotten how HTML treats whitespace.

<comment><USER8> It's probably standard HTML rendering that is collapsing the spaces. That will happen unless you put an explicit space using  .

</comment></comment></comment><comment><USER9> I'd love to see this guy worked up over an issue that actually matters...

<comment><USER10> Try writing him a letter...

in Comic Sans ;)

</comment></comment><comment><USER11> Thank HTML (and TeX) for auto-collapsing consecutive whitespace...

<comment><USER12> Not only does TeX collapse consecutive whitespace, when typesetting justified text, it will put whitespace back in the least ugly way it can figure out. It's systems like this that make me think humans shouldn't be responsible for things like "number of spaces" at all, unless they _really_ know what they're doing.

<comment><USER11> Agreed. It's too trivial for humans to have to worry about, anyway. Let alone to rant about.

<comment><USER13> Using LyX, you can't even type extraneous space without extra effort.

</comment></comment></comment></comment><comment><USER14> Single page

<http://www.slate.com/id/2281146/pagenum/all/>

</comment><comment><USER15> Typesetters have strange "rules," like quotes straddling "punctuation."

<comment><USER16> I thought that's an American thing.

<comment><USER4> What -- quotes straddling punctuation?

I don't know if it's "an American thing" but, as a resident of the USA, I find it "a stupid thing". Note my period outside the quotes.

Periods go inside quotes, in my world at least, when the quoted text originally included either a comma or period at the point where the quotation ends. Otherwise, the period goes outside the quotes, because putting it inside the quotes makes it an inaccurate quote.

Damned journalistic typesetters are idiots.

<comment><USER17> Actually, it's like the two-space after periods, replacing a longer space: it's a workaround when typesetting does not collapse punctuations. The dot should be below the outer edge of the quotes, otherwise you have too much diagonal white space — not unlike upper-case A and V should be set closer.

</comment></comment></comment></comment><comment><USER4> Slate Invaders: Why You Should Use Two Spaces Between Sentences

<http://blogstrapping.com/?page=2011.014.10.05.57>

HN submission: <http://news.ycombinator.com/item?id=2104266>

</comment><comment><USER18> 'that anyone savvy enough to read Slate ...'

should be able to write a simple filter for his e-mail.

str_replace('. ','. ',$str); in PHP or str.replace('. ','. ') in Python.

I know it's a rudimentary solution but it'll work if one can get so worked up over such trivialities.

</comment><comment><USER19> I don't understand the typewriter argument; monospaced fonts put even _more_ space between characters.

</comment><comment><USER20> The guy is wound up and not thinking clearly.

For nearly all my typing, I use a monospaced font because it makes getting vertical alignment, especially in tables, MUCH easier.

Essentially all my high quality word whacking goes through Knuth's TeX where his care with spacing is high beyond belief. There I include some TeX tricks to put a 'little' extra space after the end of a sentence, but to TeX a 'space' does not have a fixed width and gets adjusted along with all the rest of Knuth's complicated spacing algorithms.

For what a blog such as HN does with my text with two spaces after each sentence is just up to HN, and I haven't gone to the trouble to determine what.

Here's where the guy is wrong:

First, he is way too strong on running down monospaced fonts. Especially for programmers on HN, programming source code nearly always has to look much better in a monospaced font.

Second, and worse, the guy doesn't understand that in high quality typesetting the width of a space is not fixed. So, he is ranting about rubber.

Mostly all he is doing is ranting. Since he is writing for 'Slate', we have to suspect that he is all wound up, "full of sound and fury signifying nothing". Out brief candle. Nonsense. Detritus on the scrap heap of history nonsense. That's why I am always reluctant to read 'Slate': It's written for old maid high school English literature teachers who gush about Shaky Spire.

<comment><USER7> Programmers use monospaced fonts. (Undoubtedly for good reasons.) Nobody else does.

(I'm actually no programmer and I like to use Letter Gothic – a monospaced font – for my personal written correspondence on paper. I don't want my letters to look like they were sent from some corporation and the monospaced font makes the letters more personal without being childish. I would guess that I'm in a small minority, though.)

<comment><USER3> Not just programmers. I've done some work for a lawyer, and a lot of filings and briefs use monospace fonts (wide margins and double-spacing, too). Most drafts and manuscripts are the same, to make things easier to mark up. I think it's also true of screenplays, but I've only had incidental contact with those. I'm sure plenty of other fields use monospace.

<comment><USER4> Basically, any field that requires any rigor tends to deal a lot in monospace fonts. Writing for Slate is not one of those fields.

<comment><USER7> I see no connection between rigor and monospace fonts. Where do you see it?

<comment><USER4> Formatting.

It's tougher to render (for instance) source code in a clear, easily understood fashion in a proportional font than in a monospace font. The same goes for a lot of mathematical and scientific writing, cases where red-pen editor's marks are needed, and so on.</comment></comment></comment></comment></comment></comment>


ESNext Proposal: The Pipeline Operator - <AUTHOR> https://github.com/gilbert/es-pipeline-operator <comment><USER2> I think this is cool! One way to do something similar is just return the result in modification function and then do chaining, like typical js.

</comment><comment><USER3> Would be nice if the pipeline operator also supported promise chains.

<comment><USER4> Async/await is the replacement for promise chains.

</comment></comment><comment><USER5> I for one argue to add this, just because it gives more flexibility.</comment>


How Apple.com will serve retina images to new iPads - <AUTHOR> http://cloudfour.com/how-apple-com-will-serve-retina-images-to-new-ipads/ <comment><USER2> One way to improve this would be to set a cookie and then on the next request serve _2x images. That way all second requests would perform much better and consume less bandwidth, and considering the sizes of this _2x images we can neglect the overhead of the cookie ...

<comment><USER3> Unless you actually do want to serve the low-res images first, to make the pages download and render faster initially. On 3G it probably makes a big difference.

</comment></comment><comment><USER4> I sure would like to see a (simple!) web standard for this. Maybe with something like a 2x_src or HDsrc addition to the img tag.</comment>


Every Lesson Should Be a Hackathon - <AUTHOR> http://coding2learn.org/blog/2014/10/23/every-lesson-should-be-a-hackathon/

<comment><USER2> I completely disagree with the approach of adopting principles from hackathons. Hackathons are nothing more than experiments, unhealthy experiments in my opinion. Sleep deprivation, consuming pizza/junk food and copious amounts of coffee and energy drinks is no decent nor fun way to learn how to code nor is it a good way to build something.

As someone who knows first hand what it is like to stay back and work long hours (not talking about a hackathon, real life here) it is anything but fun. As time rolls on and you grow more tired, you start to make mistakes. Much like a fatigued driver is arguably dangerous driving on the road for an extended period of time, coding for an extended period of time will also cause you crash. In the industry we call this technical debt. Knowingly taking shortcuts or mistakes with the attitude of, "make it work now, we'll make it better later"

I think the idea of a hackathon in theory is more fun than it actually is in practice. The only way to teach and learn is repetition and practice, the rest just comes eventually.</comment>


Best way to hurt Mastercard and Visa: pay with cash whenever you can - <AUTHOR> http://twitter.com/ottodv/status/12637397661515776

<comment><USER2> The alternative, cash, cheques, and debit cards, are just so inconvenient. My bank absolutely takes me to the cleaners for fees when I use my debit card and cheques, not to mention the hassle of actually having a chequebook handy.

I really dislike carrying cash, too. Several months ago I had my locker broken into at the swimming pool and had around $100 stolen from my wallet. It was easy enough to cancel my credit cards, have any unauthorized charges reversed, and have them re-issued, but the cash was as good as gone.

And mail order without credit cards? Forget it!

</comment><comment><USER3> OR use any other credit card (AMEX, Diners Club etc.) to bring profit down of visa and mc ..

</comment><comment><USER4> Or just pay your bill when it comes so you don't pay them interests

<comment><USER5> They still take a cut from the merchants for each transaction--though it's a good start, and living debt free is great.</comment></comment>


Why would you use a commercial database anyway? - <AUTHOR> http://programmingzen.com/2010/10/05/why-would-you-use-a-commercial-database-anyway/ <comment><USER2> > As an advocate for the DB2 team I often hear people ask, "Why would you use > DB2 when MySQL is free and Open Source?". The truth is that countless > companies use DB2 because they know it ends up being cheaper in terms of > both time and cost, when compared to Open Source database solutions.

It's as if PostgreSQL doesn't even exist. DB2 vs MySQL is comparing an aircraft carrier to a kayak. MySQL isn't the only open-source DB out there and it is nowhere close to the best option in most enterprise cases.

<comment><USER3> He isn't comparing DB2 to MySQL. He's comparing DB2 to open source databases. The question he hear's often is about MySQL. I really think he's just using MySQL in the example question rather than saying using the more cumbersome "Why would you use DB2 when [insert a random open source database solution here] is free and Open Source?"

<comment><USER2> > I really think he's just using MySQL in the example

That's the problem I'm pointing out. He is using MySQL to show how much better DB2 is. MySQL is a very poor representative of open-source databases for enterprise use. Most of the good things he said about DB2, apply to PostgreSQL but not MySQL. Yes you can have data-compression on the fly in PostgreSQL. Yes you get over a decade of proven security and reliability. Yes you get utmost performance if you take the time to learn. Yes you get native XML.

Businesses of all sizes should look into open-source databases but not base their decision solely on whether MySQL has that feature or not. MySQL is a small subset of what's out there.

<comment><USER4> ... and if time is money you can also pay a consulting company a few hundred bucks to assess your hardware config and crank out a postgresql.conf that will run great. It's likely you'd have to do the same thing for DB2.

An enterprise RDBMS is a huge decision, a platform a business is built on. At this point in time, chaining a business I'm part of to an expensive commercial database product which offers no substantive benefits and is subject to the whims of product VPs doesn't seem like the best business decision.

</comment></comment></comment></comment><comment><USER5> > (up to 2GB of RAM and 2 CPU cores)

Except that this particular market segment is almost certainly better off with an open source DB.

Also: why is MySQL always the "reference implementation" for database comparisons? MySQL just doesn't cut it in many important ways. Not to say it's not useful for some tasks, but it really isn't in the same league as the major databases, at all.

<comment><USER6> Saddly MySQL has become the Paris Hilton of open source databases. It is famous for no other reason then the fact that it is famous.

<comment><USER7> Not quite. Around 10-12 years ago when dynamic web-programming for the masses started to take off, _nothing_ , and especially not Postgres, paralleled MySQL in low barrier to entry.

</comment></comment></comment><comment><USER8> >DB2 Express-C has some limitations when it comes to los tipos of resources that it can use (up to 2GB of RAM and 2 CPU cores). Fear not though, it's still plenty useful for many startups or small businesses

That is called vendor lock in. Start with this, build with this, once you're dependent and need to grow then we'll extort our share of your profit.

Avoiding vendor lock in is a major reason Open Software exists.

<comment><USER9> You get vendor lock in whether or not is Open Source, unless there is an Open Source project that will instantly convert all my code to use another vendor, including my tests.

While Stallman's desire is not financial profit (which I really think should be the core of your argument, not the lock-in), the lock-in of a GPL-based product chain is just as hard to get out of than one built from IBM (actually quite possibly even harder).

<comment><USER10> There is, it's called DBIx::Class and if you want to learn about it go to <http://email@example.com>

<comment><USER9> IRC chat? I did look it up, and from a 30s perusal it looks like it targets the lowest common denominator for SQL DB, much less cubes and ETLs. Did I miss something?

</comment></comment></comment></comment><comment><USER11> He's right that open-source vs. commercial is orthogonal to the attributes you should really be assessing. Lumping in MySQL with PostgreSQL just because they're both free is a disservice to PostgreSQL.

The author goes out of his way to differentiate Oracle from DB2, but paints all open-source databases as toys. Really, you think I'm not going to notice that there's a significant tier, that most companies probably fall into, between a 50 MB database and a 50 TB database that PostgreSQL can handle beautifully?

</comment><comment><USER12> TLDR:

 _"Today IBM is announcing new pricing ([http://www.db2teamblog.com/2010/10/db2-express-ftl-gets- more...](http://www.db2teamblog.com/2010/10/db2-express-ftl-gets-more- features.html)) to extend the benefits of our support and commercial edition to a greater number of startups and small businesses. You can get the commercial Fixed Term License for about $1,500 per server, per year. (I pay more per year to host this blog.) Aside from 24/7 support, regular fix pack updates, and the clustering option for SQL Replication and HADR, this DB2 Express-C license will also allow you to use up to 4GB of RAM and 4 CPU cores. (There is an Express edition if you'd prefer to pay a one time fee, rather than a yearly one, or if you'd like to pay through other metrics such as per user.)" (also, don't forget to check out the free DB2 Express-C, a starter version whose only limitations are 2GB RAM and 2 Cores)_

</comment><comment><USER13> A little tangential but why would the author be spending $1500 a year to host a blog. Is IBM also his hosting provider?

<comment><AUTHOR> I host several semi-popular blogs, plus a few other sites on a server in the cloud (with The Planet). I get a few million hits a year, and pay $135 a month to keep it up.

<comment><USER14> I don't think it's fair to say it costs you more than $1500 to host one blog when in fact it's a series of sites. It gives people the wrong impression of how much the database costs relative to hosting.

(As an aside, I run a site that gets over two million hits A DAY, I pay nothing for my database, and about $100/mo for hosting.)

<comment><AUTHOR> > I don't think it's fair to say it costs you more than $1500 to host one blog > when in fact it's a series of sites.

I agree. That was poor wording on my part.

> and about $100/mo for hosting

Who do you host with?

<comment><USER14> I have a dedicated server I bought myself years ago and host it at a coloc in downtown Toronto.

</comment></comment></comment></comment></comment><comment><USER15> Does anyone here have feet in both camps? I'd like to read that person's opinion.

<comment><USER16> I've worked with both proprietary DBs, particularly MSSQL and Oracle, and free DBs, particularly MySQL and PostgreSQL.

I would trust Postgres for any production application -- however, Oracle has a few nice solutions when it comes to business intelligence that I haven't found for the free databases. Further, so many solutions (such as the major ERPs) come on big hardware databases that mid-sized companies already have the necessary database. Why use Postgres when you already have a license (or three, including development and staging/training) for a commercial database?

Certainly, at the Fortune 500 level, Oracle and DB2 have advantages that are YAGNI for us. (For example, Oracle RAC is a pretty elegant solution that isn't right for serving Facebook, but certainly adds more convenience than it costs in complexity for a large company.) You can have a big cluster of databases and use a single point of control across the cluster. I just haven't seen the same tools for Postgres.

I would never suggest that Facebook should be served up by Oracle. It just wouldn't make sense considering the cost. However, for a large company with a dozen (or many more) large interrelated applications, both consultingware and internal, used on three continents? I wouldn't want to manage a Postgres cluster....

(I am, of course, oversimplifying things.)

</comment></comment><comment><USER17> I must be in the really cheap camp but $1500 is still a lot for a startup just trying to get off the ground. I rather take that money and spend it on marketing. If DB2 really wants to break into the startup segment they need to offer awesome deferred pricing. As in I don't really want to pay until it really makes sense.

<comment><USER7> You're not cheap. Any business willing to spend $1500 where is doesn't need to is just waiting to have it's lunch eaten.

</comment></comment><comment><USER18> Many commercial databases are good and work very well. The difference is when you are stuck with a small ridiculous problem and are cash-strapped and in a hurry.

Google searches turn up far many more results for solutions to OS software problems than for commercial products. Also forums, knowledge bases and communities are not that convenient to access for many of the "enterprise" vendors. Finally there is the issue of the eventual price being "call-us" for many commercial solutions (although it seems like it is not the case here with DB2).

Open source products often just better fit the dynamics I'm in when starting something.

</comment><comment><USER19> He is _not_ comparing FOSS databases with Commercial databases.</comment>


Google blunder over D-Day doodle - <AUTHOR> http://www.bbc.com/news/technology-27732237

<comment><USER2> Google is in a ... cultural bubble where things like D-Day just aren't important to it/it's people/infamously---this is hardly the first example--- the ones who do the doodles.

That has consequences when so many of their "customers" (or as many note, we're really Google's products :-) venerate these sorts of things, and take it as disrespect. Heck, I have to wonder if they thought they were being deliciously transgressive by featuring a _Japanese_ Go player, although it sounds like this was corrected before it hit the US, which is 5 hours or more behind the U.K.

It's something that Bing gets right, and while Microsoft doesn't seem to be a threat, I seriously doubt it's going to help Google in the long term.

</comment><comment><USER3> Let's see, what can I be outraged about today ... ah, here we go!

</comment><comment><USER4> Do something for free and people start getting upset when you don't do it.</comment>


The Woz: Dancing With The Stars - <AUTHOR> http://abc.go.com/primetime/dancingwiththestars/index?pn=bios#t=star&d=176013

<comment><USER2> Already posted:

Here: <http://news.ycombinator.com/item?id=473496>

Here: <http://news.ycombinator.com/item?id=472975>

People - do your homework, especially if you're new here. Search first before posting:

<http://searchyc.com/>

Otherwise you just look lazy, stupid, or both.</comment>


Ask HN: Will fake accounts be Twitter's downfall? - <AUTHOR>

There is a proliferation of social agencies creating accounts for the sole purpose of spamming followers. I enjoy following people back with similar interests, but lately the Turing test for twitter accounts is getting harder to perform and not worth the time it takes. what can/should the community do? <comment><USER2> I think it will. I've recently joined App.net, no spammers whatsoever. Perhaps Twitter will adopt a similar model to that of App.net?</comment>


On being a bit of an idiot - <AUTHOR> http://www.oblomovka.com/wp/2008/08/20/on-being-a-bit-of-an-idiot/ <comment><USER2> My first article on my blog was actually on a similar concept:

[http://inter-sections.net/2007/09/05/it- doesn%E2%80%99t-matt...](http://inter-sections.net/2007/09/05/it- doesn%E2%80%99t-matter-where-you-start)

The key ideas is: so long as you learn from your mistake and you have a way of gathering criticism so that you can keep improving, you can start at the very bottom and still end up at the very top. If you have no feedback mechanism, no criticism, no measurement that allows you to correct your course, however (or if you ignore all that), it almost doesn't matter how high you start, you'll always end up mediocre at best.

</comment><comment><USER3> Be unafraid to die, and you will live! Reminds me of "9 out of 10 businesses die":

If you start 10 startups, you have near-certainty of making it (yeah, I know 1-.9^10<1), assuming you learn a lot from each attempt.

What can stop you: giving up OR being unable/unwilling to learn some particular lesson that is crucial. The article is about making yourself vulnerable to learning.</comment>


iWoz: Woz talks stories from his autobiography (intro by Andy Hertzfeld!) - <AUTHOR> http://video.google.com/videoplay?docid=383231378223541436 <comment><AUTHOR> Andy Hertzfeld (billed as "The first Macintosh programmer...ever" by NerdTV) runs Folklore.org, a collection of early Macintosh stories from the trenches.

<http://folklore.org/>

<http://www.pbs.org/cringely/nerdtv/shows/></comment>


The Early Development of Programming Languages (1976) [pdf] - <AUTHOR> http://bitsavers.trailing-edge.com/pdf/stanford/cs_techReports/STAN-CS-76-562_EarlyDevelPgmgLang_Aug76.pdf

<comment><USER2> Hey, that's my old boss at Imagen, Luis! He was one of Knuth's fair-haired boys. (Hails from Argentina.)

Luis and Les Earnest spun off Imagen as a start-up from the TeX project at Stanford around 1980, and I joined them soon after that as #4 or #5--memory lost in the mists of time. We were productizing the laser printer prototype Luis and Kok Chen built for the TeX project, using Andy Bechtolsteim's Sun-1 68K-based VME card as the processor. (It was fun hanging around with Knuth socially a bit, since he was on our board.)

The first printers were LBP-10 "wet process" lasers from Canon, which Canon used to explore the laser market, and Imagen got the first one the US, I believe. We worked very closely with Canon, as they prepared to launch the first dry process laser engine, the LBP-CX, which was the heart of our next generation of products, and also the basis for the first Apple LaserWriter.

Don't tell Steve (Jobs), but we got the first LBP-CXs in the US. The Canon folk told us to keep that a secret, as they had to pretend Apple was getting the very first crack at their printers.

Of course, Apple + Adobe blew us away in the end. We bet on a memory- conserving banding image processor with display-list processing on the fly while the paper was moving, while Apple/Adobe said, screw it, we're going to put 1MB of RAM in the printer, and take as long as we need to build the page before printing. Guess one should never bet against RAM getting cheaper over time, but that wasn't obvious at all at that point in history. (I think Apple had decided that reducing the cost of the printer wasn't that urgent.)

<comment><AUTHOR> Awesome.

</comment></comment><comment><USER3> It's rare to see a paper by Knuth not in TeX.</comment>


A list of campus ambassador programmes for students - <AUTHOR> https://github.com/palash25/awesome-campus-ambassadors/ <comment><AUTHOR> This list contains links to various campus ambassador programmes offered to undergrads by organizations working in the domain of software development & computer science. Currently it is a small list and needs contributions from the community.</comment>


Rackspace hardware failure, all data lost. Oops... - <AUTHOR>

Just a friendly reminder to not put too much trust in "the cloud", it was just our development server and we are rebuilding... but not with Rackspace. The thing is that this is the only message I have received about it. It's pretty much: "yeah, we lost all your data, good luck".
<comment></comment><comment></comment><comment></comment><comment>===
Hello,
This message is a follow-up to our previous emails. Despite the very best efforts of our engineering and datacenter operations teams, unfortunately the host machine that your cloud server xxxxx resides on was not able to be recovered. At this point, there is complete data loss on the server.
If you have taken a server image, your next step will be to build a new server from the server image. If you require the same IP address, please contact support prior to deleting the failed server from your account and we will assist you in sharing the IP to the new server. If you have not taken a server image, your next step will be to build a new server from a stock image and then upload data from your local backup.
We are extremely sorry for this inconvenience. Our Billing Team is going to process a xxxx credit for the server, equal to the monthly cost.
If you have any further questions, please contact a member of our support team by responding to this ticket, visiting us in live-chat, or by calling xxxxx or xxxxx
Best Regards,
The Rackspace Cloud
US Toll Free: xxxxxxxxx
</comment><comment></comment><comment></comment><comment>==== </comment><comment><USER2> This all depends... were you paying for a managed server that they were supposed to be backing up? If so, massive fail by rackspace. But if you were supposed to be in charge of the backups, then don't blame rackspace.

</comment><comment><USER3> You can outsource your hardware, but you can't outsource your responsibility. Backups and redundancy are your responsibility, not your service provider's.

<comment><USER4> Another thing of note is your service agreement. Check what responsibilities and restitution are present in the contract. If you need them to be liable for damages beyond downtime, make sure it says that in the contract. If you need them to failover, make sure it says that in the contract. If it doesn't, well... it's pretty much: "yeah, we lost all your data, good luck".

<comment><USER5> I've done hosting for over a decade; no provider with a brain is ever liable for anything more than what you've paid for.

<comment><USER4> The company I work for has cloud hosting contracts which state if the service goes down, they are liable for a certain percentage of lost revenue due to the outage. This comes with a 100% uptime guarantee, including several failovers. We pay dearly for it, but if you need something specific, you'll likely be able to negotiate a contract based on what you need. If it's not in the contract, you won't get it was my point.

<comment><USER5> Fair enough; but you're still going to limit your liability. Assume your customer spends $10K/month with you; or $120K/year. Would you ever commit to compensating them $1MM+ in the event of an outage? Of course not. It would be business suicide.

If you want that level of uptime, you build out your own place (i.e. Amazon, Facebook, Google). If you're not big enough to build your own, you live with the possibility of downtime.

<comment><USER4> True story. I took your comment two ways, and wrote my response based on the wrong interpretation. For that I apologize. Of course we pay more than the host could ever be expected to pay out. It's an insurance policy, when it comes down to it. It's also less than we would have to pay to get our own datacenter put up faster. As a stop-gap between the time our software went live and the time when our datacenter will be operational, it's worth it. Time to market was very important, moreso than the cost we pay up front. Losing marketshare forever is worse than an $8b/yr company losing a few million dollars for just one quarter. You and I are not disagreeing.

But this is all getting off topic. What I was originally addressing was the OP's comment of "sorry, we lost your stuff, oh well". If you want that peace of mind, you're going to be paying for it.

<comment><USER5> "But this is all getting off topic. What I was originally addressing was the OP's comment of "sorry, we lost your stuff, oh well". If you want that peace of mind, you're going to be paying for it."

Agreed.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Rage level depends on what you're paying for. I have a server at Rackspace, it's my job to ensure backups, not theirs. That's the service level I pay for. They offer a backup service through Cloud Files that puts your backup on a different server. About once a month (which is all I need for the little usage my server gets) I log in, click the button to do a Cloud Files backup, and I'm done. Costs me about 60 cents a month for the file storage, pretty cheap for an off-server backup. If the server holding my instance fails, it's a couple of clicks and about 10min to restore it back.

I hate it for anyone who loses data, but if you're not paying them for a backup service, it's an expensive lesson to learn.

</comment><comment><USER7> No backups, hey? That's rough my friend and I feel bad for you. Best of luck recovering and thanks for the reminder; I'm going to make sure that my backup scripts work!!!</comment>


Aviation Enhanced Security Measures for All Commercial Flights to the U.S - <AUTHOR> https://www.dhs.gov/news/2017/06/28/fact-sheet-aviation-enhanced-security-measures-all-commercial-flights-united-states <comment><AUTHOR> More details and Q&A here: [https://www.dhs.gov/aviation- security](https://www.dhs.gov/aviation-security). A couple of highlights:

\- _The current PEDs restriction implemented in March 2017 will be removed should the 10 airports comply with the enhanced security measures outlined in the TSA directive issued June 28, 2017 and when such procedures are verified by TSA inspectors._

\- _Over the next few weeks and months, DHS /TSA will work with aviation stakeholders to ensure these enhanced security measures are fully implemented. Those stakeholders who fail to implement these requirements and the follow-on measures within certain timeframes run the risk of additional security restrictions._</comment>


Next Hacker News DC Meetup is Tomorrow, July 17th - <AUTHOR> http://meetup.hackernewsdc.org/events/57309472/

<comment><USER2> I've added it to the Hacker News meetups guide on Lanyrd - anyone know of any upcoming events that are missing? <http://lanyrd.com/guides/hacker-news- meetups/>

</comment><comment><USER3> See you there.

(Although it would typically be cause for a downvote, I'm going to point out that they have good buffalo wings.)

<comment><USER4> I gave you an upvote for that ;-)

I haven't been to one of these before. How is it?

<comment><USER3> I've only gone to two. I'm in grad school and classes are usually 4:30-7:30 and an hour metro ride, so I rarely make it in time.

Of the two I have been to, I've had some pretty interesting (and wild) conversations.

</comment></comment></comment><comment><USER5> I'm probably going to go to this, never been before (or to any other kind of meetup). Anybody have advice on what to expect?

If anyone has any advice regarding parking, that would be appreciated as well.

</comment><comment><USER6> Had a good time at these meetups, to bad I'm in Toronto now.

</comment><comment><USER7> I'm out of town this week. I wish I could have made it!

</comment><comment><USER8> Nice. Is the next one going to be in DC?

</comment><comment><USER9> Does anyone do these is Boston?</comment>


8 week iOS Bootcamp in Seattle Guarantees $60k job offer - <AUTHOR> http://www.codefellows.org/iOS

<comment><USER2> Looks great. Not sure how they 'guarantee a $60k job offer or we'll refund your tuition' but either way, it's nice to see an iOS bootcamp in Seattle like this.

<comment><AUTHOR> Code Fellows works with each student to get their skills to the level of being hire-able, and then works with partner companies to place them. If for some reason a student tries and can't get a job their tuition gets refunded. Does that answer your question?

</comment></comment><comment><USER3> I expect them to be returning a lot of money then... I'm sorry but I wouldn't hire someone that has 8 weeks of experience developing for iOS let alone pay them 60k.

<comment><USER4> I made $120K at my first iOS programming job and I had 0 weeks of experience, so $60K for 8 weeks sounds like a bargain for the employer.

<comment><USER5> nice to hear that rdouble! how did you get hired, and were you hacking on your own projects/code before that?

<comment><USER4> Well I was a different sort of programmer before. That is just the going rate for ios programmers in NYC these days, I think. If you've never programmed before $60k is a good rate but even then you can move up in salary really quickly if you're good.

</comment></comment></comment></comment><comment><USER6> This looks great, I signed up for Javascript and Python looking forward to either one of those.</comment>


Mapping the Atari – Introduction (1983) - <AUTHOR> http://www.atariarchives.org/mapping/introduction.php <comment><USER2> This was one of the first books I got for the Atari machine. Unlike an Apple, which came very well documented and was a simpler hardware design, the Atari had custom chips with some better capabilities, but very little in the way of information.

Spent a lot of fun days reading that book, then writing little programs to learn to exploit the hardware. Happy days.

</comment><comment><USER3> A nice reminder of the days when hardware was far simpler and in some ways more "idiot-proof"... accessing undocumented device registers on a modern system could in the worst case cause irreversible damage, e.g. by overvolting various components including the CPU.

<comment><AUTHOR> And much more damage to the wallet...</comment></comment>


Introducing the Unity ARKit Remote - <AUTHOR> https://blogs.unity3d.com/2017/08/03/introducing-the-unity-arkit-remote/ <comment><USER2> This is neat. It makes the development process so much faster. Nice!</comment>


Finnish ISP forced to block access to ThePirateBay and other sites - <AUTHOR> http://www.arcticstartup.com/2012/01/09/finnish-operator-required-to-block-access-to-thepiratebay-among-others <comment><USER2> From the looks of it, it didn't take long before it was used to take down something other than piracy sites:

 _"Update: Also, Piraattilahti.fi -address currently hosts just a video file casting criticism against the SOPA legislation in the US. How does this promote copyright infringement?"_

Uh oh..

<comment><USER3> Seems we have a pattern for this in Finland. DNS blocking of suspected child porn sites went live some years ago. Then a researcher published critique on how it was handled (most of the blocked sites did not have any illegal material), and his site got blocked as well.

<comment><USER2> What? Seriously? When criticism like this is censored, you're no longer living in a "free and open" society.. Sorry =(

<comment><USER4> The childporn system in Denmark was used to something similar. The actual list of websites is/was hidden, but got leaked to wikileaks -- a large amount of those banned sites were simply (adult) gay sites that had pissed somebody of.

I am not sure, but I think the end of it was that the leak was blocked too (since it contained addresses of child porn).

Personally I guess they just didn't wanted to have to explain why they blocked a site for a Duck forklift renting company (to be fair, those were some sexy forklifts, they were less than 18 and they didn't have much clothing on).

<comment><USER5> The ministry of purity has determined that your website offends the invisible powers that be. It has been purified. Thank you for your cooperation. This decision may not be appealed or challenged or examined. You may not ask how this decision has been reached because if you do, you would be exposed to impure thoughts.

</comment></comment></comment></comment></comment><comment><USER6> _While ThePirateBay shares illegal material, uploaded by its users, there is a ton of legal material as well._

TPB doesn't share illegal material. They only host the .torrent and magnet files. They don't even run a tracker anymore.

<comment><USER5> Congress could not care less about "legal" or "illegal" data on the internet. HN seems to buy into the idea that Congress wants everything to be fair. No. they just got done bankrupting this country 30 times over via theft by taking the origional, they care not about fairness. Sopa is about a thumb of smite button for Congress. I for one will refuse to code up this mothership app for them. If you find yourself coding this up, half ass it or make a backdoor for the citizens when it gets abused. Absolute power corrupts and causes cravings for more power. child porn, terrorists, fairness are juse ruses to keep people distracted.

<comment><USER6> We don't need backdoors, since it won't work anyway. That's why TPB doesn't run a tracker anymore: they said it was outdated and had been replaced by DHT and peer exchange. You don't even need DNS for that.

</comment></comment></comment><comment><USER7> European court of justice (ECJ) have already ruled that such blocking is againts EU rules and regulations, [http://curia.europa.eu/jcms/upload/docs/application/pdf/2011...](http://curia.europa.eu/jcms/upload/docs/application/pdf/2011-11/cp110126en.pdf)

So I guess that higher Finnish courts will follow ECJ's decision when they get this case.

<comment><USER8> I don't think the ECJ ruling covers DNS- or IP-blocks. To my understanding ECJ ruled against filtering that would require the service provider to look into the traffic that passes through its system.

</comment></comment><comment><USER9> Some more information from the press release (which is in Finnish): Elisa, the ISP in question, has has appealed to the Court of Appeal about the issue. They will not go down easily, that is certain. Moreover, Elisa tried to resist this decision in the past, when the initial order was issued in october 2011, but eventually were forced by legal officials to implement the restrictions.

</comment><comment><USER10> How exactly does an ISP implement arbitrary blocks like this, anyway? Do they hard-code routes to override what their upstream ISP advertises?

(Also, isn't it odd that The Pirate Bay doesn't have any AAAA records? That seems like something that ISPs and governments have no experience with yet and hence would make it rather easy for experienced users to get around blocks. Their DNS server has an IPv6 address; why not www?)

<comment><USER11> They were ordered to do both IP-level and DNS-based tampering.

Any ISP will already have some IP-based blocking mechanism system in place for fending off operational emergencies such as DDoS. Router ACLs and null routes are common ways to do this. In fact ISPs in Finland are required to block SMTP traffic from residential customers by default (except to their own relay servers).

The DNS side they probably had to improvise somehow, possibly by just configuring their own DNS servers as authoritative for the victim domains.

</comment></comment><comment><USER12> Just tested and this does seem to be in effect. Quite surprised to see it in action here. Not that I support piracy but if websites can be shut down on basis of piracy, what stops them shutting them down on for any other reason. Lets hope this stays as a separate incident.

And I guess most people using torrents know how to use anonymous web-proxies, so this doesn't really block the site that efficiently. To enforce blocking piratebay they'd have to block the proxies too, and that would open up another set of problems. Lets now wait for the decision from the supreme court and hope they are sensible.

<comment><USER13> PirateBay is a search engine. Nothing more. It's really stupid to go after sites like this. There are multiple other "torrent sites" operating on the same torrents. You take one down, others are alive. Besides, to start a torrent you only need one hash[1] and working DHT. There are sites which only "host" this hash. On which grounds could you possibly take them down? Then there is another chapter - private trackers. So trying to block one search engine/tracker is really pointless.

And PirateBay itself doesn't even host any copyrighted material. Rapidshare, Megaupload and others do. But they have money.

1\. <http://en.wikipedia.org/wiki/Magnet_URI_scheme>

<comment><USER14> _There are sites which only "host" this hash. On which grounds could you possibly take them down?_

The hash is wrong color[1].

[1] Was on HN a few weeks ago: <http://ansuz.sooke.bc.ca/entry/23>

<comment><USER13> _The hash is wrong color_

This reminded me of <http://www.hid.im/>

</comment></comment></comment></comment><comment><USER15> The same happened in Denmark in 2008. Sonofon, the second largest ISP, was also forced to do a DNS-block on TPB which led to a block by all Danish ISP. As far as i am aware of, it is only TPB and child pornography that is (DNS-) blocked in Denmark.

</comment><comment><USER16> The same happened to TPB in Belgium: a list of domain names were blocked, but in response, depiraatbaai.be was created, which wasn't blocked.

Elisa blocks depiraatbaai.be, but creating a new domain name for TPB would be trivial.

DNS blocks are not effective.

<comment><USER12> In the Elisa press release they explain that they are actually demanded to block the DNS records as well as set of IP addresses (3 IPs). [http://www.elisa.fi/ir/pressi/index.cfm?t=100&o=5130&...](http://www.elisa.fi/ir/pressi/index.cfm?t=100&o=5130&did=17727)

<comment><USER17> Because adding another IP is so much more difficult.</sarcasm>

<comment><USER8> IP blocks can be pretty annoying for the hosting companies and network providers. You can easily end up in a situation where certain number of your (valuable) IPv4 addresses are blocked by different authorities over the world. Your other customers might not like the idea that their website is inaccessible for some people due to the fact that you are also selling capacity to torrent sites.

Same kind of thing has happened with email. Due to the way spam blocking works, the companies that provide email sending services have started to police the traffic themselves.

<comment><USER17> So torrent sites will switch to IPv6. They are already working with specialized providers anyway.

<comment><USER18> And then /64s or /48s become tainted.

<comment><USER17> And then people start automating IP spoofing on a mass scale, to make TPB look like a White House server.

It's an arms race that cannot be won by censors, because the entire infrastructure has been built on loosely-coupled nodes and technologies that can be encapsulated or mimicked.

The Chinese are getting closer and closer to a breaking point, as more people find out how the "real" internet feels like (either by travelling or by finding ever-easier tunnelling technologies); as soon as the economy slows down and people start grumbling, the gates will fall. It's sad that other countries are trying to go the opposite way.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> IMHO the only good thing about this is that it fuels the development of safer and more resilient tools for us. Like Distributed DNS oder Distributed Social software.

<http://distributeddns.sourceforge.net/> <http://wiki.socialswarm.net/Main_Page>

</comment><comment><USER20> What is the legislation in Finland that supports this?

Also, it seems easy to circumvent...

<comment><USER21> > What is the legislation in Finland that supports this?

It doesn't matter? What is the legislation in the US that supports robo- signing people's homes away? What did they recently care about your constitution when deciding that detaining US citizens on a whim, indefinitely, is alright?

What is the legislation that supports torturing Private Manning for months or years?

<comment><USER20> I was merely asking what the legislation was out of curiosity for what justification the Finnish government was using, and because the article said it was ordered by the courts. I never said I agreed with it or thought it would be ok if there was some legislation. I was actually surprised that there would be such legislation in Finland, which I had considered to be much more open than the US is.

The thing that is scary about the US situation is that they do take the trouble to create this sort of legislation (SOPA, NDAA, etc.)

</comment></comment></comment><comment><USER22> Some people say if SOPA will be implemented the big sites will just move BUT this just goes to show that there soon will be barely any places left to go.

</comment><comment><USER23> use www.thepiratebay.ee in case your ISP is Elisa!

</comment><comment><USER5> The number of seconds it takes for law makers to realize that this is some of the most powerful legislation on the planet Earth today is about a couple hundred.

The ability to crush ideas on a global Scale. Fox news would do everything in their power to augment their propaganda machine with this ultimate weapon of censorship.

Stop thinking about that citizen. Don't make me come into your home and install tazer devices in every room to taze you.

It is imperative that we keep a publically viewable updated list of these Blacklisted sites so that the censorship decisions at least can be challenged in court. We don't got due process, but it'll be like the wild west, when someone comes after your family, you don't call the police, you can get a group of your friends, some horses, ropes and trees and get yourself some justice.

</comment><comment><USER24> This is a good thing, piracy is illegal. If there wasn't rampant piracy we wouldn't have to worry about idiots drafting up bills like Protect-IP and SOPA.

<comment><USER25> If you really believe that, you have neither understood basic cause and effect nor the entire problem of copyright in the digital age of unlimited sharing.

<comment><USER24> I think I was a little misinterpreted

<comment><USER26> > If there wasn't rampant piracy we wouldn't have to worry about idiots > drafting up bills like Protect-IP and SOPA.

There's really only one way to interpret that.

Piracy isn't "rampant". Profits are up on pretty much every form of media out there. Every time an industry group whines about piracy, you can count on it being a complete pack of lies.

<comment><USER24> Lol I've gotten so many down votes. I disagree, and I wish people would leave room for discussion instead of being so quick to plaster me with down-vote bullets for what I think.

Piracy in my opinion is rampant. For example: You can go on the pirate bay and pirate the adobe cs suite, microsoft office, your favorite albums, your favorite movies, with ease. You are (if you forgot) supposed to pay for these things.

And this level of access is available to everyone with an internet connection.

I'm not talking about "profits", we all know big media makes enough money to stay afloat & some. But you can't make the assumption that everything is a lie.

I hate it when people go to extremes, and I admit that my claim may be assumption you don't agree with. :/

<comment><USER26> >I disagree, and I wish people would leave room for discussion

Discussion about _what_? You're "disagreeing" with things that are absolutely established and verified fact. Hell, they _admit_ it!

Here's two articles from a half a second spent googling. I'm not making this stuff up!

[http://arstechnica.com/tech-policy/news/2008/01/oops-mpaa- ad...](http://arstechnica.com/tech-policy/news/2008/01/oops-mpaa-admits- college-piracy-numbers-grossly-inflated.ars)

[http://www.techdirt.com/articles/20111003/12283916184/former...](http://www.techdirt.com/articles/20111003/12283916184/former- anti-piracy-investigator-explains-how-he-fed-police-cases-inflated-piracy- stats.shtml)

I absolutely can (and do) make the assumption that everything an *AA group says is a lie, because 1) They've done it multiple times in the past, and 2) they don't care about anything but their own interests.

And as far as "with ease" - you're forgetting that torrenting is still a fairly involved operation. It's accessible to anyone with an internet connection in the same way that programming is accessible to anyone with a computer.

It's not just click a link and download. It's more like:

1) Download and install a torrent client 2) Configure their firewall to allow the connections through 3) Browse a tracker site and select a file 4) Download it 5) Apply whatever cracks are necessary to bypass the copy protection 6) Do all of the above without infecting yourself with some form of malware.

Furthermore, there are at least two studies (and many more industry success stories) that suggest that people prefer the legal option when it's presented to them reasonably.

Reasonable meaning, a fair price (and don't give me any of that "free market" BS either, fair meaning non-insulting), no anti-consumer crap (because DRM inconveniences nobody but paying consumers.. bought a DVD recently?), and no draconian license terms (there is absolutely no good reason that I can't legally rip my DVD's to my computer for my own fair use)

There is no room for discussion or nuance on this matter. The RIAA/MPAA are a threat to freedom, culture and as a result, society at large. They've shown their willingness to lie to pass absurdly horribly legislation - why should anything they ever say be trusted again?</comment></comment></comment></comment></comment></comment>


LinkRev: read and write comments to any website on the Internet - <AUTHOR> https://disrupt-technologies.blogspot.com/2017/10/linkrev-leave-comments-on-any-website.html <comment><USER2> Wow, finally something new!</comment>


Show HN: Live My Journey - Your bookmark for the real world - <AUTHOR> http://www.livemyjourney.com

<comment><AUTHOR> What do you guys think? I know the UI is a little pintrest-like but we're going way beyond just clipping images from the web. In fact, you can't do that. It's more about the places than the photos you clip on to it. We gather the lat long of places so they're all mappable and we can do some amazing things with that sort of data. It's kind of pinterest meets foursquare for travel planning.</comment>


Ask HN: What do you think of mobile development tools? - <AUTHOR>

Are you happy with the development tools for Android/iPhone? What would you change if you could? <comment><USER2> I've been working with Android SDK + Eclipse, and that seems fairly straightforward, as far as the SDK arena goes. Having used Eclipse for some time, I suppose it was familiar, so the pros and cons are effectively the pros and cons of Eclipse, without really bearing on the Android SDK either way.

I keep trying to work with Appcelerator Titanium, but I haven't spent enough time to have much of an opinion of it.

If we're talking hypotheticals, the one thing in mobile development I would change is to figure out SOME way to build iOS apps without having a Mac. I initially thought that Titanium gave me the ability to, but I was mistaken.

<comment><USER3> You can also use IntelliJ IDEA for Android development: [http://www.jetbrains.com/idea/features/google_android.html#c...](http://www.jetbrains.com/idea/features/google_android.html#content)</comment></comment>


LinkedIn will now let you quietly signal when you're looking for a job - <AUTHOR> https://techcrunch.com/2016/10/06/linkedin-will-now-let-you-quietly-signal-when-youre-looking-for-a-job/ <comment><USER2> Hope there is an option to not show your intention to some recruiters especially if they are also employed by your current employer. Otherwise I can see a potentially uncomfortable discussion when the recruiter who finds you is an internal recruiter for your current employer.

<comment><USER3> "Dan Shapero, LinkedIn's Careers product lead, told me that if you turn on Open Candidates, the "looking for new work" signal will only be beamed out to recruiters who are not in any way connected to the place where you currently work. That means that even if you are looking, you won't jeapordize your current job in the process."

<comment><USER4> How do they prevent 3rd party recruiters?

<comment><USER5> My fear exactly.

I get the impression that LinkedIn truly believes that companies will use them and them alone for recruiting.

This option will fail with really bad consequences for some job seekers.

</comment></comment></comment></comment><comment><USER6> I wonder how useful this actually is. Since I like my current, remote-based job, I have tried to signal to recruiters that I'm not interested. In the "Advice for Contacting" section, I state: "I am currently satisfied in my current job and am not actively looking. I am not interested in positions that would require relocation. I would only be interested in positions that allow for remote work, preferably with an predominantly remote-based team."

I figure this says no while still leaving a window open for any other remote based jobs. But that gets ignored and I still get all sorts of recruiter spam sent my way through linkedin. I am pretty sure that even if I outright stated "do not contact me with employment opportunities", I would still receive quite a bit.

Now, if I was looking, I'd have a different advice there and I wouldn't call it "recruiter spam". It hardly seems that recruiters need an invitation to send you opportunities, and difficult to discourage them.

<comment><USER7> I used this feature and recently landed a job. I'd say I love this feature.

My main problem has been that I don't get nearly that many recruiters approaching(when I am actively looking for a job) as many as my peers claim they get. I don't really understand it.

Then I turned this feature on, and my job search became easier. I got plenty of recruiters reaching out to me regarding jobs (I went from 1-2 a week to 2-3 a day).

I'm assuming that it improves the signal to noise ratio. If everybody started to use this feature, recruiters would target better and people who do not want to be approached by recruiters at that point in time, will get less of those mails.

</comment></comment><comment><USER8> Recruiter here. I heard of this feature early on. For a couple weeks its was great and I actually ended up finding two C# developers who I helped find new jobs. It seems to be a little more wide spread now and not as useful but I'm glad the option is there.

</comment><comment><USER9> Is there a feature to block any and all recruiters from contacting you?

</comment><comment><USER10> most managers end up doing so much recruiting on their own that I'd be surprised if many of them did not already have this "premium" feature.</comment>


The Netscape Deathmarch Story - <AUTHOR> http://www.jwz.org/gruntle/nscpdorm.html?old_title_sucked

<comment><USER2> Despite having read this many times, I never tire of it. Reminds me of another classic, "The Graphing Calculator Story."

<http://www.pacifict.com/Story/>

<comment><USER3> Excellent story - well worth the read.

"We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security."

Now that would be funny if it came up in the anti trust lawsuit:

"You developed this competitor to a popular application and released it for free. Do you deny that this is anticompetitive?"

"Actually, we didn't develop that application, we didn't fund it, I have no idea where it came from - it just appeared on the CD we shipped Windows on."

"It just... 'appeared'?"

"Yes"

"May I remind you that you're under oath?"

</comment></comment><comment><USER4> What a toll this kind of thing must take on oneself. I mean, in some ways it's good, becuase there's nothing that will make you appreciate the absence of pain like the prolonged presence of it. Still, his wrists were a mess, he was developing gastro-intestinal disorders, and I'm pretty sure he didn't have any friends during that time period.

<comment><USER5> Sounds like grad school.

</comment></comment><comment><USER6> More classic jwz:

\- [http://www.jwz.org/hacks/why-cooperation-with-rms-is- impossi...](http://www.jwz.org/hacks/why-cooperation-with-rms-is- impossible.mp3)

\- <http://www.jwz.org/doc/lemacs.html>

</comment><comment><USER7> I don't understand how anybody can be remotely productive under such circumstances.Amphetamines?

<comment><USER8> I hope I'm not in the majority when I say this, but my most productive periods (in the sense of _producing_ something) have all involved some kind of death march, almost always self imposed. It's fun, and then painful, and then it brings up a lot of existential angst. Why am I here, and all of that.

</comment></comment><comment><USER9> Wow, this glimpse into his life just made my day. I hope that I never lose the ability to experience this sort of heaven/hell on earth :)

Is there anything more satisfying than making it through something that is nearly impossible?

</comment><comment><USER10> Another example of why keeping a personal diary or log is a great thing.</comment>


Tamei – Categorize Common Lisp Forms by Purity - <AUTHOR> https://github.com/cbaggers/tamei <comment><AUTHOR> For discussion see: [https://www.reddit.com/r/lisp/comments/3mvrw4/tamei_categori...](https://www.reddit.com/r/lisp/comments/3mvrw4/tamei_categorize_cl_forms_by_purity/)</comment>


Show HN: "What Are You Syncing About?" by Ninjadev [WebGL Demo] - <AUTHOR> http://www.pouet.net/prod.php?which=69705 <comment><USER2> That. Was. Positively. Amazing. Demoscene never ceases to astound me.

</comment><comment><USER3> Saw this on the livestream, really great stuff!

</comment><comment><USER4> How to play it???

<comment><USER5> [https://stianj.com/what-are-you-syncing-about/](https://stianj.com/what-are- you-syncing-about/)

Found via the 'online version' link at the right.</comment></comment>


A Forgotten Principle of Compiler Design - <AUTHOR> http://prog21.dadgum.com/136.html <comment><USER2> I understand this isn't the point of the article, but the leading remark is fairly unreasonable.

The lack of a clean module system in C++ is fairly directly a result of it's decent from C, a language designed earlier than Modula-2 and thus unable to learn from it. It would have been very difficult to add such a thing in the intervening time to the language given the required constraints of compatibility.

<comment><USER3> Not really.

For example, the way Objective-C uses #import, is a bit like poor man's solution, but it already makes a difference in compile times.

There is no reason why a module system won't be possible to add in C++. That is why they are finally doing it.

Even C could benefit from one. The thing is, that most likely no one would use it, as many C developers are not used to module systems.

</comment></comment><comment><USER4> _The principle is "compiler optimizations should pay for themselves."_

This principle may seem deep because there is an element of self-reference in it, but it is really totally stupid. It's nothing but an arbitrary benchmark that will reject lots of useful optimizations. It's not "forgotten" wisdom from the golden ages; nobody ever abided by anything like it.

It's cool that the optimizing Oberon compiler did manage to make its own object code smaller than that of the non-optimizing compiler, but I'll eat my hat if they started out by stating this "principle", rather than just noticing after the fact that it had happened.

<comment><USER5> _> It's not "forgotten" wisdom from the golden ages; nobody ever abided by anything like it._

Unless you count Niclaus Wirth as a nobody, this isn't true.

And in general what you wrote is not true --the gist is to be pragmatic about optimizations.

>* but I'll eat my hat if they started out by stating this "principle", rather than just noticing after the fact that it had happened.*

Well, eat your hat then, because Wirth was quite aggressive on following that route and he did state it from the beggining.

</comment></comment><comment><USER6> I believe that the Go creators have embraced this principle.

[http://golang.org/doc/go_faq.html#What_is_the_purpose_of_the...](http://golang.org/doc/go_faq.html#What_is_the_purpose_of_the_project)

<comment><USER7> I don't see the connection. Is Go even bootstrapped?

<comment><USER8> The Go compiler is largely implemented in C. However, unlike most modern languages, Go _has_ explicitly been designed to be easy to compile into fast code.

<comment><USER3> This tends to be Go PR.

Any language with modules has fast compilation times. Turbo Pascal was just one of many languages already doing it in the mid 80's.

The only developers that can believe on this assertion, have only experience with C and C++ compilation times.

</comment></comment></comment></comment><comment><USER9> I don't think this is really a good principal. Some optimizations work really well for some programs - should they not be implemented just because the compiler isn't one of those programs? Say the compiler gets no benefit from object-size improvements - does that mean no embedded software will get to benefit from those improvements?

Here's a principal I learned from a fairly awesome compiler writer, Mike Hind of Jikes RVM (paraphrasing):

"Students often ask me how much speed improvement an optimization should provide to be publishable. If it speeds programs up by 10%, but will take six months to implement, that's not a good result. But if it can be done in a day, and improves performance by 0.5%, that's a great result".

<comment><USER10> It's "principle", "principal" means something else.

<comment><USER9> Indeed. Seems too late to change it now, so this will be my lesson for commenting when I'm really tired.

</comment></comment></comment><comment><USER11> The author of this post is trying to emphasize that _language_ simplicity should be near the top of a PL-and-compiler-dude's priority list. I agree with this point, but I don't think he supports it effectively by confounding it with _implementation_ simplicity. The jewel of the post is: ``With Oberon, Wirth removed features from Modula-2 while making a few careful additions.''

Language simplicity is important. In some cases it's taken too far (e.g., the tiny nearly-self-bootstrapping dialects of Lisp), but a few outliers shouldn't discourage us from removing from our language(s) those non-essential elements of its syntax and semantics.

</comment><comment><USER3> Oberon was a great pastime of mine during university.

I learned a lot about compiler design by playing around in Native Oberon OS, while trying to implement an Oberon compiler.

Everyone that thinks it is not possible to implement operating systems in GC enabled, safe languages, that compile straight to native code, should have a look at the Native Oberon OS.

More information available here, <http://www.ethoberon.ethz.ch/books.html>

</comment><comment><USER12> _Excepting the extreme minimalism of Forth, this is the first language I'm aware of where simplicity of the implementation was a concern._

Actually (and I don't have a reference now, but) Guido van Rossum specifically rejects certain speed or other improvements to CPython because they add more complexity than they're worth to the interpreter/compiler.

</comment><comment><USER13> Speak of the devil.

[http://www.open- std.org/JTC1/SC22/WG21/docs/papers/2012/n334...](http://www.open- std.org/JTC1/SC22/WG21/docs/papers/2012/n3347.pdf)

<comment><USER3> First it needs to get approved and eventually implemented.

I hope it gets accepted.</comment></comment>


Software Is Eating the Ops World - <AUTHOR> http://pcable.net/2016/05/02/programming/ <comment><USER2> I was a sysadmin in the mid-90s and even back then, we had the ethos that if you had to do something more than once script it (in Perl back then) and if possible cron it. The scripts lived in CVS.

So it is very, very weird that in 2016, people are talking as if this is a new concept.</comment>


Idea: on the Show page, remove 'Show HN' from the titles - <AUTHOR> All the links on the Show page start with "Show HN", which is superfluous and the repetition hinders reading of the page. Suggest hiding/removing that text on this page. <comment><USER2> You could turn this little JavaScript snippet into a Chrome extension that runs only on [https://news.ycombinator.com/show](https://news.ycombinator.com/show) pretty easily.

First inject jQuery (or similar):

      var s = document.createElement("script");
      s.src = "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js";
      document.head.appendChild(s);

Then remove _Show HN_ from titles:

      $("td.title > a").each(function(){ this.text = this.text.replace("Show HN: ", "") });

</comment><comment><USER3> Based upon the rules [0] I suspect that the title is parsed and that "Show HN" is what moves a submission to that page. Items from |show| can show up on the front page. I believe having the information in the title gives the community the appropriate context for evaluating and commenting on the item.

Then again, my experience is that titles are a poor proxy for content often enough that I try to click on links before commenting on a submission or evaluating it. Often the awesomeness is inversely proportional to the quality of the title. My heuristic is, when in doubt click.

[0]: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><USER4> I may be completely wrong about this, but I read this as suggesting that the words "Show HN" be hidden from the titles after they have already been moved to show. The words would still be visible elsewhere on the site.

I somewhat agree. It is repetitious, but I've never really felt that it particularly hinders my ability to read the titles.

<comment><USER5> I don't believe the threads actually get _moved_. "Show HN" is simply a filtered view, so the same thread could be on top of Show HN and on the first page of HN. However, it would be possible to hide the "Show HN" when the thread is shown in that view, although I don't know if it's all that useful.

<comment><USER3> I suppose anyone with a strong opinion could write a client side script and test for improved experience.

</comment></comment></comment></comment><comment><AUTHOR> To be clear, the logic I'm suggesting is to hide the text on the Show page only. The text would still be in the title in the database, and shown everywhere else.

</comment><comment><USER6> The Show HN prefix is useful in the list of top stories to distinguish from regular links

</comment><comment><USER7> using show hn in search helps a lot. i say write to every one of them :)</comment>


Creating a Lisp Executable - <AUTHOR> http://stackoverflow.com/questions/25046/lisp-executable <comment><USER2> I wrote Buildapp for SBCL to make this a little easier and command-liney. I use it all the time.

<http://xach.com/lisp/buildapp/>

<comment><USER3> > By design, it does not handle the following tasks:

> ...

> Obtaining libraries (use clbuild, LibCL, cl-librarian, asdf-install, etc. > for that)

I imagine one could also use QuickLisp for libraries? ;-)

<comment><USER2> I gotta update those docs...

</comment></comment></comment><comment><USER4> For CLisp on Windows, one should also put the DLL-files from Base/Full within same directory. For base-users, this means libiconv-2.dll, libintl-8.dll and readline5.dll. For Full, this means zlib1.dll (if you're using it), pcre.dll and svm.dll. Windows usually complain about not finding these, so for portability you should keep them there.

</comment><comment><USER5> Yes, this is the thing that probably most annoys people coming from languages like C about Lisp. Producing a standalone executable is non-obvious, and different from implementation to implementation. Commercial implementations make this simple, but generally, folks learning the language aren't using commercial implementations. It's funny though when you realize that it's not any harder than Java or a scripting language.

<comment><USER6> I've always wondered why this problem only seems to be raised wrt Lisp. I mean, do you get people wanting to create Python executables or Ruby executables?

Also, what is an executable anyway? On my mac, applications are really directories with lots of stuff inside. Why insist on stuffing everything into a single file?

<comment><USER5> Well, not all of us run a Mac. Python and Ruby are both advertised as 'interpreted' languages and most programmers realize that what you do with them is write a script, which you then feed into a Python or Ruby interpreter. Many Lisp implementations are advertised as compiled and when people think of compiled languages, they think of C, C++, Paschal, or any one of dozens of languages where you write a program, feed it to a compiler (either through a build tool or straight) and you end up with an executable file that you can double click on or type in at the command line. When I first started with Lisp I expected something similar, and was surprised.

Lisp isn't really designed with either the standard interpreted language workflow, or the standard compiled language workflow, in mind. It's workflow is actually superior in a low of ways, but it's non-obvious to non-lispers how to make a deliverable.

Actually, it's a huge problem in some ways, as there is no standard way of delivering OSS Lisp software on Linux, or Unix systems. The few OSS Lisp projects there are usually really on the presence of a specific Lisp implementation and bundle any Lisp dependencies in themselves, which when you are familiar with how the rest of the Linux/Unix OSS community is usually packaged and delivered, feels really inefficient. One case in point is StumpWM, a Lisp based Linux window manager that gained some interest a while back. It was actually pretty neat, but there were at least three or four ways to install it and none meshed completely with whatever packaging system your distro was using. I can tell you with some certainty that that hurt its adoption compared to tiled window managers written in C.

I could go on, And deal with everything you said, but I'll stop here. It think it's suffice to say, Lisp is different and people haven't figured out how to reconcile Lisp with their expectations (right or wrong) or the rest of the world.

</comment></comment></comment><comment><USER7> In clojure/lein[1][2] it's simple enough though not really equivalent to a real executable:

      lein uberjar

That'll create a standalone jar. But, of course, the computer will need some sort of JRE.

This definitely reminds me of creating executables in python. Even though python really isn't a lisp it has seemingly crazy, difficult and under- developed and underutilized ways to create executables.. somewhat surprising considering how popular it is today[3].

[1] See <http://clojure.org/>

[2] See <https://github.com/technomancy/leiningen>

[3] Long list ... all have pluses and minuses <http://www.py2exe.org/> <http://pypi.python.org/pypi/py2app/> <http://www.pyinstaller.org/> <http://pypi.python.org/pypi/bbfreeze/0.97.2> <http://cx- freeze.sourceforge.net/>

<comment><USER8> I've published a couple of multiplatform Python executables (dowser.sf.net, archivd) and setting those up (+ installers) sucked weeks of my time. It's pretty terrible.

</comment></comment><comment><USER9> The one thing that's made me apprehensive of using CL for a project.

<comment><USER10> Depends on the project. For most of them you wouldn't need to build an executable.

<comment><USER9> I understand that. If you're making software for yourself, for a business, for deployment on a web server, or for fellow hackers, it's not an issue. However, if you want to make end-user software (games, for example), you don't want to require the user to have a CL installed, or have an executable with a 20mb overhead (see XONG and other games written in CL). Is that more reasonable than what I said earlier?

<comment><USER11> Is 20mb overhead really that bad these days? I'm on a 5 year old computer and currently have more than a gigabyte of free memory.

</comment></comment></comment></comment><comment><USER12> Interpreted programming languages (especially ones with a REPL) are great for their low barrier of entry. However, once someone wants to make an easily distributable executable, they have to jump through numerous hoops.

The only exception to this problem are VMs which are often clunky and restricted to code precompiled for a specific version of a VM. I would like to see more solutions to this dilema, examples of which can be seen in py2exe and pyinstaller, for Python.

Edit: This is a general thought, and not a dig against Lisp. It is made clear by Stack Overflow answers that many implementations of Lisp have easy ways to make executables which are well documented.

<comment><USER13> > they have to jump through numerous hoops

In clisp and sbcl (I do not have a lot of experience with other implementations), the "make this an executable binary" command is a one-liner, so the hoops are at least comparable to other languages.

It occurs to me that every language that has a binary deploy has extra hoops, depending upon what you want. For example, you have to make sure that you use the right flags on gcc to debug your code with debugging symbols (not the default) or use "tail call optimization". No, actually it is worse: serious C projects have large, ugly Makefiles with optimization parameters, dependent library libs specified, dependent library include paths, etc etc. It is so ugly that several systems have been written for the singular purpose of creating a Makefile just so that your little Gtk App can compile. And C is a language people consider to be a real language that compiles stuff. :)

The hoops are not limited to languages with a REPL.</comment></comment>


Automated Test Case Generation - <AUTHOR> https://en.wikipedia.org/wiki/Concolic_testing <comment><AUTHOR> I'd be interested in testing new (C) code against test cases created for the old code, to see if they behaves the same. It would be a way to use old code as the test case for new code, and provide insight about the differences.

Ideally test cases parameterize code and be interesting metrics (on simpler code). I presume a diff on the test cases generated could prove insightful.

Crest does concolic testing for C and is an upgraded version of CUTE: [http://www.burn.im/crest/](http://www.burn.im/crest/)</comment>