Are you on twitter? - <AUTHOR> I'm starting to love using Twitter. There is something liberating about the constraints.
I'm @tipjoy
http://twitter.com/tipjoy <comment><USER2> Wow a lot of twitter guys here. I wished you could a) Import an opml file with Twitter accounts. b) Create groups of Twitter friends you can message like @group1

If someone knows of any webapp that implements a) please let me know :D

I'm putting all the twitter accounts so far together here: <http://twitter.com/tipjoy> <http://twitter.com/danielha> <http://twitter.com/iamdanw> <http://twitter.com/codergnome> <http://twitter.com/jraines> <http://twitter.com/yansarazin> <http://twitter.com/lukebrdn> <http://twitter.com/darreld> <http://twitter.com/hooande> <http://twitter.com/nkohari> <http://twitter.com/timothyandrew> <http://twitter.com/hasanv> <http://twitter.com/dcurtis> <http://twitter.com/webwright> <http://twitter.com/pkaler> <http://twitter.com/npost> <http://twitter.com/rosshill> <http://twitter.com/avinashv> <http://twitter.com/bootload> <http://twitter.com/stejules>

And I'll add mine: <http://twitter.com/abarrera>

<comment><USER3> Chris Brogan tried the group idea with "Twitter Packs"... he implemented it quickly and dirtily using a Wiki though, so editing it runs into some obvious pitfalls (e.g., contention when a page is edited by more than one person)...

<http://twitterpacks.pbwiki.com/>

I toyed with the idea of implementing it as an actual standalone service without the wiki... but I have too many other "side projects" right now! :)

Here's my twitter account: <http://twitter.com/mdesjardins>

</comment></comment><comment><USER4> <http://twitter.com/danielha>

holler @ me.

Also subscribe to the RSS of your company name (or keyword of choice) at <http://terraminds.com/twitter>. My favorite Kirigins have Tipjoy on that badboy.

<comment><AUTHOR> Hell yah. Terraminds twitter search is actually pretty useful. Searching for your company name is particularly valuable. Go tip 'em.

</comment></comment><comment><USER5> Peronally I've gotten a lot more utility out of Friendfeed so far.

Twitter is neat though -- I'm building a site that will scrape replies to a Twitter user called @rating and put them in a database of ratings. The reply just has to look like this:

@rating 5 "Thing Being Rated" Mini-review goes here.

I'll post it when the battle of Rails deployment is over.

I'm 'jraines' on Twitter and Friendfeed.

</comment><comment><USER6> I don't get it. There is no real need for it. I also don't see how you could easily monetize it.

<comment><USER7> It's description and the inane posts I originally read made me think the same thing!

But, after much use it's a great piece of technology. It allows you to survey a crowd, use it for emergency purposes (San Diego Fire Dept did just this), learn about what your friends are reading/sharing, where they are going for the evening, how they feel, etc...

</comment></comment><comment><USER8> " _... I'm starting to love using Twitter. There is something liberating about the constraints ..._ "

I've used twitter from Nov2006. Some of the constraints I don't like:

\- how they handle urls [0]

\- how they handle people who you like but talk to much [1]

The rest is pretty good. Not too much info, uptime ok (well when I use it) and api is simple & works ~ <http://twitter.com/bootload>

[0] I don't know a good solution but if google created their own shortcuts like tinyurl the web would be a better place.

[1] stacks of quick posts one after the other why not group them by person after a threshold of say 3?

<comment><USER9> I can see the reason for footnotes on a long post for meta information, but why do you use them in your little messages? Why not just explain what's in the footnote when you first mention it?

Not an attack, just a friendly question. I've noticed you do this fairly often.

I agree with [1] though; Robert Scoble is the worst offender, seconded closely by Guy Kawasaki. Bundling messages together would screw up the API and break things like twitterific, probably. I wonder if there's a better solution.

<comment><USER8> _"... Why not just explain what's in the footnote when you first mention it? ..."_

good point, I'll see what I can do.

 _"... I wonder if there's a better solution. ..."_

friendfeed does the obvious thing that is it restricts view to the latest 3 by person so as to not clutter the page. Another idea I can think of would be allow you to select who you want to clamp.

 _"... Not an attack, just a friendly question. I've noticed you do this fairly often. ..."_

