Aroma: Using machine learning for code recommendation - <AUTHOR> https://ai.facebook.com/blog/aroma-ml-for-code-recommendation/ <comment><USER2> If people are interested in this area and not already aware, there has been an Eclipse project that operates in this general area for a while. [https://www.eclipse.org/recommenders/](https://www.eclipse.org/recommenders/)

<comment><USER3> What would be nice is if could write recommendations automatically, then you pick and choose which one you want.

You could scaffold a project, and it runs, and then you check back to see what it recommends.

</comment></comment><comment><USER4> I want something like this for math. Write an equation, or a definition and see a bunch of different 'versions' of that snippet and where they are being used.

This would help so much with understanding concepts and merging fields. It is way too common for different fields to independently "discover" some concept and be completely ignorant of all the work that has been done on that concept by some other field.

<comment><USER5> It reminds me of Haskell's type based function search: [https://hoogle.haskell.org/](https://hoogle.haskell.org/)

</comment></comment><comment><USER6> Interesting. In typical Facebook style, they do not attempt to fix the root problem (there's too much code, and much of it has been copy-pasted) but instead expend even more resources just to allow (or even encourage) it to proliferate. The effort would be far better expended on a tool to refactor out all that duplication, because they've created something that can clearly identify duplication.

It reminds me of how they hit a limit in the Android VM because their code had so many classes, and decided to work around it instead of reflecting (no pun intended) on how they ended up with so much code in the first place: [https://news.ycombinator.com/item?id=5321634](https://news.ycombinator.com/item?id=5321634)

</comment><comment><USER7> Maybe ontopic: I would like a voice controlled system that works with me. For example: saying, "I need a loop over a list" and promptly I get served in my text editor the loop. Or "I need to open a file and read contents". Or "Create an object ThisAndThat, with three properties" ... etc. Of course ideally would even ask for more details like, what kind of list is that, or how shall the file be read.

How hard would be?

<comment><USER8> Well, I've been discussing it on HN for years now. There really hasn't been much interest.

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

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

Mention coding by voice and someone will explain how they can't imagine not using a keyboard, or they bring up the open office problem.

Considering the limited scope, it's probably just a matter of the proper editor integration.

<comment><USER7> I think my idea goes about a rapid prototyping, where i build the skeleton of a program faster, no matter the boiler code, and then workout the details.

Intellisense or shortcuts do this up to a level, but the current big IDEs are limited. Maybe some editor with the concept of VIM with a separate command and edit mode would be more fit to work like that.

</comment></comment></comment><comment><USER9> The most interesting (and I think difficult) approach here is properly representing the ASTs as vectors. There is a lot more possible when you get this right.

<comment><USER10> This. ML is so vector-y. And code is so graph-y. Can you point out some SOTA on bridging this ?

<comment><USER11> I think you'll find a good amount of material if you search for 'deep graph learning'.

</comment></comment></comment><comment><USER12> The primary use case I experience for searching for idiomatic usage patterns is to know how to do a higher level refactoring, meaning I don't want results that have syntax tree similarity to what I've got or even the small bit I start from to create the query. I want the _intention_ of my search query but expressed in a better design.

Separately, for very micro-level idiomatic things, like use of a certain data type operation or efficient constructor patterns, I need to search by natural language descriptions of the subtle differences between options. This is what makes Stack Overflow so helpful, the accompanying natural language description of intentionality or special cases, even if the code that is found isn't precisely what's needed, it demonstrates _directionally_ what to do.

This tool seems like yet another example of trying to force machine learning solutions to problems nobody actually has.

Considering the idea that I'd need to integrate this into my coding environment, I'll say No Thanks!

<comment><USER13> > This is what makes Stack Overflow so helpful, the accompanying natural > language description of intentionality or special cases, even if the code > that is found isn't precisely what's needed, it demonstrates directionally > what to do.

You're entirely right, but if you're in an incredibly huge monorepo like Facebook, this information literally doesn't exist; that's part of the problem that Aroma is trying to solve - "how can we show people the Facebook App Way To Do That Thing, even if That Thing doesn't have current documentation"

(Disclaimer: I worked on the coding environment UX for Aroma)

<comment><USER12> Wouldn't it make more sense to spend the effort annotating these things? Or building models to provide the annotation? I mean, I work professionally in embedding models for computer vision and NLP, and my reaction to the article is that this seems like totally the wrong approach. You're putting all this effort to create the embedding model out of the part that is both most superficial and least human interpretable (the AST).

<comment><USER14> Building models for natural language _and_ code for either NL/intent-based code search or automatically annotating code is indeed another hot research area!

I'd argue Aroma solves a different problem in that it surfaces more idiomatic patterns based on the code you already have. This also can be important especially in production environment, when you need to do things "the right way".

</comment></comment></comment></comment><comment><USER15> If anyone wants to get a PhD in this topic, let me know :)

<comment><USER16> Your website is the first I've heard of "Information Foraging" as a field of study. Absolutely fascinating. Any recommendations on where I might dive into the topic?

<comment><USER15> A good start that is easy to read would be:

An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks [https://dl.acm.org/citation.cfm?id=2430551](https://dl.acm.org/citation.cfm?id=2430551)

The paper applies IFT to software engineering, but IFT has also been applied to navigating websites or even physical offices. Use Scholar.Google.com to find a PDF of the paper if you don't have ACM access.

</comment></comment></comment><comment><USER17> It would be very helpful to help figure out how to do things in a large codebase with little documentation.

</comment><comment><USER18> Was anyone able to find a link to Aroma in that document? I found the colours made it very difficult to differentiate the links from the text and I couldn't find it.

A quick search through Facebook's profile on Github turned up nothing.

<comment><USER14> There's a paper describing the approach in detail <[https://arxiv.org/abs/1812.01158>](https://arxiv.org/abs/1812.01158>), but Aroma itself is not open source yet.

<comment><USER14> Sorry, HN screwed up my URL: [https://arxiv.org/abs/1812.01158](https://arxiv.org/abs/1812.01158)

<comment><USER18> Great, thanks very much for finding that paper. Hopefully Facebook follows this up in the not to distant future with at least a rudimentary example.

I can learn from a paper, but I learn much faster from an example!

</comment></comment></comment></comment><comment><USER19> Seealso: IntelliCode for Visual Studio.

<comment><USER20> I also found for Code, [https://visualstudio.microsoft.com/services/intellicode/](https://visualstudio.microsoft.com/services/intellicode/)

however when I try to install it on Mac OSX, I get

Couldn't find a compatible version of Visual Studio Intellicode - Preview with this version of Code

</comment></comment><comment><USER21> Not directly about the article but I am annoyed that the FB AI blog is very much a part of FB the social network. While reading the blog I got three useless notifications (boxes in the bottom left corner). The whole page has no other indication that I am logged into FB nor any option to log out.

</comment><comment><USER22> Is this project open source? I would like to experiment with something like this to generate boilerplate code. Often when programming I copy something that already do kinda what I want, then modify it until it does exactly like I want.

</comment><comment><USER23> Perhaps not as fancy, but I have been loving TabNine with Vim. (works with most editors) Its suggestions are scary good some of the time.

[https://tabnine.com/](https://tabnine.com/)

</comment><comment><USER24> I wonder if anyone from Kite.com is reading this and if they have any comments?

</comment><comment><USER25> Seems like this could be a useful feature for Github, BitBucket, etc.

</comment><comment><USER26> From what I read, it's doing search & clustering on AST based feature vectors. I'm a bit lost on the learning part, how does the system improve over time?

<comment><USER27> I'm guessing by learning the vectors over lots of ASTs?

</comment></comment><comment><USER28> That's a pretty cool approach! Thanks for sharing! ;-)

</comment><comment><USER29> i expect to see this in intellij and cider [https://code.google.com/archive/p/cider- ide/](https://code.google.com/archive/p/cider-ide/) soon

</comment><comment><USER30> What is the IDE they are using ?

<comment><USER31> That's Atom with Nuclide.

</comment></comment><comment><USER32> One danger I can see coming up is that if someone writes incorrect code it could end up propagating throughout other codebases. I guess this is still an issue without automatic tools, but I feel like this might make it easier…

<comment><USER14> Aroma would only surface what it thinks is "idiomatic" coding patterns. So if you have many instances of incorrect code, you might already be in trouble :)

<comment><USER33> Given how many "everybody does X wrong" articles we see here, I think we're already in trouble. :P

(Thinking specifically of the "binary search in the Java API was broken for X decades" one with the integer overflow.)</comment></comment></comment>


Minority Report Interface Is Real, Hitting Mainstream Soon   - <AUTHOR> http://singularityhub.com/2010/02/17/minority-report-interface-is-real-hitting-mainstream-soon-video/ <comment><USER2> Oh the one where you have to wear funky gloves and wave your arms around a lot? The wide arm movements are a dead give-away. It's MADE FOR MOVIES. Not for actually using it.

<comment><USER3> Oh, I don't know. When I'm using my computer I often think "Man, I wish I were standing up and making huge arm movements right now so that my arms would get tired within twenty minutes"

I'm tempted to say "At least it would be good for games", but frankly the Wii has failed to revolutionize gaming as much as folks thought it would -- after waving your arms around for a bit the novelty wears off and you go back to wanting to mash buttons.

<comment><USER4> It sure seems to me that the Wii has revolutionized gaming as a mainstream social activity, even if it hasn't really affected "hardcore" gaming.

<comment><USER3> Has it, though? Or was it a brief fad which lasted until everybody got bored of Wii tennis?

</comment></comment></comment></comment><comment><USER5> Here is the thing.

There is currently no advantages to Minority Report interfaces that isn't better done by the computer itself.

A Minority Report type interface requires algorithms that multiply your actions way more than any system currently available.

It's kind of like doing a combo in Tekken or some other figthing game.

It's valuable if you can control real time with additional powers but we are not even close to getting there.

The kind of advantages that 3D interfaces gives cannot yet be harvested in 99% of the cases.

Perhaps controlling a spaceship or a satellite but in most cases it's not better it's just different.

</comment><comment><USER6> Nintendo's PowerGlove taught me an important lesson 20 years ago: Even if hand tracking becomes perfect, it doesn't matter. What matters is that holding your arms up is exhausting. After a minute, you are resting your elbow on something. After two, you are resting your wrist on something. A minute later, you really wish you had a mouse.

</comment><comment><USER7> What is equally interesting is what can be done by scanning neural activity and essentially letting people control games/physical objects without any physical input. Check out the Emotiv headset for an example <http://www.emotiv.com>. Their headset is $300 and is shipping now.

</comment><comment><USER8> I'm surprised the article wasn't talking about the Microsoft Kinect interface. Kinect is hitting the mass market in a month and the UI is completely navigable just by waving your arms. It doesn't have enough precision to do something like move files around, but it's still really cool.

</comment><comment><USER9> Define "mainstream." This gives the false idea that such an interface would take over the way humans normally compute and interact with machines.

This interface is nowhere close to the level of replacing the traditional keyboard/mouse or the emerging multitouch tablet.

People simply cannot interact with textual data quickly enough and would easily get tired with that interface. I can code at my keyboard/mouse for 10-30 hours straight without much fatigue. I wouldn't last 30 minutes on that thing.

Nevertheless, it's really cool and I can't wait to see future interface designs. Just don't make the lofty claim that it will be "mainstream."

(just a personal opinion)

<comment><USER3> You can code for 30 hours straight without much fatigue?

<comment><USER9> Coffee + 10 minute breaks every 20 minutes of code. Weekly/monthly hackathons help condition your body for this ;-)

I obviously crash immediately after. I'm usually delirious and black-out (after TechCrunch Disrupt for example).

</comment></comment></comment><comment><USER10> So, did this have any movement since ... February ?

<comment><AUTHOR> Um, yes, and this might have been the better link to submit: [http://singularityhub.com/2010/10/22/new-video-of-mits- minor...](http://singularityhub.com/2010/10/22/new-video-of-mits-minority- report-interface-g-speak/)

</comment></comment><comment><USER11> This same series of videos and content has been making the rounds on new aggregator websites for quite some time now. One of the videos was published over two years ago:

<http://vimeo.com/2229299>

This tech is cool, but it's not going anywhere fast because its use isn't practical.

</comment><comment><USER12> And I can't even find a good wireless mouse.

</comment><comment><USER13> The second comment covers the interface quite nicely, by linking to this: <http://okcancel.com/comic/3.html>

</comment><comment><USER12> This reminded me of Andy Wingo (<http://wingolog.org>), a Guile hacker who works with/for Underkoffler (Oblong).

</comment><comment><USER14> Apple's strategic purchase?

</comment><comment><USER15> <http://www.catb.org/jargon/html/G/gorilla-arm.html>

The side-effect that destroyed touch-screens as a mainstream input technology despite a promising start in the early 1980s.</comment>


3D Slides: HTML5, CSS3, and SVG - <AUTHOR> http://ajaxian.com/archives/3d-slides-built-with-html5-css3-and-svg <comment><USER2> nice effort, looks like Cool Iris

doesn't work on Chrome at all though, and some gaps in Safari (it scrolls in the page when you press arrow keys)</comment>


FS4 (Flight Simulator) Webport - <AUTHOR> http://planetmic.com/orbit/fs4web01.htm <comment><AUTHOR> Not a "port to the web" but a wonderful website dedicated to the game.</comment>


Why You Should be 203 Percent Behind ECPA Reform - <AUTHOR> https://www.aclu.org/blog/technology-and-liberty/why-you-should-be-203-percent-behind-ecpa-reform

<comment><USER2> A number of tech advocacy groups including the Center for Democracy and Technology, TechFreedom, and the Electronic Frontier Foundation are making a major push this week to get the White House to support ECPA reform.

Find out the details of ECPA's outdated email rules and why we need reform here: [http://techfreedom.org/post/68822183836/whats-so-bad- about-e...](http://techfreedom.org/post/68822183836/whats-so-bad-about-ecpa)

Sign the White House petition to get the Obama Administration to support email privacy here: [https://petitions.whitehouse.gov/petition/reform-ecpa- tell-g...](https://petitions.whitehouse.gov/petition/reform-ecpa-tell- government-get-warrant/nq258dxk)

The petition needs 100,000 signatures by December 12!</comment>


A New Look for Gmail - <AUTHOR> http://googlesystem.blogspot.com/2011/10/new-look-for-gmail.html

<comment><USER2> Improving UI and UX for email is difficult because it's used in such a wide variety of ways by different people (or the same people at different times).

Sometimes it's social, and replies and photos need a lot of space.

Sometimes its a to-do list, where marking and seeing snippets are high priorities.

Sometimes its a filter for everything incoming, where quick scanning and sorting are high priorities.

Trying to do all of these effectively within the the same UI is not possible, so it looks like Google is pushing for the social path as the one it wants to target</comment>


How Google Killed GDrive and Spiked Its Skype Acquisition - <AUTHOR> http://networkeffect.allthingsd.com/20110425/how-google-killed-gdrive-and-spiked-its-skype-acquisition/

<comment><USER2> _"Files are so 1990," said Pichai. "I don't think we need files anymore."

Horowitz was stunned. "Not need files anymore?"

"Think about it," said Pichai. "You just want to get information into the cloud. When people use our Google Docs, there are no more files. You just start editing in the cloud, and there's never a file."_

Color me stunned too. I just took a vacation to Italy and my camera sure has heck didn't push 40GB of photos up into the cloud on some random wifi connection that didn't exist where I was at that very moment, so that I could then saturate the nonexistent bandwidth pulling them all back down again for viewing and editing (or panorama stitching).

This is actually the #1 use case for me that prevents me from traveling a few pounds lighter with just a tablet. I need lots of storage for photos.

I'm half playing with the idea of just getting a big dropbox account for traveling and just push all my photos up at the end of the day. A 50-60GB GDrive would have been great had Google offered it.

</comment><comment><USER3> I think the GDrive cancellation in particular highlights a real problem at Google: the tendency to have a much clearer idea of what they want users to be doing than of what users want to do.

Generic cloud storage could be a great bridge between the way the vast majority of people are used to working with data (as files) and the plethora of online services that can make that data useful in (to the user) unforeseen ways. But because the Google future is so dazzling, it's not enough to step into it. One must leap.

<comment><USER4> I disagree, the 'no file' approach is the forward looking one, beyond DropBox type thing. Why sync files to local machines when they are already accessible through the cloud? that's the 'leap'.

<comment><USER3> I'm not sure what you're disagreeing with.

Edit: I think I understood the rationale but it's blinkered. It's Google's business to find out why such transitions are difficult or unattractive to users and to smooth the way. To answer your question, why sync, an example is data portability. While most computer users have never heard the term, they do have an intuitive understanding of the kinds of problems that can happen when you don't have a local copy of your stuff, as almost happened with the Google Video screw-up. Whether problems like this are real or permanent isn't the most relevant fact, it's that people experience them.

<comment><USER4> If I understand correctly you suggest that it was a mistake not having launched GDrive as a gate-way service to their 'no file' vision, but I agree with their approach to focus on developing the services that will eventually remove the need for files.

</comment></comment></comment></comment><comment><USER5> This is essentially just 2 small excerpts from the actual book, and a short video interview.

Here are two other excepts (from a previous HN article) of the book that also link to a free preview of the first chapter.

<https://kindle.amazon.com/post/1EJFN69GTE3AN>

<https://kindle.amazon.com/post/2BJ69NQFHGN1P>

I'd recommend reading the preview even if you don't plan on buying the book right now. But getting this book in multiple small excerpts doesn't really do it justice.

</comment><comment><USER6> Given how well DropBox and Skype are doing this doesn't say very much about Google management. I'm surprised Pichai and Chan still have their jobs.

<comment><USER7> Considering the crooks that run Skype, Google got real lucky on that one. Just ask eBay.

<comment><USER6> I blame eBay for that one. Not actually acquiring the underlying technology to Skype was pure idiocy on their part. I don't blame Skype one bit for taking advantage. My point was that apparently Craig Walker having kids in school and lawyers saying it would take months for the deal to go through was enough to kill a deal that had a high chance of success. I understand Chan was protecting his territory but shame on Google management for going along with it.

</comment></comment></comment><comment><USER8> In this argument, i'm with pichai and chan. They just did the thing that google is known for. Google is best when it create a web-app or any enterprise from its store. When they acquire something they are most likely take the different approach then the original thinking of that company. This in most cases fails to scale and integrate that app.

</comment><comment><USER9> Pity. I think Google might have done better with Skype.

</comment><comment><USER10> The crazy idea that files are obsolete reminds me of how Skype thought that the old multiwindow communicator paradigm needed replacing and forced Skype 5 on disgruntled users.

Skype insists they see the future while users keep downgrading to 2.8

</comment><comment><USER11> These size limitations are pretty 1990 <http://docs.google.com/support/bin/answer.py?answer=37603>

</comment><comment><USER12> I'm 2/3rd of the way through the book right now, and I vacillate between being ready to ditch the book altogether (for cheerleading Google too much) and continuing on in horrid fascination (Mayer announcing basically that design was dead "machines made this")

Too much to review here, but overall I am immensely impressed with the talent at Google and their potential to change the world. It's truly an incredible thing to watch.

I also feel like if you took a bunch of hopelessly naive engineering grads, gave them 100 Billion dollars, and turned them loose on the world, you'd have a Google. That both a compliment and a critique. I strongly suspect that Googlers aren't all wearing superman capes and flying around the planet, looking for evil villains. Much of it today must be tediously boring.

But "files are so 1990"?

We are not going to reinvent the mainframe as the internet. At least I sincerely hope not. No matter how many super-incredible geniuses we throw at it, there are really good reasons that have nothing to do with 1990 that lead me to know that I want complete control over my data and my processing. That doesn't mean that those things have to permanently live locally, but it sure as hell doesn't mean that I have to "control" them through some cloud provider using html. Maybe I'm smoking crack, but it seems to me we're just proving that old saying "you can have too much of a good thing"

Hopefully one day it'll be 2025 and these same types of forward-thinking people (I consider myself one) will have moved beyond rigid cloud/client thinking and be saying "the cloud is so 2010, you know?"</comment>


Ceres: The Planet That Wasn't - <AUTHOR> http://www.bbc.com/earth/story/20150831-the-planet-that-wasnt <comment><USER2> Why can't we send a rover something similar to Mars Curiosity on Ceres. As water has been detected, it can prove to be a great opportunity for future space explorations. Right now people are totally focusing on Mars but we do need to realize that in order to sustain humans settlement we need lot of water and oxygen. What we really should try to do is choose places where there is lot of water and some basic resources for life so we don't need lot of space just to carry water and basic life supporting resources on space explorations.

<comment><USER3> The Dawn orbiter just got there. We now have basic surveillance video of all of Ceres. The orbital altitude will be decreased, yielding higher-resolution pictures and more data from other instruments. If there are any interesting places to visit, we should know later this year.

<comment><USER2> I am aware of the Dawn orbiter. My reasoning for sending a rover is most likely you will be able to collect more details and information. With satellite all you get is high resolution images but if you have a rover you can perform hand on tests on the surface, try drilling and do whatever you are looking to do.

<comment><USER4> Not sure but wouldn't a rover be difficult to land with the low gravity?

<comment><USER5> Easier, I would think. The gravity is low enough that you don't need a big rocket to land but high enough that you don't have to worry about bouncing off.

<comment><USER4> I was thinking about the way they slam the mars rovers into the ground with airbags. That certainly wouldn't work or the rover would bounce around for a long time. But I guess there are other ways. It would certainly be interesting to see what NASA comes up with.</comment></comment></comment></comment></comment></comment>


Ask YC: Do any of you find yourself reading comments before the actual link? - <AUTHOR> I find the comments on HN to often be much better quality than the actual link. As a result, I've been clicking on the comments first, and then decide whether to read the full article. A somewhat strange reading habit - just wondering if others do this too? <comment><USER2> Sometimes. If the headline sounds preposterous, I sometimes check the comments to see if it has been locally debunked before clicking on the link to the article.

<comment><USER3> I also do this for situations where the article sounds like fluff or link- bait, but involves a subject where an intelligent conversation could occur amongst smart people. There are lots of times when the comment threads are more valuable/interesting than the links.

<comment><USER4> > There are lots of times when the comment threads are more > valuable/interesting than the links.

I find this is the case most of the time here. I enjoy reading engaging articles being 'hacked' apart.

</comment></comment></comment><comment><USER2> I'm surprised how many people read the comments first. Should I pull the beginning of the leading comment text up onto the front page with the link, like Gmail does with the beginning of the message body?

Or would that mess up the clean look, and fill up mobile screens too fast? There are other possible solutions short of that. E.g. I could add a button people can click on to say that an article is linkbait, or mistaken, or whatever, and display icons to indicate this.

<comment><USER5> Please make the "discuss" / "N comments" anchor have a distinguishing property when :visited -- maybe a faint underline or weight change instead of a different color. Currently there's no way to see that I've looked at a story unless I visited the link.

It'd be nice to have the thread anchor target be larger, maybe by having each story encapsulated by something like this:

      <a href="/item?=id=XXXXXX" class="story"> ... </a>

      a.story { display:block; }
      a.story:hover { text-decoration:none; background:#fff; }

That's probably incompatible with the WTF way you're using tables (TRs in flat series for the link, byline, and spacer) -- you'd have to switch to having each story be its own table. The result would be that the whole story's "row" (minus the anchors inside it) would be a link to the thread.

</comment></comment><comment><USER6> The _comments_ differentiate good links from bad. I rarely read a post without checking the comments first.

(Though I do read the links before voting, of course.)

</comment><comment><USER7> Almost always. While the links are great, the discussions are what make Hacker News.

</comment><comment><USER8> I almost always check for comments first, actually. If they are good and interesting, _then_ I click the link.

</comment><comment><USER9> Yes, frequently.

I kinda wish there was an "open in frames" option, putting both the comments and the page in one tab. I go to reddit/hn/etc and open many links in new tabs, then the "next" page in a tab. Then I just work through till I get to the end and process the next page.

<comment><USER10> joshu, you could give the greasemonkey script "HN OnePage" a try. <http://userscripts.org/scripts/show/30512> It may not be quite what you are looking for, but it will let you easily view the comments/article for any given submission. There are some other good greasemonkey scripts out there as well, such as HN Splitview, that address this issue.

<comment><USER11> A split view makes one more likely to comment and upvote/flag etc because it is right there, and no effort is necessary to navigate back to the article's HN page.

</comment></comment></comment><comment><USER12> Always, HN comments are my filter.

</comment><comment><USER13> That pretty much describes what I do, yes.

</comment><comment><USER14> As HN has grown, stuff on the homepage tends to change too frequently for me any more. If there isn't a comment modded up to 10, I'll rarely click the link.

</comment><comment><USER15> Yes, most times. Sometimes I feel that reading the comments first skews my opinion of the article but mostly it's useful to filter out the less interesting links.

</comment><comment><USER16> Usually I read the comments first. if the comments are good, I'll read the article.

If there are no or few comments, I'll read the article to see if the topic is worth getting a discussion going. If so, I post a summary or comment to start things off.

</comment><comment><USER17> Great question. I usually visit the link first then come back to the comments on Hacker News. It's like enjoying more seeing a movie you don't know anything about than reading critics first.

Reading the comments on hackerNews is the main reason I do not activate comments on my website. For me if a discussion needs to happen, it should be where the people found the link. So if you post your link on reddit, HackerNews, Digg, etc. you end up having focused discussions. Each one having a much better quality than mixing every point of view in one place (the comment thread of the website).

Have good day. Thibault

</comment><comment><USER18> About half the time on a laptop/desktop; almost all the time on mobile.

</comment><comment><USER19> I usually don't even read the links. There is no sense to read a big article...when you can get most of the story from comments...in addition to a meaningful discussion

<comment><USER20> Often, the discussion will focus on a few sticky points, and skip much of the interesting or least-debatable content in the original article.

</comment></comment><comment><USER21> All the time. I even tell myself to read the story first so I have a base on what is being discussed but I always end up in the comments first.

<comment><USER22> Usually I have a quick scan of the article, read the comments, then return to the article if it sounds worth reading.

</comment></comment><comment><USER23> Yep mostly.

1\. comments if more than 4-5 would most always reflect the thoughts and opinions that I myself would be going through if I do read the article.

2\. Checking out comments is quicker (in terms of load time and reading time) and less clutter on the flow as you have remained on a familiar website with only selectively moving out to a new website or web page.

</comment><comment><USER24> all the time. i find hacker news to still be the only community that im truly vested in, with no trolling, and overall good content.

a lot of the time i might have seen the article, but want to read the comments, so ill come here. If i haven't read the article, ill read the comments first if i want some backstory/alternate framing of the story.

</comment><comment><USER25> Yes. Actually, this is one reason I like the socialite firefox plugin for reddit. Letting me access the comments directly from the link is exactly what I need. Going back to the main page to find the comments link after I've read the link is a pain in the ass.

Maybe I could hack this together for HN....

<comment><USER26> Socialite is designed with a modular structure, making it possible to support other sites. It would be feasible to write a Hacker News module to exist alongside reddit support. If you'd be interested in hacking on it, I'd be pleased to work with you.

-C

</comment></comment><comment><USER27> I do this almost all the time. So far, I've been able to trust the HN community with filtering out dumb stories and I can decide whether it's worth my time to read an article by the first few comments. The exception is when the article has a known URL such as oreilly.com.

</comment><comment><USER28> Depends on the link. Often the title is something like "Five reasons Ruby on Rails is dead" that just indicates what area the discussion is going to be in. Then I'm often interested to see the discussion, but not so interested to see the blog post itself.

</comment><comment><USER29> I actually use the HN comments to get a feel of what the article is all about and if I see a lot of +ve vibe I venture out to read the article. I also find scanning over the comments as a way to get the gist of the article without reading it.

</comment><comment><USER30> When I want to read both the article and the comments, or I don't know if I want to read the link at all (for the reasons others have said) the comments page has the link in it, while the linked page hasn't a link to the comments.

</comment><comment><USER31> Of course! Always actually.

Even crap articles have good comment threads.

I wish the comment links were more prominent.

</comment><comment><USER32> I've found the ratio #points:#comments to be very correlated with story quality. So I'll read only the comments if #comments > #points, because that means an interesting controversial discussion about a boring article.

</comment><comment><USER33> I'm about half and half. I look for the submitter, if they usually submit good stuff, or if I recognize the source I'll usually click straight to the article. Otherwise I just read the comments.

</comment><comment><USER34> Almost always, the links are only an excuse for discussion, really. HN blurs the line between social news and traditional forums, and because of the quality of the comments that is just fine.

</comment><comment><USER35> If you click comments first, then link, even without reading the comments, now your browser back button is more useful and you won't have to find the story again.

</comment><comment><USER36> Be careful with this. You'll start out reading the comments first. Then you'll begin ignoring the links entirely and we end up at <other news site>.

</comment><comment><USER37> The quality of comments are excellent in HN and Slashdot.

<comment><USER38> The quality of the best comments at /. are good. The quality of the average or mean, not so much.

<comment><USER37> Yes. Setting comment Threshold to 4 will fetch best comments from /.

<http://slashdot.org/users.pl?op=editcomm>

</comment></comment></comment><comment><USER39> This postings is now showing 45 points and 45 comments. A few minutes ago it was 44/44. I wonder - what is the significance of the comment/point ratio?

<comment><USER39> Now it's showing 50 points for the (parent) article and 50 comments posted... this is very strange.

</comment></comment><comment><USER40> I sometimes read the comments first if the link looks looks like something that will be slow to load or full of annoying advertisements.

</comment><comment><USER41> Yes - but generally only on HN due to the quality of the comments. If I was to do it at reddit or digg, it is purely for humour value.

<comment><USER42> Funny, I became an avid /r/programming reader after reading all this groupthink bashing. There are very valuable discussions on Reddit if you ignore the obvious trolls and jokes.

I found Reddit's programming significantly more technical than HN, with most people talking from experience instead of guessing. Compare recent discussions on the same technical story on HN vs. Reddit.

Also HN gets to me because it harder to find reasonable arguments with completely opposed views without massive up/down-votes [by the masses backing their side]. Reddit [discussions] [often have] opposed but very insightful comments together and both [have] hundreds of up-votes.

The traditional HN bashing of other sites lowers the discussion and actually it's very typical of, er, Digg/Reddit (pun.)

<comment><USER41> programming at reddit used to be good, but the noise ratio got a bit too high - but I should check it out again (I was specifically referring to the rest of reddit, which is rediculous - so much so that I find it hard to take any subreddit seriously). I am sure there is a lot of brilliance there, but who has time for it with all the noise?

I prefer the tone of HN - there are certainly less arguments, but I don't think that's a bad thing - there are plenty of other places on the internet to have an argument.

There is no need for HN to become /r/programming when it already exists. HN was previously startup news - so I guess it keeps a bit of that flavour.

I haven't really noticed any website bashing from HN.

</comment></comment></comment><comment><USER43> Always; in fact I often skip articles entirely and just read HN comments, if I already know the gist of what the article is about.

</comment><comment><USER44> 50/50.

<comment><USER42> Same here, it all depends about the target domain.

For example I'd never click a Seth Godin, Zed Shaw, or any other self- promotion writer link but the HN discussion tends to be very constructive. I always click links to Wikipedia, New Yorker, Wired, and many other good sources (from experience.)

Perhaps a feature could be a Agree/disagree vote for stories to distinguish from up-voting the HN discussion.

<comment><USER45> I agree. I use the comments thread as a secondary filter if I a. am not already familiar with the domain of the link, b. the story has a very sensational heading or c. feel it might a self-promoting link.

</comment></comment></comment><comment><USER46> Almost always, as the comments let me decide whether I should bother reading the actual link at all.

</comment><comment><USER47> always, especially when there's 0 comment so i can be the frist!!!

just kidding, seriously, i check the people and how deep the comments' tree is first

if it's too deep, there's high chance of two person fight or grammar nazi in action

if it's too shallow, the article is not interesting

i like 3 levels deep (5 at most)

</comment><comment><USER48> Often. I also find myself waiting until articles have comments before bothering with them.

</comment><comment><USER49> Comments first, always. Most of the time I don't even read the article.

</comment><comment><USER50> yep - click on 'comments' in gReader probably 9 times out of 10.

</comment><comment><USER51> I see this question asked at least once a week on reddit.

</comment><comment><USER52> sometimes i get worried that i'm not as good at thinking for myself as i used to be before the web2.0 "voices in my head".

</comment><comment><USER53> The RSS feed directs me directly to the link.

<comment><USER54> It would be nice if this were an option. I often end up making two passes at a story, reading it first via the RSS feed and then finding it again on the home page to read the commentary.

</comment></comment><comment><USER55> This is my default mode when reading HN.

</comment><comment><USER56> I almost always check comments first.

</comment><comment><USER57> Yes.

I have limited time, so I mostly browse the comments page. If there's an interesting discussion going on somewhere, then I check out the link.

If I have more time, then I'll go to the main page and check out the articles. If I'm bored, I'll dig through several pages of new articles and click on the ones that I find interesting.

I want to read things that are provocative, and if people are having a good discussion, I'll bet it's worth my time to read. The "score" of an article is secondary.</comment>


Protecting Your Account - <AUTHOR> https://www.backblaze.com/blog/protecting-your-account <comment><AUTHOR> tl;dr:

'The Backblaze login database has in no way been compromised. That said, we have seen a number of automated login attempts to our site and wanted to alert our users of the risk.'

Why would Backblaze send out such an e-mail just to inform about a general risk?

(And why does the e-mail contain clickable links? Phishing is another risk and the standard mitigation is to sell users NOT to click on links in such e-mails …)

<comment><USER2> Yev from Backblaze here -> the clickable links were an "own-goal" \- we were moving pretty quickly and forgot to turn the defaults off in one of our email providers. Given the subject matter of the email, that was more than unfortunate. The good news on that is, we're getting a lot of support tickets from customers asking if this was a phishing email, which leads me to believe more people know about phishing scams than we though - which is great (but not for us in this case)!

We sent the general warning mostly as an FYI. We thought it would be prudent since we saw a spike in automated login attempts. We were thinking of whether or not to just write a blog post about best-practices since we don't generally email all of our users like we did here, but we erred on the side of a one- time FYI send.</comment></comment>


Ask HN: Really awesome chair for computer use? - <AUTHOR>

Curious if there is a known brand or some specific chairs for home/office use tailored for us hackers who desire a bit of extra comfort? I am talking about something like dentist chairs or something like this: http://videogames.techfresh.net/wp-content/uploads/2009/12/Emperor_1510.jpg , does anyone here use similar at home or in the office? <comment><USER2> I've tried half a dozen chairs ranging in price from £30 up to £150, they were all terrible and all broke inside of 12 months.

So my advice right now is either go really cheap (£30) or go really expensive (£500+). Nothing between the two is worth it. It is a waste of time and a waste of money.

Also seriously think about your desk. My desk was too high and as a direct result I had to depend on the gas-compressor (gas-lift) working fully (to its highest point) or I would get shoulder/wrist strain.

I wound up getting an Ikea adjustable desk. They're less stable than regular desks (I have mine against a wall to stabilise it) but they resolve the height issue.

PS - Don't assume that just because a gas-lift has a maximum weight well above your weight that it will be any more reliable. I got one with a 350 pound claimed-maximum load, and the damn thing still only functioned correctly for six months before it started slowly leaking air.

<comment><USER3> > Ikea adjustable desk

I second this wholeheartedly. I'm the other way around, in that I'm too tall for regular desks; and it's great having it raised. Good quality and great prices at Ikea for adjustable desks.

</comment></comment><comment><USER4> Aeron chairs seem to be the preferred chair around here, nowhere near as crazy-looking as the chair/desk thing you linked though. They cost about $1000 or so but if that's too much you can get them second hand for around $500ish. I have no idea if they're worth it or not but a lot of people swear by them.

<comment><USER5> I paid the 2nd hand price and it is worth every cent. Best chair ever and I have no backpain anymore.

<comment><USER6> Where do you find 2nd hand Aerons?

<comment><USER4> Google for "Second Hand Aerons". There are companies that buy them in bulk (from when offices close, etc) and then sell them individually. Here's one example: <http://www.usedaeron.co.uk/>

</comment></comment></comment></comment><comment><USER7> I'm gunning for one of these, but I think I have to unseat Arnold first. Not an easy task.

[http://swordsedge.ca/wp- content/uploads/2009/05/kingconan2.j...](http://swordsedge.ca/wp- content/uploads/2009/05/kingconan2.jpg)

Or, if you are a Dungeons and Dragons geek, you might be interested in the Throne of the Gods for a +10 in coding awesomeness among other benefits.

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

</comment><comment><USER8> I've only ever seen one of these in the wild:

<http://www.poetictech.com/aura/index.html>

...and I remember that the price tag was around $15K at the time, but they are super sweet... and can be set to rotate the workstation based on time of day, in order to avoid sunlight glare.

</comment><comment><USER9> My partner recently bought a (backless) saddle-chair which I immediately mocked. Having sat on it for a few days though it has really grown on me.

I tend to favour the ergonomic kneeling chairs myself, and I'm on my second in ten years. This time it came from the local Argos store, fwiw.

</comment><comment><USER10> Not what you are asking, but save you some money and get some IKEA DIY stand- up desk. Been using it for about a year.

for example, <http://lukethomas.com/100-dollar-ikea-stand-up-desk/>

<comment><USER2> I own that, and trust me when I tell you that even when the legs aren't fully extended (as shown) the thing isn't super-stable.

It is impossible to get all four legs to exactly the same length (even if you use the guide marks). He has it resting against a wall for a reason.

I would recommend it, but it might wobble around a little if you put any weight unevenly on the surface.

<comment><USER11> I will recommend this DIY standing desk, [http://www.ikeahackers.net/2012/05/standing-desk-with- utby-l...](http://www.ikeahackers.net/2012/05/standing-desk-with-utby- legs.html). It is simple, cheap and very stable.

I have the desk for a year now and it solved my shoulder and back problems from sitting too long.

</comment></comment></comment><comment><USER12> how abt these? [http://www.varierfurniture.com/Collections/Work/Thatsit- bala...](http://www.varierfurniture.com/Collections/Work/Thatsit-balans-R)

PS: really expensive though.</comment>


Ask HN: Any Browser Extensions to Make HN Look Better? - <AUTHOR> I just want to make this site look better on desktop. I'm on a 48" monitor. I would rather not talk about how perfect the site is FOR YOU. <comment><USER2> I use Hacker News Enhancement suite: [https://chrome.google.com/webstore/detail/hacker-news- enhanc...](https://chrome.google.com/webstore/detail/hacker-news- enhancement-s/bappiabcodbpphnojdiaddhnilfnjmpm)</comment>


Build me a Lisp - <AUTHOR> https://kirit.com/Build%20me%20a%20LISP <comment><USER2> This article is chock-full of misinformation.

> an s-expression [is] a fancy term for a list of [cons] cells

No, it's not. An S-expression is a _serialization_ of a (single) cons cell, whose elements might be other cells.

> We're using a vector instead [of cons cells], but the two are equivalent

No, they are not. When represented as cons cells, CDR is a non-consing O(1) operation. When represented as vectors, CDR is a copying O(n) operation (and because it necessarily makes a copy, the semantics are different if you introduce mutation).

The fact that S-expressions represent cons cells and NOT vectors is crucially important. It is the feature from which Lisp derives much of its power.

It is possible to make a Lisp-like language where the surface syntax represents vectors instead of cons cells. In fact, this makes a useful exercise. If you undertake this exercise you will come to know the answer to the question: why has this idea (a vector-based Lisp) not gained more wide- spread adoption?

> There are three different sorts of data structure that we have so far: > Strings. S-expressions, and Cells

As above, S-expressions are not a data type, they are a serialization of cons cells, i.e. they are a _mapping_ between cons cells and strings, and this mapping has a very particular feature from which much of Lisp's power is derived, which is that it compresses a linked list of cons cells into this:

(1 2 3 4)

instead of this

(1 . (2 . (3 . (4 . nil))))

This language is missing that core feature. (It's also missing _symbols_ , without which a language cannot rightfully call itself a Lisp. And first-class functions. And macros.)

While I don't want to discourage any attempt to make Lisp more accessible, it's important to actually get it right. What this article is describing is similar in spirit to Lisp, but it's not Lisp. It's a different (toy) language at a completely different point in the design space.

<comment><USER3> > If you undertake this exercise you will come to know the answer to the > question: why has this idea (a vector-based Lisp) not gained more wide- > spread adoption?

It's gained incredibly widespread adoption. Clojure doesn't use cons cells at all; lists are trees of vectors internally, and vectors and maps enjoy first- class status, even as syntactic elements, right alongside lists. Clojure enjoys far more business interest than Common Lisp or any other Lisp dialect, meaning that non-cons-cell based Lisp has _won_.

Furthermore, the C++ programmers, being performance minded, have learned something the Lisp guys still don't seem to grok: on modern architectures where cache is fast and RAM is slow, the big-O inefficiency of using vectors vs. linked lists is usually more than made up for by the speed gains of cache locality, to the extent that for real-world data structures it almost _never_ makes sense to use a linked list rather than a vector.

Anyway, if you represent a list as a slice of an underlying vector, cdr is still O(1).

<comment><USER2> > non-cons-cell based Lisp has won

In terms of usage, yes. Not in terms of adoption as an implementation technique. If you _want_ a non-cons-cell-based Lisp (and no one actually _wants_ this -- that code is vectors is not the reason people use Clojure) you have only one option.

> vectors and maps enjoy first-class status,

They do in Common Lisp as well.

> even as syntactic elements

Vectors have a standard surface syntax in Common Lisp, and it's trivial to define a reader macro for maps if you want one. But anything you would do with a static map is probably better done with a CASE form.

> the big-O inefficiency of using vectors vs. linked lists is usually more > than made up for by the speed gains of cache locality

All of this only matters when processing _code_ , which is usually a tiny fraction of the CPU time. When processing _data_ , Lisp has vectors, and Lisp programmers can and do use them.

> if you represent a list as a slice of an underlying vector, cdr is still > O(1).

Yes, but then you still have to allocate memory to store the result.

</comment></comment></comment><comment><USER4> Really nice code, as someone who isn't caught up entirely with the recent work that's gone into C++, it taught me some useful features!

The taxonomy isn't quite right for Lisp. It's actually simpler than the post. It should be something like this (very minimalistically):

        <s-expression> ::= <atom> | ( <s-expression> . <s-expression> )
        <atom> ::= <number> | <symbol> | <string>
        ...

The difference between this and what the author presents is that everything is an s-expression. s-expressions are either an atomic value or a pair of s-expressions. Convenient notation `(a b c ... z)` called "list builder notation" is provided so that we don't have to write `(a . (b . (c ... (Z . NIL))))`.

<comment><USER5> Instead of shoehorning everything into a generic "pair" structure, wouldn't it be much more powerful to build a separate type for everything?

<comment><USER6> Well the point is that you do not _need_ to; it would just be an optimization opportunity.

<comment><USER5> But types have more uses than just optimization.

<comment><USER6> That is completely correct. In lisp, the fact that syntax is so flexible enables the addition of a lot of functionality on top of the base language. Types and related functionality (checks, enforcement, conversion, etc.) is one of those things; but if everything is executed on top of pairs, there is a performance penalty that you may avoid if you provide more efficient data structures from the onset with a not-so-minimal implementation (such as clojure providing vectors, where you dont search a list in linear time). My "just" above meant that if you can do it slowly in the upper abstraction level, providing it in the lower one is basically an optimization.

In any case in second thought what I said is not completely true, as there are things you may need to do in compile time and the minimal implementation does not provide macros.

</comment></comment></comment></comment></comment><comment><USER7> This is a really nice and illuminating post!

Especially cool how all evaluation is done by line 33. (Minor comment: Line 14 may benefit from using a different variable for the function instead of "c".)

An "aside" comment, as the title mentions "literate C++" [Edit: This was submitted as something like "Build me a Lisp: in less than 50 lines of literate C++"]. This post exemplifies one aspect of literate programming (as Knuth envisioned it), which is "let us concentrate rather on explaining to _human beings_ what we want a computer to do."

But there are two further features that Knuth-style LP systems have, which are missing here:

• The ability to write your program / explanation in any order (ideally, an order that is best for presentation, rather than an order demanded by the compiler). In this case, the program is explained strictly in the order of lines in the program, which imposes some awkwardness. (Not only in the explanation, but also in the code: e.g. putting a #include on line 34 of 49.)

• Named chunks. So instead of writing

        int main() {
            try {

in one code block, and having to continue it later, you could write something like, say,

        int main() {
            try {
                [[say hello world]]
            } [[handle errors]]

and later fill in the corresponding sections by name.

The original examples by Knuth are somewhat hard to read because they were written in Pascal and the programs were quite low-level but there's a great example available today (a book which won an Academy Award!), now free online — [http://www.pbr-book.org/](http://www.pbr-book.org/) (random page: [http://www.pbr- book.org/3ed-2018/Light_Transport_I_Surface_R...](http://www.pbr- book.org/3ed-2018/Light_Transport_I_Surface_Reflection/Direct_Lighting.html) )

But then again, the "no-tools" approach here does have the advantage of not requiring any special build step and not requiring the reader to understand any such conventions, so I guess that's a tradeoff. (They say one of the reasons literate programming never took off is that there are as many literate-programming tools as the number of people trying literate programming; everyone ends up having to write the tool that works for them.)

<comment><USER8> Honestly, I found the code a bit hard to follow, mostly because everything was so disjoint. It would be nice to have "folding" so I could move comments out the way once I'm done with them, to allow me to look at the code as a whole. Once I know what a snippet does, I can "name" chunks myself mentally–any further labels, especially multi-lines ones that show up in between code, are unnecessary.

<comment><USER7> Your comment illustrates another reason literate programming never took off :-) Until a reader has spent enough time reading and getting familiar with the conventions, how to navigate, etc (in my case it was several dozen hours), they experience a lot of resistance against simply reading the literate program, and keep wanting to read "the real code".

Ultimately a program is a set of instructions to a computer, and when we as humans look at a program we're trying to conceptualize how these instructions are organized. (Essentially, "translate" them into a mental map.) We have so much more experience doing this with "real" code, knowing what we can ignore and when, and being able to do this at well — e.g. with things like function docstrings or public/private declarations, we're able to read them once and then have them basically fade away from our consciousness so we don't read them again. When faced with unfamiliar conventions, it takes a while to get that ability again.

<comment><USER9> Perhaps literate programs shine when they help us build that mental map. One way is positively describing parts of the map with metaphor or intent (where the OP shines). Another way is by discussing alternatives that weren't used. Yes, this can be a lot of content and sometimes crowds out the code, as in this example.

</comment></comment></comment></comment><comment><USER10> Here's a case where the previously submitted title, which included something like "in less than 50 lines of literate C++", was more indicative/compelling and I think more useful for news.yc.

I don't think of that as click-bait in the same way as "you won't believe #7", but rather as additional information which truthfully and transparently makes it more likely that I'll accurately gauge my interest in the linked article.

"Don't editorialize" in this case is a negative, but perhaps is globally optimal.

</comment><comment><USER11> For whatever it's worth, here is the same in 24 lines of OCaml:

        type cell = Atom of string
                  | Sexpr of cell list

        let library = Hashtbl.create 1

        let rec eval = function
          | Atom s -> s
          | Sexpr [] -> failwith "Empty sexpr"
          | Sexpr (head :: args) ->
            let fname = eval head in
            match Hashtbl.find_opt library fname with
            | Some builtin -> builtin args
            | None -> failwith (String.concat " " [fname; " not found"])

        let main () =
          let prog = Sexpr [Atom "cat"; Atom "Hello "; Atom "world!"] in
          let prog2 = Sexpr [Sexpr [Atom "cat"; Atom "c"; Atom "a"; Atom "t"];
                             Atom "Hello "; Atom "world!"] in
          Hashtbl.add library "cat"
            (fun args -> String.concat "" (List.map eval args));
          Printf.printf "%s\n" (eval prog);
          Printf.printf "%s\n" (eval prog2)

        let _ = main ()

Using linked lists instead of vectors makes separating an application's head and args (CAR and CDR, if you prefer) much easier than using clunky C++ iterators. This is because linked list cells are composed of cons cells.

</comment><comment><USER12> If you enjoy reading code and want to know a bit more about lisp, maybe this is interesting:

"Scheme 9 from empty space" \-- [https://t3x.org/s9fes/](https://t3x.org/s9fes/)

It's a scheme built in c using literate programming. You can even buy a printed version.

Also, there's "Lisp in small pieces" if you want to go deeper -- [https://books.google.de/books/about/Lisp_in_Small_Pieces.htm...](https://books.google.de/books/about/Lisp_in_Small_Pieces.html)

</comment><comment><USER13> Thanks, that is a very nice writeup. I have been experimenting a bit with creating new Lisp-like languages in Racket and the idea of growing a language to solve specific types of problems is powerful (and is the way I program in Lisp, from the bottom up). Sorry if this is a bit off topic, but you might enjoy the experiences of someone building their own Lisp Machine with a eZ80, complete with hardware hacking support: [https://youtu.be/Ad9NtyBCx78](https://youtu.be/Ad9NtyBCx78)

<comment><AUTHOR> Part of the motivation for writing this up is to explain internally about a DSL used for testing web APIs, for example: <[https://github.com/KayEss/fostgres/blob/master/Example/films...](https://github.com/KayEss/fostgres/blob/master/Example/films/film.t1.fg>)

I expect we'll extend use of this sort of mechanism much further the more people understand it.

I'll watch that video, sounds interesting. A company I worked for nearly ended up getting a Symbolics LISP machine for CGI in the early 90s. Would have been pretty sweet I think.

</comment></comment><comment><USER14> Nice post... even if before clicking through I expected a post about why asking "build me a lisp" could have been a good interview question :)

As a side note, I wrote a similar post in Swift: [https://www.uraimo.com/2017/02/05/building-a-lisp-from- scrat...](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with- swift/)

</comment><comment><USER15> nice post...you can implement a lisp parser in C++ relatively easily too due to lisp's regular syntax

<comment><USER16> any nice cpp peg library ?

</comment></comment><comment><USER17> Can someone familiar with modern C++ explain the type mechanics of std::visit on line 14? In particular, it seems the "auto" parameter of the lambda expression could stand in for either type in the variant, dependent on its runtime value, but I have always thought of "auto" as a compile-time mechanism.

Is the "auto" in this case being filled in by some compiler-generated proxy type that can dispatch any common operation available across all variants?

<comment><AUTHOR> The auto there works like a templated function would (except it's anonymous as you'd expect from a lambda).

<comment><USER17> I'm still confused. Presumably you can't pass an uninstantiated template to a function, so what's the type of the lambda expression?

It's effectively a callable object with multiple overloads but I didn't know lambda syntax could create something like that.

<comment><AUTHOR> Lambdas have an un-utterable type, so the addition of a template like mechanism in their arguments is something the compiler can do behind the scenes and it all just works. Look for "generic" in this page <[https://en.cppreference.com/w/cpp/language/lambda>](https://en.cppreference.com/w/cpp/language/lambda>)

</comment></comment></comment></comment><comment><USER18> For those who can explain the difference is this a LISP 1 or a LISP 2 ?

<comment><USER19> In a Lisp 1 function and variables share the same namespace.

        (defvar foo 5)   ; variable with the name foo
        (defun foo () 5) ; function with the name foo

In a Lisp 1 the defun would overwrite the previous variable declaration. In a Lisp 2 though, both expressions coexist.

<comment><USER20> Last week I came across a Usenet post from Kent Pitman (who helped create Common Lisp, and coined the terms Lisp1 and Lisp2 in this paper: [https://www.dreamsongs.com/Separation.html](https://www.dreamsongs.com/Separation.html)) which provides the best explanation I have seen on why Lisp2 is a good idea:

[https://groups.google.com/forum/#!msg/comp.lang.lisp/6TkfPLe...](https://groups.google.com/forum/#!msg/comp.lang.lisp/6TkfPLeWpk0/rAxTREHhlw0J)

Also as pointed out by KMP later in that thread, block and go tags are separate namespaces, and so are type names. I like to say that it is really Lisp1 vs LispN. Any language with macros and first-class identifiers is going to be capable of having arbitrarily many namespaces.

</comment></comment></comment><comment><USER21> > Normally programming language blog posts get started with grammars and > syntax and parsing and all sorts of stuff like that. I can't be bothered > with all of that,

And I can't be bothered with C++ for compiler construction.</comment>


No smoking,no tattoos,no bikinis: inside China's war to 'clean up' the internet - <AUTHOR> https://www.scmp.com/tech/policy/article/3005252/no-smoking-no-tattoos-or-bikinis-inside-chinas-war-clean-internet <comment><AUTHOR> ".. Which brings us back to the bikini question. The answer to that, it turns out, is something AI is not yet very good at: context.

To an algorithm, a bikini is a bikini. But to a human, a bikini in different settings can mean very different things. So, a bikini at a swimming pool with children running about? Fine. Skimpy two-piece in a bedroom with soft, romantic background music? Probably not. .."

Wonder if pure image-based learning can overcome this ?</comment>


Tech Platforms and the Knowledge Problem - <AUTHOR> https://americanaffairsjournal.org/2018/05/tech-platforms-and-the-knowledge-problem/ <comment><USER2> The author does a good job of laying out the fundamental differences between the Jeffersonian and Hamitonian approaches to solving the "knowledge problem" of platforms creating such massive sets of data as to become a threat to any society in which they exist, but misses in terms of thinking out the consequences of several approaches.

For instance, there is a perverse disincentive in the Hamiltonian approach to relinquish control. The input which would "theoretically" increase the quality of a Hamiltonian regulator is more data. This means the regulator has a greater incentive to act as a data vacuum than those they are regulating. Furthermore, there comes a point at which when the data sets get large enough, there will tend to be no accountability to be found. See the banking crisis.

"Oops. We accidentally the economy. We promise we won't do it again."

"What did you even do?"

"We don't know off hand, but we won't do it again!"

The Jeffersonian approach is very much a precautionary approach. Where a Hamiltonian goes all in, the Jeffersonian steps back, limits scope, and sees what happens. It is better to advance the state of the art slowly and methodically without creating a point where a failure could propagate through the entire system, than to take the risk that the SCRAM (Safety Cut Rope Axe Man, the man responsible for triggering the active safety mechanisms in a non- passively safe nuclear reactor design) falls asleep at a bad time.

Do one thing, do it well. You don't need a Leviathan to build a functional, thriving society, but it sure helps if you are looking to destabilize and destroy one.

</comment><comment><USER3> Stacy Mitchell of the Institute for Local Self-Reliance observes that, "when third-party sellers post new products, Amazon tracks the transactions and then starts selling many of their most popular products."

However much that practice may increase economic productivity, it does so at the unacceptable cost of concentrating power in one firm while discouraging entrepreneurship outside it. Policymakers should protect vulnerable sellers against it.

<comment><USER3> How the platforms can both play platform and participant is really the disturbing part. I get that a lot of platforms have to start off as both to get started. It's probably better in the beginning to be the a really good chicken and start selling eggs. The let others sell their eggs to.

</comment></comment><comment><USER3> In a recent podcast, the socialists of Chapo Trap House joked that they were happy to see Amazon consolidate power. Once it takes over every business in the country, it will be easy to "cut off the head" and simply impose government control over the economy.</comment>


List cloud notifications services with push, SMS, email, slack etc. - <AUTHOR> What are some cloud notifications services that offer an HTTP API to initiate a notification and can send it to push (iOS, Android, browser), SMS, slack etc.
Nice to have: support some escalation rules and feedback from the receiver of the notification.
Preferable with a free tier or at least low cost tier.
Thanks <comment><USER2> I've used OneSignal and their generous free tier in the past with great success. It has nifty features like using an external user ID (your backend can just say: send a message to @user123). I had to switch to Firebase Cloud Messaging for compatibility reasons but I still highly recommend OneSignal.

</comment><comment><USER3> Since you're looking for free or low cost, how about self hosting?

Gotify allows push notifications to Android.

NodeRED can expose an API and trigger actions such as SMS through plugins.

</comment><comment><USER4> You could try Twilio. Pricing depends on the volume of notifications you send. It supports both apns and gcm. The documentation is good.

</comment><comment><USER5> Ifttt</comment>


Doctorow Says Google & Amazon Stifle Progress - <AUTHOR> http://www.internetevolution.com/document.asp?doc_id=178058&print=yes

<comment><USER2> Cory says that the mainstream publishers: book publishers, movie studios, record labels, and their allies/dupes like the Authors Guilds are acting against their own interests by resisting their own interests by making deals with Apple, Google, and Amazon. Instead, they should be making reasonable distribution deals with anyone who asks. An individual ought to be able to create his/her own internet radio station even if it had an audience of one.

Corey didn't explicitly say it this way, but the publishers should stop looking at net distributors as pirates. Instead deal with them as local retail dealers, like your neighborhood book store or movie theater. The current setup makes monopolists out Google and Apple. These gatekeepers will ultimately have more power than the publishers to the detriment of artists, publishers, and consumers alike.

<comment><USER3> Thanks for the summary. He made some really excellent points, but unfortunately he doesn't differentiate between his facts, guesses, speculations, and opinions. It's all written in the same tone - which had me stopping and doublechecking a bunch of points, with, "Is this a fact, or is he extrapolating, or is this his opinion...?"

Bit of a confusing read, but there's some real gems in there. This was the most interesting part for me, about Google happily letting the Author's Guild get class-action status:

[http://www.internetevolution.com/document.asp?doc_id=178058&...](http://www.internetevolution.com/document.asp?doc_id=178058&page_number=5)

Again, you can see the mix of facts and speculation and opinions all rolled into a ball, but a pretty interesting piece none the less.

</comment></comment><comment><USER4> Maybe I am being particularly thick right now but I am not entirely sure I follow what he is objecting to. Google (and Amazon) allow me to find authors I am interested in and buy their latest book - their self-published book because their publisher dropped them due to poor sales. How is Googlezon equivalent to publishers in this context?

Just because Googlezon have dominance (let's not have the M-argument again) in their market does not mean their cultural effect is the same as if there was only one book publisher. Google and Amazon aren't a publisher in this context, they are a discovery service.

<comment><USER5> He's not against what Googlzon allows its users to do, but rather, the deal that content creators struck with Googlzon which leads to laws with conditions that favors Googlzon as a big company, not Googlzon as a startup that they once were.

One such condition are royalties or payment that a big company can readily afford, but not a startup.

This affects that industry market for all subsequent startups which want to enter that market.

So instead of just doing something and asking for permission later (as all startups and upstarts do), you need to spend time and energy into lawyers and such. It's hard to imagine Google succeeding if, in addition to all the technical hurdles, they had to amass and direct a team of lawyers also.

So the question we have to ask ourselves are what startups--and subsequently-- what innovations are being stifled, if not avoided altogether due to copyright laws getting in the way?

I hope it goes without saying that innovation is what keeps a country ahead of others economically and militarily (probably among others I'm not thinking of), and that's why it's important in the long run.

<comment><USER4> _So the question we have to ask ourselves are what startups--and subsequently --what innovations are being stifled, if not avoided altogether due to copyright laws getting in the way?_

Well that is exactly what I don't get. I mean, there seems to be an assumption that market dominance in cultural distribution is _obviously_ bad, no explanation required. But it is not clear to me what the precise danger is here, because it is not clear to me what the necessity is for content creators to stick with Googlezon if Googlezon as a content publisher becomes deleterious to their well-being.

He mentions that there are only 6 (major) movie studios. Let's pretend that they have a merge-a-thon and get down to one major movie studio. Would it matter to anyone? Probably not, because the 6 current large studios more or less all churn out the same mainstream fair. Would a small independent studio be worse off if there was one instead of six major studios? Probably not, because the small independent ("startup" in your parlance) exists to cater to a certain niche that welcomes its products almost by definition because they are not a major studio cookie-cutter production.

Don't get me wrong - I can seriously wind myself up thinking about the consolidation of the news media, or of chip manufacturing companies, but in this particular case I still don't understand what I am really supposed to be afraid of. And he asks for pretty major action as a result of a danger that is not particularly clear.

</comment></comment></comment><comment><USER6> Not a legal expert by any stretch but couldn't a later group of authors challenge who the outcome of the case applied to? If there in no way affiliated with the Authors Guild?

</comment><comment><USER7> I've just been watching a Boston Legal episode (from series 4, ep 7), and fictionally, they sue YouTube. Not 'MegaView' or 'SuperVid', but YOUTUBE. I wondered how they can get away with using a real company in a fictional lawsuit?</comment>


How to Survive Long Plane Flights - <AUTHOR> https://www.bloomberg.com/news/articles/2017-02-22/how-to-survive-the-longest-flight-in-the-world <comment><USER2> The 777 is a great and safe plane, but check seat configurations - many have 9 abreast (either 3-3-3 or 2-5-2), but some operators (Emirates, Qatar, some United, AA, Air France) put in 10 seats (3-4-3), and that gets very tight. Some airlines operate both, so check ([http://www.seatguru.com](http://www.seatguru.com)).

I find the A380 much more comfortable and quiet, still better (for pax) than 777, and even 787 and A350.

All of the above for economy class. If you fly in a nice business or first, you don't care :-)

Personally, I didn't find the better air/higher pressure on the 787 or 350 notably nicer.

Oh, and yes, take a Bose QC headset with noise cancellation - they have in-ear and on-ear versions.

I also like the tip with special meals. You generally get it first (I normally choose the Hindu veg), and can sleep right away.</comment>


Hackers and Painters:  Rails apps at the Museum of Modern Art - <AUTHOR> http://davetroy.blogspot.com/2007/10/moma-ny-selects-twittervision.html

<comment><AUTHOR> A relevant quote:

"We're past the days of using machines as amplifiers of our physical efforts. It's not enough to jam more features into code just so we can eliminate one more position on the assembly line. We're at a point where the machines can help amplify our imaginations."

The idea of software as art is hardly new, but it's nice to see a cool app get some formal recognition.

</comment><comment><USER2> This completely rocks. I'm not sure how much it has to do with Rails per se, but it rocks nonetheless.

Hopefully the connection of person and machine will come to be recognized not just as art, but the objective of software design. Think this is a dumb tautology? Use a Motorola phone for awhile.

</comment><comment><USER3> These mashups are without a doubt beautiful... it's like watching the world tick.</comment>


The Death Of Point-and-Shoot Cameras - <AUTHOR> http://www.thetechblock.com/articles/2012/pointandshoot-camera-dying/

<comment><USER2> "I'm sure I'll catch a lot of flak for that prediction, but it wouldn't be the first time. People called me crazy when I predicted the end of console gaming, too."

The author makes that statement as though this example vindicates him, while the death of console gaming is far from a foregone conclusion (the only way one could present a credible argument for the death of console gaming is by arguing that modern consoles are actually PCs, an argument which is at best a technical red herring).

The observation that "hey, phone cameras are pretty nice these days" isn't novel or bold, and it's not a Holmsean tour-de-force to extrapolate the declining point-and-shoot market. This is sort of like writing an article in 2003 saying "if you're a camera manufacturer who relies on 35mm film cameras to stay afloat, you should be worried as hell".

<comment><USER3> Not only is the observation that P&S cameras are going to decline obvious, the author posted this after various P&S manufacturers reported on said decline. This is like predicting the Superbowl champion on Monday.

In other news, alarm clocks, MP3 players, GPS units, and voice dictation devices are all going to decline at the hands of smartphones. News at 11.

</comment></comment><comment><USER4> Which manufacturers rely on point and shoots to stay afloat?

You're point is valid, though not exactly contrarian. The decline of point and shoots became pretty obvious when the iphone 3g was released. I'm sure this is why every manufacturer has been diversifying their lineups away from point and shoots over the last 5 years. Sony released a full SLR lineup, including lenses. Olympus has been producing very high quality mirrorless bodies (not exactly point and shoots) for a few years now. Even Fujifilm has followed suit. Nikon and Canon, who probably generate a lot of revenue from p&s sales, have been widely diversified for decades.

</comment><comment><USER5> This has been known for some time now. What would make your blog post more interesting is if you cut down on the conjecture and put some real research in it. For example, heres flickr's report on camera usage: <http://www.flickr.com/cameras/>

\--edit-- heres another list: <http://bighugelabs.com/topcameras.php>

</comment><comment><USER6> Tell this to my mom. She doesn't even know how to send or read SMS, but she still wants to take pictures at my birthday. I think we still have one or two generations that need the point-and-shoot</comment>


Phrack 69 released - <AUTHOR> http://phrack.org/issues/69/1.html <comment><USER2> Whoa, wasn't expecting to see this, it's been a while.

Phrack has a technical depth you don't often see on HN, it's a shame there aren't more people producing content like this.

<comment><USER3> You might also like PoC||GTFO: [https://www.alchemistowl.org/pocorgtfo/](https://www.alchemistowl.org/pocorgtfo/)

<comment><USER4> ... Since when is 0x09 followed by 0x10? Why denote your release numbers in hex if you're just going to chicken out when it's time for hex to not be the same as decimal?

<comment><USER3> Apparently it's binary coded decimal.

<comment><USER5> No, it's just incorrect.

<comment><USER6> blueintegral is correct:

[https://twitter.com/travisgoodspeed/status/69716634385925734...](https://twitter.com/travisgoodspeed/status/697166343859257347)

</comment></comment></comment></comment></comment></comment><comment><USER7> I am so happy to see this today. I've missed this style of writing and publication in today's noise of mostly self promoting blog posts pretending to be informational. Hopefully they keep up with the paperfeed and continue to release issues.

Mirrored for anyone behind a corp firewall that might block phrack.org: [http://paste.click/s/amfVqd](http://paste.click/s/amfVqd)

<comment><USER8> Cool pastebin! Does it have some way of linking up multiple pastes, or is the list linked compiled manually (the latter, I assume), i.e. manually entered hyperlinks?

<comment><USER7> Someone else just asked me the same thing, heh. I've opened an issue to do the multiple paste thing and will try to hack something in this weekend, but in this case it was just looped and uploaded. eg: [http://paste.click/xcfOrg](http://paste.click/xcfOrg)

</comment></comment></comment><comment><USER9> The conclusion of the article titled "The Fall of Hacker Groups"...

> Furthermore, we dread the thought of being alike, of sharing multiple views > and opinions. As such, we are turning progressively judgemental of who we > should be partnering with, on the basis that "they do not understand". [..] > No one ever feels like we do. They are not to be trusted and we do not have > the time for them. The only attitude consonant to our search for a > comfortable, safe life is to constrain ourselves to our own limitations, > ignore the intelligent life out there, and surrender to the mediocracy that > our society has condemned our leisure time to.

...reminded me of this:

> Even those of the intelligent who believe that they have a nostrum are too > individualistic to combine with other intelligent men from whom they differ > on minor points.

( from [http://russell-j.com/0583TS.HTM](http://russell-j.com/0583TS.HTM) )

Even knowing this, and knowing it's silly, doesn't really change it; it's a more ingrained habit than that, at least for me. But it's worth a mental note to self and those whom it may concern :)

<comment><USER10> Does that count as vicarious Godwin? 'Collectivism is triumphing because of too much individualism' is not a strongly coherent argument. Also note that those of the intelligent alluded to here did in fact combine, with historically significant results.

<comment><USER9> As the length of any discussion increases, the probability of _$anything_ being mentioned reaches 1. But sure, let's ban all literature from that time period, where so many great thinkers gave their best.

> 'Collectivism is triumphing because of too much individualism' is not a > strongly coherent argument.

I wouldn't equate lack of tolerance and cooperation with "individualism". Russel didn't write people should be more alike or less individualistic, at least I don't read it that way.

> Also note that those of the intelligent alluded to here did in fact combine, > with historically significant results

Can you elaborate on what exactly you mean by this?

<comment><USER10> Like the original Godwin, this was a joke, not an attempt at policing. That people choose to interpret it otherwise is depressing. Well done for completely killing it with trivially true proof - you understand that's part of the joke, right?

As for what I meant, what I was trying to say is that - contra Russell - people actually did in fact overcome their differences and collectively combat the Nazis, but I obfuscated it to avoid, y'know, mentioning the Nazis.

I suppose it's too much to hope that you've just Kafka'd me into my own Godwin and are about to drop a YHBT.

<comment><USER9> > people actually did in fact overcome their differences and collectively > combat the Nazis

The question is, when? Not within Germany, not at first. Or at least not to a high enough degree. Unless we simply define as intelligent those who resisted or were Jewish etc., but that would be cheating. The Nazis didn't really get much successful resistance until they openly tried to conquer the world, and I can't fathom how much more they could have gotten away with if they had stuck to annexing Austria and Poland, and had "just" murdered and brainwashed in their "own" territory. There might _never_ be a plaque at Tiananmen square. And last time I checked, Dick Cheney still wasn't in jail. And so on. Either fascism and murder aren't actually a thing intelligent people successfully combine against to keep in check, or they suck badly at doing so.

At any rate, that there was such a monstrosity to defeat in the first place is due to lack of resistance early on, and the major political groups cannibalizing themselves before the Nazis even started attacking and murdering them. And then many intelligent people made an about-turn, too. Hannah Arendt said in an interview that many intellectuals were good at "coming up with something". That is, they adapted and came up with all sorts of elaborate rationalizations. You could say the intelligence of a person didn't determine their resistance to the Nazis, but the complexity of their justifications for not doing so. Just because there were (and are) exceptions doesn't mean it wasn't (or isn't) the rule. As the White Rose wrote in their second leaflet:

> _The greater part of its former opponents went into hiding. The German > intellectuals fled to their cellars, there, like plants struggling in the > dark, away from light and sun, gradually to choke to death._

</comment></comment></comment></comment></comment><comment><USER11> I enjoyed "The Fall of Hacker Groups". Clearly there is some deep nostalgia for the 2600 days out there ;)

"The only attitude consonant to our search for a comfortable, safe life is to constrain ourselves to our own limitations, ignore the intelligent life out there, and surrender to the mediocracy that our society has condemned our leisure time to."

<comment><USER12> I also enjoyed the article but the entire thesis is incorrect, though. Anonymous has had far more of a cultural impact on society and technology than Cult of the Dead Cow, lopht etc did.

<comment><USER13> I suppose that depends on the definition of "cultural impact." L0pht talked to the US senate (and Mudge went on to join DARPA), CCC members consulted the german government, etc. Anonymous was on the front page of a whole lot of newspapers though.

\--- edit ---

Doom is a good example: It both made it into popular culture (sold lots of copies, the Doom movie, etc.), but also hat cultural impact in the sense that it pushed 3D graphics. L0pht, the CCC, etc. had cultural impact in the same sense but never really made it into popular culture. Anonymous on the other hand did make it into popular culture but had no cultural impact (that I can think of right now).

<comment><USER12> What about the widespread awareness of encryption and the necessity of secure cryptographic communications? In many laypeople's minds Anonymous and the "deep web" or "darknet" are synonymous, they all occupy the same zone in the cultural consciousness. Popular culture is culture.

<comment><USER13> > What about the widespread awareness of encryption and the necessity of > secure cryptographic communications?

I think Wikileaks and Snowden should get some credit for this as well. Also, I think the silk road guy should get most of the credit for "darknet" being a thing.

> Popular culture is culture.

Yup. But it doesn't necessarily affect other popular culture (which is how _I_ defined "cultural impact").

</comment></comment></comment></comment></comment><comment><USER14> Here you can find many of those text files that used to sit on BBSs and floppy disks back in the day: [http://www.textfiles.com/directory.html](http://www.textfiles.com/directory.html)

</comment><comment><USER15> Couldn't be happier that Phrack is still alive and well--still miss BSRF:

[https://www.reddit.com/r/hacking/comments/v743p/what_ever_ha...](https://www.reddit.com/r/hacking/comments/v743p/what_ever_happened_to_black_sun_research_facility/)

<comment><USER16> Wow, suprised to see BSRF mentioned. Some of us still keep contact, though nothing like how it was before: #bsrf on freenode.

</comment></comment><comment><USER17> "Smashing stack for fun and profit". Everything started with that for me.

</comment><comment><USER18> Are they working through a backlog? The OSX article mentions 10.8.2 as being the most recent release...

<comment><USER19> #68 was released in 2012, so yeah, kind of.

</comment></comment><comment><USER20> It makes me happy that Phrack is still kicking.

I stumbled over Phrack around issue 20-something, and have read every issue since then (and at least most of the earlier ones), something I can't actually say about the two magazine subscriptions I've kept since becoming adult- shaped.

</comment><comment><USER21> Awesome. I first started reading Phrack back in the early 90s along with hex40 and Cult of the Dead Cow. Those were the days.

</comment><comment> noir-york "Smashing the stack for fun and profit", the tear drop attacks against NT, IGMP bug in Windows 95, ida pro, ollydbg, C, asm, finding help, and "test boxes" on irc...

Geez a few years have passed since then!

</comment><comment><USER22> notice the release dates for the recent issues...

      issue 66:  2009-11-06
      issue 67:  2010-11-17
      issue 68:  2012-04-14
      issue 69:  2016-05-06

the intervals: 1 yr -> 2 yr -> 4 yr

Are they now on an exponential backoff tendency? Will their next issue come out in 2024?

</comment><comment><USER23> The Solar Designer prophile was a fun read:)

<comment><USER24> yeah, esp. when he says "too little done"...

</comment></comment><comment><USER25> I really enjoy this type of stuff, but always wonder why hateful words sometimes get melted in.

Edit: changed to existential claim.

</comment><comment><USER26> very cool, Phrack was one of my favorite publications along with 2600. I am really happy to see this. Also there was a writer for Phrack from a long time ago I used to be friends with IRL, does anyone know who I could contact to help find him?

<comment><USER27> _Also there was a writer for Phrack from a long time ago I used to be friends with IRL, does anyone know who I could contact to help find him?_

Nice try, FBI!

</comment></comment><comment><USER28> What is PO?

<comment><USER29> Project Zero. [https://cansecwest.com/slides/2015/Project%20Zero%20-%20maki...](https://cansecwest.com/slides/2015/Project%20Zero%20-%20making%200day%20hard%20-%20Ben%20Hawkes.pdf)

</comment></comment><comment><USER30> Is there a way to get it in an RSS feed?

<comment><USER31> RSS? Phrack was last updated about 4 years ago!

<comment><USER32> IMHO rarely-updated sites are exactly the sites that I wish had RSS feeds. If there's interesting content being posted every day, I just visit the site. But people won't keep visiting phrack.org every day for 4 years hoping for an update.

<comment><USER31> ... I did! :)

</comment></comment></comment></comment><comment><USER33> nice</comment>


Show HN: Web Academy – discover best Web Development learning resources - <AUTHOR> http://webacademy.io/?ref=hackernews <comment><AUTHOR> Hey, everyone! I've built this project because I want to collect the best learning resources for Web Developers and Startup Founders, and make it easy to discover them. I hope you guys will find it useful!

The project is open source, you can find our repo here:

[https://github.com/raymestalez/webacademy](https://github.com/raymestalez/webacademy)

I'm actively working on making this platform better, and I would really love to hear any comments/feedback/suggestions/critique!</comment>


Show HN: Search for words inside of YouTube videos - <AUTHOR> http://scan.video <comment><USER2> Cool. Are you looking at the captions/subtitles and in many cases the automatically generated ones from youtube's speech recognition?

</comment><comment><USER3> A similar service was [http://youpronounce.it/search.jsp?q=holy](http://youpronounce.it/search.jsp?q=holy) submitted few days back : [https://news.ycombinator.com/item?id=10359710](https://news.ycombinator.com/item?id=10359710)

</comment><comment><AUTHOR> Thanks for the feedback. We use captions for our prototype in order to extract all the data which is just one way to do it. They are many ways to extract content from videos and we're working on some interesting ones!

About youpronounce.it (watch out for trademark complaints), they focus on a single use case? pronunciation? Which is fine.

We just built a quick prototype for validation. We're working on scan.video to make video content more accessible for people on the Internet. What you see today is %0.1 of what we'd like to build. So, stay tuned! definitely..

(We added a link for 1st time users to make things easier)

Thanks again for all the feedback!

</comment><comment><AUTHOR> Feel free to leave your feedback! Thanks.

F.

<comment><USER4> Took me a minute to get that the first one was a keyword, and the second one actually got me an audio clip of someone saying something.

If the problem you are trying to solve is easing someone finding someone saying a word, then I fell it might be easier for the user to just have someone use the "second box" (transcript search) to do all of the searching, and then narrow based on either suggested keywords or some other offering.

Also I noticed a fairly minimal amount of videos when doing pretty big searches (car), any reason to limit it to 5ish videos?

It would also be interesting if you could chain together sentences somehow.

I like it!</comment></comment>


Show HN: Obsessive monitoring - <AUTHOR>

Hi all! We have been working for over two years on a data analysis product which gives you alerts (via phone/sms/e-mail) whenever input data triggers them. We built a server monitoring product with it which uses data to determine if your server is down/slow/broken etc.
The server monitoring part is written in Perl and open source; it is an example of how you can input your own data. A Windows version is in the making (an alpha user already made an example on codeproject.com but I wouldn't consider that production ready).
If you have some lazy sunday afternoon time, I hope you can give us some feedback. Bad or good, all welcome!
Sign up on:
http://observu.com <comment><USER2> Could you shed some light on what sets this apart from some of the other server monitoring platforms?</comment>


The Problem With SQL Azure - <AUTHOR> http://sqlrockstar.com/2014/04/problem-sql-azure/ <comment><USER2> Rebranding and renaming on the Azure platform has been a constant nuisance. I agree that it complicates conversations and it must also hurt adoption. Not to mention searchability issues and broken links.</comment>


Gibbler: Git-like hashes for Ruby objects - <AUTHOR> http://code.google.com/p/gibbler/

<comment><USER2> For someone who's not familiar with Ruby, what advantages does this provide over the built-in hash method on objects?

<comment><AUTHOR> Hey sorry for the late reply.

The built-in hash method returns Integer values which can change between versions of Ruby (1.8, 1.9, JRuby, etc...). I needed a hash value that was consistent between all of them for the same object and which also reduced the possibility of collisions.</comment></comment>