Open-source Chrome extension to save the state of a page for further analysis - <AUTHOR> https://github.com/vrtdev/save-page-state <comment><USER2> Rafael Weinstein's mutation-summary library, from a few years back, includes functionality to transmit & mirror DOM's:

[https://github.com/rafaelw/mutation- summary](https://github.com/rafaelw/mutation-summary)

</comment><comment><USER3> Not including JavaScript state, I assume, since that isn't exposed by the extensions API to my knowledge.

If that's true, it's still kind of cool, but I think the title is reaching a bit, depending on whether you consider JavaScript state part of the page state (and there's certainly pages where I think that's true).

<comment><USER4> Extension content scripts can inject script elements into their pages which then allow them to access the page's JS variables. But even then there wouldn't be any way to access key parts of the state like closures.

</comment></comment><comment><USER5> People who find this useful may also find a number of other web archiving projects helpful:

\- [https://github.com/machawk1/warcreate](https://github.com/machawk1/warcreate)

\- [https://github.com/webrecorder/pywb](https://github.com/webrecorder/pywb)

\- [https://github.com/WorldBrain/Memex](https://github.com/WorldBrain/Memex)

\- [https://github.com/pirate/ArchiveBox](https://github.com/pirate/ArchiveBox)

\- [https://getpolarized.io/](https://getpolarized.io/)

And lots of others here:

[https://github.com/pirate/ArchiveBox/wiki/Web-Archiving- Comm...](https://github.com/pirate/ArchiveBox/wiki/Web-Archiving-Community)

<comment><USER6> I would add SingleFile [1] to the list.

[1] [https://github.com/gildas-lormeau/SingleFile](https://github.com/gildas- lormeau/SingleFile)</comment></comment>


Teaching in New Orleans (post Katrina) - <AUTHOR> http://www.learnboost.com/teaching-in-new-orleans/

<comment><USER2> do you have stats on the breakdowns of the different charter schools?</comment>


The Web's Best Interface Design - <AUTHOR> http://businesslogs.com/design_and_usability/the_webs_best_interface_design.php <comment><AUTHOR> While I can't say I agree with the entire list, I submitted the link to start a discussion on interface design. Usability, or the "user experience" as I like to think of it, is the most important aspect of an application in my mind. It determines whether people will be quick to adopt your offering or even try it out at all. I'm actually a big fan of rich Internet applications, but I see "richness" applied too liberally in places where simplicity would have been preferable. I've been spending some time reading about human- computer interaction, and it's a fascinating field.

</comment><comment><USER2> danielha - yeah, i think casting something quickly and have something to start with is far better than use a lot of time thinking for a grand scheme but to later on find out users won't bite to it.</comment>


A German Exception? Why the Country's Coronavirus Death Rate Is Low - <AUTHOR> https://www.nytimes.com/2020/04/04/world/europe/germany-coronavirus-death-rate.html <comment><USER2> They just test a lot of citizens. So the rate of positive tested people is low. Compared to other countries where they only test highly probable positive cases.</comment>


Passive solar glass home: watching the sun move - <AUTHOR> http://faircompanies.com/videos/view/passive-solar-glass-home-watching-sun-move/

<comment><USER2> If you are keen on this, see Amory Lovins talk on buildings: Short version: <http://www.youtube.com/watch?v=DvmHJNeif24> Long Version: [http://www.youtube.com/watch?v=O5txQlEI7bc&feature=chann...](http://www.youtube.com/watch?v=O5txQlEI7bc&feature=channel)

</comment><comment><USER3> Rather impressive, but genuinely simple. He maximized sunlight in the winter while minimising it in the summer and increased the buildings connection to the earth below frost level where the ground stays a constant 14C/57F year round.

</comment><comment><USER4> My dad built the house I grew up in like this in the mid 70's. Big south facing windows with large overhang. Brick wall sucks up the heat for the night. Our greenhouse had huge 20ft high cylinders filled with dyed black water. Worked great.

What happened in the 80s and 90s to make this not as popular?

<comment><AUTHOR> Passive solar used to be the way everyone built... at least before way back with the Ancient Greeks and Chinese. But when we stopped relying on sun for energy, most of us stopped building this way.

I would guess passive solar gained popularity in the seventies due to more attention to energy conservation (oil crisis and all) and then when oil got cheap again, it wasn't so trendy. Hope that's not that case now.

Though cheap oil and global warming aside, I'd still prefer to live in a home heated by the sun and cooled by the earth. AC gives me a headache and I much prefer the feel of sun through a window than the blast of central heating.

</comment></comment><comment><USER5> Earthships are worth a look for anyone who wonders why the average modern house is so wasteful.</comment>


Apple unveils feature to rival BlackBerry - <AUTHOR> http://ca.news.yahoo.com/blogs/right-click/apple-unveils-imessage-rival-blackberry-bbm-233546171.html

<comment><AUTHOR> "Try leaving your Apple iPhone open while 3G roaming in Taiwan for a week and see what kind of bill you get," said Barak in a RCR Unplugged story. "Just try it. I dare you. And sure, it works on Wi-Fi, but who cares, so does Google chat."

That's a funny statement - it takes away all the benefit that imessage provides because most of the high-end users do travel a lot .... but who knows apple may do something about it in few months and give a final blow to BBM.</comment>


Getting Comfortable with the Softer Side of Development - <AUTHOR> http://prog21.dadgum.com/175.html <comment><USER2> >Learn basic graphic design. Not so much how to draw things or create your own artistic images (I'm hopeless in that regard),

This is called illustration, not graphic design. However,

> ..but how to use whitespace, how fonts work together, what a good color > scheme looks like. Find web pages and book covers that you like and > deconstruct them. Take the scary step of starting with a blank page and > arranging colors and fonts and text boxes on it. Hands-on experimentation is > the only way to get better at this.

Your description of graphic design is quite spot on. I would also recommend using a pen and paper, and trying to draw an UI with those—the most basic you can get without getting tangled into specialty–tools such as Illustrator and else. If you end up with an UI you are satisfied with, draw the next screen, i.e. what happens when an user clicks a button. Do a few of these and get an user to use it, when he clicks on something, replace the page. It's funny, but it works: it's called paper prototyping, the easiest and cheapest (both time and cost) way to get valid, useful feedback on design of user interfaces.

<comment><USER3> This is great advice, paper prototyping is really under utilized technique. It is really good way to concentrate on the interactions without getting too bogged down with details.

</comment></comment><comment><USER4> _all it takes is reading a review of OS X or Windows where hundreds of words are devoted to incremental adjustments to the Start menu and dock to realize those fluffy details aren't so fluffy after all. They matter._

Yes, they matter very much, and yes there are some things you can nail down in the UI arena; but point number two (confusing OS with UI) is very cogent, especially for computer science. Please don't muddy the waters in CS curricula anymore than they have been. This kind of stuff is CS, but it does not belong in a proper OS course. It belongs in a UI or human factors course (which I do think more people would benefit from than an OS course; most people aren't going to be working on OS level stuff, even if understanding would help them be better programmers).

<comment><USER5> Agreed. I don't really get the point of this post. Understanding OS fundamentals shouldn't be conflated with understanding interaction design principles. They're related, sure, but their cores are not. Talking about OS UI design principles would be relevant at the end of the course in order to demonstrate some of the concepts learned.

</comment></comment><comment><USER6> These are good points, but, not computer science. These are HCI. Maybe a HCI course should be a required part of CS curricula. That can be debated. I don't see anything wrong with it.

Anyway. "Foster a minimalist aesthetic".

Why? Why not baroque? Why not "classical" ala Mt. Vernon? Why minimalism?

<comment><USER7> It's trendy and easier to do an okay job with than the kind of baroque skeuomorphism prevalent in iOS.

See <https://news.ycombinator.com/item?id=5698352>

</comment></comment><comment><USER7> One of the courses I took as an elective in my first semester in a Master's in CS program was a course in Human-Computer Interaction, which included user testing off-campus.

It was the second-most useful course I took, after a great "studio-format" software engineering course, which itself emphasized a number of soft skills such as writing and presenting.

</comment><comment><USER8> It would be interesting if an operating systems course covered these things, but I think what you are looking for is a Human-Computer Interaction (HCI) course.

My university offers one or two, but I don't know how common this is across other institutions.

</comment><comment><USER9> There is a difference between product design and product engineering. It's like the difference between architect, engineer, and construction worker.

Now, in software, there is maybe a place for people who know all three areas pretty well, but it's not a well defined job role in most companies.

<comment><USER10> It's true that dividing labor that way is necessary to get projects of any significant size to work.

On the other hand, I think the level of understanding gained by walking in ux and graphic designers' shoes the way that the article describes would be a great boon for engineers whose work affects and is affected by the work of such folk.</comment></comment>


Interactive Zebrafish Brain - <AUTHOR> https://medicalxpress.com/news/2019-07-interactive-zebrafish-brain.html <comment><USER2> No one seems to address a clear distortion of this technique, which really requires careful treatment, when considering the ramifications of research founded upon it.

The clear distortion is this: Instantiation of a "standard brain" produces a monoculture more pure and homogenous than a population of identical twins. As with any monoculture, all data is reduced very nearly to an N1 sample size, leaving populations prone to abrupt, global crashes when encountering environmental faults.

Even identical twins don't have identical fingerprints. Nor do they have identical memories. If identical twins have differentiable networks of blood vessels, then their "brainprint" will vary accordingly, for sure.

A connectome is more of a signature of averages, sure, but a computer simulation will probably only introduce artificial, pseudorandom variations of neural structure, if the implementation seeks to introduce subtle physical variations to the tissue structure at all.

Based on this intrinsic quality of practice via computer simulation, understand that running a model in a system like this could introduce unwarranted confidence in replicable results, because the model is a replica by default.

With the strongest emphasis possible: _YMMV_

<comment><USER3> Interesting observations.

I've thought about twins and brain structure too, but I am a computer scientist not a neuro-scientist so I might be completely wrong.

Serious mental illness seems to be of higher incidence in the population than I would expect given evolutionary pressures due to its affect on survival. This suggests _perhaps_ some unexplained benefit to mental illness for survival of an individual's genes despite its seeming like a disadvantage. (As is the case for sickle cell anemia or nearsightedness)

Alternatively, I surmise that brain structures are not fully coded by genes, but develop through a system that is chaotic, in the sense of being very sensitive to initial conditions, and so despite the brain development system being controlled by genes the outcome in terms of exact neural connections is to some degree unpredictable due to the slightest differences in the environment between individuals (even identical twins).

Evolution implies that the development of a brain can not be straightforward given how rarely genius appears in the population.

</comment></comment><comment><USER4> So where is this interactive zebrafish brain?

Edit:

This is a much better link to understand the research: [https://bmcdevbiol.biomedcentral.com/articles/10.1186/1471-2...](https://bmcdevbiol.biomedcentral.com/articles/10.1186/1471-213X-13-23)

The viewer can be found here: [https://www.facebase.org/fishface/viewer/](https://www.facebase.org/fishface/viewer/)</comment>


ASLR on the Line: Practical Cache Attacks on the MMU [pdf] - <AUTHOR> http://www.cs.vu.nl/~herbertb/download/papers/anc_ndss17.pdf <comment><USER2> The paper is extremely well written and their attack is very elegant, so all due credit there, however, I've never understood why ASLR was taken particularly seriously in the first place. It's always been obvious to anyone familiar with modern CPU architectures that strong ASLR is fundamentally impossible, and a vast amount of attacks have demonstrated that over time.

ASLR is a mitigation measure meant to considerably increase the effort an attacker has exert at a relatively small performance cost, nothing more. It does that quite well. Personally, I'm just happy it's easy to disable for performance reasons and I hope there won't be any attempt to mitigate this attack at the hardware level on general purpose CPUs.

<comment><USER3> > I'm just happy it's easy to disable for performance reasons

If you're disabling ASLR over this post, please don't. Especially for performance reasons - ASLR is very very cheap, and the impact on performance tends to be in places you won't care much about.

The paper is fine, they did cool work. More importantly, ASLR is _totally valid_ still - their attack scenario is an attacker who already can execute arbitrary code on your system, even if it's in a sandbox, which is NOT The scenario ASLR was designed to defend against.

Nothing about this attack is going to impact the effectiveness of ASLR in the cases it was designed for.

<comment><USER2> I'm definitely not disabling ASLR over this post, that would be utterly silly. I've been disabling ASLR for many years in the context of specific performance-sensitive applications (mostly computational science stuff) in environments where the security concerns aren't relevant. ASLR does have a very real, measurable performance cost, but you're right in saying that it's fairly small and in most (though not all) cases you won't notice it.

I am, however, very adamant that it should remain easy to disable. Any security-performance compromise must remain under developer control, because there is no globally optimal decision on when to make which tradeoff.

<comment><USER3> Developers generally can't make informed decisions about security. It should remain in developer control, I guess, but most developers have no business disabling it.

<comment><USER2> That's why it's fine to have ASLR on by default. Most developers don't even seem to be familiar with how ASLR works, and very few actively disable it in practice. Yet for some of us, the ability to do so is quite indispensable.

</comment></comment></comment></comment></comment><comment><USER4> Very cool from technical perspective, but sad for web security. Takeaway for user:

 _" Q: How can I protect myself as a user against the AnC attack?

A: You unfortunately cannot as AnC exploits the fundamental properties of your processor. You can however stop untrusted JavaScript code from being executed on your browser using a plugin such as NoScript."_

Here's a source code (not linked in paper): [https://github.com/vusec/revanc](https://github.com/vusec/revanc)

</comment><comment><USER5> This might cause a lot of infections around the world for systems without the other code execution prevention systems...

Older versions of Android don't have much protection against Stagefright or other such attacks if ASLR is circumvented. The same can apply to older versions of Windows (7 or earlier) without EMET installed.

It took the most popular desktop Linux operating systems (like Ubuntu) a very long time before they even shipped ASLR. I hope further defense in depth will be implemented now that ASLR is proven weakened.

</comment><comment><USER6> Some quotes from the summary article which is being discussed here: [https://news.ycombinator.com/item?id=13648122](https://news.ycombinator.com/item?id=13648122)

 _In this project, we show that the limitations of ASLR is fundamental to how modern processors manage memory and build an attack that can fully derandomize ASLR from JavaScript without relying on any software feature._

...

 _Recently, browser vendors have broken the precise JavaScript timer, performance.now(), in order to thwart cache attacks. We built two new timers that bypasses this mitigation in order to make the AnC attack work._

...

 _Some processor vendors agreed with our findings that ASLR is no longer a viable security defense at least for the browsers._

<comment><USER7> > _at least for the browsers_

Indeed this seems to be key here, the browser is a fairly large sandbox to play in. For "traditional" server side daemons ALSR is certainly a worthwhile layer in the security of a system.

</comment></comment><comment><USER8> This is a true tour-de-force in computer security.

The way they exploit the MMU page table walk is just exquisite.

</comment><comment><USER9> There are lots of things browsers can do to mitigate this, but it requires a change from the simplistic worldview of trusting a random websites javascript and assuming a software emulator won't reveal information about the host. If this paper finally prompts more concern about side channel attacks that would be great.

Thing they could do include:

\- running the javascript engine on a specific core and evicting other processes from that core, which is a common technique in real time systems (pinning and isolating);

\- hardware cache partitioning, then locking PTEs and TLBs for that core (eg Intel xCAT);

\- separate websites by levels of trust, and run less trusted code more conservatively. Time monotonicity can be preserved without enabling high resolution linearity.

(Intel CAT hasn't made it to the kernel mainline yet, nearly though. [https://github.com/01org/intel-cmt-cat](https://github.com/01org/intel-cmt- cat) )

</comment><comment><USER10> Great paper, but I must say that I disagree with the characterization of ASLR as "a first line of defense" in the paper, and then repeated in most of the coverage of it.

When you reach the point that you're trying to mitigate the effects of memory corruption, it _should_ mean that your first N lines of defense have already failed.

</comment><comment><USER11> If I understand correctly they are able to determine the starting address of the heap or data segment in javacscript even with ASLR. But is it useful? Do you have to exit the JS sandbox to exploit it?

<comment><USER9> This is a component to be used in conjunction with another attack. It does the recon to determine the current memory layout. Once this is known a more traditional sandbox escape (like a content parser vulnerability) will be much more useful.

</comment></comment><comment><AUTHOR> Here's a web page about it: [https://www.vusec.net/projects/anc/](https://www.vusec.net/projects/anc/)

</comment><comment><USER12> The paper says that this requires shared memory support for web workers which is an RFC. Has it actually been implemented? I can't really find any info on it.

<comment><USER13> Yes, but not enabled by default yet (and hopefully never). From the paper:

>SMC builds a high-resolution counter that can be used to reliably implement AnC in all the browsers that implement it. Both Firefox and Chrome currently support this feature, but it needs to be explicit enabled due to its experimental nature. We expect shared memory between JavaScript web workers to become a default- on mainstream feature in a near future.

Note that the web workers based timer isn't required for their attack. They also discus an alternative strategy for accurate timings by looping calls to performance.now():

>The idea behind the TTT measurement, as shown in Figure 4.4, is quite simple. Instead of measuring how long a memory reference takes with the timer (which is no longer possible), we count how long it takes for the timer to tick after the memory reference takes place. More precisely, we first wait for performance.now() to tick, we then ex- ecute the memory reference, and then count by executing performance.now() in a loop until it ticks. If memory reference is a fast cache access, we have time to count more until the next tick in comparison to a memory reference that needs to be satisfied through main memory.

and it's the TTT strategy that they use against Firefox.

</comment></comment><comment><USER14> Another reason to not run javascript from anywhere on the internet, like ads.

No javascript for you! I will not look at your ads.

</comment><comment><USER15> Question: How much overlap is there between using ASLR and writing code in Rust? In other words, do the safety mechanics of Rust also prevent the kind of vulnerabilities that ASLR protects against? If so, does it do so to the extent that ASLR would be redundant for code written in rust?

<comment><USER16> ASLR is only relevant if you're exploiting a memory-safety bug. It is therefore "useless" in a safe Rust program (just as it's "useless" in Python, Java, JS, etc), but this is assuming:

* all the underlying unsafe routines are correctly implemented (unlikely in theory, false in practice)

* the compiler is correctly implemented (objectively false)

* the OS doesn't have a weird bug/hole that pwns safe programs (not very informed here, would be interested to hear examples of this)

* C libraries the Rust code FFI's into are correct (libc, openssl, gtk, etc...)

All safe languages gain defense-in-depth benefits from ASLR (insofar as anything benefits from ASLR), because our whole software stack is riddled with bugs.

</comment></comment><comment><USER17> Have they published the proof-of-concept code? I understand how you can use timing measurements to determine layout in theory, but what javascript statements are you running that can reveal where msvcrt.dll or kernel32.dll is loaded in chrome.exe?

</comment><comment><USER18> Given there's an actual non-zero performance impact on ASLR, I wonder if there's any remaining benefit to have it (also from a maintenance perspective).

<comment><USER19> this result has brought the attack surface from impractically small to maybe hard but definitely reasonable; disabling ASLR altogether means reasonable becomes easy.

<comment><USER18> Given this attack can be run within large userspace programs that are run directly from the network (js via browsers, or within VM boundaries), I don't think that "reasonable" would be the right word.

The constraints are pretty small in these scenarios. Once a POC is released it becomes widespread pretty quickly. There's no special size/constraint that effectively stops this attack being run on a large scale.

</comment></comment></comment><comment><USER7> Not much to add but this paper was delightfully written and a pleasure to read.</comment>


Tokenizing Assets as Crypto Is a Delusion - <AUTHOR> https://www.coindesk.com/the-tokenization-delusion <comment><USER2> It is easy to take some shitty token like GirderCoin and criticize it, but what about tether and other stablecoins? Those are centrally issued tokens that seem to have demand and userbase.

"But until that happens, tokenization of assets seems likely to remain the province of professionals, and "be your own bank" merely a lovely dream."

Well, everyone can hold these tokens and "be their own bank" already with bitcoin and stablecoins, however just not that many might want it. To me it looks like the author is mixing up the technology and business demand. The token technology seems to work robustly, there have been some somewhat successful tokens issued (stablecoins). Still everything is quite miniscule compared to mainstream economy. Whether tokens will be significant technology remains to be seen.

<comment><USER3> Too add to tokenization problems, for example, I have seen something about selling a portion of you home's equity. This, to me, seems like a way to extract wealth from those who are desperate and end up like the subprime debacle</comment></comment>


Ask HN: Best resources on SEO - <AUTHOR>

Hello All,
I'm wondering what the best resources on Search Engine Optimization are? In terms of books, websites and even organizations that assess existing websites.
thanks! adnan. <comment><USER2> Here it is: [http://www.seomoz.org/article/beginners-guide-to-search- engi...](http://www.seomoz.org/article/beginners-guide-to-search-engine- optimization) They call it the beginners guide but unless you're thinking about running an seo firm its more than you ever need.

<comment><AUTHOR> thanks!

</comment></comment><comment><USER3> www.google.com/webmasters/tools/ - Google webtools have been incredibly helpful for us. Also <http://www.vanessafoxnude.com/> (no..it is not an adult site!) is a good blog on SEO

</comment><comment><USER4> If you want the best, Aaron Wall's SEO Book is IMHO unsurpassed: <http://training.seobook.com/>

<comment><USER5> Seconded.

<comment><USER6> Thanks for the recommendations guys. :)

Have a great weekend!

<comment><USER7> Hey Aaron!

Never knew you were here too. Btw, SEOBook training program+forum access costs 100$/pm, but is worth every penny. (We are a small bootstrapped firm, for which 100$ is not exactly peanuts, but what I learnt from this 100$ has had teremedus ROI)

<comment><USER6> Glad you have got great ROI Shabda and I wish you the best of success with your start up.

</comment></comment></comment></comment></comment><comment><USER8> <http://SEOmoz.org> (as mentioned by others) is certainly one of the best.

<http://Websitegrader.com> provides a quick and dirty analysis of your site.

The SEO Web Developer's Cheat Sheet is very handy: [http://seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.p...](http://seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.pdf)

</comment><comment><USER9> <http://www.seomoz.org/>

<http://www.seobook.com/>

Not really SEO, but I love this book: <http://www.calltoactionbook.com/>

</comment><comment><USER10> Another great resource from SEOmoz that some might miss (b/c it's not exactly easy to find on their site) is their "Search Engine Ranking Factors" report (it's free).

<http://www.seomoz.org/article/search-ranking-factors>

The report tries to identify which SEO factors have consensus among a panel of 3-dozen or so SEO experts (as well as which factors are deemed dubious). It's a great way to get a large number of opinions on specific topics and try to focus in on a few high ROI factors (if you've got limited resources/time like I do).

</comment><comment><USER11> NetConcepts case studies page: <http://www.netconcepts.com/tag/case-studies>. I've found it to be the best site out there to learn what needs to be done without coming across as an infomercial, which a lot of SEO sites annoying do.

</comment><comment><USER3> [http://www.websiteoptimization.com/services/marketing/search...](http://www.websiteoptimization.com/services/marketing/search- engine/) link specifically for SEO but they have plenty of information for website optimization

</comment><comment><USER12> [http://www.tutorial-reports.com/internet/seo-search- engine-o...](http://www.tutorial-reports.com/internet/seo-search-engine- optimization)

</comment><comment><USER13> Try <http://www.sphinn.com> ... social news site specifically for SEO related topics.

<comment><USER14> Go to <http://www.openfaves.com> \- new social bookmarking website

</comment></comment><comment><USER15> Wow, really seems like there's an awful lot of "tea leaf reading" going on.

The human neural network being imperfectly trained by Google's algorithms, which probably have some sort of network learning involved. Funny stuff.</comment>


Build a GraphQL with Node.js - <AUTHOR> https://www.youtube.com/watch?v=0hOi7biFLf0&list=PLs2PzMqLzi7WkEKE9-DeVODZI63P4g6vk <comment><AUTHOR> GraphQL is all up in everyone's face right now. Good or bad, it's a great tool.

In these videos I will walk you through creating a basic GraphQL server using Node.JS to give you a flavour of how it works.

Many people I talk to who have heard of GraphQL get confused what it is. I was one of those people too. One of the most frequent questions I get asked is, "Is it a database?"...

This video series will explain how exactly you'd go about talking to your database.

I'd love any feedback! =)

PS. I understand this is a very low level intro and doesn't take into consideration a permissions layer. Those are for more advances videos coming soon ;)</comment>


An entirely free tool to find email addresses on the web - <AUTHOR> https://emailpro.io <comment><USER2> This is the real deal! Highly recommend!

</comment><comment><USER3> How does this compare to Hunter?

<comment><AUTHOR> Hunter has some cool features, but since this is free I think it gets the job done equally aswell for my use case.</comment></comment>


Full quote of what Mark Zuckerberg actually said about HTML5 - <AUTHOR> http://blog.tobie.me/post/31366970040/when-im-introspective-about-the-last-few-years-i <comment><USER2> The context wasn't really necessary. I think we all believe HTML5 has a great future. Hardware gets better at a rapid rate and HTML5 (CSS, Javascript, etc) is still improving. The point is, and was, that it's probably best to produce native apps at this time, for the majority of apps. Facebook, for example, needs a 5 star app.

<comment><USER3> Not necessarily a majority of apps.

Facebook is a really, really popular app. They cannot get away with good effort alone. They must make their mobile app flawless and reliable, because if only a couple of users out of hundreds of millions publicly criticize their app, this hurts their reputation badly.

I do not agree with what most people are saying. HTML5, CSS, Javascript are already good enough standards for 99% of all apps.

The real problem lies with the popular mobile browsers. Anybody who ever tried developing a rich interface for Mobile Safari and for Android knows just how bad things are - and some people think having to support IExplorer 6 was painful.

Also, at least on iOS, the browser has better performance than a WebUI embedded in an app. From what I know the web component doesn't use the same Javascript engine for instance. Also, not sure if this changed, but on iOS 4 you couldn't upload files from the mobile browser (file fields in forms were deactivated). You also couldn't automatically place the focus on a form field, to force the keyboard to pop, because you couldn't trigger any mouse/keyboard event other than in response to a physical user action (I think this was a problem with mobile WebKit in general). And I also experienced many problems with Android's browser. I can't even remember all of them.

<comment><USER4> The difference is that iOS allows Mobile Safari to turn memory areas into code pages, which is what you need to do to JIT JavaScript. It doesn't trust other apps not to be able to exploit that somehow, so UIWebView is not allowed to do this.

<comment><USER5> Are you 100% sure?

I believe webkit (either in safari or UIWebView) should be able to run JIT, while your custom engine can't.

<comment><USER6> UIWebView doesn't support JS JIT, as it's still running in your process space.

<comment><USER5> thanks, didn't know that. this is really sad.

<comment><USER4> They would rather do that then open an exploit possibility. As a user, I prefer that trade-off. It would bother me if I relied on PhoneGap or something similar, but in practice, the performance really isn't that bad.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> "One of the things that's interesting is we actually have more people on a daily basis using mobile Web Facebook..."

this is testament to just how bad the app was.

<comment><USER8> Not only that. I use the mobile interface rather than the app for two reasons: Sure, the app is badly done and buggy, but, most importantly, it gives Facebook permissions that they've shown time and again they shouldn't have. They've fucked up on more than one occasion, and I know casual users who balk at installing applications that request too many permissions.

That's definitely a contributing factor, in my opinion.

<comment><USER9> I haven't used iOS in a while, but a couple of years ago the web app was faster (!) and had more features (like liking on comments, not just on status updates) than the native app (presumably because the browser used a JIT for JavaScript and apps an interpreter). I would use the web app for everything except uploading pictures.

</comment></comment></comment><comment><USER10> "...One of the things that's interesting is we actually have more people on a daily basis using mobile Web Facebook than we have using our iOS or Android apps combined. So mobile Web is a big thing for us."

I find this part of the quote interesting. Those people who use mobile web, what platform are they using? Are they using iOS or Android based devices, and using the web? Or are they using other lower end phones?

Could this number actually decrease if Facebook linked to the apps in their emails, rather than the mobile site? (I guess this might be hard to pull off, but would be better in the long run)

<comment><USER11> My girlfriend uses the mobile web version of Facebook on a semi-dumb slider phone (it might be some variant of Symbian). I find it baffling because the browser is so terrible and the screen is 320x240, but she's perfectly happy with it. She never uses it for any other sites. I wonder if Facebook has an unusually high number of users like that. The demographic would be invisible to the rest of the web community because those users never leave Facebook.

</comment></comment><comment><USER12> Zuckerberg is right. HTML5 isn't suitable for the direction Facebook is going which is photos (hence why they bought Instagram).

LocalStorage quotas cannot be made bigger than 5MB[1].

I remember trying this Mozilla-built webapp[2] out in Google Chrome, it just didn't work.

1\. [http://htmlui.com/blog/2011-08-23-5-obscure-facts-about- html...](http://htmlui.com/blog/2011-08-23-5-obscure-facts-about- html5-localstorage.html)

2\. [https://hacks.mozilla.org/2010/02/an-html5-offline-image- edi...](https://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and- uploader-application/)

</comment><comment><USER13> Context absolutely matters! Techcrunch sold the article as Facebook betting too much on HTML5, period. His quote was that at the time 2 years ago, it was a mistake betting too much on HTML5 over native for their mobile application. And it's true, 2 years ago and even now, most phones have a hard time handling Facebook's intensive need in HTML5. It's true, Facebook could have spent more engineering resources improving the HTML5 spec and push it forward, but anyone saying context doesn't matter is just being ignorant.

</comment><comment><USER14> "One of the things that's interesting is we actually have more people on a daily basis using mobile Web Facebook than we have using our iOS or Android apps combined." That's a hint of how crappy those native facebook apps are. It's barely usable.

<comment><USER15> That was the interesting part for me, too. I am confused that none of the other comments in this thread touch on that. At first I thought maybe there is a third class of phone that we are omitting, where there is no option for a native app, and so the browser is used. But I don't know what mobile device that would be. Certainly not a nokia phone (though maybe oneday!) I personally started using Safari on my iOS for gmail. The HTML5 experience is simply better than iOS native email experience.

</comment></comment><comment><USER16> As a web developer, this is a great thing to hear. Larger companies should focus on the web, and with this context, I don't have to be worried anymore about learning a native phone language.

</comment><comment><USER17> I used to work on mobile products at Google using both, HTML5 for mobile and native. When betting on HTML5 you get the benefit of quick updates across multiple platforms and smaller team size. However, most of your time is allocated towards finding work arounds for strange browser bugs. Mostly glitches in the UI. With native, things work the right way most of the time, so you can quickly create exciting new features, which excites the team. The down side of native, is that you'll be implementing that exciting new features N number of times for each platform.

Now that I am doing a lean startup, the reality is that the first app will be re-written completely. My bet is to focus short-term on one platform and write using native code for speed and lack of bugs (higher moral). For longer-term multi-platform play and if you plan to stay small and lean, I would recommend HTML5 or a hybrid.

</comment><comment><USER18> I think it was mostly the design of FB's mobile web app that was bad, not that it was made in HTML5. It was too heavy and didn't optimize well to the iPhone screen size.

</comment><comment><USER19> Context always matters. People always forget that a rush too quickly into things (kind of like Facebook and an emerging technology).

However in the case of Facebook, the error was still made.

</comment><comment><USER20> That's a tautology: users prefer a Web interface over sucky apps. Which says fairly little about what user might prefer when the apps don't suck.

</comment><comment><USER21> I think HTML5 at the moment is great for making prototype mobile apps. Getting traction before investing in a native app hedges a lot of risk. The approach (native vs. web) also depends on the type of app and the customers you are trying to reach. There is a time and place for both and i think the times and places for HTML5 will only increase in the future.

</comment><comment><USER22> I think he could have phrased it better; Did anyone else think what he said is rather redundant? I don't think context is that important, it's all in the choice of words, and the relations in the discourse. If he failed, it was with making himself clear, not on the matter of HTML5 vs Native.

<comment><USER23> Maybe everyone doesn't have a constent quotable filter on thinking "is this quotable?" :P

People talk poorly in normal conversation. It takes time to craft a good quote.

</comment></comment><comment><USER24> "One of the things that's interesting is we actually have more people on a daily basis using mobile Web Facebook than we have using our iOS or Android apps combined."

Yes, a lot of people used the FB mobile web app because Mobile Safari ran their web pages better than the web views of the old native FB app.

<comment><USER25> Stole the words right outta my keyboard. There's a reason people are going back to the web site after trying the apps.

</comment></comment><comment><USER26> I guess what he really meant is hybrid apps (native apps with HTML 5 rendering inside them) are not ideal..

</comment><comment><USER27> who cares what zuckerberg said tbh, i doubt he wrote the html5 port and i doubt he was the one who convinced people to go back to native. he's just repeating what some engineer told him.

fact is html5 is slow, even more so on none apple phones/tablets. everyone who's worked with it knows it.

</comment><comment><USER28> The main issue I had with the Android Facebook app wasn't that it was particularly bad in itself, it was just that it depended on a perfect, always on mobile data connection.

These things need to work on an asynchronous basis, more like email, to get status updates, post to walls etc.

</comment><comment><USER29> No, the context is irrelevant here because Techcrunch got it right. It's a direct quote.

</comment><comment><USER30> All the context that is needed is said in the first sentence.

To claim this was facebook's biggest mistake is surely one of the most ridiculous things i've ever seen or heard the guy say.

edit: Mark Zuckerberg has his head up his arse :-)

</comment><comment><USER31> HTML5 makes sense for what it is meant for. Web development. It is not a desktop or mobile app replacement technology. As long as one is clear about that, everything is fine.

<comment><USER32> Part of HTML5's origin is a draft standard called Web Applications 1.0. HTML5 is meant to be a desktop and mobile app replacement technology.

<http://en.wikipedia.org/wiki/HTML5#Standardization_process>

<comment><USER31> Intent do not always translate to reality. HTML5 does not deliver for mobile/desktop. End of story.

<comment><USER32> Plenty of products are successfully using HTML5 for applications where it makes sense and are succeeding with it. Blanket generalizations are usually wrong.

<comment><USER31> I think you simply refuse to understand - a nail may be pinned using a pickaxe, but when you have a hammer available, which does the job neat , why would you go for the pickaxe? HTML5 is the pick axe which does the job ugly. Mobile developers have little reason to adopt it.

</comment></comment></comment></comment></comment><comment><USER33> Ha yeah context is not needed. HTML5 is nice but betting a billion dollar business on it does not seem like a great idea.

</comment><comment><USER34> I am one of those people that had the native app installed and opted for using the web version instead. Why? We all know why!

</comment><comment><USER35> Issues I have with HTML5:

\- Javascript

\- Javascript

\- Javascript

\- Fragmentation like no other

\- Lack of APIs

\- Sandboxed environment

\- A bunch of morons writing "frameworks" without a clue of computer science (same thing as many popular Wordpress PHP plugins written by people who have no clue of even how memory allocation is supposed to work)

\- A bunch of other morons copying and pasting the work of other morons.

\- No real memory management

\- No real anything or poor support at anything (no sockets, no primitive types, no threads, cross domain BS)

\- Internet Explorer

\- Javascript

\- Internet Explorer

\- Javascript

...

It's just not what the foundation was meant for.

It only took Steve Jobs talking about how bad flash was and closing the endless array of development options that we have outside Objective-C and HTML5 to make the world try to reinvent the wheel in javascript, all the while ignoring the fact we have more powerful desktop computers than ever, all the while putting more money in the pockets of those that run cloud infrastructure.

I hope more guys like Zuck come out on the record and let the world know this is ludacris, that all these decades working on out of this world compiler optimizations and technology that's light years away from the browser can't be forgotten.

Yes, we need to be in the browser, but give me a break, Javascript?

It's just sad seeing the turn of events of our industry going in this direction, I'm glad of this whole "App" revolution and Zuckerberg saying this at his first appearance after the IPO, I hope it sobers up a bunch of decision makers.

<comment><USER36> I can't believe this biased and unintelligent rant is being upvoted. HTML5 does not suck because of JavaScript, or because of using greedy algorithms, or because people allocate too much memory. It sucks because browser support isn't there and Apple/Google/MS does not give a damn about HTML5. And if you think about it, it makes sense, it's much better for Apple/Google/MS that developers develop exclusively for their platforms and not for HTML5 (a platform that could be run on any OS).

What we need is an independent browser vendor (Opera, Mozilla) to do an amazing HTML5 experience.

<comment><USER37> The story of the web up until now: It sucks because browser X doesn't support technology Y correctly.

</comment></comment></comment><comment><USER38> HTML5 is fine, but it's for developing web UI's not mobile apps. Sure it would be nice if all the main mobile OS's used the same language and frameworks but they don't, people need to get over that and start developing natively.

<comment><USER39> It's the glittering lure of write-once run-everywhere.

Devs still fall for it, even though we should know better.

</comment></comment><comment><USER40> This is what HTML is capable of: <http://ro.me>

<comment><USER38> I get "We are sorry, but it appears that your browser does not support WebGL. Please download Google Chrome and try launching this site again."

Using Google Chrome

<comment><USER41> Using chrome and it works for me. Absolutely amazing!

</comment></comment></comment><comment><USER42> His statement is calculated so he does not receive too much criticism from over-hyped HTML5 cool aid drinkers (which abound in great numbers).

I see the wind starting to turn finally, it had been fairly steady since Steve Jobs hot air concerning HTML5.</comment>


Write Emacs extensions in Haskell - <AUTHOR> https://github.com/knupfer/haskell-emacs

<comment><USER2> Pretty lovely. Too bad archlinux GHC package is too large[1], I'd love to learn Haskell through emacs extensions.

[1][http://stackoverflow.com/questions/4858585/why-is-ghc-so- lar...](http://stackoverflow.com/questions/4858585/why-is-ghc-so-large-big) [http://www.reddit.com/r/archlinux/comments/1pid2r/why_is_the...](http://www.reddit.com/r/archlinux/comments/1pid2r/why_is_the_ghc_package_so_big/) [http://webcache.googleusercontent.com/search?q=cache:zp1T0M3...](http://webcache.googleusercontent.com/search?q=cache:zp1T0M36Ze4J:web.archiveorange.com/archive/v/4noW3FnX87wEtXnKOSRL&hl=en&gl=fr&strip=1)

</comment><comment><USER3> But... I want to stay with Vim! Why do you do this to me?

<comment><USER4> Unless you use more esoteric feature of vim than I do the evil package does a good job of replicating the vim experience for me. I am still in the process of converting myself.

<comment><USER5> I keep trying. I never stick with emacs.

<comment><USER6> someone here recommended spacemacs [https://github.com/syl20bnr/spacemacs](https://github.com/syl20bnr/spacemacs).

I get far less friction setting up emacs extensions than vim ones.

<comment><USER7> The modeline in spacemacs looks beautiful. I used emacs live to kickstart my latest configuration, but I'm tempted to check out spacemacs now...

</comment></comment></comment></comment></comment><comment><USER8> Why are there so many Haskell articles on HN? It seems like nearly every day there's one or more Haskell articles yet in the real world I've run into one guy in decades that even knew it.

<comment><USER9> "A language that doesn't affect the way you think about programming, is not worth knowing" \-- Alan Perlis

It's not solely just about if it is ready for commercial/real-world applications right now. The language itself is interesting and it definitely shapes a different mode of thinking.

Haskell is evolving rapidly and in interesting ways and those that are interesting in programming (as most of us here are), it's a good place to look and learn from.

<comment><USER10> As an interesting side note, Microsoft just open sourced Bond. It's written in Haskell, and is a high performance, cross-language, schematized serialization tool. The project describes itself as widely used in many of Microsoft's high scalability services.

Microsoft has many proponents and detractors on HN, but no one can deny that they have plenty of services that get lots of traffic. If Haskell is serving a critical role in many of those services, then it seems that it is ready for commercial/real-world applications.

<comment><USER9> Incidentally, there is a whole conference dedicated to commercial uses of Haskell: [http://cufp.org](http://cufp.org)

<comment><USER11> Not just Haskell.</comment></comment></comment></comment></comment>


CS Internship Recruiting Guide - <AUTHOR> https://medium.com/@qrazhan/cs-internship-recruiting-guide-aebb68912808

<comment><AUTHOR> Hey guys, I wrote a guide to help freshmen and sophomores in CS to get an internship. I'd really love any feedback you guys have.</comment>


Excuse Me While I Kiss This Guy: The Science of Misheard Song Lyrics - <AUTHOR> http://www.newyorker.com/science/maria-konnikova/science-misheard-lyrics-mondegreens <comment><USER2> Jon Carroll at SF Chronicle has written a lot about mondegreens both in the pages of the Chronicle and in topics on The WELL for years.

Here are some of his classic pieces on mondegreens:

[http://www.sfgate.com/entertainment/carroll/article/JON- CARR...](http://www.sfgate.com/entertainment/carroll/article/JON-CARROLL- Mondegreen-And-Loving-It-3319390.php)

[http://www.sfgate.com/entertainment/carroll/article/JON- CARR...](http://www.sfgate.com/entertainment/carroll/article/JON-CARROLL-Zen- and-the-Art-Of-Mondegreens-3330389.php)

[http://www.sfgate.com/entertainment/carroll/article/JON- CARR...](http://www.sfgate.com/entertainment/carroll/article/JON-CARROLL-I-m- Not-Blue-I-m-Mondegreen-3320697.php)

[http://www.sfgate.com/entertainment/carroll/article/JON- CARR...](http://www.sfgate.com/entertainment/carroll/article/JON-CARROLL- Mystery-Mondegreens-And-So-Much-3330750.php)

</comment><comment><USER3> My favourite example of this has always been "Lock the Taskbar": [http://youtu.be/WEWG6kSYqlY](http://youtu.be/WEWG6kSYqlY)

<comment><USER4> I still sing this when I've got to click that on a Windows PC at work.

</comment></comment><comment><USER5> At Clarify.io we're working in the automatic speech recognition space and the stuff the systems come up with are _hilarious_. There are so many sets of syllables that make sense different ways. It's amazing that it doesn't happen to humans even more.

<comment><USER6> Like [https://www.youtube.com/watch?v=7-ZnPE3G_YY](https://www.youtube.com/watch?v=7-ZnPE3G_YY) ? Matches the lip reading too.

</comment></comment><comment><USER7> Jimi actually replaced the actual lyrics with that a few times, one of which can be heard on the Jimi Hendrix Experience Box Set. Spotify link: spotify:track:5YxfZTUX7sZ5JyYvEsesxB

<comment><USER8> Alternative spotify link [http://open.spotify.com/track/5YxfZTUX7sZ5JyYvEsesxB](http://open.spotify.com/track/5YxfZTUX7sZ5JyYvEsesxB)

</comment></comment><comment><USER9> I've always liked "Wrapped up like a douche" (Revved up like a deuce) in Blinded by the Light.

<comment><USER10> I always heard it as "ripped off like a douche," which sounded very indecent, even though it makes no sense at all. Yes, "Blinded by the Light" as performed by Manfred Mann's Earth Band is my all-time longest-misheard song. I finally looked up the lyrics. "Revved up like a deuce" doesn't mean anything to me, which is why I never heard the song that way, but now at least I know what the songwriter (Bruce Springsteen) intended.

[https://en.wikipedia.org/wiki/Blinded_by_the_Light](https://en.wikipedia.org/wiki/Blinded_by_the_Light)

<comment><USER11> A "deuce" was a two-seater hot rod (cf. "Little Deuce Coupe" by the Beach Boys). I suppose it's now archaic slang. But I'm still puzzled, because Springsteen's original lyric is "cut loose like a deuce" and I have no idea what that means.

</comment></comment></comment><comment><USER12> I still can't hear "Blank Space" by Taylor Swift without hearing "Starbucks lovers" instead of "list of ex-lovers".

<comment><USER13> I just listened to this song on Youtube. Never heard it before, so I tried listening very carefully. I still cannot make out "list of ex-lovers". So strange that I cannot make out the correct phrase even after listening to that part over and over again.

</comment></comment><comment><USER14> I always misheard Fallout Boy's "Going Down". They say "a loaded God complex, cock it and pull it", but I always heard "loaded gun complex", due to the context of cocking a firearm and then pulling the trigger.

<comment><USER15> You're certainly not the only one to mishear the lyrics of that song [https://www.youtube.com/watch?v=kvx0ncTxxL0](https://www.youtube.com/watch?v=kvx0ncTxxL0)

</comment></comment><comment><USER16> Best misheard lyrics I've heard is Wishmaster by Nightwish - [https://www.youtube.com/watch?v=gg5_mlQOsUQ](https://www.youtube.com/watch?v=gg5_mlQOsUQ)

<comment><USER17> Or, the world-famous Llama song ([http://www.albinoblacksheep.com/flash/llama](http://www.albinoblacksheep.com/flash/llama))

</comment></comment><comment><USER18> My personal favorite isn't quite a mondegreen, but a lyrics shift. I've long swapped "Waking Up is Hard to Do" for the original "Breaking Up is Hard to Do" in Neil Sedaka's song. Years later on NPR's "Wait Wait", he said that he'd rewritten the song with the same words for his grandchildren.

[http://www.npr.org/templates/story/story.php?storyId=1270438...](http://www.npr.org/templates/story/story.php?storyId=127043815)

<comment><USER19> The interesting thing to me about this one is a line from the chorus that I always heard as "Comma comma down dooby-do down down", which of course makes no sense whatsoever. Somewhere along the way I saw an alternative transcription, "Come-a come-a down...", which I thought was much more plausible, as "comedown" is a word that would make sense here. But I just checked a couple of the lyrics sites, and they say "Comma comma"!

</comment></comment><comment><USER20> Rathergood mined this ground well. I particularly like Destiny's Child meat dependency - [http://www.rathergood.com/alf](http://www.rathergood.com/alf) and Pavarotti's deep love of elephants - [http://www.rathergood.com/elephants](http://www.rathergood.com/elephants)

</comment><comment><USER21> Similarly, lyrics in a language you don't know. Someone did this to the entire Duck Tales theme song in Finish: [http://youtu.be/Xm8WmiKj5go](http://youtu.be/Xm8WmiKj5go)

"your school's stupid, your school's bwaha"

</comment><comment><USER22> My favorite is Alanis Morissette: "Of the cross eyed bear that you gave me".

</comment><comment><USER23> This horrible song, 'A Donkey', by Cheryl Cole: [http://youtu.be/HJ7LsLEERkE](http://youtu.be/HJ7LsLEERkE) She seems to be really excited about that donkey for some reason.

</comment><comment><USER24> This is basically where half the traffic for ytmnd used to come from back in the day ([http://dew.ytmnd.com/](http://dew.ytmnd.com/)).

</comment><comment><USER25> I lived a couple of years in Brazil and a couple of years in Chile and counted myself fluent in the language when I could comfortably understand the songs on the radio. This article makes me think the difference between fluent and native speaker is being able to make good sense out of misheard lyrics.

</comment><comment><USER26> I think this is the best youtube compilation of misheard lyrics (there are a lot to choose from).

[http://www.youtube.com/watch?v=0nVvRwrgsGU](http://www.youtube.com/watch?v=0nVvRwrgsGU)

Personal favourite: I got string on my face, the smell of fat chicks just put my spine out of place.

</comment><comment><USER27> My sister always sang "But I'm only a cross-eyed octopus" instead of cockeyed optimist.

</comment><comment><USER28> My sister produced my all-time favorite - "I flew the bat-plane" by The Eagles.

</comment><comment><USER29> "how to wreck a nice beach you sing calm incense"

puzzle: the above is the title of an academic paper. figure out what the thesis of the paper is!

solution: [http://goo.gl/4Gx7da](http://goo.gl/4Gx7da)

<comment><USER30> I got the first part, but the latter half didn't fit for me, that's just an artifact of my accent however, "calm" and "com-" are very different for me :)

</comment></comment><comment><USER31> I knew someone who, years ago, while singing along to "Boulevard of Broken Dreams" proclaimed "I wish someone would pillow fight me" instead of "I wish someone up there would find me"

</comment><comment><USER32> Theres an interesting story about Bob Dylan offering the song Lay Lady Lay to the band Everly Brothers, but they misheard the part where he sings 'lay across my big brass bed' and rejected the song.

</comment><comment><USER33> "You say that ironing was the shackles of youth ah ha."

Deciphering Michael Stipe's voice was a huge part of my first forays online. I can't imagine what I would have done with a site like Genius.

</comment><comment><USER34> Personal favorite is "Oh Canada, we stand on cars and freeze!"

</comment><comment><USER35> Personal favourite: (some language factors at play) Is it Reebok or Nike?

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

</comment><comment><USER36> My most recent one was Maroon 5's "you got to lose that jacket / you got to lose that jacket / you got to lo-oo-oo-oo-oo-oo-ose that jacket".

</comment><comment><USER37> cdza has a "History of Misheard Lyrics". [https://www.youtube.com/watch?v=_6jRICTGmnM](https://www.youtube.com/watch?v=_6jRICTGmnM)

For those unfamiliar with cdza, they film musical experiments, frequently humorous in a distinctive "in studio" style, generally as a single shot.

</comment><comment><USER38> "Like a rhin like a rhino! I'm not easily offended." Actually "Like a riot, like a riot, oh!"

I don't really understand half of the things in Phoenix songs.

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

I also somehow thought "Baby you're a firework!" was "Baby you're a ferris wheel!" for a while. No idea how my brain did that.

</comment><comment><USER39> I see the bad moon rising

I see trouble on the way

I see earthquakes and lightnin'

I see bad times today

Don't go around tonight

Well, it's bound to take your life

There's the bathroom on right.

<comment><USER40> My wife, word for word. At the top of her lungs.

</comment></comment><comment><USER41> On the same alley, but in a different level, is bad lip reading. My favorite is Russian Unicorn.

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

</comment><comment><USER42> Lock the catbox!

</comment><comment><USER43> I can't get no sadist faction.

<comment><USER10> Do you pronounce "sadist" with a first vowel as in the word "saddest"? I usually hear the word "sadist" pronounced with the first vowel of the word "latest," but I've actually never looked it up.

[http://www.oxfordlearnersdictionaries.com/us/definition/engl...](http://www.oxfordlearnersdictionaries.com/us/definition/english/sadist)

[http://dictionary.cambridge.org/us/dictionary/american- engli...](http://dictionary.cambridge.org/us/dictionary/american- english/sadist)

[https://answers.yahoo.com/question/index?qid=20120201061147A...](https://answers.yahoo.com/question/index?qid=20120201061147AAa9X9E)

<comment><USER43> Well, they're British - maybe that's the way they say it?

</comment></comment></comment><comment><USER44> "A dead head sticking off a cadillac" -from boys of summer

</comment><comment> o0-0o "I wanna fuck you like Superman"

</comment><comment><USER45> Metallica, One: Doctors impersonate me.

[http://www.kissthisguy.com/doctors-impersonate-me- metallica-...](http://www.kissthisguy.com/doctors-impersonate-me-metallica- misheard-3974.htm)</comment>


Netflix Recommendations: Beyond the 5 stars - <AUTHOR> http://techblog.netflix.com/2012/04/netflix-recommendations-beyond-5-stars.html <comment><USER2> Good to see the Netflix prize paid off for Netflix. In pure terms of hourly rate, Netflix managed to get some of the smartest people in the world to work for less than chump change. In those terms alone it was a huge success, but the Netflix prize also pushed forward the field so really no-one was exploited.

The same idea is been commercialised by Kaggle (<http://www.kaggle.com/>) but there are several issues. Of course there is less up-take as the idea is no longer novel and the prizes are less. More than that, I think people are realising that winner-takes-all sucks, and the winning entries tend to combine so many different techniques that, as Netflix found, putting them into production is difficult. There is some interesting work on a better model here: <http://arxiv.org/abs/1111.2664>

<comment><USER3> The Netflix prize's criteria -- accurately rate a pile of movies -- is a red herring, though. It may help some, but the broad accuracy comes at the expense of an optimal algorithm for what's really important.

What I want is a recommendation of what I'll probably like. It is absolutely irrelevant if mid-range movies sore a 2 or a 3. If Netflix can pick out a list of movies that I would rate a 5 (and maybe even 4), they've got the holy grail. Nothing else matters. So why optimize your algorithm to capture the 2s and 3s as well?

For bonus point, it might be nice to be able to pick out the real dogs. If it could warn me that I'm about to rent a 1 or 2, that would be cool. But it doesn't matter if they can tell me which of 1 or 2 it is. The precision is irrelevant, just tell me I won't like it.

(If I've said this once, I've said it a hundred times. But I guess I'll keep on like a broken record as long as Netflix keeps trumpeting what an achievement the Prize's algorithm was.)

<comment><USER2> You're not alone. I don't know if you have a ML background, but it has been somewhat widely discussed in the community that the way Netflix scored the competition -- RMSE -- isn't the best way. E.g. <http://hunch.net/?p=949> and <http://andrewgelman.com/2008/11/netflix_prize_s/>

In the OPs article they mention they monitor if a movie is watched to completion, which gives them a much better metric to optimise. The other issue is that this is really a sequential decision making problem. Recommending a movie has an opportunity cost -- there are other movies you don't recommend -- and the recommendation is an ongoing process, so it is probably best to spend some time exploring the user's taste on the assumption this will let you make better recommendations in the future. Accounting for these issues is much harder in a competition format.

</comment></comment></comment><comment><USER4> "Of course, when we say "you", we really mean everyone in your household." It's interesting that they've made a conscious decision to go that route. My wife and I share a streaming account which does not allow for separate instant queues. We have different tastes so I often see prompts to rate or recommendations to watch films and shows I dislike. If I'm honest in my rating it seems like I'll skew the recommendation engine away from shows my wife would like but if I'm not I'll end up seeing only recommendations i done like. It's a catch-22 situation and makes me distrust pretty much anything that is recommended.

<comment><USER5> I also have kids and that really screws up my "suggested" queue. Hmmm, should I watch "Inspector Gadget" or "The Girl with the Dragon Tattoo" tonight?

<comment><USER6> I let a family stay at my home for a month, and forgot my Xbox 360 was on Netflix. Came back from a trip and the recommendations we're all kids all the time. Cancelled the Xbox account. Three months later, still all kids, all the time. Went to website and negatively rated all kids shows (though I like some things like British lit movies for kids) it suggested, mercilessly. Kept at that for two weeks. Didn't help. It kept cycling around the dregs of kids shows, surfacing Pokeman, or old Nik reruns. Found an obscure "don't consider this" button, cycled through everything again. Five months after that, our top 10 "for you" don't list kids shows any more. But, one of those precious custom genres is still always kids and family related, no matter what we try. So, we're giving up on fixing it, and just going to have a kid instead.

<comment><USER7> I almost spit out my coffee, very well done. I have the same issue in that I set up my preferences, and told my wife (who uses it alot more but doesn't look at the recommendations much, she generally already knows what she wants to watch) to just not rate anything, so that it wouldn't be confused by my ratings. All it took was one accidental 5* on Desperate Housewives and my recommendations were shot.

It seems to me that the rating algorithm is a bit sensitive. Also, I wonder if Netflix has considered giving people they option of multiple "personalities" for the purpose of suggestions, queues, etc. I bet if they offered this for something like $3/mo more, people would pay for it.

<comment><USER4> The DVD service allows multiple profiles for the same account; users can switch between them to get their own queue and recommendations.

It looks like they explicitly remove that for streaming customers. I have no idea why.

<comment><USER8> Maybe hoping people would just get one streaming account per person?

</comment></comment></comment></comment></comment></comment><comment><USER9> It seems to me they'd be able to get a lot more metadata for their recommendation engine if they worked on allowing multiple personas per household account. Analyzing the viewing behaviour of people within the same household would give them a treasure trove of more data to make better recommendations for other people in similar households.

"You watched and liked XYZ, your 38 year old wife hates ABC, and you've got 3 daughters 8/10/12? They'll probably like these shows ...."

It seems they missed out on years of awesome data by not allowing for segmenting by persona from the early days.

<comment><USER4> Posted below: "dailyllama [dead]: They actually have some support for this (or at least they used to, and grandfathered some of us in)."

Their FAQ mentions it. But when I asked their support line was told it's only available to subscribers of the DVD service.

<comment><USER10> A year or so ago we discovered this at work and copied the URL for the setup for this from someone with DVDs to someone who didn't, and they were able to set it up for instant streaming, even though they didn't have the UI presenting the feature visible. I'm not sure if it still works, but it was an interesting bug to find, nevertheless.

</comment></comment></comment><comment><USER11> _"Another important element in Netflix' personalization is_ awareness _. We want members to be aware of how we are adapting to their tastes. This not only promotes trust in the system, but encourages members to give feedback that will result in better recommendations. A different way of promoting trust with the personalization component is to provide_ explanations _as to why we decide to recommend a given movie or show. We are not recommending it because it suits our business needs, but because it matches the information we have from you: your explicit taste preferences and ratings, your viewing history, or even your friends' recommendations."_

Well, at least they're trying to demonstrate awareness and explain their recommendations, even if they come up short.

Awareness? Am I missing something here because most people I've talked to (several hundred for the record) feel like Netflix recommendations are hit or miss, a black box that plateaus after a while. If anyone can explain to me how Netflix conveys their awareness I'd love to hear it.

Speaking of explanations, sure, showing that I'm being recommended a movie because of some other movies is sometimes helpful, but the rest of the time it just reveals how poorly they understand me. It's can be pretty obvious that the algorithms have no clue why I actually like certain movies, after all, how could they? There are tons of things to like/dislike about any given movie, but when that gets boiled down to 5-stars all that context gets lost. Diminishing returns and noise will keep them from really understanding my tastes with their current system.

Why am I ranting? Because I want to be understood but Netflix and other personalization services still feel so damn impersonal. It's frustrating.

Anyways, we're working on a solution, sign up for our alpha at <http://tagbax.com> or comment/vote to tell me how right/wrong I am. Thanks for reading.

</comment><comment><USER12> I'm actually mocking up a recommendation engine at the moment, and this certainly gives me a lot to think about.

For example, I should probably be planning for more future dimensions (ratings, metadata, etc.) so I can manipulate their interactions in a much more elegant way as we add new data, rather than trying to manually flatten everything out (combining metadata and ratings into a score for each item, then calculating compatibility) for every possible combination, which seems like a much less computationally expensive approach. I probably just need to always keep every scrap of data we get, then find the right ways to combine the data into a score with one routine, and compare the scores to calculate compatibility with another. The hard part is figuring out how the score should be calculated (I'll get to that in the morning).

Seems like this rabbit hole goes pretty deep...

</comment><comment><USER13> I wish that they used a 10 star metric. Often I'll want to give a 3.5 or 4.5 rating - not possible. They need to use it a finer scale so customers get the impression, at least, of finer control of how they rate movies.

<comment><USER14> I wish there was at least one more - "OK". As in, I didn't "like" it, but I don't regret watching it.

</comment></comment><comment><USER15> For people interested in the algorithms that won the Netflix Prize (including the Matrix Factorization and Restricted Boltzmann Machine approaches mentioned in the first section), there's a summary here: [http://blog.echen.me/2011/10/24/winning-the-netflix- prize-a-...](http://blog.echen.me/2011/10/24/winning-the-netflix-prize-a- summary/)

<comment><USER16> I often wondered if this amount of effort is truly required and if it actually provides results people can relate to. I used Netflix for a while and I find the recommendations to be pretty average for me. Quite possibly it is because I don't tend to rate most movies I watch. I wonder how often that is the case for others though.

More importantly I just don't think you can predict what I want to watch based on factors such as history, ratings, watch times etc. External factors such as mood, recommendation from friend (not on Netflix) and curiosity almost always play a large factor in choose the thing I watch next. These things are not known to Netflix.

As a semi-educated guess I would say that simply providing a listing of popular movies based on ratings/watch times per genre as well as similarity would be enough for most people. It is easier to understand and how many people want to watch something just because it is popular anyway?

<comment><USER17> To me, the Netflix price is as much about marketing as it is about the quality of the algorithm: Netflix was ahead of the pack (i.e. Blockbuster) even before, but after spreading the word that it takes rocket scientists to even slightly improve the existing algorithm, who would even think twice about testing a DVD/ streaming provider other than Netflix?

</comment></comment></comment><comment><USER18> Great read! Isn't this a bummer though? -- "On the topic of friends, we recently released our Facebook connect feature in 46 out of the 47 countries we operate – all but the US because of concerns with the VPPA law."

(I wonder to what extent it also constrains recommendations based on user similarity.)

<comment><USER19> What's this VPPA?

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

 _The Video Privacy Protection Act (VPPA) was a bill passed by the United States Congress in 1988. Congress passed the VPPA after Robert Bork's video rental history was published during his Supreme Court nomination. It makes any "video tape service provider" that discloses rental information outside the ordinary course of business liable for up to $2500 in actual damages._

(Covers DVD rentals too, and apparently paid-for streaming content.)

Wow, never heard of that law before...

<comment><USER20> It sucks. Prevents a lot of interesting possibilities. I see that it was written with good intentions, but it's a great example of unintentional consequences when it comes to legislation.

<comment><USER21> I disagree. Any company with my information should be liable for damages if they disclose my information outside of normal business. Not just video rentals.

<comment><USER22> But it's not Facebook that is publishing your history it would be yourself.

</comment></comment></comment></comment></comment><comment><USER23> Instantwatcher and streamingsoon are far better than any netflix recommendations in my experience.

</comment><comment><USER24> If you want to know more about the technical details...

[http://www.machinelearning.org/proceedings/icml2007/papers/4...](http://www.machinelearning.org/proceedings/icml2007/papers/407.pdf)

</comment><comment><USER25> I remember seeing Xavier's talk at Strata 2012 (Santa Clara) on this, but not sure if it is up on the web.

</comment><comment><USER26> recommendation is a good concept if you have things to recommend. Netflix current catalog is seriously lacking. We were in the middle of watching the TV show Spartacus when it was taken off (due to licensing problems).

</comment><comment><USER27> Screw netflix -- they stopped trying to even upsell you to dvd rentals if you have instant. So if you search for something, and you have instant, they no longer tell you that you _could_ rent the dvd. It's just plain dumb, but then so was their last 'de-design'.

Also the instant que is not in the order we added the items in, and seems to be arbitrary. It's just a terrible service with stale content. We'll be cancelling soon.

<comment><USER28> The reason you are getting downvoted is because you phrased your comment badly.

HOWEVER, I do agree with you. I habitually do not use the web UI and only use Netflix through my two Rokus. The web UI will tell you its on DVD, my Roku won't.

Problem is, my Roku used to, so clearly the functionality exists, they just shut it off. I'd like it to be put back, honestly.</comment></comment>


This is the iPhone X - <AUTHOR> https://techcrunch.com/2017/09/12/iphone-x/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=15230871](https://news.ycombinator.com/item?id=15230871).</comment>


'Tis the season for giving (to open source) - <AUTHOR> http://www.daemonology.net/blog/2011-12-21-season-for-giving.html

<comment><USER2> this is awesome - I wish that this could be made into a formal setup (FossFund ?) so that the rest of us who have a different fiscal year closing (March in India), can make the choice at the right time.

It is very hard to find the right clicks (paypal, etc.) to fund - say OpenSSH. Hell, I didnt even know that they needed funding until I accidentally ran into <http://www.openssh.org/donations.html>. Searching for "TuxOnIce donate" does not even bring up the paypal link right on its front page.

It would be great to have a Kickstarter.com for open source donations - basically a one stop page to search,click and send my money on its way. EDIT: Humble Bundle's donation sliders are also a nice way to donate an amount and have it distributed the right way.

It would be doubly awesome, if I could donate, but also indicate a specific sub-project which I am interested in funding (e.g. multi-monitor support in Linux, etc. )

</comment><comment><USER3> Our company (3 people, I'm the only dev) will start giving back to open source too. But we won't be giving money, my boss just agreed to grant me 4 hours a week to participate in any open source project I want. It's not much I know, but I'm super excited about this and can't wait to get started!

<comment><USER4> You might also consider buying an OpenBSD CD. It's only 50 bucks. This funds the development of OpenSSH (which we all benefit from regardless of what *nix we use and like).

</comment></comment><comment><USER5> Nice to see companies giving back to open source, although I don't think Colin is "in the red" on that account. ;-)

One question: do you donate money when I fund my account, or when I use it?

[EDIT in response to cperciva: glad to see you chose the sensible option. I'll donate my own money.]

<comment><AUTHOR> When you deposit money into your account it counts as "unearned revenue" (i.e., a liability). So it's your usage which contributes to the amount I end up giving to the FreeBSD Foundation, not the amount you send me via paypal.

[EDIT in response to EDIT: It's not a matter of "chose", except to the extent that I used the word "profit". Canadian tax law is quite clear about the accounting rules I have to follow.]</comment></comment>


Ask HN: Name for people who study without getting around to doing - <AUTHOR> We need a snappy name like "analysis paralysis" that is focused on people who spend all their time studying rather than doing. They (we) intend to do, but never fell like they know enough to start. <comment><USER2> This activity you describe -- which I know a whole lot about -- does not really deserve the bad reputation that it has in American culture, let alone the terrible reputation that it has on a website full of entrepreneurs. ;)

I believe it was J. Michael Straczynski -- author of, among other things, a pretty good book on screenwriting -- who said:

 _Do not confuse a love of reading with a desire to write._

There are lots of names for people who study things without doing them: Anthropologist, writer, scholar, historian, critic, fan, audience member. If you're constantly shying back from taking the leap into _doing_... listen to yourself! Perhaps your stomach is trying to tell you that you'll have more fun as an observer.

If, on the other hand, your stomach is telling you to jump, perhaps you should listen to that as well.

<comment><AUTHOR> The problem isn't learning things, I love that. The problem is when you want to do something, and you keep thinking that learning a little more will help you get it done, then you never get to "getting it done" because there is always more you can learn.

<comment><USER3> How do you know what else you need to learn? The best way I know is to try doing whatever it is, and see what's hard. Sometimes you can fill in the gaps in real-time, sometimes you need to go back and study.

<comment><AUTHOR> Learning is itself addicting; for me it's almost as addicting, and a lot more fun than TV. Apparently, I'm not the first to feel this way; Heinlein's protagonist in "Have Space Suit, Will Travel" made a similar observation.

</comment></comment></comment></comment><comment><USER4> As an interesting counter-point, here's Tesla's opinion on Edison:

" _His method was inefficient in the extreme, for an immense ground had to be covered to get anything at all unless blind chance intervened and, at first, I was almost a sorry witness of his doings, knowing that just a little theory and calculation would have saved him 90 percent of the labor. But he had a veritable contempt for book learning and mathematical knowledge, trusting himself entirely to his inventor's instinct and practical American sense._ "

<comment><USER5> Tesla was practically a demigod and quite dear, but "worst is better" was the governing principle even in the heydays of the industrial revolution.

That said, your post doesn't make sense. Tesla _applied_ his book learning consistently. I don't see how Tesla is a "counterpoint" to the OP's post.

<comment><USER4> The title and post implied that we probably often overthink/plan things, and we should jump in and start implementing (earlier). According to the quote (if Tesla was right), even such an immensely successful person as Edison tended to plan/learn too little. Which means that probably we plan too little as well, not too much, assuming that we<=Edison. It's a counterpoint in this sense.

Also I think it is only a typo, but "WorsT is better" made me smile ...

<comment><USER5> :) It was a typo.

We can agree to disagree re. Tesla. We have no authoritative insight regarding his "over thinking", but my gut feeling is that the wheels were _constantly_ spinning in his brain.

</comment></comment></comment></comment><comment><USER6> I don't have ambitions of starting a business, but I consider it a problem that I don't have any recent side projects either. Just throwaway code (from trying to learn a language), and/or notes (from trying to learn a concept). For me, the main issue has always been the thought that I'm not quite ready; that if I just brushed up on X, it would go a long way. Which of course is placing the project on a pedestal. I think the key is to work on small, approachable projects, and see which ones start to grow into something more.

Last night I discovered the _You and Your Research_ speech, and found this interesting quote on why Nobel Prize winners often fail to make breakthroughs after they win: "When you are famous it is hard to work on small problems... The great scientists often make this error. They fail to continue to plant the little acorns from which the mighty oak trees grow. They try to get the big thing right off. And that isn't the way things go." The quote also reminded me of Feynman's story about the flying plate, and how analyzing something unimportant just for fun (and to escape his "real" responsibilities) ultimately started a path to the Nobel Prize.

</comment><comment><USER7> At first I thought you were defining a philosopher when you wrote "but never feel like they know enough to start" then I thought it is just the opposite they alway know enough to start but have a never ending story.

I also understood your question to exclude the person who can just afford to study perpetually, just for the love of learning similar to 18-19th century aristocracy.

So we are looking for a name for 'fear to start'. Excluding procrastination we replace fear->phobia, since phobia is Greek we will replace 'start' with 'archi' which results in:

      - archiphobia : fear to start

To be honest I am envious of people who can just afford to do that:)

</comment><comment><USER8> Planning fanatics: planatics.

As for overcoming the syndrome, try taking a workshop in improv comedy; most cities have a troupe that offers community courses now and again. By placing yourself in situations where you cannot help but work faster than your conscious mind can plan, you might break the cycle of preparation. Or try National Novel Writing Month this November. Do something that forces you to actively not-plan, and with luck some of those dynamic-balance tricks will carry over into the rest of your life.

</comment><comment><USER9> Fisheye visionaries. Their angle of view is so wide that they get motion sickness from the slightest movement. Thus they'll rather remain stationary for as long as possible.

<comment><AUTHOR> That actually fits me pretty good, since I also read and study extremely broadly.

</comment></comment><comment><USER10> nontrepeneurs?

<comment><USER11> I've also heard "wantrepreneurs".

</comment></comment><comment><USER12> Academics?

</comment><comment><USER13> I know this is for a name but I have a cure: Have a friend or close colleague that always starts without reading -- an eager beaver. You can piggy back on that person's momentum and they can pick your brain when they inevitably get stuck or do something non-optimally because they simply don't know of a better technique.

<comment><USER14> That's the situation I'm in right now. The co-founder is of the "Let's get it working _now_ " mentality, while all I want to do is slow down, take out a notepad, and really think through how everything will eventually fit together.

And it causes some friction, especially when working remotely. I'll wake up, look at a checkin, and think to myself "this isn't going to work in the long term."

But you know what? It _does_ work today. And without my co-founder, I'd still be stuck theorizing on how to make things work.

So we've adopted a routine where he forges ahead, and I look at his checkins and do cleanup. It works really well. Instead of trying to conjure a perfect design out of thin air, he delivers a rough approximation, and I steer it towards a "better" or "more maintainable" place when it needs it.

It helps him work, since I'm no longer trying to slow the process, and it helps me work, since I'm now dealing with concrete items.

</comment></comment><comment><USER15> 'Me'

<comment><USER16> You and 'me' both man.

</comment></comment><comment><USER17> Potentials

</comment><comment><USER18> Dilettante? But that's not quite the sense you're going for.

Evidently there's a neologism "professional student" that's quite close to what you're looking for: <http://dictionary.reference.com/browse/professional+student>

</comment><comment><USER19> This unfortunately describes me too much. Any ideas on overcoming it (please don't say "just do it")?

<comment><USER20> Rescale your expectations/plans/schedule such that shipping is easier than not shipping.

My business started with an 8 day deadline, largely because I thought if it was longer it would end like all of my other private projects, with several months spent on research, filling out notebooks, and grand plans followed by a failure to follow through. I figured if it was just 8 days that it would be easier to finish rather than telling Dad et al "Yep, that ended up not going anywhere".

Three years later...

</comment></comment><comment><USER21> I call it metawork. Perhaps "metaworkers" ?

[http://sidsavara.com/personal-productivity/are-you-really- wo...](http://sidsavara.com/personal-productivity/are-you-really-working-or- just-using-metawork-as-an-excuse-to-avoid-real-work)

</comment><comment><USER22> Perpetual students?

</comment><comment><USER23> Students.

<comment><USER24> Technically, the term is _forever students_ and it dates back to 17-18th century, when Peter the Great was sending lots of young Russians to European universities to study everything there was to study. Some ended up studying .. well .. forever, merely accumulating knowledge. Hence the name.

</comment></comment><comment><USER25> People who should get into research rather than development.

<comment><USER26> (flamebait warning from someone who is in research) ... research in engineering fields is hardly just about studying and not doing. quite the opposite ... research is all about building prototypes to test out new concepts, and iterating on prototypes. when they were in school, the guys who later went on to found companies like VMWare, Google, and more recently Ksplice were hacking hardcore on prototyping and testing their ideas, not sitting in an ivory tower reading scholarly papers all day ;)

<comment><USER25> _Academic_ research is about publishing papers and little else. Prototypes are rarely iterated beyond proof-of-concept. The people you mention probably left academia exactly because they had to in order to realize their ideas.

</comment></comment></comment><comment><USER27> Consumers.

"At any giving time you are either a consumer or a producer."

</comment><comment><USER28> The road to hell is paved with good intentions?

</comment><comment><USER29> "Baby Boomer"

</comment><comment><USER30> VCs

 _rimshot_

</comment><comment><USER31> \- all talk

\- wantrepreneur

</comment><comment><USER32> Intellectual Masturbation

</comment><comment><USER33> Dilettantes?

</comment><comment><USER34> Atychiphobia

</comment><comment><USER35> Posers

</comment><comment><USER36> Particular

</comment><comment><USER37> Architect

</comment><comment><USER38> University Professor

</comment><comment><USER39> scholar

</comment><comment><USER40> I don't have a suggestion for a new word, since many of the others are so good. But it's just procrastination, when you come down to it, and it probably has different root causes in everyone who exhibits it.

But, as somebody who procrastinated for 6 years and then in the past year has shipped 4 new products, I can tell you... whatever you call it, whatever the reason you do it, it's a symptom, not the disease.

Find the root of the disease, work to fix it, and you will get rid of the symptoms.

</comment><comment><USER5> slahacker.</comment>


The Hardest Parts of Programming - <AUTHOR> http://qaa.ath.cx/The5HardestThings.html

<comment><USER2> Link it's not working for me, here's the google cache [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://qaa.ath.cx/The5HardestThings.html&hl=es&prmd=imvns&strip=1)

<comment><AUTHOR> It was under pretty heavy load ... should be ok now.

</comment></comment><comment><USER3> Nice, nice article. One thing I don't agree with: micro-optimizations have their field of existence. In GPU programming (CUDA C on nVidia devices, not to mention OpenCL) they're pretty much important! Compilers are so dumb that you get different performance when addressing shared memory with an unsigned long or an unsigned int... I hope this will stop very soon, by the way! :-)

<comment><AUTHOR> Indeed! In the introduction I talked about how there was that one-percenter of programmers who know-better-than-the-rest and can majestically out-smart the compiler every time.

I assume that those people know what they are doing and don't need to read this!

This was for the rest of us.

</comment></comment><comment><USER4> Interestingly, this could also be the 5 most important parts of programming as well.

</comment><comment><USER5> I loved the xorg bit ! And all the following actually.

</comment><comment><USER6> I think author miss "Initiation" stage (part)</comment>


US Army Will Study 'Metamaterials' Collected by UFO Study Group - <AUTHOR> https://www.defenseone.com/technology/2019/10/army-partners-ufo-researchers-study-active-camouflage-and-other-sci-fi-tech/160815/ <comment><USER2> IMO this isn't particularly news worthy. It's some small unit in the Army doing some minor collaboration with a questionable group of people on a pseudosceintific subject. The US military and government have a very long history of doing things like this, with zero results.

<comment><USER3> No offence but honestly your comment is perhaps the thing that isn't really that interesting...

</comment></comment><comment><USER3> I'd just like to say this to all the super-smart skeptics on hackernews who think they are experts on just about everything including the UFO/ET topic, you're wrong, and that's okay, it's really okay. Your world is about to get very exciting soon as the smart money has already positioned its self to grab the trillion-dollar opportunities in this emerging space (no pun intended). Peter Thiel, although a certified jerk, is also one of the first VC's to educate himself on exotic ET originated metamaterials, others will follow shortly...

[https://www.businessinsider.com/peter-thiel-vc-firm- founders...](https://www.businessinsider.com/peter-thiel-vc-firm-founders- fund-hereticon-conference-immortality-ufo-2019-10)

<comment><USER4> Fun how there isn't in any information that would be relevant to actual materials scientists

No properties, no pictures, no masses collected for these amazing 'found' materials, nada

Peter Thiel can spend his money on whatever he wants, I guess. I'm not concerned

Polymers and inorganic complexes can do a lot of really interesting things that are counter-intuitive (ie becoming insoluble on heating, robust mechanical behavior), but they're expensive and require mildly annoying synthesis in some cases

If we have to harvest magic dust from a meteor or perform some complex synthesis to get it to work, it won't be any more widespread than specialty PNIPAM copolymers</comment></comment>


Show HN: Espial: an open-source, web-based bookmarking server - <AUTHOR> https://github.com/jonschoning/espial <comment><USER2> I strongly recommend changing your UI layout before Maciej finds out.

<comment><AUTHOR> ? This codebase and assets are entirely and 100% my own, written from scratch.

<comment><USER3> It may be written from scratch, but you _did_ copy the design. IANAL, but such a basic design "inspiration" should not lead to legal issues, though.

Does your project offer any advantage over the obvious competitor, apart from being open-source/self-hosted?

Shameless plug: I have also written a bookmarking app[0], which goes a different route: I like to manage my bookmarks in plain text files instead of collecting thousands of links I probably won't ever get to see again.

[0] - [https://staticmarks.com/](https://staticmarks.com/)

<comment><AUTHOR> > Does your project offer any advantage over the obvious competitor, apart > from being open-source/self-hosted?

When you have over 67,000 bookmarks, as i do, I feel open-source/self-hosted becomes a higher priority due to for data ownership and performance reasons.

By moving to self-hosted, i was able to bring down my "cold-start"/"non- cached" wait time on tag filters from 30s to ~1s.

> I like to manage my bookmarks in plain text files

I think that's a great idea and definitely see the value in going that route.

Obviously, it's a different place in the design place. Hosting & deployment is much easier of course. Though workflow for adding new bookmarks seems more manual e.g. can you add new marks while on your mobile phone, quickly?

My use case may be a bit different, as i add marks as part of browsing for things i want to return to later in the day, and also for long-term recall or aggregation when researching a topic, with as low/minimal-effort as possible

<comment><USER3> > By moving to self-hosted, i was able to bring down my "cold-start"/"non- > cached" wait time on tag filters from 30s to ~1s.

I think highlighting the good performance is worth mentioning on your project's page (maybe with some stats).

> Obviously, it's a different place in the design place. Hosting & deployment > is much easier of course. Though workflow for adding new bookmarks seems > more manual e.g. can you add new marks while on your mobile phone, quickly?

This is exactly the reason why I did not write an easier way to add the bookmarks other than editing a text file. Because I don't want to end up having 67.000 bookmarks. I have an "inbox" folder in my browser where I put all the stuff I think is interesting. I later review them and either 1.) turn them into an actionable task in my todo manager 2.) delete them after finding out it's really not that interesting (most of them) or 3.) put it in my bookmarks file if I think this is something worth archiving. The last one does not happen very often, though.

As you said, this is a much different use case than yours. I get how most people go your route, but it does not work for me. It encourages my fear of missing out: "oh, this is an article about XXX. let's archive it for later". But if I ever decide I want to learn about XXX, the article might be outdated and I might as well just search for a new up-to-date source (especially being a frontend developer, where yesterday's info is already outdated). However, I can see how such a system really shines when doing research.

<comment><AUTHOR> > I think highlighting the good performance is worth mentioning on your > project's page

AFAICT most folks don't have more than a couple thousand at the high end, so they probably don't run into these perf issues — although it was my motivation, it's probably not relevant to them.

Also, I totally get how your workflow makes sense—especially for fast-moving topics like FE dev, where there may be more value in just doing a new google search/source.

I also really like tagging over hierarchy. Again just highlights the different use cases we have. If i get really crazy, I might try experimenting with more interesting tagging methods or apply some ML techniques.)

Still, re-using the filesystem is very clever idea, and has a bunch of advantages, not discussed yet.</comment></comment></comment></comment></comment></comment>


Ask HN: My SaaS idea was bad, need alternative part time job - <AUTHOR>

Hello,
Yesterday I submitted a topic on HN about a possible SaaS product, my own product. As suggested by a few HNers, I started to send some emails to possible customers, explaining them what am I up to, what would they like to have, how are they doing now, what issues do they have and if they would like a service that does all the work in an automatic way, not manually.
The answer was: NO. Out of about 37 emails and PM on forums I got:
 - 25 NO replies, 3 YES, 9 nothings (until now)
The ugly truth is...my idea was bad, and I wish I knew this 24h ago.
Now, straight to the point: I need work for extra income.
Areas of expertise: PHP & MySQL - 3 to 4 years, Wordpress - 2+ years (private plugins and theme development), Javascript & jQuery (Twitter Bootstrap lately) - 2+ years, Web Services & APIs - 2+ years, Git/SVN/Hg - 3+ years
I am opened to the following kind of proposals: hourly paid job (mon-fri: 2-4 hours, sat-sun: 8-12 hours), project based job with milestone payments
Contact me on skype: "adyp.eu" or by email "contact [@] adrianpop.com" (remove brackets). <comment><USER2> Giving up on an idea which got a ~10% positive response rate in one day of work might be a bit hasty. I doubt you'll find any SaaS business idea easier to validate.

A friend of mine just validated an idea after a lot of research, cold calling, and emailing. He has managed to get 4 customers to pre-pay for the product, and only now is he going ahead with building it. Now this guy is a solid hustler and it took him _2 months_ of full time work to get to this stage.

Don't give up so easily!

</comment><comment><USER3> 3 Yes's out of 37 is not a bad metric to go off of, unless you're in a micro- niche and 37 customers is all there is. What is the market as a whole? By yes, are they bringing out a checkbook and saying "can I get it now"?

As for work, I'd suggest checking out the several freelance sites out there: guru, freelancer, etc. Hope this helps!

<comment><AUTHOR> There are many more possible customers, but those 37 is all I could find since yesterday. "Yes" means: yes, I would buy such a product...

Freelancer.com is full of cheap asian programmers, and I really can't work at such low rates ($3-5/hour).

<comment><USER4> Were you trying to start a conversation to discover their pain around the problem you think they have?

It sounds like you were pitching a solution already. You should have a problem and a "customer" in mind, but not be sold on your solution, yet. More than likely your solution isn't right, but talking to customers will help you refine your solution into one that will solve their "pain".

</comment></comment></comment><comment><USER5> We're always looking for solid developers with API experience at matchist (<http://matchist.com/talent>).</comment>