No comic sans in httpd status pages - <AUTHOR> https://marc.info/?l=openbsd-tech&m=145590012904434&w=2 <comment><USER3>
        > 	    "sans-serif; }\n"

Note the incorrect, "smart" quote at the end of the line. I'm not sure if that's intentional, but this is going to be interesting.

<comment><USER4> Interestingly, my browser detects the page as Windows-1252 and displays that quote as "

<comment><USER5> That's because marc.info doesn't supply a Content-Type header (or equivalent <meta> tag) to specify encoding, so the browser must assume it's using some 8-bit one. On most computers in Western Europe, the US and so on, it'll assume Windows-1252.

You have to explicitly specify you want UTF-8 to get it. This would seem to be strange since it's The Encoding now, but assuming 8-bit is necessary for backwards-compatibility, I'm guessing.

<comment><USER6> It's the same reason we have to include '<!DOCTYPE html5>' when we want the browser to use HTML5. It's the same reason XHTML failed and we had to deal with quirks mode for years before HTML5. Backwards compatibility sucks.

<comment><USER7> You only need to do <!DOCTYPE html>, without the 5.

<comment><USER6> And that's why I program instead of web design.

<comment><USER8> Are you saying web design isn't programming? HTML isn't (although HTML5 can be if you use canvas etc), but javascript sure is.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> [https://web.archive.org/web/20140625075722/http://www.libres...](https://web.archive.org/web/20140625075722/http://www.libressl.org/)

> This page scientifically designed to annoy web hipsters. Donate now to stop > the Comic Sans and Blink Tags

All the OpenBSD presentations I've read have been in Comic Sans. They really like that font :)

<comment><USER9> I think they do it to make a point, they don't care about stuff being pretty, they care about it being sane and secure. If the only thing you complain about is a typeface then maybe they're doing their job right :)

<comment><USER10> Given that fonts are attack vectors, why style text at all?

<comment><USER9> The consideration of fonts as attack vectors is highly overplayed - <USER2> bytecode allowed in TTF in OTF fonts is pretty limited, while mistakes have certainly been made in FreeType and other implementations it's no worse than the JavaScript sandbox most people are already relying on in their browsers.

<comment><USER11> There are some fonts you should never install, even if they look innocuous:

[http://fontmeme.com/freefonts/134412/the_trojan_horse.font](http://fontmeme.com/freefonts/134412/the_trojan_horse.font)

And other fonts are so beautiful that merely looking at them can cause harm:

[http://re-type.com/notaweblog/2013/03/06/new-font-from-retyp...](http://re- type.com/notaweblog/2013/03/06/new-font-from-retype-medusa/)

</comment></comment></comment></comment></comment><comment><USER12> Text of the message (since the site seems to be down):

\- - -

      List:       openbsd-tech
      Subject:    [PATCH] No comic sans in httpd status pages
      From:       Peter Krantz <peter () peterkrantz ! se>
      Date:       2016-02-19 16:40:33
      Message-ID: AAE82534-AF27-4CC9-B780-38F05596FE38 () peterkrantz ! se
      [Download message RAW]

Hi!

For some reason the httpd status pages (e.g. 404) use the Comic Sans typeface. This patch removes comic sans and sets the typeface to the default sans-serif typeface of the client.

This lowers the number of people contacting website maintainers with typeface complaints bordering on harassment.

Cheers,

Peter

      ? no_comic_sans_in_404.patch
      Index: server_http.c
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>=
      RCS file: /cvs/src/usr.sbin/httpd/server_http.c,v
      retrieving revision 1.105
      diff -r1.105 server_http.c
      811c811
      < 	    "'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }\n"
      ---
      > 	    "sans-serif; }\n"

</comment><comment><USER13> As I understand it, there's no Comic Sans (MS Web Fonts) in OpenBSD, so it basically just trolls everybody else.

I thoroughly approve of it.

</comment><comment> vezzy-fnord An elegant example of a troll trolling other trolls (and few more masterful than the OpenBSD developers), I'd reckon.

<comment><USER14> Good eyes. I've been bitten by those before, took me a while to hunt that bug.

</comment></comment><comment><USER15> This patch is a prime example of why I understand OpenBSD devs' frustration with newcomers. It takes several hours of lurking to get the general idea of what OpenBSD culture[1] is. And yet about once or twice a week there's someone new coming with some demand, backward idea or GPL evangelism, who gets aggressive when challenged. I'd flip the table every single time if I were one of the contributors.

[1] as long as you're not devoid of sense of humor, I guess, in which case there's no hoping

<comment><USER16>
      > And yet about once or twice a week there's someone new
      > coming with some demand, backward idea or GPL evangelism,
      > who gets aggressive when challenged.

You forgot to mention the people who try to spam the lists with propaganda for their own rando OpenBSD fork or derivative.

As a regular reader of openbsd-misc, considering the relatively low volume of the list, the frequency with which people just storm in with batshit craziness is indeed boggling.

I mean..in the last three days alone, look at this[1] and this[2]. wtf!

[1]: [https://marc.info/?t=145589643700008&r=1&w=2](https://marc.info/?t=145589643700008&r=1&w=2)

[2]: [https://marc.info/?t=145564257000002&r=1&w=2](https://marc.info/?t=145564257000002&r=1&w=2)

<comment><USER17> The shame of it is that misc posts asking for help are frequently ignored while any troll can pop up asking about LibertyBSD or the GPL and fresh replies roll in for a week or more.

Misc needs more self-restraint.

<comment><USER15> Most of the questions that aren't answered in manuals do get attention. Manuals exist for a reason and reading them is one of the core requirements for using OpenBSD and asking questions on various lists.

Theo once said (quoting him sounds super preachy, I know) that "if you can't study the world around you, you will remain ignorant", and this perfectly reflect what is truly important about OpenBSD lists.

This and understanding that some of the questions get answered off the list (I know people who got their answers like this and I know I did help once or twice in this fashion). ;)

<comment><USER17> +1. The one time I asked a question on an openbsd list, I got quality off-list replies from the developers themselves within 24 hours.

If you do your homework and follow the netiquette, things get answered. It's a great community. I just wish people would leave it alone and I wish misc@ would not engage trolls.

</comment></comment></comment></comment></comment><comment><USER18> The hate for Comic Sans seemingly knows no bounds.

<comment><USER19> To provide at least one data point: My feelings about Comic Sans amount to "meh". I actually think it's a very-well designed font. It's just that people have no idea when it's appropriate and when it isn't.

I saw the light when I realized that Simon Peyton Jones (of Haskell/GHC fame) purposely used Comic Sans in all of his presentations -- just to weed out who was paying attention to the _styling_ over the _content_. Generally, I think this might be a good principle, but you _can_ definitely take it too far. For example, SPJ's slides are always well-articulated and don't contain L33tsp33k (or whatever we call what the kids use on IM these days).

<comment><USER20> SPJ about Comic Sans:

> This is a very funny question, "Why use Comic Sans?" So, all my talks use > Comic Sans and I frequently see remarks like 'Simon Peyton-Jones, great talk > about Haskell but why did he use Comic Sans?' but nobody's ever been able to > tell me what is wrong with it. It's a nice legible font, I like it. So until > somebody explains to me ... Ah, I understand that it's meant to be a bit > naff, but I don't care about naff stuff, I care about being able to read it. > So if you have got a sort of ... some rational reasons why I should not then > I'll listen to them. But just being unfashionable? I don't care.

<comment><USER10> Because it's difficult to read.

<comment><USER21> > it's difficult to read.

It's recommended for readers with dyslexia because the letter shapes vary so much. (I don't know if there's any research supporting that).

<comment><USER22> Which is exactly why it's distracting to fluent readers.

<comment><USER19> That's an interesting claim. Do you have any evidence/references to back that up?

(I mean, it makes _intuitive_ sense, but that's not really a good indicator of... anything, really.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> I have a script that do most installations and configurations that I run after each Linux install. It contains the following lines:

### fix font issues

sudo rm /usr/share/fonts/truetype/msttcorefonts/comic*

sudo rm /usr/share/fonts/truetype/msttcorefonts/Comic*

So no comic sans cancer for me (except when people are perverse enough to put it into images, or worse, meatspace...)

<comment><USER24> I was watching an episode of That 70s Show a few weeks ago, and I swear I saw Comic Sans on a sign. Not even dramatizations of the past are escapable from it.

</comment></comment><comment><USER25> Be nice with the poor server. Text mirror (pastebin):

[http://dpaste.com/3E9B7BB.txt](http://dpaste.com/3E9B7BB.txt)

<comment><USER26> Seems like they succeeded in their objects of "annoying web hipsters"?

<comment><USER27> Hi! I am the patch submitter and I just wanted to make an honest contribution to fix something I thought was broken. I could not find a way to specify custom status pages in OpenBSD httpd.

The smart quote error was my mistake. I figured patches to email lists should be submitted in a signed email message and used Mail.app for the first time in a while (where I have it configured). Didn't see the auto corrected quote before sending. Contributed a new corrected patch which I hope works better.

I guess this patch will never be considered if the use of Comic sans is intentionally hard coded into httpd but at least I tried.

</comment></comment></comment><comment><USER28> How long had Comic Sans been used on httpd status pages? (The mind reels…)

<comment><USER29> Since it was released in 5.8, I believe.

OpenBSD projects tend to use Comic Sans as a matter of course as a ward against hipsters[1].

[1]: [http://www.openbsd.org/papers/bsdcan14-libressl/mgp00025.htm...](http://www.openbsd.org/papers/bsdcan14-libressl/mgp00025.html)

<comment><USER30> The irony here is that using/liking something specifically because it makes you unusual, and wards off people who aren't like you, is exactly what hipster means.

So OpenBSD are a bunch of hipsters.

<comment><USER16> Pretty sure they were security hipsters before it was cool. ;)

</comment></comment></comment></comment><comment><USER31> The message does not specify why they got complaints.

But it's fair to assume that it was a bad choice, considering the font is not on most plateform

</comment><comment><USER11> The typefascists have won.

</comment><comment><USER32> A thoughtful rebuttal by Comic Sans: [http://www.mcsweeneys.net/articles/im- comic-sans-asshole](http://www.mcsweeneys.net/articles/im-comic-sans-asshole)

</comment><comment><USER33> If you prefer a clean/readable version, it's available here: [https://marc.ttias.be/openbsd- tech/2016-02/msg00313.php](https://marc.ttias.be/openbsd- tech/2016-02/msg00313.php)

<comment><USER34> I was hoping to click on this and find the same page in Comic Sans

</comment></comment><comment><USER35> This reply sums it up nicely.

[https://marc.info/?l=openbsd- tech&m=145592464111609&w=2](https://marc.info/?l=openbsd- tech&m=145592464111609&w=2)

</comment><comment><USER36> Farewell my dear and favorite font!

</comment><comment><USER37> thank god

</comment><comment><USER38> I guess the idea of putting comic sans MS as a way to force companies into putting relevant customised status error messages for users has failed.

EDIT see here: [https://news.ycombinator.com/item?id=9240906](https://news.ycombinator.com/item?id=9240906)

For 500 a ticketing or a contact info to report the problem For a 404 whatever can help the user finds it way For congestion status a link to a status page? For stuff 40? that requires payment a link with a link for legitimately acquiring it ... The webmasters email in case there is something to report could be nice too ...

It really is business meaningful to customize them, I fully support shaming irresponsible webmasters that keep default status pages with comic sans MS.

<comment><USER39> > shaming irresponsible webmasters that keep default status pages with comic > sans MS.

Until they have a filesystem failure that results in the server unable to locate the custom pages, and defaults to rendering the Comic Sans page? Even responsible developers find themselves hitting the consequences of the chaos monkey.</comment></comment>


Kodak to Retire Kodachrome - <AUTHOR> http://www.nytimes.com/2009/06/23/technology/companies/23kodak.html?hpw <comment><USER2> A sad sad day for photographers. I recall seeing gorgeous prints of Steve McCurry's Kodachrome photos on Cibachrome paper a few years ago. The beauty was shocking compared to the film/paper commonly available nowadays.

<comment><USER3> Party@Fujifilm though - their Velvia stock is regarded by many photographers as the Kodachrome killer.

<comment><USER4> Not for skin tones it isn't. The last remaining slide film for people is probably Fuji Astia.

</comment></comment></comment><comment><USER5> It is fitting that this would be announced during the month of Sol.

<http://en.wikipedia.org/wiki/International_Fixed_Calendar>

</comment><comment><USER6> I heard the Paul Simon song in my head upon seeing the headline, even before clicking through to see it mentioned in the first line of the article.</comment>


Neuroscience backs up the Buddhist belief  that "the self" isn't constant - <AUTHOR> http://qz.com/506229/neuroscience-backs-up-the-buddhist-belief-that-the-self-isnt-constant-but-ever-changing/ <comment><USER2> What? I don't see any connection between whether self is constant and whether it has a specific area of the brain or not.

And of course it's not constant; as you learn things, your behavior changes, that's dead-obvious.

Am I missing something?</comment>


Learn Lisp the Hard Way - wes-exp http://learnlispthehardway.org/ <comment><AUTHOR> Wow. The response on here has been amazing---yes, the criticism too. I was really shocked last night with the spike in traffic from Reddit, but I had no idea what to make of getting to the front page of Hacker News. TBH, I'm feeling pretty overwhelmed about the whole thing.

Just to put my two cents in, as a general reply to a lot of comments here... this is a very, very early draft in progress, and I didn't expect anyone to pay attention to this project, let alone post it everywhere. It needs a lot of work, particularly in toning down the Lisp Evangelism, and staying true to the methodology without accidentally parroting Zed Shaw's voice.

Zed Shaw: it means a lot to me to get your perspective here. Yes, you and your series ultra-inspired me. I've wanted to write a book on Lisp for a long time, but it wasn't until I was pointed to your series that I felt like I could give Lisp the perspective it was missing. I'll make a point of editing the Preface more carefully---everything that's up there so far, I wrote off the top of my head with very little editing, so I guess in following your method and format I accidentally used some of your words as well.

Thanks everyone!

</comment><comment><USER2> I really hope Colin finishes this as I've always thought Lisp would be a better beginner language if there was a book like mine for it. You've either got "The Little Schemer" series, which is annoyingly written for little kids but close to the style, or you have giant academic tomes that only hard core geeks would bother reading. A "trainer" book like mine would definitely solve this gap.

The intro is a little bit copied but it's fine since he is keeping to the idea and the "rules" I have, but could be nicer if it was in his own voice more. Who knows, maybe he does write like me a lot or he's just ultra inspired.

The big reason I say people should use their own words, apart from copyright, is that if you're writing one of these books for a programming language you love then your words will express that better. You'll say things that come from your community and culture, and you'll give away a sense of what you like about that language. When people copy what I say the prose comes out obviously not by them and not for that language.

Anyway, this is pretty cool and I hope he works on it some more.

<comment><USER3> [http://landoflisp.com/](http://landoflisp.com/) is a nicely informal book on learning lisp that is easy to get into. Pretty sure I've seen it highlighted here a few times.

<comment><USER4> I like Land of Lisp, and I own the ebook+paperback, but I don't think that it's well suited to beginning programmers. I think the "let's make a game" approach actually works better for programmers who are coming from a different language and trying to understand concept translations, rather than novel concepts themselves.

edit : I can't reply to you, but re-read what I said. I am making the point that I believe Land of Lisp to be for people coming from other languages, whereas I think that "learn X the hard way" is better for people new to programming altogether.

The parent of my reply is pointing out to zedshaw that "Land of Lisp" is a good beginners book. I am adding that it's my opinion that it's a good "beginner at lisp" book, and not an overall "good-for-beginner-programmers" book.

<comment><USER5> Uh, the land of lisp has the let's make a game approach as well. I'm not sure I understand what aspect you're talking about.

<comment><USER5> I'm not sure why my comment was downvoted, but having read and gone through over half of the Land of Lisp personally, I can factually state that it does indeed have multiple game exercises involved.

To quote from the book page:

      Along the way you'll create (and play) games like Wizard
      Adventure, a text adventure with a whiskey-soaked twist,
      and Grand Theft Wumpus, the most violent version of Hunt
      the Wumpus the world has ever seen.

[http://www.nostarch.com/lisp.htm#toc](http://www.nostarch.com/lisp.htm#toc)

If someone would like to argue that it does not have a "game approach", I would like to see the specific reasoning as to why.

</comment></comment></comment></comment></comment><comment><USER6> "The mysterious force driving human society towards the technological singularity, true and total unification of human with technology, also seems to be shaping all programming languages into Lisp, and all computers into Lisp Machines. Lisp, after all, can do everything, and do it every way; that Lisp is not already the de-facto programming language is just a reflection of the state of the world as a whole—only a very small percentage of the population are excited for the technological singularity, but the singularity is coming no matter how much people complain. One way or another, every programmer is going to end up being a Lisper, because every programming language continues to adopt features and syntax from Lisp, one piece at a time. It is in every programmer's interest to master Lisp now, before the world at large realizes how essential Lisp will become over the next two decades."

The title is right, IMO. This is a difficult way to learn Lisp. I'm feeling the burn already.

<comment><USER7> That burn isn't from Lisp, though. It's from this author's tying Lisp to a somewhat far-out world view - one that doesn't actually relate to Lisp very much.

</comment></comment><comment><USER8> I can't bag on a free book, one created as a labor of love...but if I had to make a suggestion, it would be to tone things down a bit:

[http://learnlispthehardway.org/book/preface/](http://learnlispthehardway.org/book/preface/)

> _The biggest secret to Lisp is that it is actually the simplest programming > language ever created—and that, coupled with its expressiveness and > elegance, is why it is favored exclusively by the best programmers in the > world._

As a Lisp novice...my thoughts are, " _Really?_ " to both of those assertions. Because the natural follow up is... _" So if all the best programmers use it, whatever "best" means, why is it a language that seems so rare in everyday use?"_.

No need to assert things you can't actually prove or show...it just builds up skepticism before the reader even starts learning. Just talk about the language at hand, or at the very least, do a quick Rosetta Stone comparison of Lisp doing something much more simply than Python/Ruby/PHP, and that's all you need to write in the intro.

</comment><comment><USER9> An easily overlooked, seemingly forgotten book that is great for newbies is Stuart Shapiro's _Common Lisp: An Interactive Approach_.

I stumbled into Lisp some fourteen years ago when a hard copy of the book landed my way.

The book is now freely available in electronic form (and has been for years): [http://www.cse.buffalo.edu/~shapiro/Commonlisp/](http://www.cse.buffalo.edu/~shapiro/Commonlisp/)

<comment><USER10> That was my first Lisp book 30 years ago already.

</comment></comment><comment><USER11> Ok i started this. How long before I can condescend to the rest of you barbarian peons?

But seriously - i've been wanting to learn a lisp for a while now and this seems like an accessible way to go about it.

<comment><USER11> welp apparently i'm done for now... [http://learnlispthehardway.org/book/1-02-02-more- strings/](http://learnlispthehardway.org/book/1-02-02-more-strings/)

<comment><AUTHOR> Restarted the server, you should now be able to see the next three exercises... although there's very little to be seen in them so far.

</comment></comment></comment><comment><USER12> I have nothing against Lisp, but...

>Is Lisp as hard as people say it is?

>No. Lisp is actually the simplest programming language, and has no syntactic cruft.

I always see this used when claiming certain languages are easy to grasp. "It's not complex at all! The syntax is incredibly simple!" x86 assembly also has very simple syntax but it's not too easy for beginners to write in, beyond very simple and small programs.

<comment><USER9> The syntax of assembly language isn't combinative, beyond simple catenation. You're not creating trees, just a "link sausage" (or, a graph, more accurately) of instructions. Lisp syntax expresses tree structures; it actually does what other languages achieve with complicated syntax. They have parsers which build trees out of nodes. Those trees can be written in a Lisp- like way. E.g. a C declaration might be turned, by a C compiler, into (declare specifiers-qualifiers declarators), where specifiers-qualifiers might look like (const int) and declarator might be (a (pointer (array 3))), giving us (declare (const int) ((a (pointer (array 3)) (b (pointer (function (a int) (b int))))) for the surface syntax "const int ( _a)[3], (_ b)(int, int)". It's not just that the syntax is simple, but that it can capture the structure of programming (and other) languages while remaining simple.

<comment><USER13> You still end up with myriad syntax rules; why (a int) and not (int a)? Why not any inversion or isomorphic transformation?

</comment></comment></comment><comment><USER14> I'm surprised there is no mention of Lispbox[0], by far the easiest way to set up Common Lisp.

[0] [http://common-lisp.net/project/lispbox/](http://common- lisp.net/project/lispbox/)

<comment><USER15> Awesome, I'll give this a try. Does it use Steel Bank Common Lisp ?

<comment><USER16> They wrote that they use "Clozure Common Lisp compiler" [1]

[1] [http://ccl.clozure.com/](http://ccl.clozure.com/)

</comment></comment></comment><comment><USER17> From the FAQ: "Is Lisp as hard as people say it is?

No. Lisp is actually the simplest programming language, and has no syntactic cruft. While it wasn't designed to be "easy to learn" like Swift, Python, Ruby, or Basic, there is less overall to learn and you will be writing real, useful programs in Lisp sooner than you could with other languages."

Is it necessary to put strong subjective statements that have no supporting links or proof? Also, are you seriously saying that /Common/ Lisp is the simplest language? (from FAQ: "Lisp — the friendly nickname for Common Lisp")

<comment><USER18> Syntax wise, it is probably the simplest language as long as you don't include Turing tarpits.

Of course, simple syntax is nice, but it doesn't actually get you very far by itself.

</comment></comment><comment><USER19> "Is Lisp as hard as people say it is?

No. Lisp is actually the simplest programming language, and has no syntactic cruft. While it wasn't designed to be "easy to learn" like Swift, Python, Ruby, or Basic, there is less overall to learn and you will be writing real, useful programs in Lisp sooner than you could with other languages."

It's like a never-ending stream of lies, every word being a little more absurd than the last...

<comment> wes-exp Just because Lisp looks foreign doesn't mean that it's harder. The syntax is _different_ , but it is also very _simple_. If this were untrue, Scheme wouldn't have survived as a teaching language all these years.

<comment><USER19> It's less about it being 'foreign' and more about it being totally unparsable.

The thing with imperative programming is that you don't really need to know the language to at least get an idea of what's happening.

Lisp is so dense that while you can pack an unbelievable amount of programming into a small chunk, approaching it as a beginner is daunting. There isn't a really good way to 'build' on an algorithm and learning it is significantly harder than learning C# or Java or even better yet, Python.

It's like saying, 'Linux is easy to learn! You can do so much in so few characters! It's so powerful! And look, robust manual pages for all!'

Yeah, that's true, but handing a user some pipes and greps isn't going to explain what the hell they actually do or better yet, how to leverage that into something useful. It's just going to look like greek to anyone who sees it and a huge effort has to be made to get to the point where you can even begin to understand what's happening.

Imperative programming doesn't ask you of much. 'Here is a class. Here is the main method. Write some stuff in here. Here are some basic methods in the default libraries and their expected inputs. It's going to execute line by line. Go nuts.'

And that's really the difference here. Lisp asks a lot of the user up front. Python doesn't. C# doesn't. Fuck, Python is so loose that you don't even really need to know what any of the structure is to start writing something that kicks back some output. Yeah, as a group that understands Lisp and Scheme and Haskell and F#, it's really easy to say, 'Lisp isn't THAT hard', but that's bullshit. Lisp IS that hard. Lisp is a very difficult language to pickup when you are starting at square one and it's only marginally easier if your background is purely imperative languages. Misrepresenting that is a bold-faced lie.

<comment><USER20> How much of your argument is cognitive bias?

From what I understand the hardest thing to teach new programmers coming to Java or Javascript or even Python is assignment and mutability. That has a huge cognitive overhead.

Contrast that with the lambda-form structure and substitution method of evaluating expressions in Lisp.

        (function arg1 arg2...)

It's consistent and simple. You can introduce mutable variables and iteration later. With just the substitution method you can go very far as demonstrated by Gerald Sussman in the SICP lectures.

You color your argument with a preference for imperative programming by over- simplifying Java; arguably one of the more difficult languages to teach beginners. The venerable, "Hello, world!" exercise is an illustrative example.

Again contrast that with:

        (format t "Hello, world!")

I think it is possible that Lisp is not that hard to teach as we're meant to believe by arguments like this. Java is a fine language but it requires a fair amount of expertise to use effectively. The same can be said of C. Python and other dynamic languages of the sort might come close to lowering the "difficulty" bar but I wouldn't discount Lisp just because it seems foreign to you.

<comment><USER21> You could even just write "Hello, world!"!

</comment></comment></comment></comment></comment><comment><USER22> I went to a techie high school and we studied LISP in an AI class I took. My biggest memory is the load of parentheses! It was definitely an interesting language and I've often thought about looking back at it for giggles. This could be a good reference.

</comment><comment><USER23> The FAQ section answered all of my questions. Well done.

</comment><comment><USER24> I'm guessing this was posted earlier than expected. Don't see much content beyond the Preface.

</comment><comment><USER25> This is fantastic! Really looking forward to the web chapter!

</comment><comment><USER26> OK. this is actually true. thank you so much

</comment><comment><USER27> What is that background image? Some fractal?

</comment><comment><USER28> thephoeron should start a mail list to let us know when there are updates and when the paperback is ready to buy.

</comment><comment><USER29> " _that Lisp is not already the de-facto programming language is just a reflection of the state of the world as a whole—only a very small percentage of the population are excited for the technological singularity, but the singularity is coming no matter how much people complain._ "

As a transhumanist myself I resent the arrogance that led to this ridiculous appropriation. Yes, Lisp is pretty great, but the use of other languages is not some grave cultural defect through which you can glimpse at all the badness in the world.

If the goal here is to evangelize Lisp, radiating this kind of pomposity seems like a questionable move because it reflects badly on the community you are trying to win new members for. Worse, this could be interpreted as willful cluelessness in the face of the rich multi-language ecosystem potential readers are living in.

As far as the singularity is concerned, monocultural boneheadedness is not something people associate with technological progress.

<comment><USER9> Ignorance of things like Lisp is a cultural defect in computer science. It's just a symptom of a greater problem: lack of awareness of what has already been done by prior generations. If electronics engineering were like CS, some twit would be reinventing the long-tailed differential pair today, and trying to get a patent on it, with full backing from his research institute or employer.

<comment><USER29> That's not the issue. It's about whether you think that Lisp is the only objectively correct answer whenever the question arises "what language are we going to use for this?".

Willful ignorance about other languages and their features is as much a cultural failure as, the hypothecial, unwillingness to learn about Lisp.

<comment><USER16> The point is that other languages added little to what Lisp already had to offer over half a century ago.

Every language has its use, but really we ARE wasting time by splitting the worldwide community of programmers in different languages.

Look at how most programmers love one language and advocate it's the best there is. That's called a split.

Aren't we supposed to not reinvent the wheel?

<comment><USER29> This view only makes sense if you believe one language is enough. One language that has it all figured out, one language that is the right solution for _any_ task.

Even if such a language existed (be it Lisp or not), which is unrealistic, there is still a second aspect to the whole thing: programmers' brains. Different languages map differently to different kinds of brains, and that's a very good reason to explore multiple concepts in itself.

The Split is the natural way to explore a large search space using different strategies. It happens all over nature, and it's the way human-powered research works as well. Monocultures don't perform nearly as well. Yes, there is some effort wasted, but you can rarely ever come to an objective consensus where this waste actually occurs - except, typically, in hindsight.

Also, there is quite a bit of cross-pollination of ideas happening among different environments and languages, so advantageous traits do get passed around beyond their initial ecosystem.

I imagine cross compilers and common runtimes will get more popular, too, now that we have the processing power - and that's also a good strategy do deduplicate effort.

The only thing that really strikes me as a bad strategy is militantly advocating one programming language as the master race. You're not even doing the "pure" in-community a favor by denying that concepts from the outside world might occasionally be useful. Instead members are reduced to armchair criticism along the line of "yeah, nice library, but you didn't write it in Lisp, so at the end of the day nothing at all was achieved."

<comment><USER9> One language might not be enough, but one nice language _plus C_ \--- now you're talking. :) :)

</comment></comment></comment></comment></comment></comment><comment><USER30> Before asking the obvious question when noticing the "Learn [X] The Hard Way" pattern, the FAQ already addresses that :-)

Q: Is this site affiliated with Zed Shaw and Learn Code The Hard Way?

A: No. This is a separately run and managed site, based on the format of Zed Shaw's LxTHW open-source package [1] for writing your own programming language course. You should check out the project and see what others are up to! More information is available at: Learn Code The Hard Way [2]

[1] [https://gitorious.org/learn-x-the-hard-way/](https://gitorious.org/learn- x-the-hard-way/)

[2] [http://learncodethehardway.org/](http://learncodethehardway.org/)

<comment><USER31> Why copy his format? Seems Zed did the hard work to establish the brand.

<comment><USER32> Why would he put up a public repository if he did not want the format copied?

Zed A. Shaw created project Learn X The Hard Way 2011-08-29 22:06:48 UTC This is a skeleton book project that makes it easier to start working on a "Learn X The Hard Way"...

<comment><USER33> I think you can copy his format, but taking his brand is a different story. Zed put a lot of hard work into that, this is less than honest in my mind.

<comment><USER7> Saying that it's a template for a "Learn X The Hard Way" book sounds to me like an invitation to write a book titled "Learn X The Hard Way" (absent any statement on his site asking that people name their book something different).

</comment></comment></comment></comment></comment><comment><USER34> "Lisp is, at its heart, a very mystical language, that blurs the line between programming and magic."

I like lisp, but this kind of mystical gobbledeygook is not helpful. It's worth noticing that mystics and lisp-ninnies are alike in a very important way: promising much, and delivering little. The people who actually accomplish things in lisp (Yann LeCun, Richard Fateman) do not speak in this preposterous mouth foamy way. They also don't work for overt frauds like d-wave.

<comment><USER35> Yann leCun does not use Lush anymore.

</comment></comment><comment><USER21> Regarding the tone I concede it is a little over the top, but considering the author works for D-Wave[1] building the future of (Quantum) Computing I think it is not without merit.

It may be better to leave the intro part for the end as it may alienate programmers that have preconceived notions about lisp based on hearsay and not actual experience (i.e. it's enlightening, it's old, full of cruft, hard to read, it's functional, Clojure is the future of lisp).

It is also very much a WIP that the author didn't submit so keep that in mind.

I hope he gets to writing the chapter on Quantum computing: [http://learnlispthehardway.org/book/3-14-0-quantum- computing...](http://learnlispthehardway.org/book/3-14-0-quantum-computing/)

[1]: [http://www.dwavesys.com/](http://www.dwavesys.com/)

<comment><AUTHOR> It's worth noting that I don't work for D-Wave. Quantum Computing is an interest of mine, so naturally I signed up for their developer program when they launched it a couple years back (which they shut down entirely earlier this year).

<comment><USER21> Sorry, my mistake. Don't know where I got the idea that I had seen D-wave on your gh profile.

<comment><AUTHOR> Oh, yeah that was just the group for members of their developer program. It's gone now though.</comment></comment></comment></comment>


Never mind the data, where are the protocols? - <AUTHOR> http://scholarlykitchen.sspnet.org/2014/11/18/nevermind-the-data-where-are-the-protocols/

<comment> xkcd-sucks Is there any sort of standard for describing protocols?

It seems like the sort of thing that would be developed for high throughput screening, but that's a pretty limited case.</comment>


Pinterest is said to have priced its IPO below its last private market valuation - <AUTHOR> https://www.nytimes.com/2019/04/07/technology/pinterest-ipo-market-valuation.html <comment><USER2> Is it priced low to avoid Lyft's fate?</comment>


Lawsuit claims Facebook illegally scanned private messages - <AUTHOR> http://www.theverge.com/2016/5/19/11712804/facebook-private-message-scanning-privacy-lawsuit <comment><USER2> good... anything to take them down eventually</comment>


Github account compromised - <AUTHOR> http://pastebin.com/E3LPmduh

<comment><USER2> Worth checking [https://github.com/settings/security](https://github.com/settings/security) to see if you've seen any failed login attempts that aren't you.

Also recommend enabling 2 factor authentication.

<comment><USER3> Indeed, I've got failed login attempts from four different IP addresses (220.127.116.11, 188.8.131.52, 22.214.171.124, and 126.96.36.199) over the last two days.

<comment><AUTHOR> 22.214.171.124, 22.214.171.124, 22.214.171.124, 220.127.116.11, 126.96.36.199, 188.8.131.52 were the IPs that hit me. But yes, only for the last 3 days and there's no way they guessed my password in 5 attempts, unless someone's decrypted the Adobe document

</comment></comment></comment><comment><USER4> We just posted more details on this incident: [https://github.com/blog/1698-weak-passwords-brute- forced](https://github.com/blog/1698-weak-passwords-brute-forced)

</comment><comment><USER5> I got this email too, which I found to be really lacking in detail. I asked for more info and will post their response if its applicable.

There's literally no way my password was brute forced unless the adversary built a quantum computer, so I think this indicates that GitHub was attacked as opposed to the users directly.

</comment><comment><USER6> Sounds like Github is doing the right thing. Detecting your account is compromised and forcing a reset of credentials.

It does sound like they might need to up their game on traffic monitoring, since how did the attacker get enough tries to brute force even a simple password? But that's why it's an arms race.

<comment><USER5> No, it'd be the right thing if they didn't get hacked to begin with. This is _GitHub_ being bested by _brute force_.

<comment><USER7> How do you reasonably protect from brute force? Other than enforcing secure passwords.

You block IPs that make too many fail attempts - you block an entire NAT range i.e. schools. Kids like to troll each other.

Alternatives?

<comment><USER5> GitHub has rate limiting in place (for user logins), as it demonstrated when it counter-intuitively locked me out of my own account while I tried to regain access. The fact that multiple accounts were compromised through this attack (despite their rate limiting) and that it would be literally impossible to guess my password sans quantum computing indicates _their_ password was compromised, not the password of any affected account. The solution is for them to use proper password security.

</comment></comment></comment></comment><comment><USER7> GitHub have two factor authentication - why're you not using it?

<comment><USER5> With a secure password and secure browsing habits, I shouldn't need to. I shouldn't need to inconvenience myself like that to accomodate for the host's poor security.

<comment><USER8> Honestly depending on what you use Github for, 2-factor authentication is a pretty minor inconvenience compared to the loss of the account.</comment></comment></comment>


Ask HN: What Web apps increase your productivity? - <AUTHOR> I can't live without Freshbooks. Recently i subscribed to BaseCamp (and loving it so far).
What are Your web apps that you can't live without that boost your creativity/productivity?
Thanks in advance. <comment><USER2> Hacker News.

This is not a joke. I realize that hn is not a web app in the classic sense, but I get far more value from hn than _any_ webapp. Let me explain...

I learned long ago that increasing productivity was like "striking out the pitcher". You got small, easily measured, and much appreciated improvements. But the _real_ improvements come in _major shifts_ in thinking and processing.

I once had a choice of 2 projects to work on, each about the same amount of work for me. One would save 8 people 10 minutes per day. The other would change an entire business process, potentially saving millions of dollars. Believe it or not, I chose the first because I didn't understand the ramifications. Until my first mentor stopped me and pointed all this out (That's how he became my mentor.)

I have looked at several web apps and desktop tools but eventually rejected them all (except for Textpad which rocks). I'm just not interested in saving a few minutes here and there. (I also realize that there may be many web apps that go beyond simple productivity improvements.)

Hacker news, OTOH, changes the way I think all the time. Once or twice a month, I come across something that improves my work by magnitudes, not percentages.

I also get my creative juices flowing simply by participating. It's hard to place a value on that.

<comment><USER3> What's interesting here is that a lot of the commenters -- myself included -- are blurring the definition of what a web app is. I wonder why that is? I don't have a point other than to ask that question, because my gut tells me it would be an interesting thing to investigate.

<comment><USER4> In general, I'd put it like this:

A "web application" is a browser-based tool that allows a user to _create and consume content_.

A "web site" is a browser-based tool that allows a user to _consume content_.

<comment><USER5> Yes; for me the test has always been that a web app has something equivalent to File->New.

</comment></comment></comment></comment><comment><USER6> Dropbox. I don't have to worry about backing up files, and I know if I screw things up I can revert to old versions. Not to mention, sharing files is as easy as dropping them into a folder.

I've been using BackPack for to-do lists, but it doesn't have the depth of features I need. Can anyone recommend a to-do list app with good nesting functionality?

<comment><USER7> If you have gmail, you can add Google Labs Tasks. Nesting, one-click add from email, etc.

<comment><USER8> And integration with Google Calendar, which is a godsend.

</comment></comment></comment><comment><USER3> I'm going to adopt a liberal definition of web app here. The only web app that appears to increase my productivity is Twitter. But I use a desktop client to access the service. I use it for live-searching of programming problems I need to solve. Why is this so funny? Because I didn't comprehend Twitter at all, so much so that I originally joined only to leave my account languishing for months before actually beginning to use it.

I tried Basecamp and it just got in the way of things. When your app is so simple that it can be replicated by email, a calendar, and some shared disk space, don't be surprised when clients refuse to use Basecamp and "degenerate" to using email, a calendar, and some shared disk space. At least, that's been my experience, so I cancelled my account.

Most of the other web apps are pure fluff and/or not productivity enhancers. Freshbooks et all appear to be exceptions to this rule. Online accounting web apps are so much better than their desktop counterparts. If I had a nickel for every time somebody has asked me about an Intuit software problem they're having, I'd be rich.

<comment><USER9> I'd be interested in knowing how twitter increased your productivity. For me twitter is a great tool for networking, increasing visibility for your product/project.

I am yet to see any real networking benefits myself, I find having to put up with 'I am running now', 'I am eating a burrito' more than anything of significance from people I would like to network.

</comment></comment><comment><USER10> Assembla

Google (if that counts)

Featurelist.org (our own site) -- specifically the user feedback widgets that dump all the feedback from all of our different sites into a handy place (per- project) so I can respond/escalate/investigate/etc.

Google Apps / GMail

Defensio (for avoiding having to manually inspect spam comments on our apps)

__ These aren't in the "can't live without category", but still quite helpful:

Feedback Army (for quick usability/sanity checking)

Paypal

Jing (both a tool and a web service)

Amazon S3/EC2 (once you get over the initial hurdles, it pays back in productivity)

Authsmtp (is that a web app?)

StackOverflow

bug.gd (another of our sites, in the process of renaming to ErrorHelp.com) -- since I log every error/solution I ever run into, often I run into my own errors again later and the solution is waiting for me even if I don't remember how I solved it before. Often enough someone else solved an error I had, too.

<comment><USER11> Skype has screen sharing from now ( download beta)

</comment></comment><comment><USER12> Rescue Time. It's hard to cheat, it "just works", and it's dangerously good at picking out my unproductive spurts.

<comment><USER13> Anyone else find that it needs a lot of micromanaging?

</comment></comment><comment><USER14> EC2. I run an XL instance and do any actual program execution on it while I code.

How often are you waiting on your computer? How much is your time worth, compared to $0.80 an hour?

<comment><USER15> Can you explain this setup a little more? What type of applications are you working on and in what language? How do you send code quickly to the server (i.e., do you have to commit code before you execute)?

<comment><USER14> When I'm waiting on code, I'm usually doing database stuff. At the moment I've been working on the same database conversion for weeks, that takes a few minutes to run on an XL instance, and about half an hour on my macbook pro.

I have an svn checkout on the EC2 box (which I update each reboot), and I scp the file I'm working on over for test runs in between commits. I'd use rsync if it were a bunch of files at once, but it usually isn't.

It also sometimes runs Perl/Catalyst web apps.

I save the image each day (when I remember to turn it off), but a smarter setup would be to simply mount my working directories on an EBS mount.

</comment></comment></comment><comment><USER16> Google Calendar.

Saves me from calling my fiancée at work to see what we have going on.

<comment><USER17> I can't even remember how I managed my life before Google Calendar. Texting reminders to myself, settings tasks that need to be checked off, having a simple interface to see how my week/month is laid out... it's a lifesaver.

</comment></comment><comment><USER18> This changed my life: <http://freeagentcentral.com>

Biggest benefits if you are UK based. Blew Freshbooks out of the water from my perspective.

<comment><USER19> Oh wow...I like it! In fact I like it so much I may even overcome the inertia I referenced earlier and switch over. Thank you!

<comment><USER20> Another one to try is <http://www.clearbooks.co.uk>

</comment></comment></comment><comment><USER21> Ask the commenters in this thread: What webapps _decrease_ your productivity? Preferably those we haven't yet heard of? I imagine the answers could turn out much more interesting :-)

<comment><USER22> Youtube. I have to type in the track I am searching for. I would like some sort of Voxli hack for Youtube that will allow speech input (Hold Y + Say the name of the video you are looking for/or say Repeat).

</comment></comment><comment><USER23> Skype, especially combining text chat with voice for telcons

Central Desktop for developing/managing documents and meeting agendas, minutes, specs.

Webex Office for calendar & contacts

123SignUp for registration management

Spellr.us for spell checking blogs/websites

iContact for e-mail newsletters

There is also a great list for startups at <http://startuptools.pbworks.com/>

</comment><comment><USER24> I started using Evernote. Few reasons I like it and continue to use it:

* Can capture whiteboards and make data searchable. Was very useful after brainstorming this weekend. * Has multiple options for using: Web, Cocoa App, iPhone * Easy to use for simple things such as todo lists, jotting notes, voice recordings,etc.

<comment><USER25> I've also been using it to compile technical notes. The iPhone client is pretty slick too. Comes in handy when at the command line of a server without internet access in the datacenter and you need to remember the format of some config file.

</comment></comment><comment><USER26> Of the many to-do apps I've tried, the one I actually use is UnTodos.com, with the somewhat loose categorization of tasks into "Today", "Soon" and "Whenever", and easily moving tasks about, it's one that I haven't given up on (vs. ta-da, rememberthemilk, etc.)

And I also find PivotalTracker.com really usable. At first the terminology (story, icebox...) was a little uncomfortable for me, but I keep coming back to it to handle projects, along with co-workers.

</comment><comment><USER19> Remember the Milk...If something's not on my Remember the Milk to-do-list, it often does not get done. Also, Less Accounting-it's similar to Freshbooks, but I found it first. I'm not sure which is better, but I'm too lazy to switch at this point. And of course, Google, Gmail and associated apps. ReQall is another handy scheduling/reminder service. If they made it easier to organize tasks with tags and to add time estimates for each task, I might switch over from RTM.

Incidentally, the website I write for is a great place to discover new web apps. We try them out and review them for you, so you can decide if they'll be helpful to you or not: <http://www.usefultools.com/>

</comment><comment><USER27> Our shop runs effortlessly thanks to a combination of google apps, freshbooks, github, basecamp, and heroku

</comment><comment><USER28> We too use Basecamp for our project management.

Also, I tried using Freshbooks for invoicing, but it's restrictions with multiple currencies made me to look out for an alternative solution.

Recently, I found CurdBee for invoicing which turned out really productive to me. It allows managing unlimited clients with multiple currencies seamlessly. Also, their UIs are so intuitive making the whole process very simple. If you are budget conscious like me and also want to get your work done you should try CurdBee.

</comment><comment><USER29> I've been recently trying out apps to help better synchronize multiple 2 man (developer/artist) teams for casual game development, and this is what we've found so far. (All of these are free, we're not yet big enough to need heavyweight features that are worth paying for, but when the time comes, I'll happily cough up the cash for good 'robust' tools)

I am checking out some of the other suggestions for possible 'upgrades' :)

\- Google Docs - for Design Documents where we can both edit/view and see modification histories.

\- Toggl - for off the cuff task based time tracking, a bit finicky, and won't let you view details of tasks from other team members, but it's dead simple to use so that's a big plus.

\- Subversion - This doesn't count as a web app, it's a lightweight install on a machine in my home office, but it's a necessity for any coding I do, and crucial for keeping the team synchronized.

\- Skype - for remote brainstorming and quick Q&As when a face to face meetup isn't possible.

\- Unyte - free Skype plugin for screen sharing. Beats the hell out of having to say 'now click Window menu, then library, then go here, etc...

\- Basecamp - not often used anymore, but did a decent job of task planning, scheduling and note making... something about it felt a few degrees off, can't put my finger on what though. Is probably a good fit for most people.

</comment><comment><USER30> Gmail. When its ajax is not acting up.

</comment><comment><USER31> <http://smacklet.com/>

Wrote it for myself. 'Productivity through consciousness'.

<comment><USER32> The under-construction pages are really annoying.

<comment><USER31> Okay, I'll do something about it :-) Since don't have many users and since the current feature set is all I need for myself, I just left it at that.

</comment></comment></comment><comment><USER33> Redmine. It's not perfect, but it resolves all of the shortcomings (IMHO, of course) in the other major project management / issue tracking apps.

<comment><USER34> As a developer of MantisBT, assuming that you've looked at it, mind giving me a summary of what Redmine has that MantisBT lacks?

<comment><USER33> No, I haven't. I've primary managed projects over the years using various amounts of trac, basecamp, ms project and even mediawiki.

It's important to note, however, that it's not always about features, and my first impression of MantisBT looking at it now was mostly defined by usability, so much so that it's hard to tell what features it actually has.

The interface on the demo is very noisy. Redmine behaves like a modern web app, MantisBT appears to behave like a no-frills, late-90s bug tracker. That's probably fine for a certain set of developers, but I use Redmine because it's a replacement for both Basecamp and Trac (and fits the workflow of me and my company better than each), and I'm able to use it to manage non-technical projects with non-technical members alongside technical projects with technical members.

Usability is hugely important. It's not just an asthetic issue. Take, for instance, the issue listing:

<http://www.mantisbt.org/demo/view_all_bug_page.php> or even worse <http://mantis.simplepressforum.com/view_all_bug_page.php>

Especially in the second example, I have no idea what I'm looking at. There is so much information that needs to be digested before I understand what's going on, and it's hard to digest it because there is a lot of visual noise and overpowering colors. And then once I figure out what's going on and decide I want to look at a ticket, I have no idea what I'm supposed to click to open a ticket (apparently the ID)

In contrast, here is Redmine's version of the issue listing (this isn't my project, just an example with the same theme):

<http://redmine.lighttpd.net/projects/lighttpd/issues>

Anyway, I hope this is useful.

<comment><USER34> Thank you; you pretty much echo all of my current frustrations with Mantis. :P

 _MantisBT appears to behave like a no-frills, late-90s bug tracker._

To be fair, Mantis was started in 2000, and the look and feel hasn't really changed since then, mainly because of no good separation between code and presentation; templates are one of the always-on-the-roadmap-but-never- implemented features simply due to having a very small developer team.

Also, I would argue that from a neutral standpoint, but bug listings have a similar level of information density. However, Redmine does a good job of hiding all the unused filters, and an even better job of not _looking_ visually overwhelming. Part of that has been improved recently with the new colorscheme for bug statuses, but there's still a lot that could be done.

Thanks again. :)

</comment></comment></comment></comment><comment><USER35> Not an app, but buy a larger screen, or add a second if you don't. Keep them at head level.

</comment><comment><USER36> <http://nowdothis.com>

<comment><AUTHOR> i love this one, and the fact that it's also translated in french.

</comment></comment><comment><USER37> Google application suite ---especially gmail (search and worry-free attachments that appear on my iPhone). I've been happy with the recent task list and calendar resource additions, too.

</comment><comment><USER14> PBWorks. I find PBWiki much more effective when collaborating on documents than google apps or Trac. Its actually a joy to use, and I can't say that about many apps.

<comment><USER38> I have to agree with this one. Most of what happens in my class are now in PbWorks!

<http://itethic.pbwiki.com> <http://sysanal.pbwiki.com> <http://vertsol.pbwiki.com>

</comment></comment><comment> brown9-2 Stackoverflow, for two main reasons:

1\. The obvious reason: for making it easy to find answers to problems I might have. 2\. The larger reason: I feel like in browsing and reading thru other people's questions, in areas that I'm interested in, I've learned a TON of new things which I would not have otherwise learned or had seen if all I ever looked at was my own codebase/projects.

</comment><comment><USER39> www.rememberthemilk.com

</comment><comment><USER40> I work a lot with different (human) languages in settings where i sometimes need to escape special characters in different web environments. That is why this Unicode converter tool often comes in handy:

<http://people.w3.org/rishida/scripts/uniview/conversion.php>

</comment><comment><USER14> This is kinda lame, but I use it regularly because I cannot remember regular expression syntax: [http://www.addedbytes.com/download/regular-expressions- cheat...](http://www.addedbytes.com/download/regular-expressions-cheat- sheet-v2/png/)

The perl regex cheetsheet.

<comment><USER41> <http://txt2re.com/> is one of the loves of my life.

</comment></comment><comment><USER42> 30boxes.com - My online calendar of choice

Gmail

Twitter

Google Docs

Pandora (the ability to choose the mood music, use headphones and block out the rest of the office)

Twine.com is up and coming as I use it for bookmarking between home and work, and for sharing links with coworkers.

Tweetcore - This was a twitter client I was developing that had a few features which I really liked and streamlined my twitter use, but I've abandoned the project as it was proving more and more complex for less and less a chance of success.

</comment><comment><USER43> My wife swears by Dropbox for a way to fetch big files that everyone can use. She'd use Basecamp if her office hadn't paid for MS Project, which she hates.

</comment><comment><USER44> <http://doihavetokickyourbutt.com/> Stops me from zoning out on the web and get back to work.

</comment><comment><USER45> Google Docs

Pbworks

<http://smacklet.com/>

</comment><comment><USER46> Instapaper - browser plugin that sends things I want to "read later" to my Kindle.

Amazon Subscription Payments is about to get used on Feed.Us

Quickbooks online - used it solidly since 2001, though I hate it. (new design is really nice)

Basecamp is helpful (though I hate it)

Campfire would be great if the other guys I work with liked it.

</comment><comment><USER47> I think we should define productivity, here's one definition I like: [http://www.stevepavlina.com/blog/2005/10/what-is- productivit...](http://www.stevepavlina.com/blog/2005/10/what-is- productivity/)

</comment><comment><USER48> ZenDesk is awesome. If I didn't have it, I'd probably have to hire someone to handle support for me. But now I can handle more requests and satisfy more customers than I normally would be able to with just an email account

</comment><comment><USER49> Not a web-app, but I saved a hell of a lot of time by ditching my digital clock and getting an analogue one instead. Not sure why exactly, I guess I just like seeing a pie chart on my wall…

</comment><comment><USER50> We use compuccino time track in relation with basecamp for all our project / time management. For invoices and quotations it's still words since it's more flexible than any tool out there.

</comment><comment><USER51> webnotes.net (found out about it here, been using it since), google reader, vitalist, a personal IT wiki (using screwturn wiki), and the gtdish setup i got going on on my usb drive (truecrypted w/ backup script that creates a backup whenever im plugged in at home, maintains last 7 backups [each unique day, in case i backed up again on same day for whatever reason]), oh ...and jquery. i know, not all webapps, but those are the things that help me out the most.

</comment><comment><USER52> <http://www.grooveshark.com/> and/or <http://www.pandora.com/>

</comment><comment><USER53> <http://jsonformatter.curiousconcept.com/>

Pretty print for JSON, good for exploring new web services

</comment><comment><USER54> Gliffy.com - a fantastic tool for mapping out database designs, flow charts, etc. Way better IMO than Visio - and much simpler to use!

</comment><comment><USER55> <http://www.slimtimer.com> \- awesome service, pay what you think its worth.

</comment><comment><USER56> feedus - got it installed in several applications so that all the hardcoded text can be changed by anyone in our organization.

</comment><comment><USER57> I'm curious why no one posted Etherpad. :-/

</comment><comment><USER58> BookBurro (<http://www.bookburro.org/>).

</comment><comment><USER22> IDidWork could tremendously increase my productivity if I could update my account using IM.

</comment><comment><USER59> <http://www.doitfuckingnow.com/>

</comment><comment><USER60> <http://www.doitfuckingnow.com/>

</comment><comment><USER61> DeskAway - kinda like basecamp, google docs , twitter apps like twhirl and tweetdeck

</comment><comment><USER62> eCalc - Scientific Calculator <http://www.ecalc.com/calculator/scientific/>

Supports both RPN and Algebraic

Includes integrated unit converter with on-the-fly conversions

Handy when you forget your HP or TI

</comment><comment><USER63> Wiki <http://geniuswiki.com>

</comment><comment><USER64> <http://checkvist.com>

</comment><comment><USER46> More...

Disqus for comments.

Zazzle for selling tshirts.

</comment><comment><USER65> Google {News, Reader}, FriendFeed.

</comment><comment><USER66> google calendar and notepub.com for web clips, bookmarking, todos, and general note taking.

</comment><comment><USER67> Diigo

Netvibes

Box.net

Google docs

Google notebook

Google project hosting

</comment><comment><USER68> SugarSync

</comment><comment><USER69> www.qwikitodo.com

</comment><comment><USER70> launchpad.net

</comment><comment><USER71> qrimp.com

</comment><comment><USER38> Heroku/Herokugarden - in terms of teaching my students how to deploy an ecommerce app in less than an hour (actually 31 minutes). This would have taken A LOT MORE TIME if there was no such thing as instant deployment!

<http://www.youtube.com/watch?v=D0WhxO0W_n4> <http://www.youtube.com/watch?v=vt0RHqRHyvA> <http://www.youtube.com/watch?v=aUG4mf29ZQ8> <http://www.youtube.com/watch?v=UE2YkzKPf0o>

</comment><comment><USER72> Delicious

</comment><comment><USER73> Hacker news and Tonido Workspace for me.</comment>


Starups are improving seniors' social isolation and loneliness - <AUTHOR> https://www.wsj.com/articles/boomers-want-to-stay-home-senior-housing-now-faces-a-budding-glut-11573554601?mod=rsswn <comment><USER2> Improving their loneliness? Making them more lonely or better at being lonely?</comment>


China and India Account for One-Third of the Greening - <AUTHOR> https://www.nasa.gov/feature/ames/human-activity-in-china-and-india-dominates-the-greening-of-earth-nasa-study-shows <comment><USER2> Full map here: [https://www.nasa.gov/sites/default/files/thumbnails/image/gl...](https://www.nasa.gov/sites/default/files/thumbnails/image/global_tamo_2017_full.png)

I wonder how much of the reforestation in China is supported by imported grains being grown in the deforested areas in Brazil, Argentina, etc.</comment>


Show HN: iPIM – Organize your digital life - <AUTHOR> http://ipim.com

<comment><AUTHOR> Hello! Welcome to 21st century. There are tons of information we need to memorize every day. Why don't you free your mind and start taking notes with iPIM ? Notes are organized in a tree view & can be searched easily for a quick look up.</comment>


Hospital Denies Black Teen A Heart Transplant Because Of Trouble With Law - <AUTHOR> http://www.rawstory.com/rs/2013/08/12/black-teen-allegedly-denied-heart-transplant-due-to-low-grades/

<comment><USER2> From reading the details it looks like the reason the administrators gave was a history of unreliability in taking his medication and showing up for doctor's appointments, which is something they consider before letting somebody onto a transplant list, due to the severely limited amount of transplants available. That may seem incomprehensibly harsh, but from what I gather that's standard consideration.

The family is saying that it has to do with his criminal record, but they don't really provide any evidence to support that, and they don't anywhere deny that he has sometimes not taken his medication / missed appointments in the past.</comment>


VITALS PRO That Can Alert Before Heart Attack and Strokes - <AUTHOR> VITALS PRO is the first device who works on EIS Sensing Technology and detects Troponin (T and I) micro particles presence in users body. Through this innovative validated technology it can alert users before any future Heart Attacks, Strokes or a Cardiac Arrest. Read More at - https://goo.gl/TOHXM7 <comment><AUTHOR> A start-up company named Vitals Pro announced the launch of their wearable cardiac health monitoring device which is available as smart-watch and wristband. This device is specially made with many unique features, and enables users to easily monitor their cardiac health in modern lifestyle. The company has said that it is the first device, which can provide real-time medical grade heart health insights and it could save millions of lives every year from stroke, heart attack, and cardiac arrest. Also, it's the first portable and user-friendly medical device that can give real-time alerts before a cardiac arrest and stroke will occur, it will also notify family Doctor of client situation anytime-anywhere.</comment>


Ask PG: Why is HTML-like text stripped from titles? Why can't be used? - <AUTHOR>

The title was "Ask PG: Why is HTML-like text stripped from titles? Why can't <angle brackets> be used?", but the "<angle brackets>" bit was were stripped, so I had to rewrite it without it. <comment><USER2> Odds are, it's to avoid Cross Site Scripting attacks.

[http://en.wikipedia.org/wiki/Cross- site_scripting](http://en.wikipedia.org/wiki/Cross-site_scripting) [https://www.owasp.org/index.php/Cross- site_Scripting_(XSS)](https://www.owasp.org/index.php/Cross- site_Scripting_\(XSS\))

<comment><AUTHOR> That makes no sense. It is trivial to use HTML entities (< and >) here. In fact, I think this is already done for comments.

Test: <>

Edit:

Test: <>

Yep.

</comment></comment><comment><USER3> Why would you want to use HTML-like text in titles anyways?

<comment><AUTHOR> HTML itself is unusual, but > and < do appear sometimes, and the fact they're stripped can make titles cease to make sense.

<comment><USER3> We have three other types of brackets in standard ASCII that you can use for the same purpose within a headline. :P

<comment><AUTHOR> And then there are titles like "70 Unique Ways to Encode <" which have to use a unicode workaround: [https://news.ycombinator.com/item?id=6864186](https://news.ycombinator.com/item?id=6864186)</comment></comment></comment></comment>


At least two car2go's used in a Denver drive-by slaying - <AUTHOR> http://www.denverpost.com/news/ci_28434018/police-denver-drive-by-shooting-suspects-rode-car2go

<comment><AUTHOR> The killing happened in January, but the vehicle information was just obtained.</comment>


Crxcmp, a library for custom HTML elements - <AUTHOR> http://eyeandtea.com/crxcmp <comment><USER2> _f I get more than 350 'likes' for the reddit post where I announced this, I promise to release the library open source_

Why not just do it anyway? I don't understand this mentality.

<comment><USER3> Part of the mentality is that extra effort -- cleaning up code, adding comments, adding documentation, etc. -- may not be worth it. Using the number of likes is an objective way of asking "Will anyone actually care if i do this extra work, or should I do something else with my life?".

<comment><USER2> I dont get _that_ mentality either. None of that stuff is required for open sourcing a piece of software. High quality codebases are not born overnight.

<comment><USER4> It seems you feel entitled to his code?

<comment><USER2> Where and how did you get that impression?</comment></comment></comment></comment></comment>


Agile Content Management System(CMS) for APIs and Clouds, Faster and Simpler - <AUTHOR> https://github.com/Canner/canner <comment><USER2> This will be great now that everyone agrees what agile is.

/s</comment>


Electron v5.0 Timeline - <AUTHOR> https://electronjs.org/blog/electron-5-0-timeline <comment><USER2> Does anyone know if the idea of creating a runtime mode for Electron is on the roadmap? (A runtime mode would be allowing multiple apps to share one installed Electron dependency rather than bundling Electron with every Electron app.)

<comment><USER3> Then you get into the issue of keeping apps and runtime in sync so you don't get issues with older apps not working well with a new version of the runtime required by newer apps...

You end-up having to keep multiple runtimes and hoping they don't step on each-other's toes...

After a while you're still downloading 200+MB runtimes to run your particular app that still requires Runtime 5.05 and hasn't been updated to work with Runtime 6.12 that is required for newer updates of an app that used to work with Runtime 5.84...

Maybe a better idea would be to make Electron's install specific to each app and only include the bits you actually need so it's a 30MB bundle instead?

Just wondering if calling for a runtime isn't going to make things worse in the long run. It 's already often a pain to install an app that target any framework version in particular that may not be installed or may conflict on some user's target machines. Sometimes it's unavoidable, but I'm wondering if this is really the case here.

<comment><USER4> easy. you just add sth like elsched.exe that keeps checking for updates in the runtime, then opens a popup saying "Electron Update Available".

<comment><USER3> Then the Electron Runtime is updated but breaking the particular App that was relying on a feature that has changed since its publication. The problem is not updating the Runtime, it's ensuring that the apps relying on the runtime still work properly after feature updates in the runtime.

</comment></comment></comment></comment><comment><USER5> Those poor Electron devs, they will be pushing that Sisyphean boulder up the hill forever. It reminds me of the thesis of Joel Spolsky's essay Fire and Motion.

[https://www.joelonsoftware.com/2002/01/06/fire-and- motion/](https://www.joelonsoftware.com/2002/01/06/fire-and-motion/)

</comment><comment><USER6> What is the upgrade process like for existing applications built on the Electron framework? Is it well documented and a first consideration or are you thrown to the wind? Will 4 be able to move to 5 or are we talking about rewrites?

<comment><USER7> It's pretty well documented.

If you are just using Electron "off the shelf" to host your web app it's generally `npm install` the updated binary, test, and deploy.

Sometimes an Electron-only API changes, but that's pretty rare and most of them aren't "mission critical" if they break. That's always documented well in the release notes and the API and Electron for the most part seems to follow a "deprecate for a version ahead" pattern that you should have plenty of warning.

If you are using native libraries is where things get complicated. At that point you are likely building your own Electron binary, and need to find updated versions of your libraries that support the upgrade NodeJS and/or Chromium versions. Most of that is the same documentation whether or not Electron was in the project, check the related documentation for the appropriate NodeJS and/or Chromium versions, rebuild as needed using the usual tools.

<comment><USER6> Great response, thank you!

</comment></comment></comment><comment><USER8> As someone who has only ever created some basic quick apps in Electron and NW.js why is it Electron sees a much slower release cadence? Is there a different scope of integration with the underlying components?

<comment><USER9> Chromium changes a lot. One of my teams tried integrating it directly and couldn't keep up with the API change. We went with a 3rd party library that wraps it to shield us from it.

<comment><USER10> Which 3rd party library ? :)

<comment><USER9> jxbrowser. It's worked well for us.

<comment><USER10> Java :-(

</comment></comment></comment></comment></comment><comment><USER11> Looking over the donors page, I'm pretty amazed at slack's absence. Ditto for Microsoft Teams. Way to give back to the community.

<comment><USER12> I'd rather Slack just stop using electron and write a real native app; they can certainly afford it. Meanwhile, Slack remains an incredible resource hog.

<comment><USER13> Slack takes 5-7 seconds to start up and connect on an ultra low latency 300 Mbit connection. I really wish there were a native app on Mac.

<comment><USER14> There is:

[https://www.sblack.online](https://www.sblack.online)

<comment><USER15> AFAICT that is not native:

> Sblack works exactly like a browser with small tweaks. We inject the dark > mode style at the end of the Slack's html, and that's it

I bet it's just embedding a WebView, and the app is small because it uses the system's WebKit2

</comment></comment></comment></comment></comment><comment><USER16> Using Electron is a travesty. Why not something like "sciter" ?

<comment><USER17> Surely you could make a more positive contribution than mindlessly bashing the topic and assume anyone has heard of the random drive-by name drop?

<comment><USER16> People can surely utfg what sciter is in the context of a gui solution ?</comment></comment></comment>