to stop adding ellipses (that mess up the text especially if there is a lot of them) allowing you to read. This is especially for links or side notes that relate to the main text but is added interest. Also I use hackernews as a scribble ( <http://flickr.com/photos/bootload/sets/72157600280904949/> ) for later posts on flickr

 _"... Bundling messages together would screw up the API and break things like twitterific ..."_

No just the display, not the data itself. Just grab the latest submission. If more submissions occur in "N" minutes time frame just display the latest 3, have a click & fetch more if required. It shouldn't break app using the api doing this. Friendfeed does this well.

</comment></comment></comment><comment><USER10> <http://twitter.com/joshwa>

Though I think that their potential as messaging glue has yet to be realized-- payloads would be a start, as Winer has suggested, incorporating Yahoo Pipes, Twitterfeed, etc, and make twitter the social messaging bus for the entire web.

My hypothesis is that Obvious is working on this stuff (since it's so, well, ovbious!), but isn't ready to release it until they get their infrastructure stuff sorted out, sign up partners, etc.

</comment><comment><USER11> <http://twitter.com/iamdanw>

Who's on tumblr? I'm <http://tumblr.iamdanw.com> on there

<comment><USER12> <http://twitter.com/iseff>

And, on tumblr, <http://featureorbug.com> (recently became a Tumblr staff pick!).

<comment><USER13> <http://twitter.com/hackerblinks>

Tumblr: <http://adam.blinkinblogs.net/>

(And, on Pownce: <http://pownce.com/hackerblinks/>)

(Does this mean I win teh Internets? I have social networking fever. (And the only cure is more cowbell.))

(Need caffeine.)

</comment></comment></comment><comment><USER14> It gets interesting when they start offering commercial services around it. What a great platform for project teams, or even disaster notifications (civil services), etc. It would be great for emergency services to coordinate their activities. However, that is assuming that it can handle the volume without going down!

<http://twitter.com/npost>

</comment><comment><USER15> Twitter is pretty darn cool, especially if you use it to keep friends and collealleagues up to date with what's going on in your world. It cracks me up to hear people ask "how can I monetize this?" If you have something of value to offer it will monetize itself. Nobody truly enjoys being "sold." If nothing you do is of any value, attempts to monetize are just wasted effort.

</comment><comment><USER16> I'm digging Twitter too. Here's me: <http://twitter.com/webwright>

If you care about marketing, learn to use Twitter Track (google it).

I get an SMS every time ANYONE mentions RescueTime on Twitter (friend or no). It's slightly creepy when I immedietely pounce on them and thank them. ;-)

</comment><comment> a-priori <http://twitter.com/codergnome>

I don't update a whole lot.

</comment><comment><USER17> <http://twitter.com/pkaler>

But I use Jaiku a whole lot more. Seems to be more of a Vancouver area tech phenomena though. <http://pkaler.jaiku.com>

</comment><comment><USER18> I only use Twitter to integrate with beanstalkapps.com - this way my clients can see my SVN commits in real-time (since I'm cheap and don't pay for them to have an account to the beanstalkapps.com backend).

</comment><comment><USER19> For tumblr I am

<http://engtech.tumblr.com> \-- lifestream, kinda messy

<http://rubeh.tumblr.com> \-- ruby/rails links

</comment><comment><USER20> <http://www.twitter.com/issackelly> and <http://twitter.com/servee>

</comment><comment><USER19> <http://twitter.com/engtech> \-- bitching and moaning

<http://twitter.com/et> \-- link dump

</comment><comment><USER21> Twitter has been great for our startup. It's true what they say, news travels fast on there. I'm here:

<http://twitter.com/hooande>

</comment><comment><USER22> <http://twitter.com/hasanv>

Started using it recently, still haven't worked out what it's really about.

</comment><comment><USER23> It's an amazingly fast way to spread info.I'd recommend it to all you start-up guys if you're not on it already. I'm twitter.com/lukebrdn

</comment><comment><USER24> I am on twitter. feel free to add me <http://twitter.com/jeffisageek>

</comment><comment><USER25> I'm @avinashv. Most of my friends tend to use more traditional IM or vanilla email, so I don't use the thing at all.

</comment><comment><USER26> <http://twitter.com/yansarazin>

Just started using it more often.

</comment><comment><USER27> @jfoutz <http://twitter.com/jfoutz>

just started using it last week.

</comment><comment><USER28> I'm @mistone

<http://twitter.com/mistone>

no massive posting activity but not stale

</comment><comment><USER29> <http://twitter.com/glasner>

</comment><comment><USER30> <http://twitter.com/nkohari>

</comment><comment><USER31> <http://twitter.com/Stammy>

</comment><comment><USER32> I'm @rosshill

<http://twitter.com/rosshill>

</comment><comment><USER33> @cammacrae

<http://twitter.com/cammacrae>

</comment><comment><USER34> im obviously partial to <http://www.groovr.com> but i generally prefer sending and receiving photos, especially form mobile.

other then that, i still use twitter from time to time.

</comment><comment><USER35> <http://twitter.com/darreld>

Love it.

</comment><comment><USER9> Yeah, @dcurtis. Recently, I've become addicted.

</comment><comment><USER36> Hello I am @stejules and wanna have more friends!

;D

</comment><comment><USER37> I'm NotoriousBRK ...

</comment><comment><USER38> twitter.com/timothyandrew

Twitter is amazing.</comment>


Node-iMessage – Query iMessage from terminal and Node.js - <AUTHOR> https://github.com/nicola/node-imessage <comment><USER2> I wrote a little bash script to allow for the sending of iMessages and made a little API in Node so I could send service status messages across all my devices easily.

It's probably not possible to do this in pure Node but if it's of interest here is the gist: [https://gist.github.com/roldershaw/7311547](https://gist.github.com/roldershaw/7311547)

Now I can see iMessage chatbots being made :P

<comment><USER3> Cool, I have something similar cobbled together: [http://www.aktau.be/2014/02/12/send-imessages-via-the- comman...](http://www.aktau.be/2014/02/12/send-imessages-via-the-commandline- on-osx-even-to-yourself/)

The gist version should even be able to handle input from stdin: [https://gist.github.com/aktau/8958054](https://gist.github.com/aktau/8958054)

Like this: ./imessage <number> < notes.txt

I use it quite often :). The most difficult thing to me was getting it to work even when Messages.app wasn't started. Applescript is quite frustrating for someone who's never dealt with it before. This was on Mavericks though, not sure if that's still a problem on Yosemite. Does your version have problems with that?

<comment><USER2> That's pretty cool, I never bothered handling actually starting the Messages app because I was just running it in a VM and assumed it would always work on startup.

I don't use this anymore because I've ditched my iPhone.

</comment></comment></comment><comment><AUTHOR> Thanks everyone for the support. Not sure about `innovation`, but hope this abstracts iMessage nicely for developers that want to focus on the main product ;) or want to do quick and dirty little hacks, My 2c.

</comment><comment><USER4> Genuine question: I'm seeing a lot of innovation coming from Node.js projects, some of them useful, some of them not, but even though when not, they're really creative.

I'm new to programing and I'm wondering if this happened in the past for other technologies when they were released. Did they reached the same spectrum?

Best regards.

<comment><USER5> I'm curious what you mean by that. This is basically a wrapper around the iMessage SQLite database – it could equally well have been implemented in Ruby, or Python, or Go. Projects like this always seem to be implemented in whatever environment the developer wants to use, which is great, but not really relevant.

I don't see any particularly interesting innovation from Node.js projects when compared with any other similar community.

<comment><USER6> I know what you mean when something could have been implemented in X, Y, or Z language, but I too, have noticed some really interesting projects in Node.js.

One of my favorites is torrent-mount. It allows me to use virtual machines directly from a torrent stream, rather than first downloading the entire vm.

[https://github.com/mafintosh/torrent- mount](https://github.com/mafintosh/torrent-mount)

<comment><USER7> JavaScript happens to be hip-of-the-day language.

For example, torrent-mount's idea isn't something novel. It was voiced[1] and implemented[2][3] a number of times before, and the links are what I got just by a single Google query. It's just that Node is a trending platform today (although some may say it's popularity peak had passed already), so the surrounding chatter's more active and thus you're likely to find out about those.

Or, possibly, there's even some bias like when you're looking for interesting projects on resources where JS-favoring people gather.

[1] [http://permalink.gmane.org/gmane.comp.file- systems.fuse.deve...](http://permalink.gmane.org/gmane.comp.file- systems.fuse.devel/1666) [2] [https://github.com/rkfg/BTFS](https://github.com/rkfg/BTFS) [3] [http://btslave.sourceforge.net/](http://btslave.sourceforge.net/)

</comment></comment></comment></comment><comment><USER8> how does this work? How does it get the iMessage data from let say an iPhone? Or is this for Mac users only?

<comment><USER9> Looks like iMessage for Mac stores the messages it receives in an SQLite database. This app simply reads and queries that database. See here: [https://github.com/nicola/node- imessage/blob/master/index.js...](https://github.com/nicola/node- imessage/blob/master/index.js#L23)

</comment></comment><comment><USER10> Shouldn't be asking people to upvote in the README.

<comment><AUTHOR> You have a good point, updated.</comment></comment>


Ask HN: How do I get my hands on MLS (real estate listings) data? - <AUTHOR> I'm interested in trying my hand in this space, and  my research indicates that getting real MLS data is not exactly trivial. Hoping that someone is willing to give me a hint.<p>Thanks. <comment><USER2> I have been working on this for two years. It is very difficult but the key is getting access to sellers before they talk to a realtor. That is how I did it. If you get the information before a realtor does you can avoid issues of conflicting interest, data rights etc. The MLS data is covered by license agreements as you would expect so you need to get to sellers before realtors do. That is my experience at least. Getting to sellers first is not that hard if you have a good mailing list that buyers and investors are interested in. Building a good mailing list is damn hard though.

Where are you located? I am looking for help on the programming side (I am a programmer as well). I would love to crush MLS and make it irrelevant. I hate it and everything it is.

Also, MLS data has yearly costs. I did not want to pay so I get access to the sellers first. Get them to sign some contracts saying I have exclusive rights to the data forever but I do not bar them from going to a realtor in the contract.

<comment><USER3> I second that. I'm working on developing a managerial tool for Real Estate agents and want to work around MLS' bullshit. Let's get in touch.

</comment></comment><comment><USER4> No it's not trivial - for the simple fact that the MLS don't want you to have the data. (Barrier to entry).

You can find broker's but their fees are high. Otherwise, you have to become a realtor (or get access via a realtor's access - which can cause problems for them).

Nationwide, you would need IDX connections to many MLS which they're protective of. You can scrape Realtor.com's website , but it's in violation of T.O.S.

      It might be smarter to use Trulia or Zillow's API.

     Source of knowledge: Founded 1 Single family, and 2 multi-family companies.

</comment><comment><USER5> [http://readwrite.com/2012/11/09/readwrite-deathwatch-the- rea...](http://readwrite.com/2012/11/09/readwrite-deathwatch-the-real-estate- multiple-listing-service-mls)

There are services like ListHub and Point2 that you can contract with for data, but point2 just launched their own consumer facing site. Zillow just bought a few companies to enhance their offerings in this space.

I'm not saying don't give it a try, but you'll have to offer something special to get noticed.

<comment><AUTHOR> Thanks for the pointers! Nothing good comes easily!

>you'll have to offer something special to get noticed.

This is true for absolutely _every_ startup.

</comment></comment><comment><USER6> MLS data is oriented toward "retail sales." A lot of people have access. In many cases that access will be better than yours as an outside party. What seems likely to have value is data that is different from MLS.

I've worked for real-estate developers. Market data which gives them an edge. Aggregating that sort of data has the potential for a huge upside. Doing so efficiently has the possibility of scaling.

</comment><comment><USER7> I run a start up that works specifically in this space. We've done deals with some of the biggest MLS's in North America to get access to the raw data.

Look into "IDX" and "RETS". You'll need to sign agreements with the MLS to get access to this data.

Feel free to reach out to me through my profile. I'd be happy to talk it over with you and see if there is anything that the inroads my start up has made can assist you with.

</comment><comment><USER8> Make a friend who's a Realtor. It's proprietary data that they guard.

</comment><comment><USER9> You can probably partner up with a local realtor or agency.</comment>


List of Security Conference Videos - <AUTHOR> https://www.tunnelsup.com/online-security-conferences/ <comment><USER2> In case someone sees this here but isn't also on /r/netsec, the comments over there list a few more: [https://www.reddit.com/r/netsec/comments/40i06f/i_put_togeth...](https://www.reddit.com/r/netsec/comments/40i06f/i_put_together_a_list_of_all_the_security/)</comment>


Teach, Don't Tell - <AUTHOR> http://stevelosh.com/blog/2013/09/teach-dont-tell/ <comment><USER2> The most important thing I want from API documentation is that every method should have a minimal working code example.

Minimal - the example should be focused on demonstrating how to call that specific method, with as little other code as possible. That way I don't have to puzzle which parts are essential and which are arbitrary.

Working - if I paste the example code into a separate file and run it, it should work. Surprisingly many attempts at documentation fail this test.

When we're faced with an unfamiliar problem and an unfamiliar API that can solve that problem, the quickest way of programming is copy-paste programming. The documentation should make copy-paste programming as easy as possible. Understanding comes after imitation.

<comment><USER3> I think this is a wonderful class for someone starting out and a good outline for people who want to get into practice of doing systematic design. [https://class.coursera.org/programdesign-001/class](https://class.coursera.org/programdesign-001/class)

</comment></comment><comment><USER4> > "Seriously: fuck wikis. They are bad and terrible. Do not use them. Take the > time and effort to write some real documentation instead."

I simultaneously agree and disagree with this. Wikis fall into two categorys:

1\. "If I build it, they will come", which is where the developer who doesn't want to write docs throws one up, and says "hey, all you users, document it on your own, I don't want to mess with it". Then new versions come out, things change, the docs are old/incorrect, and people get frustrated, and nobody end's up using the wiki.

2\. People who actually take time to make it into a great site - these are few and far between. [http://ipxe.org](http://ipxe.org) is one example of a well done wiki, but I'm betting that a single person spent a good deal of time doing the site.

Unfortunately, it appears that 95% of the technical documentation wikis out there are in group #1, not group #2.

<comment><USER5> But if it's just one person maintaining the wiki, with a few others contributing, why have a wiki at all instead of a centrally curated guide?

With wiki like systems, you get noise (in the form of people making mistaken changes, malicious changes, etc.). There's really only two ways you can guarantee quality, which is either the aforementioned person reversing those changes (undoubtedly additional work), or enough people checking those edits, improving or reverting them.

But your small to medium size project isn't going to garner enough people to have the latter option work well. And if you have a small group of people that would be willing to do that maintenance work, why not just write some documentation together with them?

<comment><USER6> What do you call a wiki coupled to a permissions system? That is, a CMS where:

\- every logged-in user is a contributor+editor+publisher and so can just edit-and-post content _as if_ the system was a wiki,

\- but new users have to be created by some administator, or invited, etc; there's no "Register" link,

\- and for non-logged-in users, there are no trappings of "wikidom" visible (e.g. recent changes page, sandbox, any revision of posts other than the marked-as-last-known-good revision, etc.)

I have a feeling that this is what 90% of documentation projects really want: something that's a wiki from the inside, and a CMS from the outside. Does this design have a name?

<comment><USER7> A wiki. You can customize wiki UIs to act exactly as you're describing, it's just that nobody changes the defaults.

<comment><USER6> You can customize wikis to make them into MMO games, but then they're not wikis any more. It would be useful to have a name, I think, for this specific thing, because then people who want this specific thing could download software that already provides this specific thing, with no customization involved.

<comment><USER8> > You can customize wikis to make them into MMO games, but then they're not > wikis any more.

That's not necessarily true. I think it'd be interesting to make a religion- inspired MMO game that's about writing and rewriting a holy text. Use a voting system to make something sacrosanct and thus harder to make changes to.

</comment></comment></comment></comment></comment></comment><comment><USER9> It's a very important topic, but I have to admit the sequencing threw me for a loop. If every tech documentation that I read started with, "Before you read this post there are two other things I think you should read first" I think I'd never have the patience for an answer.

Better to start with, "Here's what is important to know, if you want to understand more context, read X and Y"

<comment><USER6> I read the sequencing more as "the most important thing to know, is the thing I didn't write. Read that. If you never make it back here, that's okay, this is just errata compared to that."

</comment></comment><comment><USER10> "The purpose of technical documentation is ... teach them to be an expert user of it"

But maybe I don't WANT to be an expert user! Maybe I just want to USE the damn thing.

It's frustrating when a tool maker thinks that their tool so important that every user must become an expert on every facet of the tool. How about, "The purpose of technical documentation is to teach the user whatever is necessary and sufficient for their particular needs."

I'm a programmer. A few times a year I need to use Photoshop for something Really Simple. I want documentation that can tell me how to draw a rounded rectangle with a shaded gradient inside it (or whatever) as quickly as possible, and tells me as little as possible about anything that doesn't help do that.

<comment><USER5> Doesn't Stack-anything fill that niche already, along with a multitude of youtube videos and online tutorials that will walk you through the most common use cases, especially for software like photoshop?

In case that's an actual question, make a rectangular selection and check the "rounded corners" box at the top left. Select the gradient tool (You can see it by clicking the little paintbucked on the left toolbar for a while, it looks like a gradient). Klick somewhere and drag with the tool selected. And there's your rounded rectange with a shaded gradient inside.

<comment><USER11> > Doesn't Stack-anything fill that niche already?

If you ask, "how do I use [library X] to draw a rounded rectangle?" on Stack Overflow, they will put your question on hold until you show code that demonstrates that you tried. This may be difficult for someone who has only just succeeded in getting the library to compile!

To continue the author's car analogy, Ms. Smith sits in the passenger seat while you try to drive to grandpa's house. When you fail to reach your destination and give up, Ms. Smith will tell you what you did wrong. But only if you made a non-trivial effort. If you ram into the living room while trying to exit the driveway, you'll only get a disapproving glare.

</comment></comment></comment><comment><USER12>
        > When you release a new programming language or library into the wild,
        > the initial state of your "users" is going to be blank.
        > The things they need to know when they encounter your library are:
        >
        >   1. What is this thing?
        >   2. Why would I care about this thing?
        >   3. Is it worth the effort to learn this thing?

Yes, please! If all libraries / frameworks included this information it would make everyone's lives so much easier.

</comment><comment><USER13>
        >Seriously: fuck wikis. They are bad and terrible.

Personally I think the Arch Linux wiki does a fairly good job. I refer to it when setting up _other_ Linux distros.

<comment><USER14> Depends, the Arch wiki is great, there is/was the German ubuntuusers.de wiki and of course Wikipedia, but none of these are designed to teach you the basics, they are references. By contrast, for tutorials the state of wikis is quite often tutorial 1-3 is great and the rest just missing.

</comment></comment><comment><USER15> I agree with this part:

> You should have a table of contents that lists each section of the > "hairball". And then each section should have its own table of contents that > lists the sections inside it. A table of contents is a wonderful way to get > a birds-eye view of what you're about to read, to prepare your brain for it. > And of course it's also handy for navigating around.

I think that in the case of the article, that table of contents could have been pinned on the left-hand side, instead of using that space for a cool-for- a-few-seconds effect.

</comment><comment><USER16> Seriously, I LOVE this post. I see all those kinds of documentations on Github, and being fairly new to programming Python, I see it extremely irritating if the documentation is bad and broken. The author just expressed(with words) what I couldn't.

</comment><comment><USER5> I feel the authors pain, both from trying to learn frameworks with missing documentation ("I want to use this function, but there aren't even comments on it :D"), and having a father who once told me I was retarded for being unable to convert hex to binary in my head. I was ten.

I agree with the authors main points, but I'm kinda vexed by him trying to label it documentation. Technically, what he's proposing people to write is guides, not just documentation. If I write a piece of code, and I explain what it does, then that's documenting it, and the result is documentation. If I show you in writing how to use it, I guide you. It's a guide.

So is a guide documentation? You could classify it like that, but i think that will be a source of confusion. A better term encompassing both guides and documentation would be supplemental documents, encompassing everything that is not code. So we get code supplemental documents -guides -documentation \--comments \--reference manuals

Or something like that. I'm really just being finicky, but I like categorizing things.

</comment><comment><USER17> I wrote a web programming book three years ago (moderately successful, made back its advance, and got me the career change I was looking for) using a philosophy that has a very similar approach to this. My approach is:

1\. All code examples must lead to a working program, or can be easily integrated into a working program. Preferably the program has trivial functionality. Conceptual material must relate back to a working example.

2\. Avoid applying excessive cognitive load to the readers. Human short term memory has a capacity of 7±2 items. Your material must be pitched at a level where there is a maximum of five concepts in play at any one time (five being the maximum "guaranteed" short term memory for a healthy adult). This is much easier to acheive with goal 1 as it the approach guides the writer as to which item needs to be explained next.

From that perspective, unix man pages drive me nuts. Learning to read man pages is one of the core skills that needs to be developed in order to become an effective user of unix like systems.

<comment><USER17> the idea of 'five concepts' is interesting as it's related to the level you're pitching at. The idea is that you get people up and running with the initial working code, and if they manage that, then they can follow what you're doing subsequently, and you can keep a feel of their levels of consolidated knowledge.

</comment></comment><comment><USER18> "You teach them." Well, no. You set up a framework of information and activities which allows the individual to learn.

It could be beneficial to adopt this view, prominent in education, for software documentation as well. (The article seems to agree, but it is useful to have you language reflect the student as the active party.) We could actually look educational strategies such as constructive alignment [1] here: define the measurable learning outcomes, and provide activities aligned with those outcomes.

The tutorial comes to mind as a potentially successful component of documentation. Executed well, it gives at a glance information, while simultaneously providing natural entry points for hands on activity. Add more options for self-assessment and soon you will have a very pedagogically sound learning instrument.

[1]: [http://en.wikipedia.org/wiki/Constructive_alignment](http://en.wikipedia.org/wiki/Constructive_alignment)

</comment><comment><USER19> Fw: AngularJS team... honestly.

</comment><comment><USER20> _Of course, son. The car is in the garage and I laid out a set of wrenches on the workbench. Take the car apart and look at each piece, then put it back together. Once you've done that I'll take you to the DMV for your driving test._

Reminds me of the story of young Walter Chrysler and his Locomobile.

Edit: For those interested, it's a quick one page read, starting at the bottom paragraph of page 5: [http://www.chryslergroupllc.com/company/Heritage/Heritage%20...](http://www.chryslergroupllc.com/company/Heritage/Heritage%20Documents/Chrysler%20Heritage%201900/Chrysler%20History%20-%20Walter%20P.%20Chrysler.pdf)

</comment><comment><USER21> One tip I'd give for writing docs is to get Dragon Naturally Speaking and a really good microphone. It's saved me countless hours over the last couple of years (but only because I stopped counting once I reached 500.)

</comment><comment><USER22> I actually want to try writing technical docs, but I can't seem to find a beginner friendly project/framework that I can pick up a small task and work on it. Do you have any suggestions?

Shall I try approaching people in Mozilla etc where they always have some work or wait until I find a project that I personally use and lacks some docs so I can try working on it individually? I would rather have some kind of mentorship but I do not think people will invest time in a random person over the internet.

</comment><comment><USER23> I wish I could upvote this a thousand times. It's great documentation, about documentation.

I wonder if it would be worth encouraging people to put their names on official documentation that they write. They'll take some pride in it, and get some benefit in that they're recognized as an expert, and everyone else gets a whole bunch more well written documentation (hopefully)

</comment><comment><USER24> I cannot be the only one that felt the titles of the subsections popping up on the left side were entirely redundant and very distracting.

<comment><USER25> Quite the opposite - I've always wanted to replicate that part of his site.

</comment></comment><comment><USER26> I've tried to adhere to something similar to this for as long as I've written a library, and one of the great things about writing JavaScript libraries is that you can execute tutorials with live code execution _inside the documentation itself._

I wouldn't call it teaching _per se_ , more of a framework for self-learning, especially for users who learn by example. I'd stick with the older saying _" Show, Don't Tell,"_ while making sure they can copy what you've shown.

I think this is a simpler rubric: There should be at least two parts to documentation, API and Introduction pages. The introduction pages start off with a "First Contact" page and then delve into the myriad topics of the library (with a "Hairball" table of contents to explore if they please). These topics that may not all be relevant to a particular user, and ought to be as independent as possible. Ideally users should not be expected to read many pages before making sense of any other page.

The API must contain definitions for every method and property, but should also make clear what the _purpose_ of any particular class is and give a short explanation of common usage. The API should then link to the introduction so that common example code can be seen in action. Both the API and the introduction pages reference each-other constantly.

For example in my library the Panels API page[1] contains several paragraphs outlining the purpose and common layout options of Panels, as well as (importantly!) linking to the associated introduction pages[2], where a user can see running code examples of common Panels, with code they can directly copy/paste into their own page to achieve identical panel layouts.

The result should be something tightly coupled, with many links back and forth between introduction pages and the API, but the end result is not an actual wiki. I can understand the author's hatred of wiki's, because for most projects setting up a wiki is a lot like shifting responsibility for creating documentation to nobody. Which means it never gets done. (At for most projects I've seen and I think the author would agree. I'm sure there are a few great library wikis out there with nontrivial user-sourced content.)

[1] Panels API page: [http://gojs.net/beta/api/symbols/Panel.html](http://gojs.net/beta/api/symbols/Panel.html)

[2] Panels "Intro" page: [http://gojs.net/beta/intro/panels.html](http://gojs.net/beta/intro/panels.html)

Compare these with, say, the Google Maps API page for "Map": [https://developers.google.com/maps/documentation/javascript/...](https://developers.google.com/maps/documentation/javascript/reference#Map)

Or worse, MVCArray: [https://developers.google.com/maps/documentation/javascript/...](https://developers.google.com/maps/documentation/javascript/reference#MVCArray)

There's extremely little about what it is, what is expected of it, and common uses of it.

<comment>

If you write a JavaScript library, there is _no excuse_ for not having live code examples and tutorials tightly coupled as part of the documentation.

<comment><USER27> Coincidentally, this is exactly what the School of Haskell[1] tries to do for Haskell--it lets the reader execute examples right on the page.

[1]: [https://www.fpcomplete.com/school](https://www.fpcomplete.com/school)

With a bit of work, there is no reason to limit this sort of interactivity to JavaScript.

</comment></comment></comment><comment><USER28> I wish the text wasn't italic, so it would be easier to read on machines without antialiasing enabled.

<comment><USER21> It's all text, you can copy paste it into notepad or something. Or just override the styling on the page.

</comment></comment><comment><USER29> slightly OT but any suggestions on a better keyboard? I'm doing fine with my current one but I'd like to know what I'm missing out on.

<comment><USER25> From the author: [http://stevelosh.com/blog/2012/10/a-modern-space- cadet/](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) (See the first part about hardware)

<comment><USER29> thanks. didn't see that post.</comment></comment></comment>


Ask HN: 15 minute server load average over 125 - <AUTHOR>

So we are preparing to launch a site on Monday and one of our servers stores and serves PDF's as well as converts the PDF's to individual screens from each page in the PDF.
One of my coworkers decided to create a recursive script to upload the needed launch files (2000+) via Curl to the API of this media server. This server was never optimized to handle all these requests and now the server is unresponsive with the last command that was accepted approx 4 hours ago showing the loads as:
10:51:04 up 86 days,  3:39,  2 users,  load average: 187.47, 175.52, 128.39
A top result from about 20 minutes prior showed:
top - 10:34:55 up 86 days,  3:23,  2 users,  load average: 109.13, 81.57, 48.53
He should've stopped the process then, but now we are in this mess... Should I just restart the server or will this load possibly eventually catch up? <comment><AUTHOR> Other relevant top info from the one that was working earlier:

top - 10:34:55 up 86 days, 3:23, 2 users, load average: 109.13, 81.57, 48.53

Tasks: 318 total, 115 running, 203 sleeping, 0 stopped, 0 zombie

Cpu(s): 45.1%us, 8.3%sy, 45.4%ni, 0.0%id, 0.0%wa, 0.0%hi, 1.2%si, 0.0%st

Mem: 3919896k total, 3360108k used, 559788k free, 4332k buffers

Swap: 5963768k total, 2167852k used, 3795916k free, 264276k cached</comment>


Ask HN: Those of you who deleted FB, have you stopped using Google too? - <AUTHOR> <comment><USER2> Pretty much - occasionally I use it for translations (but _all_ automatic Thai<>English translations seem to be dubious quality at best).

However I didn't delete FB or stop using Google recently. I deleted my FB account.. Somewhere around 8 or 9 years ago?

I stopped using Google by choice (i.e. clients sometimes send me google docs links) just before it was a built-in Safari option, so maybe 4 or 5 years ago I guess?

</comment><comment><USER3> So it's more or less impossible to completely avoid Google products, especially for developers.

Personal life I've cut out what I can.

\- I use DuckDuckGo for search. \- I use ProtonMail for email. \- I've hardly ever used my smart phone for anything, remains the same now. It's essentially a test device with no account associated with it. Not having a cell phone is amazing.

</comment><comment><USER4> Planning to, not found a good replacement yet for Calendar and Mail (ProtonMail offers only 500MB for the free plan).

About Google Drive, I use Dropbox, Box and OneDrive too, but they are on the same boat.

I'm abandoning Evernote as well, as long as they don't have an easy exporting tool</comment>


Node.js is a LIAR Sometimes - <AUTHOR> https://medium.com/@eplawless/node-js-is-a-liar-sometimes-8a28196d56b6 <comment><USER2> Good to know. I still like Node.js, though. :)</comment>


Ask HNC; Can you suggest an alternative to Gmail? - <AUTHOR>

Gmail down again and I've got some emailing to do, I'm thinking of setting up an extra non-Google account. What service is a good alternative? (must be free) Thank you! <comment><AUTHOR> Interesting that I can access my Gmail account from Android but not the laptop...

</comment><comment><USER2> <http://www.zenbe.com/>

<comment><AUTHOR> Thanks Kqr2, this looks great!</comment></comment>


Vim-unstack: Vim plugin for parsing stack traces (Python, Ruby, C#, Perl, Go) - <AUTHOR> https://github.com/mattboehm/vim-unstack

<comment><USER2> Author here, feel free to respond with questions/comments.

Also, thanks to jamessan/rjeczalik for submitting PR's for Perl/Go. If there's another stack trace style you want support for, please open an issue including a sample stack trace. Assuming the file/line number are on the same line and can be extracted via a regex, it's really easy to add support for another style, so feel free to submit a PR yourself if you'd like.

</comment><comment><USER3> Things like this are why, even if Vim isnt my 'IDE', its an irreplaceable part of my personal software stack.</comment>


htaccess tester tool adds GitHub action, CLI and more - <AUTHOR> https://madewithlove.be/our-htaccess-tester-tool-has-new-features/ <comment><AUTHOR> I built this tool years ago, recently my team took the effort to make it compatible with a modern workflow. We started by building an API and a CLI on top of that. The Github Action was not planned but felt like a logical next step. Hope this helps a lot of people out there!

</comment><comment><USER2> A very reliable way to test your htaccess file before enabling it on your Apache webserver.

<comment><AUTHOR> Glad you like it!

</comment></comment><comment><USER3> This is awesome! It's gonna save me so much time</comment>


Show HN: I made an open source iOS HN reader - <AUTHOR>

Hi all, i made an iOS HN reader, so i can read HN nicely on my iphone while pushing my daughter on the swing (she likes going on the swing for a good hour on saturdays... go figure). Anyway i figured i'd open source it and show it here:
http://splinter.com.au/hacker-news-reader
https://github.com/chrishulbert/HackerNewsReader
And its on the app store if you couldn't be bothered firing up xcode:
http://itunes.apple.com/us/app/hacker-news-reader/id457519010?ls=1&mt=8
Anyway, hopefully someone out there can learn something looking at the code. There seems to be a dearth of example code / foss code from actual proper apps out there. Have a nice weekend all! <comment><USER2> This looks awesome. As somebody who has considered getting into iOS programming, but hasn't taken the dive yet (more focused on ruby based websites / mobile websites right now), thanks for making it open source.

<comment><AUTHOR> You're welcome - i really hope you get something out of reading through the source. I used to be a ruby guy before this too, so i think you should find the transition not too difficult. Good luck.</comment></comment>


The least-liked programming languages - <AUTHOR> https://www.oreilly.com/radar/the-least-liked-programming-languages/ <comment><USER2> I wonder why PHP isn't in this post, is it too obvious?</comment>


Deepstream-pg – add realtime to PostgreSQL - <AUTHOR> https://deepstream.io/tutorials/integrations/db-postgres/ <comment><USER2> Why is that every time I see some bunch of programmers publishing a DEB package, it's atrocious and not built properly?

<comment><USER3> Would you like to elaborate?

<comment><USER2> I can see from afar that it was not built with dpkg-buildpackage. My bet it was built with FPM, which would be OK for an artifact for internal use, but is ridiculous when published (FPM doesn't fill many important fields unless specifically asked, and programmers usually couldn't be bothered with providing those by themselves).

Also, keeping _code_ in /var/lib? _What_?!? Ever heard of LSB?

And just run lintian over the DEB file.</comment></comment></comment>


Surveillance shot that ruined tragic Reddit co-founder Aaron Swartz's life - <AUTHOR> http://www.dailymail.co.uk/news/article-2261840/Surveillance-shot-ruined-tragic-Reddit-founder-Aaron-Swartzs-life-Moment-caught-breaking-MIT-archive-sting-left-facing-30-years-jail.html

<comment><USER2> There are some obvious spelling errors in that story. I know it's the Daily Mail, but surely they can spell check their stories.</comment>


Debugging Lisp Part 4: Restarts - <AUTHOR> http://malisper.me/2015/08/05/debugging-lisp-part-4-restarts/ <comment><USER2> I built cl-async and a lot of its satellite libraries completely ignoring restarts and the CL error handling paradigm in general, opting more for a "well, an error occurred, catch it and send it to a callback" method.

A few lengthy discussions with some lispers who were more well-versed in CL's error handling than what would be the equivalent of try/catch/throw completely changed my view on lisp's abilities. The reasoning behind using handler-bind instead of handler-case just blew my mind once I understood it. It was a hard concept to grasp, but I'm so glad those guys pounded it in.

I reprogrammed the error handling in cl-async/blackbird/wookie/etc to use handler-bind/restarts and now everything is so much clearer. You get full stacktraces when in debug mode, but also have the option to pass errors around as objects if in production.

CL's error handling definitely was a "wow" moment for me once I got it.

</comment><comment><USER3> This is one of my favorite features of Common Lisp programming. The nice thing about interactive restarts is that the whole stack is there... so all of the previous functionality is available as discussed previously in the series. You can interactively inspect an object to see what slot values are causing a conflict and not only change the value and continue but recompile the method that caused it as well. And of course clever code could do this as well.

Restarts are a very nice way of handling known error conditions and I wish more languages had stolen this feature from Lisp before macros or garbage collectors and things.

<comment><USER4> It's a good feature for building big programs that have lots of layering. It's not really at the core of the Lisp essence; Lisp dialects other than Common Lisp and some of its ancestors do not have this feature.

> _I wish more languages had stolen this feature from Lisp_

The terminology and some of the semantics of CL's condition may have been derived derived from concepts in IBM's PL/I programming language!

Similarities:

* PL/I's xceptions are called "conditions" in PL/I.

* Conditions are "signaled" (by a construct called SIGNAL).

* The "on unit" construct (ON statement) resembles condition handling and restarts (functionality of handler-bind and restart-bind rolled into one). On units are dynamically scoped, and when a condition is raised they are searched without discarding the stack ("the whole stack is there", in your words). On units can return to the source of the signal, or execute a GO to the surrounding procedure, which then triggers unwinding: exactly like a (go ..) in Lisp jumping out of a restart lambda.

* Conditions in PL/I are used not only for errors but for giving advice to low level code on what to do. For instance the printing system signals an "endpage" condition, and the higher level code can provide an on unit to do what it wants at the end of a page. This on unit returns to the lower level code.

I've never written code in PL/I, but I studied the condition system.

<comment><USER5> PL/1 had such an influence. Multics had its own version of it as its system language, which had "on-conditions", which per [http://www.multicians.org/pl1-raf.html](http://www.multicians.org/pl1-raf.html) made optimization difficult. Bernie Greenberg was a major Multics "kernel" hacker, and wrote Multics Emacs in MACLISP and PL/1 before joining Symbolics. Per vague memory and Wikipedia ([https://en.wikipedia.org/wiki/Bernard_Greenberg](https://en.wikipedia.org/wiki/Bernard_Greenberg)):

 _Greenberg was involved in the design of the "New Error System" at Symbolics, which in turn influenced the condition system adopted by ANSI Common Lisp._

And per the referenced citation ([http://www.nhplace.com/kent/CL/Revision-18.txt](http://www.nhplace.com/kent/CL/Revision-18.txt)):

 _Many aspects of the NES were inspired by the (PL /1) condition system used by the Honeywell Multics operating system._

</comment></comment></comment><comment><USER6> Restarts are nice.

The thing is, though, is that restarts are relatively easy to add to any language that has well-supported structures for non-local control flow; they're just a protocol, after all. That's really what Common Lisp has which most other languages lack. Common Lisp (very intelligently, IMHO) did not conflate error handling with non-local control flow; they are different concepts and deserve to be treated independently.

Specifically, the lexcal scoping of BLOCK and TAGBODY labels and the fact that RETURN-FROM and GO will unwind the stack if necessary to get to the target label make creating something like HANDLER-BIND/RESTART-BIND relatively easy. (There is also of course THROW and CATCH [which don't really have anything to do with error handling in CL, they're just structures for dynamically-scoped stack unwinding], but I've generally found the need to create explicit labels for those less elegant than using lexical scoping. You can always use a closure if you need to store the lexicaly-bound state to be used somewhere else, and the reverse is not as easy...)

You obviously also need UNWIND-PROTECT to keep things safe when the stack unwinds, but most languages successfully manage to get that with something like try-finally (or RAII in C++'s case, even if I find it clumsy sometimes).

<comment><USER7> You can implement the CL condition system in pretty much any language, but it's not going to be useful. The value of the condition system is strongly tied to it being used consistently everywhere in the language and in the libraries.

<comment><USER6> Fair point.

What I was attempting to convey is that the reason I think the CL condition system works so well is that at its core it doesn't attempt to manage control flow directly; i.e. neither HANDLER-BIND nor RESTART-BIND unwind the stack on their own, and even ERROR only gets its behavior by falling back to INVOKE- DEBUGGER if unhandled. Because CL has good tools for doing non-local control flow that aren't bound up in its condition/exception system it winds up strictly more expressive (IMHO) than languages that conflate these.

What I've noticed from languages that have traditional try/catch exception handling (especially when that's the only non-local control flow available) is that the mechanism of error handling is seen as DEEP MAGIC by their users. If you separate it out into non-local control flow and a protocol for communicating exception handlers as CL does, the "magical" properties go away since it can be seen how the condition system could be implemented.

Or at least that's how it worked for me.

</comment></comment></comment><comment><USER8> This has been a great series: clearly written, solid examples, and obvious utility. Thanks for doing it!</comment>


Tesla Says It Will Issue Fix for Model 3 Brakes - <AUTHOR> https://www.consumerreports.org/car-safety/tesla-says-it-will-issue-fix-for-model-3-brakes/ <comment><USER2> +1 for a fast response, although I'm kindof surprised that this was even a problems.

I'm also wondering, how is a Tesla owner able to keep track of what parts of the car (hardware and software) are currently out-of-date? I assume that updates brakes would also be applied to the Model 3s currently in the field.</comment>


UC Santa Cruz asks professors to house students - <AUTHOR> https://qz.com/1381382/silicon-valley-is-getting-so-pricey-a-university-is-pleading-with-professors-to-house-students/ <comment><USER2> My knee-jerk reaction: So a place that benefits from government guaranteed student loans and ever-higher tuition rates is asking the lowest paid (other than the adjuncts i suppose) to take on the burden of not only providing the education that the university profits from but also the room and board?

The article is short on details but I can't see this as anything other than a sad joke. If Santa Cruz is anything like a typical college town then there are buildings on campus or nearby that could be repurposed for this problem. Certainly there is money _somewhere_ that could be used to purchase space (even though real-estate is at a premium) for this problem. After all, the University will have far more access to funds or loans.

However, that would come at a cost of _the profits_.

How myopic for them to even consider professors housing students to be an option.

<comment><USER3> >If Santa Cruz is anything like a typical college town then there are buildings on campus or nearby that could be repurposed for this problem. Certainly there is money somewhere that could be used to purchase space (even though real-estate is at a premium) for this problem.

Campus dorms are thousands of students over original capacity. All the lounge areas are converted to bedrooms, double rooms became triples and quads etc. Due to a long-standing feud with the city UCSC also cannot purchase any property in town that will house students. They are further restricted in where they can build on campus by both geological natural features, student protests (eg. 2 year tree sit that held up building in the 2000s), and also general NIMBYism. You are totally right in characterizing the situation as a sad joke. If only these emails were the extent of it..

</comment></comment><comment><USER4> Santa Cruz isn't really the Silicon Valley metro area - it's in a different county which frequently isn't considered part of the Bay Area, the commute is more like 45 minutes than the 30 quoted, and there's only _one road_ over the mountains, so if there's an accident on Highway 17 (which happens frequently) you're looking at 3+ hours to get over the hill. I had one or two coworkers who tried to live in Santa Cruz and work in Mountain View, and they lasted about 1-2 months before they just got a place on the peninsula. It's more common as a weekend getaway for engineers who worked at a company that IPO'd.

The real estate market is distinct from Silicon Valley for that reason too. It's expensive, but it's expensive because it's an attractive beach community on the CA coastline, and the inland (no beach access) houses are significantly cheaper than anything you could get in the Palo Alto/Mountain View/Sunnyvale area.

The real story here the university admitting 7000 students for 5300 spots, which is an epic admissions fail and will cause problems for any college town. I've heard of Berkeley (CA), Brandeis (MA), and Ithaca College (NY) all having similar issues in various years, with similar drastic housing measures.

<comment><USER5> If you can set up 1-2 days of WFH and you have flexible hours then commuting from SC to SV is just matter of choice.

There are plenty of people that do it (at least in my bubble).

<comment><USER6> Yep, I was going to mention how insignificant the commute is if you only do it once a week. I spent a number of years in the coastal communities around the area, mostly working from home or cafes for startups in either SF or SV/MTV.

The massive influx of moneyed people from the tech industry has had a substantial impact over the last 10-15 years, for the entire region.

Edit:

I just remembered a relevant experience I had two years ago:

While seeking a room to rent through the wet winter, I found a house in Felton (~10 miles into the woods, away from Santa Cruz and the coast) renting all the rooms for $800/mo each. The owner was living in a container in the yard, powered via extension cord! This was basically the cheapest option I could find, and it was a total shit show. One bathroom, 7 tenants, most college- aged, and the owner's 5 year old daughter was living in the living room while the owner was in the container. Even large closets were being rented as rooms.

Obviously I passed on this option, but it was quite illuminating of how much opportunity there was to capitalize on; this guy was risking his daughter sharing a house full of strangers without him even inside.

That same week I had a conversation with a young park ranger who had recently moved to Boulder Creek, which is even further into the woods like another 10-15 miles down a twisty road. She had just moved from the east coast and couldn't find anything affordable in Santa Cruz or Felton, and just barely affords a shared place in Boulder Creek.

</comment></comment></comment><comment><USER7> Big changes since I was there about a decade ago. I had a $1300 stipend as a CS PhD student, and rent for a modest studio on pacific avenue ate up about $750 of that. I was 2 blocks from the beach.

Pacific Avenue is the main strip downtown, and is relatively nice. In retrospect, I was getting a bargain.

Notably, non science and engineering grad students got smaller stipends. So it was tough for them even then, hopefully the university has raised their package since then.

I'll also add than non-cs grad students did not get lucrative summer gigs to soften the blow. 3 months at Google can make life much easier the rest of the year.

<comment><USER8> What about this, as an immediate remedy, how about the state and the government (on some hypothetical day they care about this) incentivize sending students to other schools across the country, and then investing money into said schools to improve them?

<comment><USER3> Or even just other UCs. Merced/Irvine/Riverside are not experiencing housing crises at this level. Sending more students to UC Santa Cruz is just irresponsible.

<comment><USER9> Possibly wildly unpopular opinion: Offer relocation to academic staff to other UCs and sell the UC Santa Cruz property to developers, upzoned, and reinvesting the proceeds into the UC school system. It increases housing available, and it's financially beneficial to UC (which could buy up land for student housing around its other campuses, insulting it from this occurring in the future).

Sometimes you have to retreat when the sea (of rising property costs) is invading your costal property.

<comment><USER10> I doubt very many professors at Santa Cruz would want to move unless they could work at a more prestigious university, and all of those are located in areas with high housing costs like Berkeley and Los Angeles. Actually, a lot of professors at UC Davis commute from the East Bay because they don't want to live in the Central Valley.

It's a pretty tall order to convince successful tenured professors living in a beachfront community, most of whom are homeowners and contribute to the NIMBYism of the area, to move somewhere else.

<comment><USER9> It's a pretty tall order to ask taxpayers to subsidize the cost of a college beachfront community. We could just close up UC Santa Cruz and call it a day, no relo offer on the table. If you can't terminate tenured professors because you've closed the facility down, buy them out with revenue from selling the campus.

Tax dollars for education should not subsidize expensive real estate markets. You can still have your job, we're not under any obligation to keep it within walking distance of your beach front property.

<comment><USER10> > Tax dollars for education should not subsidize expensive real estate > markets.

How can that be avoided? Should we build every university in the middle of nowhere, and then move them around every 30 years because the university drew in enough people to cause housing to become expensive?

<comment><AUTHOR> Is popularity correlated with high costs? Looking at this list [https://en.m.wikipedia.org/wiki/List_of_United_States_univer...](https://en.m.wikipedia.org/wiki/List_of_United_States_university_campuses_by_enrollment) do College Station, Orlando, Columbus, Miami, Gainesville and Minneapolis carry significant premium as far as cost of living?

Miami might, but it seems like it's more due to the beach proximity and tourism industry than FIU.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> With the tuition increases and the massive increase in housing costs, going to a public college in California costs several times what it did a few decades ago. It's a serious problem.

However, students living with professors is a terrible idea. There is already too much sexual misbehavior with weird power dynamics in academia, especially between professors and grad students, and this all happens without them living together. It would only get worse.

The real solution is to build more affordable student housing on or near campus, but that would require funds from the state government, which is unlikely to provide them.

<comment><USER8> It's kind of upsetting the first thing you think about is sexual assault. If they can't be trusted to share houses with students to they point that they'd assault them, they probably shouldn't teach them.

<comment><USER10> Sexual assault is only one of the many kinds of sexual misbehavior that happens at universities. Even consensual relationships between students and professors are problematic. There are a lot of degrees of sexual misconduct between consensual relationships and physical assault to worry about.

<comment><USER8> Do people who lease out their homes on airbnb regularly assault the tenants? Do they regularly have consensual relationships with them? I'm aware they may be an issue, but it certainly hasn't been as much an issue that it made the headlines, the most common issue I read about is airbnb raising the ire of neighbors and local governments.

You're making the argument that there is something inherent in professors that makes it more likely they will engage in sexual relations with people, which is problematic and strange.

<comment><USER11> There is a risk that professors can be exposed to allegations of impropriety as a result of housing students. The university does not bear this risk for that. Nobody is justifying assault or improper relationships, but the point is that the universities solution to the housing problem in Santa Cruz has a number of complications that seem not to have been addressed.

Perhaps a better solution would be to reduce the student population and university size to what the local housing market and community could support, given opposition to construction of student housing. Obviously they'd need to eat humble pie for that to happen, which is why it's not being discussed.

</comment></comment></comment></comment></comment><comment><USER12> Here is the crux of the matter (in mathematical terms): "university admitted about 7,000 students this year, up from 5,300 last year, according to the Santa Cruz Sentinel."

"The university is years away from building a planned 3,000 campus housing unit, but thousands of local residents have already signed a petition to stop the development"

So they planned on having 3000 more housing units (staff, students and additional personnel), they didn't get it. There is your shortage. The plan was flawed because it didn't account for the fact that local residents might not go along with it.

Pinning this on the tech industry is another example how lazy politicians push their problems on tech industry because it's a popular target.

<comment><USER13> They massively overadmitted, yes, but that wasn't the plan at all. Correctly identifying the matriculation rate is extremely difficult when most students are applying to 10-20 colleges, and of course only attending one. The obvious recourse would be to rescind admission for thousands of students, but the ill will generated by such an action would be extreme, as all the matriculants would have already lost the opportunity to attend the other colleges they were accepted to.

</comment></comment><comment><USER14> We should not be putting more and more UC students in Santa Cruz, San Francisco, LA, and other high cost areas. For the love of god, expand the campuses in Davis, Merced, etc.</comment>


Web 2.0 fails to produce cash - <AUTHOR> http://www.ft.com/cms/s/0/6c968990-2b4c-11dd-a7fc-000077b07658.html

<comment><USER2> [http://www.maxniederhofer.com/2008/05/27/financial-times- web...](http://www.maxniederhofer.com/2008/05/27/financial-times- web-20-article/)

<comment><USER3> Web 2.0 fails to produce "200 OK"...

</comment></comment><comment><USER4> Tell me something I don't know.

</comment><comment><USER5> meet the new boss, same as the old boss:

profit.</comment>


Ask HN: In San Fran Area today only, Looking for interviews - <AUTHOR>

Hey guys, I flew out here yesterday for two interviews with startups and one went well, while the other was mediocre.  I figured that while I'm here and the day is far from over, I might see if anyone else is looking for developers.
About me:
I'm a junior level developer + project manager by day.  My biggest tools are Ruby, Rails, Javascript (jQuery mostly), and HTML/CSS. Half front-end/half back-end dev in my day job.
I'm passionate, fun, outgoing, and ambitious.  I want to move out here and build something awesome, whether it be with an established team or something just getting started.
email me at email@example.com if you're interested in talking. <comment><USER2> You might want to spend the day looking at rent and house prices to compare with other areas you might be employable.

<comment><AUTHOR> I have been. That's been the most important factor in considering the offers I've gotten here and elsewhere. Where I'm from, standard rent for a 2500sq ft house in a great area is like $1500/mo... Split 3 ways, it's $500/mo rent. I'll never live that cheaply again.

<comment><USER3> Just so you know, in SF that money will buy you a dingy room in an average area with roommates.

</comment></comment></comment><comment><USER4> If you have any projects you've done or an online code-repository, you should link it. Also, search for the who's hiring thread for June, which has a robust list.

If you are just burning time, head over to pier 38 (SF) and talk to the several startups that operate from there. I would also venture to say there are a bunch of startups working out of the 500 startups space at any given time.</comment>


"The Great ISAs" reading list - <AUTHOR> https://www.cs.cornell.edu/courses/cs7491/2020sp/ <comment><USER2> Is there any chance that these Zoom sessions might be recorded and made public after the fact? I know I would love to listen to these discussion or talks and I'm sure many others would as well. This looks fantastic.

<comment><USER3> nearly all of them have already taken place.

<comment><USER2> How does that change the question I am asking of whether they might have been recorded and can be made available?

<comment><USER3> I don't know how I misinterpreted your comment that badly. Sorry, I promise I'm usually able to read.

</comment></comment></comment></comment><comment><USER4> Oh, wow - the first paper on the list was co-authored by Amdahl and Brooks.</comment>


Making of Impacts – Programming ⋂ Art - <AUTHOR> https://dave.autonoma.ca/blog/2020/05/12/impacts-project-voronoi-diagrams/ <comment><AUTHOR> For those of you who have been following the Typesetting Markdown[1] series, this topic takes a detour to discuss some technical aspects involved with making the Impacts Project[2]. There's a mix of art, programming, and ways to avoid reinventing some wheels in this post that may prove informative. My plan is to write about technical adventures for the Impacts Project, leading up to a tie-in with the final part of the Typesetting Markdown series.

Ideas for the Making of Impacts topics include (some more programming-oriented than others):

* Stripe payment integration with unique link generation for downloadable PDF files

* Generating a dual Y-axis plot using R (from temperature and CO2 data)

* Running Celestia to approximate locations of protoplanetary orbital paths

* Recreating a rasterized drawing as separate logical vector objects, inexpensively

* Simulations behind the K-Pg Extinction impact event

* Using MetaFun to draw lines based on values in Markdown document (i.e., Part 9 of Typesetting Markdown)

What topics would be of most interest?

[1]: [http://localhost/dave/blog/2019/05/22/typesetting- markdown-p...](http://localhost/dave/blog/2019/05/22/typesetting-markdown- part-1)

[2]: [https://impacts.to](https://impacts.to)</comment>


Introducing Closure Tools - <AUTHOR> http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html

<comment><USER3> For one of our JS bundles it's a substantial improvement over YUI's Compressor.

Original: 459220

YUI: 241920

Google: 209929 -- 13% improvement

YUI + gz: 66164

Google + gz: 61297 -- 7% improvement

Caught a few non-fatal syntax errors too. We serve hundreds of thousands of those a day, so that's already committed to our tree and on the way to testing.

<comment><USER4> Here's another data point:

I downloaded jquery-1.3.2.js and jquery-1.3.2.min.js from <http://docs.jquery.com/Downloading_jQuery#Current_Release>

> wc -c jquery-1.3.2.js

120763

> wc -c jquery-1.3.2.min.js

57254

> java -jar compiler.jar --js jquery-1.3.2.js | wc -c

55340

Using Google's compiler saves an additional 4% over the existing minified version

(disclosure: I used to work for Google)

<comment><USER5> I definitely plan on switching jQuery over to using this compressor - <USER2> by the output. However it appears as if it crashes when you push the latest nightlies of jQuery in. Not sure what's up with that.

<comment><USER6> Out of curiousity, I threw together a quick comparison using SlickSpeed and the latest jQuery/Prototype frameworks.

<http://bit.ly/1Ei4o8>

If someone wants to contribute a jQuery version compiled with advanced opts, I'll be happy to add it to the list.

</comment></comment></comment></comment><comment><USER7> I'm pretty sure this is what Steve Yegge was talking about on the most recent StackOverflow podcast he was in.

If that is accurate, it's a JavaScript compiler that supports a way of partially compiling to allow very tight integration with an IDE (or editor). Yegge's point was that an IDE or editor should not have to re-invent the wheel and a compiler should be able to provide sophisticated feedback about syntax, objects, variables, scope, etc.

Cool to see it out in the wild.

<comment><USER8> Yes here's the link <http://blog.stackoverflow.com/2009/04/podcast-50/>

</comment></comment><comment><USER9> Would anyone who already knows this tool, or is taking the time to learn it, care to explain what they mean by "compiles web apps down into compact, high- performance JavaScript"? I assume this is a JS-to-JS translator. How exactly are they transforming the JS?

I mean, of course, besides the obvious things they mention: minification, removing dead code, and some error checking.

<comment><USER10> Take a look here: [http://code.google.com/closure/compiler/docs/api- tutorial3.h...](http://code.google.com/closure/compiler/docs/api- tutorial3.html#better)

When you turn on advanced mode they do automatic inlining, variable substitution, and they don't respect the globalness of anything unless you specifically force something to be global.

YUI Compressor assumes anything not in a function is global, so it won't rename top level objects. Closure in advanced mode will trample through your globals and property names like rhinos mating in a field of daises.

<comment><USER8> I get concerned that these minimisers and js to js compilers will introduce subtle bugs and changes into the behaviour of my code. Is that concern warranted?

<comment><USER10> Closure advanced mode will absolutely screw with your code.

Closure simple mode and YUI Compressor won't change the behavior of your code. They just rename completely encapsulated objects with shorter names and remove unnecessary semicolons.

<comment><USER9> If the Closure "compiler" changes the behavior of a program, that means it's generating incorrect code. Can you give an example?

<comment><USER10> Check out [http://code.google.com/closure/compiler/docs/api- tutorial3.h...](http://code.google.com/closure/compiler/docs/api- tutorial3.html#propnames)

(short version: inconsistencies between Closure renaming my_object.attribute to a minified a.a while in other places you use my_object['attribute'] which it can't minify to be a.a. You end up with a.a = 3 and a['attribute'] = {something else}).

<comment><USER9> Ah. This is a classic problem with transforming JS. We've run into something similar with Parenscript (but were able to correct it, rather than say "just don't write code that does X").

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> It took me a while to figure this out, but there's a lot more than "just" a js compiler. Since nobody here commented about it, I guess I'm not the only one that didn't see it.

We can now use all the google fancy widgets (from gmail, gdocs, etc). Check this: [http://closure- library.googlecode.com/svn/trunk/closure/goog...](http://closure- library.googlecode.com/svn/trunk/closure/goog/docs/index.html)

</comment><comment><USER12> What an unfortunate name. Perhaps, in the confusion, it will help to actually promote Rich Hickey's wonderful work.

<comment><USER13> It was called Closure before Rich announced Clojure to the world.

<comment><USER14> "Closure" being a general concept in programming, I always disliked the name "Clojure". Same thing as Google Chrome, everyone is now confused when you talk about browser chrome as a general thing.

<comment><USER15> I agree that "Clojure" is kinda a silly name, but what else are you gonna call it? I assume Henly wanted a name that conveyed its functional and/or Lisp roots, and the fact that it's on the JVM.

Let's try some names using the usual JVM language conventions: _JLisp_ works, but it's boring, and _Jisp_ sounds kinda suspect. _Parenjases_ is just silly. Or maybe _LLBeans_ for "lazy lisp beans"...but that's just getting too cute.

I think I probably would have gone with _Jambda_.

<comment><USER16> "what else are you gonna call it?"

How about "Armadillo"?

<comment><USER17> Years ago, i wrote a compressor for javascript.

I called it "Arnold" because it was strong and squeezed javascript into a smaller shape.

</comment></comment></comment></comment></comment></comment><comment><USER18> I think there is way to much attention on the compiler. It's neat but not that big of a deal. The key here is that they released their widget library. Tons of great stuff with very high code quality. This also includes the document editor from google docs which is by leaps and bounds the best engineered WYSIWYG editor out there.

</comment><comment><USER19> Using this code on the code here (except for processing.js): [http://github.com/cburroughs/minification- compare/tree/maste...](http://github.com/cburroughs/minification- compare/tree/master/sample-files/js/)

Latest full release of yuicompressor vs closure at SIMPLE_OPTIMIZATIONS level:

      ----- TOTALS -----
      base:  yui-compressor-2.4.2
      ('abs diff:', '768050', 'gz: ', '184071')
      ('% change: ', -0.56976157623774126, 'gz: ',   -0.51009685330672982)
      challenger: closure-compiler
      ('abs diff:', '814830', 'gz: ', '193817')
      ('% change: ', -0.60446432545511197, 'gz: ', -0.53710493134361448)

</comment><comment><USER20> Wow, I have been seriously missing this outside google-land. So happy it's released; it's a fantastic set of tools, even if you only use the compiler as a glorified lint.

<comment><USER21> Given your experience with the tool, any tips or best practices?

I already use lint in my build system, this looks like a good companion as well.

<comment><USER20> IIRC, the framework is largely based on dojo, so if you're familiar with that you'll have an easier time getting used to it.

Don't remember many specifics, I just remember liking it. Good luck!

</comment></comment></comment><comment><USER22> So now there is Clozure common lisp, Clojure for the JVM, and now Closure.

I was already getting the first two mixed up.

<comment><USER23> I am never going to be able to refer to an actual closure again and have anyone understand what I'm talking about, am I?

<comment><USER24> I already find that hard enough - I've found that people tend to conflate first-class functions with closures.

<comment><USER25> Well, is there any real different between a first-class function and a closure that closes over nothing?

Is it possible for a language to support closures without first-class functions? How common is it to have first-class functions without closures? (I think Python sort of had this arrangement, but I think this is fixed now.)

<comment><USER26> A closure is just a (function, bindings) pair, so Python certainly has closures. The problem with Python is that there is no syntax for assigning to variables declared in an arbitrary scope, because there are no explicit declarations. As far as I understand, implicit local variables are what causes the problems in Python, not anything about closures, really. This causes other problems, too, such as those PG described here [1], under the heading "Implicit local variables conflict with macros".

1\. <http://www.paulgraham.com/arclessons.html>

<comment><USER27> Python 3 has read-write closures. Check out the nonlocal declaration.

<comment><USER26> _The nonlocal statement causes the listed identifiers to refer to previously bound variables in the nearest enclosing scope._ [1]

While certainly a big improvement, we still can't access variables in _arbitrary_ scopes, just local, nearest non-local, and global. To me, this seems a significantly more complex way of specifying variable scope than just declaring it explicitly.

1\. [http://docs.python.org/dev/3.0/reference/simple_stmts.html#t...](http://docs.python.org/dev/3.0/reference/simple_stmts.html#the- nonlocal-statement)

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> I've been curious about some of the tools behind Google's javascript power. The Closure Library coupled with the compiler looks really useful for creating complex and fast web apps.

</comment><comment><USER29> This is wonderful news; I'm really grateful to Google for opening this.

We already knew that Google's major javascript apps were not using GWT. I always had reservations about GWT because I think javascript is a very nice language. (Just the language - not necessarily the DOM or implementations).

While java seems like a step backwards.

The main thing missing from javascript is some stricter checking, and it looks like Closure Tools provides this.

</comment><comment><USER30> i DONT get this attitude of Google. even MS uses jquery but the open source king Google do not. is this so hard to improve upon Firefox or Ubuntu or even much less complex jquery?

<comment><USER31> Google uses (and hosts free for everyone) jQuery. You can even use their new compiler to get a smaller version of jQuery. The widget library has some overlap with jQuery, but does so much more and has been in progress since well before jQuery UI (Google bought Writely in March 2006 and jQuery UI didn't come out until September 2007).

<comment><USER30> MS uses and hosts free too. what is your point? i'm talking about progressing current successful open source projects. fyi, its library has overlap with jquery core too!</comment></comment></comment>


Ask HN: How would you spend $1,000 a month to maximize your productivity? - <AUTHOR> I've begun to realize I have a variation of "Not made here" syndrome in my personal life. Hiring someone to clean my apartment once a week would save me hours and cost very little, but I end up doing it myself. A personal trainer could help me design a good training plan and keep me on a schedule, but I seem to insist on (unsuccessfully) designing an optimal workout plan entirely from scratch.<p>So, what would you do with $500-1,000 a month to save time, multiply your productivity, or generally just focus more on what's important in life? <comment><USER2> If you work full time, ask your boss to pay you at the same hourly rate and drop your working hours until you get paid current salary - 1000$. Then use that time read, meet new people, start new hobbies until you find one that sticks, go to the gym, start indoor rock climbing, boxing, painting, whatever. basically, train your mind (on something other than tech), and your body to get the best of it. Do whatever you like as long as it's not 100% mindless media consumption and you'll feel fulfilled. I'm inclined to think that the most rewarding things in life are the one you handle yourself, paying someone to clean your room (instead of doing it yourself) or to tell you how to exercise (instead of learning about anatomy and reading about bodybuilding online for example) won't bring you the same fulfilment.

Don't focus on "productivity" or "getting things done", it's life, as long as you can afford food an a roof over your head you're good to go. You won't remember your perfect workout program or your shiny new side project of the month in 5 years.

If you can spend 1k$ on "productivity" you probably aren't in a bad situation money wise, enjoy that, you already don't have to think about problems faced by 90% of the world population.

Automating / delegating / micro managing your life is the best way to make it more stressful imho, it very easily gets out of control and ironically becomes your life's focus. The only road to happiness is a sound mind in a sound body, and the probability you'll get that through a carrier is slim.

I highly recommend reading these: [https://en.wikisource.org/wiki/Moral_letters_to_Lucilius](https://en.wikisource.org/wiki/Moral_letters_to_Lucilius)

</comment><comment><USER3> There's also remote personal assistants. They can research for you, book appointments for you and given your credit card details order stuff or organize travel for you. [https://blog.asmartbear.com/virtual-assistant- startup.html](https://blog.asmartbear.com/virtual-assistant-startup.html)

I doubt they multiply productivity. For me (I don't use it) it would be mostly removing time to take decisions. If somebody can reasonably give me a choice of three products instead of me browsing Amazon for an hour to find the perfect product it's 50 minutes saved. Of course the risk is I spend more.

<comment><USER4> people get paid for that? think im in the wrong job

</comment></comment><comment><USER5> Hire a coder to start building you a passive income generator while you work</comment>


Mindmap Showing Possible NSA Internal Structure / Org Chart - <AUTHOR> http://www.mindmeister.com/308518551/the-national-security-agency-operates-more-than-500-separate-signals-intelligence-platforms-employs-roughly-30-000-civilians-and-military-budget-10-billion

<comment><AUTHOR> Source: [http://www.defenseone.com/ideas/2013/08/what-nsas-massive- or...](http://www.defenseone.com/ideas/2013/08/what-nsas-massive-org-chart- probably-looks/68642/)

Which was posted a few days ago here (no comments): [https://news.ycombinator.com/item?id=6214799](https://news.ycombinator.com/item?id=6214799)</comment>


Startups: How to Hustle with AngelList in 10 Steps - <AUTHOR> http://www.quora.com/Brendan-Baker/Startups-How-to-Hustle-with-AngelList-in-10-Steps <comment><USER2> These are great suggestions, much appreciated. I will be going into "pitch mode" soon, which means creating my Angellist profile among other things.

Information like this is why I'm glad places like hackernews, quora, stackoverflow and even Git are around.

There aren't many other industries where people are so willing to help potential competitors. Internet win.

</comment><comment><USER3> "hustle" is starting to become the sexy geek word now.

<comment><USER4> picture it: "timescag.com is looking for a few javascript hustla's"

<comment><USER5> Timescag sounds like an STD you got from speed dating too many hustla's without proper protection</comment></comment></comment>


Annoying Technology - <AUTHOR> https://annoying.technology <comment><USER2> The "Not Interested Anymore?" thing in Podcasts annoys me too. It's so common for me to stop listening to something for a few weeks, then find I have a backlog of episodes that didn't get downloaded when I come back to it. And of course I always discover this when I'm out and about (since that's where I listen to podcasts), so I can't download the backlog since I'm not connected to WiFi.

Software that thinks it's smarter than you only works if it _really is_ smarter than you.</comment>


Ask HN: Looking for feedback on SaaS boilerplate - <AUTHOR> I've recently built and published open source SaaS boilerplate with React/Next/Express/TypeScript.
Currently, over 2000 people tried the demo and about the same number of people cloned repo. But so far, I did not receive much feedback.
If you are in the early stage of building your SaaS web application or looking for stack/boilerplate - what would you add or subtract from our SaaS boilerplate.
Github repo: https://github.com/async-labs/saas
Any feedback on the README file? <comment><USER2> Cool idea and an awesome effort! I've been a mentor for Thinkful (an online code school) for five years and have helped students build many, many MVPs so lots of experience in the trenches helping beginners build new projects.

I mostly like your choices. Using full-stack JavaScript is excellent, only one language across client and server. I also like the use of Next and MobX to simplify things like routing and state management.

Node and Express are also solid choices, however the use of Mongo is a recipe for disaster. Mongo has a very narrow use case, and it does not include storing relational data for a SaaS business. Compounding that problem is a poorly designed schema that at first glance stuffs everything into one massive user document. While this back-end implementation obviously works, it will lead to problems down the road that could just as easily be avoided by using Postgres and Knex for your database and migrations, and Objection for your models...a very straightforward setup.

The one other piece of feedback I have is that while I haven't used TypeScript, I'd say it adds a layer of complexity that isn't needed in an MVP.

I'd be happy to discuss further and am eager to learn more about why you built this and how you're using it! Also curious if you're based in Seattle? I was born there and love that city....

</comment><comment><USER3> Hey there, do you know anything about those users who have tried the demo?

We have a SaaS but when thinking about whether we would use your boilerplate, the honest answer is I wouldn't because I'd have to learn the tech stack that you've decided for me. That's a big learning curve than rolling out with something I'm familiar with.

If you have a boilerplate that limits tech to a few and simplifies the learning curve, there might be a bigger interest. Or you can go down the route of creating a UI version where non-developers can configure their own SaaS app for building an MVP, which would be useful just to validate ideas, raise funding and hire someone to fix it.

<comment><AUTHOR> Thanks for the comment. Valid point. It encourages me to write tutorials to shorten the learning curve. Building a tool for non-developers is too much effort for me. I should mention that some parts of the stack, say MobX, has a shorter learning curve, in my opinion, than an alternative, Redux.

I tried a bunch of tool from JS world, this stack, once learned, is easily manageable by really small technical teams (1-3 people).

Overall, I am from the camp "whatever works, customers don't care about stack". Just posted to HN to see if something is not clear in the README or some features can be added/removed from boilerplate.

EDIT: I did not answer your question. Majority of signups at the demo app is web development agencies and freelancers.

<comment><USER3> Think this would be good to include in your README - about why you chose the tools.

Also reach out to those signups and ask them what would it take to get them to really use it for their own projects. What's holding them back, etc.

</comment></comment></comment><comment><USER4> Mobile friendly [https://github.com/async-labs/saas](https://github.com/async- labs/saas)</comment>


Building a modern theme for an impressively smooth ordering app experience - <AUTHOR> https://blog.urbanpiper.com/case-study-building-urbanpipers-third-mobile-app-theme-newton-961aac0a12fd <comment><USER2> It was an very interesting read about how online ordering apps should be build.</comment>


How to get new GMail interface on your desktop - <AUTHOR> http://lifehacker.com/5508260/how-to-use-gmails-attractive-new-tablet+friendly-interface-on-your-regular-old-computer

<comment><USER2> It works but screws up iGoogle in Chrome. Windows xp.</comment>


Content-driven APIs and RSS feeds - <AUTHOR>

I'm looking for a few content-driven APIs and RSS feeds for a mashup website i'm building. Like Yahoo! News and Flickr, which allow you to submit a GET request and get a list of items based on a specific keyword. Like getting all news about "michael jackson" and pictures of "R2D2".<p>Do you guys know any other public APIs and RSS feeds with such feature, without rate limits? <comment><USER2> There's Google Blog Search: [https://www.google.com/search?hl=en&q=shadowrun&tbm=blg&outp...](https://www.google.com/search?hl=en&q=shadowrun&tbm=blg&output=rss)

And The Guardian feeds: [http://www.theguardian.com/help/feeds](http://www.theguardian.com/help/feeds)</comment>