Ask HN: Do most IT professionals encourage ASCII art in their code comments? - <AUTHOR> At some places i've worked, it seems that it's viewed as unprofessional.  I think it's one of the greatest gifts to keeping boring things interesting. <comment><USER2> Unless "IT professionals" means something different than "software developers", my experience is very much no: that's just not something people do, and it would certainly be viewed as unprofessional in most places I've worked. The code itself is what keeps things interesting; dressing it up with fancy comments won't help.

</comment><comment><USER3> I wouldn't call it unprofessional, but in commit messages for the main shared branches (e.g. develop, master, etc.) it can easily detract from the purpose of informing about the commit. I'd grumble about seeing art in these messages and discourage their use generally.

</comment><comment><USER4> Normally for SSH login prompts and custom console software startup messages.</comment>


Transactional Memory Support for C [pdf] - <AUTHOR> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1961.pdf <comment><USER2> I'm really excited about transactional memory, particularly since Intel's RTM launched. I've played with it a bunch, and it really opens up some new kinds of programming. Seeing it in C would be awesome.

</comment><comment><USER3> Not sure if folks here have had a chance to look at this : [http://queue.acm.org/detail.cfm?id=1454466](http://queue.acm.org/detail.cfm?id=1454466) ? Would be very interested to get your thoughts on this.

<comment><USER4> The paper dismiss TM as not mature enough and not worth the cost.

Since the paper publication (2008), HTM support was added on a few mainstream CPUs (intel, power).

Also, TM is likely to be in the next C++ standard: the specification has been published as Technical Report (GCC already implements a slightly older draft) and handles many of the issues identified in the paper, in particular its interaction with non-transactional atomic operations and exceptions.

Mind you, TM might still end up not being worth the trouble, but at least there is a serious ongoing effort to push it into a mainstream language.

I believe that, among the authors of the paper, at least Magel Michael was involved in the C++ Transactonal Memory TR.

<comment><USER3> thanks to both gpderetta and chrisseaton for their insightful replies. as i was looking for more sources of information, i stumbled upon this: [http://kukuruku.co/hub/cpp/transactional-memory-history- and-...](http://kukuruku.co/hub/cpp/transactional-memory-history-and- development) where we see a large number of folks trying and eventually giving up on tm both in h/w and s/w implementations e.g. sun tried adding tm support to their sparc(rock)-v9 processor, but after oracle bought them, the project was shelved for "This processor had two astonishing features: it was incredibly low and consumed plenty of energy. It was so hot that they had to hang 12 inches of cooling fans so that processor wouldn't overheat. It would have been insane to continue this project."

to me at least, it seems that optimistic-reads with in-place pessimistic writes and automatic retries a.k.a weakly-atomic-update-in-place (raison d'être for tm) is the biggest torpedo in tm's direction.

for example, assume we have :

\---x---x---x---x---x---x---x---x---x

       bool owning_obj = false;
       some_obj x = new some_obj();

       /* txn-0 */
       atomic {
           owning_obj = true;
       }

       int z = x.some_value;

\---x---x---x---x---x---x---x---x---x

       /* txn-1 */
       atomic {
           if (!owning_obj)
               x.some_value = 12314;
       }

\---x---x---x---x---x---x---x---x---x

ok, so now we have a problem :), specifically : although txn-1 would rollback, because the value of owning_obj is changed, but it is too late. the other thread using x (txn-0) will see a constantly changing state. who knows what will happen next.

it might be possible to have some kind of RCU semantics here, where you wait for a quiescent state to be reached, but that would be pretty complicated.

may you please provide your comments ? it is all very educational :)

<comment><USER5> That's not how TM is supposed to work; it should not be possible for one atomic block to observe an uncommitted write of another atomic block. It must act as if each atomic block acquires a single global lock, executes, and then releases the lock so that other atomic blocks may execute. The challenge is to emulate this without actually using a single global lock.

<comment><USER3> > That's not how TM is supposed to work; it should not be possible for one > atomic block to observe an uncommitted write of another atomic block.

well, transactions need to be atomic w.r.t each other, but what about their relationship to non-transactional code ? it might appear that this is just an 'implementation' detail, but, programs can contain unprotected references to shared variables (i.e., outside transactions) without creating malignant data races. so, both transactional and non-transactional code can refer to the same data.

this is where the notion of strong and weak atomicity comes from, and which is what the pseudo code was trying (probably unsuccessfully) to show.

</comment></comment></comment></comment></comment><comment><USER6> Admittedly, this is a sideshow: The typesetting quality of this document considerably lowered my confidence in its technical quality. It is appalling. More than 40 years after troff and more than 30 years after TeX were invented, computer science as a discipline should be able to do better.

Addendum: I don't want to imply that Troff and TeX are not adequate. Quite to the contrary. This PDF from Word is so bad that it doesn't match a quality that we surpassed decades ago. And even while using Word, the typesetting could be much better.

<comment><USER7> It's a word document exported as pdf:

        $ pdfinfo n1961.pdf
        Author:         Michael Wong
        Creator:        Acrobat PDFMaker 9.0 for Word
        Producer:       Adobe PDF Library 9.0
        CreationDate:   Mon Sep 28 05:04:06 2015
        ModDate:        Mon Sep 28 05:04:23 2015
        Tagged:         yes
        UserProperties: no
        Suspects:       no
        Form:           none
        JavaScript:     no
        Pages:          9
        Encrypted:      no
        Page size:      612 x 816.96 pts
        Page rot:       0
        File size:      198701 bytes
        Optimized:      yes
        PDF version:    1.5</comment></comment>


Rudd retreats: no Australia Internet filter before next election - <AUTHOR> http://www.theaustralian.com.au/australian-it/rudd-retreats-on-passing-web-filter-legislation/story-e6frgakx-1225859630452

<comment><USER2> A temporary victory for common sense (which, let's be honest, ain't that common).

<comment><USER3> A pretty small victory at that: the laws are "unlikely to be passed before the election". No mention of any issues, just an unexplained delay. Not much of a retreat if you ask me.

<comment><USER2> I'm hoping that's political code for 'We realised it was a stoopid idea; delaying it and then burying it quietly after the next election will be better than demonstrating yet again that we don't think things through.'</comment></comment></comment>


Show HN: I built a tool to help you search Digi-Key quickly - <AUTHOR> https://github.com/mplewis/digiglass

<comment><USER2> Cool, these days I usually use Octopart though.</comment>


3 Dudes from Missouri Built a Product, Found Paying Customers, and Got Into YC - <AUTHOR> https://zapier.com/blog/2012/10/30/3-dudes-missouri-built-product-found-paying-customers-and-got-yc/

<comment><USER2> > "Hey Bryan, its Paul. We loved you guys, we'd like to fund you."

Zapier is pretty awesome, and the guys behind it are pretty sharp, it's no wonder Paul funded them. It seems like one of those things where after the fact you wonder why you hadn't thought of it yourself. Zapier is like the pipe in Yahoo Pipes, but more so. We added Zapier integration with Leftronic and some of our customers have been pretty excited about it. Zapier is especially great for real time dashboards. Ducksboard also added integration, before us even, because integrating a product like ours is just common sense. Now you can get any kind of data to show up on a dashboard (or via some other service) by just dragging and dropping.

I hope more companies and projects add integration for their APIs on Zapier, it seems like it is in everyone's best interest, especially in the interests of our users. Eventually if this takes off you could build a successful product based just around integrating with Zapier.

</comment><comment><USER3> I'm sure you're glad you over-prepared for the interview process instead of the other way around.

BTW, this is most promising company I've heard of originating from Startup Weekend event, including Zaarly ($1.3M raised), specifically because they have great technology and business model.

</comment><comment><USER4> How does this service differ from ifttt? Why would I want to use it in place of ifttt?

I see that you have a paying account, which is nice - ifttt has limitations (limited number of accounts, etc.) that limit its utility for me (and I'd certainly pay for those things).

I see you have an API, which is really handy for dev-minded types. Can I build things that plug in as triggers or actions in an "ad-hoc" manner - things that are only for my use, and not advertised to other users? That'd be pretty incredible.

I only wish the hardware I acquired recently to work with ifttt - my WiThings body scale and WeMo Belkin outlet/sensors - were compatible. I'd like more complex rules involving them.

<comment><USER5> I was already using IFTTT when I found Zapier, but was immediately impressed that the latter seemed serious about tackling the more business-oriented apps. There are several services to help me integrate the usual suspects of Twitter, Evernote, etc. Less common, however, are pre-built connectors for, say, Zoho CRM.

<comment><USER6> That's really our biggest difference (which I forgot to mention). While we do support some more consumery apps our main goal is to help businesses operate more efficiently and less painfully. When we think about new features, new apps, new services it's almost entirely with a business user in mind.

</comment></comment></comment><comment><USER7> These guys are from Columbia, MO which actually has many of the things necessary to start a tech scene: A good university, cheap housing, and initial angel investment from folks like Brent Beshore who know how to build a strong successful business.

<comment><USER8> Might be but still we cannot undermine their efforts. They deserve a congratulation too, I guess.

</comment></comment><comment><USER9> Midwest silicon prairie represent!

<comment><USER10> Too bad they're not in Silicon Prairie anymore.

<comment><USER11> One of us is (me) for a while longer. Also we hired our first in Chicago: <https://zapier.com/blog/2012/10/24/zapier-team-grows/>

<comment><USER10> I'm in Kansas City myself and it would be very cool to see you guys grow in the midwest. Best of luck to you and your team!

</comment></comment></comment></comment><comment><USER12> Congratulations! You've built a fantastic service. But, I notice that even your most expensive plan only syncs every five minutes. Do you think you will ever offer a plan that syncs more frequently than every five minutes?

<comment><USER6> This is because we have to poll each services API. Anymore and we'll reach API limits. The goal is to move towards more webhooks and push notifications so that real time becomes a real possibility.

</comment></comment><comment><USER13> Who are these zapier guys? Sounds like they got some great advice...

</comment><comment><USER8> Interesting to see "Zapier" calling them "dudes". A few days back when we raised a point to change the name of "developerAuction" to "GrabDudes" , a guy raised a concern that "no one would strive to be called as dude". !!

[http://techcrunch.com/2012/10/26/developer-auction-racks- up-...](http://techcrunch.com/2012/10/26/developer-auction-racks- up-78-million-more-bids-expands-to-la/)

<comment><USER14> I think there is something rather more unsettling about "GrabDudes" than that you'd be calling developers "dudes."

</comment></comment><comment><USER15> Good story! Thanks for your help at the 2012 Startup Weekend CoMo!

</comment><comment><USER16> I think it is great that before the interview people have a chance to talk with others, network etc. to get the nerves out.

</comment><comment><USER17> the yammer strategy? copy a consumer service everyone loves, market it for enterprise, sell to microsoft in a couple years...

</comment><comment><USER18> As a dude from Missouri, congratulations!</comment>


In free-trade fight, Ron Wyden emerges as key negotiating figure in Congress - <AUTHOR> http://www.oregonlive.com/mapes/index.ssf/2015/03/in_free-trade_fight_ron_wyden.html

<comment><AUTHOR> From the article: _" Last week, Hatch announced he was delaying a hearing on a fast-track bill because of Wyden's objections... several reports say one of the big sticking points is over the rules determining how the Senate could dump fast-track authority once it gets a look at a completed Trans-Pacific agreement. Wyden reportedly wants 60 senators to be able to pull out of fast track, while Hatch wants the threshold set at 67."_

From an EFF article released yesterday, [https://www.eff.org/deeplinks/2015/03/white-house-has- gone-f...](https://www.eff.org/deeplinks/2015/03/white-house-has-gone-full- doublespeak-fast-track-and-tpp):

 _" TPP's ISP liability provisions could create greater incentives for Internet and content providers to block and filter content, or even monitor their users in the name of copyright enforcement.

... TPP's copyright provisions could lead to policies where ISPs would be forced to implement costly systems to oversee all users' activities and process each takedown notice they receive.

They could also discourage investment in new innovative start-ups, even those that plan to "play by the rules", due to the risk that companies would have to sink significant resources into legal defenses against copyright holders, or face heavy deterrent penalties for infringement established by the TPP."_</comment>


Ask HN: Best way to improve your technical writing skills? - <AUTHOR> What's the best way to improve your technical writing skills? I don't mean marketing material for websites, but rather memos, technical reports, white papers, etc.<p>My target audience is technically-savvy management but presumably the same advice would apply for white papers written for potential customers. <comment><USER2> I don't believe in finding a 'best way' to improving your tech writing skills. But what I can recommend is that researching and writing several technical blog-posts on certain interests that you think could be useful for others are very good ways in knowing how to communicate with a technical audience and improving your tech writing skills. This is done on HN every day.

Also get someone else to look at your report/blog/white-paper/etc for proof- reading as you might not be able to see your own mistakes as you write it.

Lastly, reading and quoting the references are always a must. Also a way of improving your technical knowledge and writing too.</comment>


"Patient with symptoms tells you they have been skiing in northern Italy." - <AUTHOR> https://twitter.com/DrSdeG/status/1231937858853908483 <comment><USER2> This raises interesting questions.

What happens when the slow-moving mass of protocol-based medicine is struck by a high-velocity pandemic? How are governments, insurance companies, etc, able to update their lookup tables, codesets, etc, fast enough to allow clinicians to have the authority to act appropriately to save a patient's life? I think we're about to find out.

</comment><comment><USER3> Polish prime minister just said there are two labs ready ... while hospitals are sending samples to Switzerland. Health minister ensures full monitoring of incoming travelers ... while nobody even measures temperatures of people disembarking planes from China (direct China air connection is still open), nor Italy. Chief Sanitary Inspector popped in TV yesterday proclaiming ordinary flu is more dangerous. AMA with staff of one of the biggest capital hospitals: no procedures ready, no PPE, about 70 empty beds for 2 million population. Full denial.</comment>


Little Printer available to pre-order - <AUTHOR> http://bergcloud.com/littleprinter/?preorder <comment><USER2> Looks like the discussion is over here: <http://news.ycombinator.com/item?id=4380185></comment>


Lenovo Pre-Instaling Adware/spam – Superfish – Powerd by VisualSearch - <AUTHOR> https://forums.lenovo.com/t5/Lenovo-P-Y-and-Z-series/Lenovo-Pre-instaling-adware-spam-Superfish-powerd-by/m-p/1863174#M79882

<comment><USER2> The story isn't that malware is installed, the story is that there's an SSL MITM + Javascript injection.

Maybe the link should be changed? [http://www.myce.com/news/lenovo-laptops- come-with-preinstall...](http://www.myce.com/news/lenovo-laptops-come-with- preinstalled-advertisement-injecting-adware-74290/) but even this story doesn't have enough info.

Please, if you have this malware export the cert and post it. This has the potential to be really dangerous.

</comment><comment><USER3> I think that some Lenova laptops are available directly from Microsoft as signature editions, that is, with no crapware. I recently bought an HP signature edition laptop and it was great to have nothing but Windows on it.

<comment><USER4> Wow. microsoft and the pc industry are worse than i thought when it cames to marketing. I'm looking for a windows device and this is the first time i've heard about it!

<comment><USER3> It is really nice to get a laptop with no crap-ware. Apple laptops have always had a no-crapware advantage, but Microsoft with their signature editions levels the playing field somewhat. BTW, I was going to buy my HP laptop on Amazon but some good person posted a product comment suggesting buying from Microsoft to avid crap-ware - I had never heard of this program before either.

</comment></comment></comment><comment><USER5> Coworker just got a lenovo laptop that had this problem</comment>


Why I love OCaml and what I do with it - <AUTHOR> http://hyegar.com/blog/2015/09/13/ocaml-love/ <comment><USER2> Some things that I thought were interesting:

He prefers OCaml to Haskell _because of Haskell 's mental overhead_. I think he nailed the problem a lot of people have with Haskell.

He likes the ability to mutate when he wants/needs to. He wants to be functional, but not forced to be purely functional.

I'm sure the Haskell types (pun intended) will have counter-arguments to these points, but Edgar's position seemed pretty good to me...

<comment><USER3> Another good choice is F#. I started off with Haskell, but there was definitely a steep learning curve, so I eventually found my way over to Erlang. Erlang's great, but its not for everythng. Now I'm working with F#, which is pragmatic, and has the support of .Net libraries.</comment></comment>


Ask HN: Is Node.js just for fun? - <AUTHOR>

I am playing with Node.js and loving it, its simple to use and works great. However while searching for real applications that use it, it seemed as if they are almost zero, atleast relatively to the amount of coverge it gets. Can you supply some contradicting examples? <comment><USER2> Etsy ([http://www.readwriteweb.com/hack/2011/02/how-etsy-is- using-n...](http://www.readwriteweb.com/hack/2011/02/how-etsy-is-using- nodejs.php))

Yammer ([http://bostinnovation.com/2011/01/15/who-is-using-node-js- an...](http://bostinnovation.com/2011/01/15/who-is-using-node-js-and-why- yammer-bocoup-proxlet-and-yahoo/))

Gilt Groupe (real-time analytics using <http://projects.nuttnet.net/hummingbird/>)

Lanyrd uses Node.js for Twitter stream, I think?

Yahoo! is experimenting with Node.js as well (see Yammer link)

The list goes on, but that's all I can remember off the top of my head.</comment>


Why I Hate All Computer Programming Languages - <AUTHOR> http://rebelscience.blogspot.com/2009/08/why-i-hate-all-computer-programming.html <comment><USER3> Ah, another silver bullet.

Programming is not the only discipline that has adopted specialized languages. Disciplines like music and mathematics also use their own unique descriptive notations. Programming is not hard because of programming languages; on the contrary, learning a programming language is by far the easiest step in learning to program. Becoming a good musician, or a good mathematician, takes years of practise and study. Programming is no different.

That's not to say you can't simplify programming, in the same way that Guitar Hero and Wii Music simplify music. But you can only do this by hiding complexity, by restricting the user to a small subset of a very broad subject. This can be very useful; but you can't replace programming altogether using this technique, any more than Guitar Hero has made the electric guitar obsolete.

<comment><USER4> Not to disagree with your substantive point, but I think Guitar Hero is a very poor comparison. As far as I'm aware, there's no way to take one of these toys and create any kind of original music with it, other than by smashing it into something and recording the resulting noise. A better comparison would be instruments for making (mostly) electronic music, such as synthesizers, samplers, and sequencers.

These things too can become arbitrarily complex within their specific domains (Csound being a prime example), but most of the innovation is devoted to making it easier for the mediocre player to obtain interesting musical results, at the expense of some flexibility or authenticity. This can aid learning to some degree, and substantially democratizes toolsets - <USER2> example, although I have neither the space nor the cash to buy a piano, I have access to such good emulations that it doesn't matter. Of greater importance than either of these are the innovative possibilities for creating new kinds of music that are not achievable by conventional means - even if you dislike electronic music, you probably enjoy the contributions from of audio technology to film soundtracks.

You are quite right that electronic emulations will not and should not displace real instruments like guitars, trumpets, drums etc., no matter what their level of sophistication. The same is true is of domain-specific modeling tools and pure programming. However, I submit that within their limitations, such tools have the potential to vastly increase overall productivity. And as I've observed before, patch-based 'analog computers' have a trick or two up their sleeve yet: now that cheap digital von Neumann computers are a commodity, people are doing interesting and usual things with the emulated versions that would have been prohibitively expensive in the past.

<comment><USER5> "Guitar Hero is a very poor comparison. As far as I'm aware, there's no way to take one of these toys and create any kind of original music with it"

Actually the latest version of Guitar Hero ('World Tour') does include the ability to record, edit & share. It's very limited of course.

<comment><USER4> Egad. I wonder how much music they expect one to make with 4 buttons...but I'll look into it. Thanks for the correction.

</comment></comment></comment></comment><comment><USER6> Wow, if you start reading the rest of this guy's writings the crackpot indicators start lighting up.

<http://www.rebelscience.org/Seven/bible.html> <http://www.rebelscience.org/Crackpots/notorious.htm>

He has a good sense of humor about it though and even links to this Google search:

[http://www.google.com/search?hl=en&q=%22louis+savain%22+...](http://www.google.com/search?hl=en&q=%22louis+savain%22+crackpot&btnG=Search)

</comment><comment><USER7> He is arguing against "linguistic programming" and apparently proposes a graphical form of component-based programming.

This has been proposed before, and here is why it will not work: Core to programming is creating abstractions and naming them. No other tool (that I know of) beside language can do that. Sure, a graphic environment might let you connect a bunch of pre-defined components _on the same abstraction level_ to solve a task. However, what will you do if you want to reuse this construct as part of a larger program?

Graphical tools/programming can be used for very specific pre-defined tasks on a single abstraction level, but it will never be useful for general programming.

<comment><USER8> MATLAB's Simulink[1] is a graphical programming environment that allows you to create, name and reuse abstractions. Look at the picture[2] on their site for a simple example.

[1]: <http://www.mathworks.com/products/simulink/>

[2]: <http://www.mathworks.com/cmsimages/sl_fig1_wl_15362.gif>

<comment><USER7> That is cool, but I am arguing that when you work primarily with named abstractions you are back to linguistic programming. And general purpose programming is about building abstractions on top of abstractions.

But I haven't used Simulink, so I may be wrong.

</comment></comment></comment><comment><USER9> I can't help but have the strong feeling that you're on to something.

For the last couple of weeks I've been trying the best I can to read everything under the sun that has to do with alternative computer architectures. I know that just like in 'regular' science there is a fringe to computing, but what if there are viable alternatives to the von Neumann architecture and we just stopped looking for them ?

Even a really good alternative way to program existing computers would already be quite a step.

<comment><USER4> I'm sure you've already come across it, but the best-known alternative is the Harvard Architecture, which is commonly used on DSPs: <http://en.wikipedia.org/wiki/Harvard_architecture>

I don't have enough low level programming experience to say one is better than the other or that the Harvard architecture is as flexible as the Von Neumann architecture has proved to be in practice. I am just not that good of a computer scientist.

I can say, though, that I found Harvard an awful lot easier to get to grips with conceptually and fun to program - perhaps because I could map me+tool+task onto instruction memory + DSP + data.

If you are seriously interested in this I recommend getting hold of a DSP evaluation board for about $100. Analog Devices make the Sharc (and many others) which some people like because of their floating point capability; Motorola's 56k DSP series are fixed point which makes for a steeper learning curve, but many people say they're a better architecture. I learned 56k DSP. You could also look into PIC uControllers.

Please summarize and share your findings when you reach some sort of milestone.

<comment><USER9> I've used DSPs with this architecture and I don't think it is a major contender to von Neumann, it has its applications though (DSP, embedded systems).

The original poster of the article has some very interesting things to say about the way computers are being programmed today. I'm not sure if that means we will depart with von Neumann, a radically different approach to programming would already give us some new insights.

I'm going to get shot down for this for sure, but since LISP there really has been no new original idea in how to write software. Java, python, PHP, C, C# and so on all look the same to me.

Languages that are different directions such as Forth, LISP and handfull of others have my interest because I think they will show us a path out of the swamp we are currently in.

Some of the people here on HN have side projects on the go that are extremely interesting from this point of view.

</comment></comment></comment><comment><USER10> This article describes model driven application development, the focus of my current company, where an application is considered to have a model that describes the application state and a domain specific model and the model that describes application state may be varied dynamically. This is completely distinct from programming. Programming is about manipulating data and how a computer actually operates on data (threads & ram etc). Somebody will always have to do programming in some language in order to enable "interesting" business users with such point of views to do things easily. The other side of the model-driven coin (distinct from UI code) is using rules to describe data transformations. This is not exactly a shameless plug because I am leaving this company but you can see model driven development in action by downloading TopBraid Composer Maestro Edition <http://www.topquadrant.com/products/TB_Composer.html> and navigating to <http://localhost:8083/tbl> You will see several applications which you can select and then select a data model to work with.... at that point your application is in a particular state (such and such widget configuration) that application state may then be saved off as another application and so forth. Going back to TBC you can see that actual data models that represent this application state and you can look into SparqlMotion and SPIN for how inferencing can be used to add support for rules in a model driven manner. The advantage of TQ's approach is that it is based on open standards most notably RDF, which is a sufficiently generic data model that it may be considered universal. I still believe that actually implementing components and complex algorithms should still be done in code. To me the memory state of an operating system represents a very particular closed world that can then be mapped to the general, open world expressed in RDF (or however you like to express the universe of data, I believe RDF is best atm)

</comment><comment><USER11> FTA: We like the element of discovery that comes from not knowing exactly how things will behave if they are joined together or taken apart. We like to say things like, "oh", "aah", or "that's cool" when we half-intentionally fumble our way into a surprising design that does exactly what we want it to do and more.

Dijkstra, EWD 1041: The programmers were horrified too: they derived their intellectual excitement from not quite understanding what they were doing and their professional satisfaction from finding weird bugs they had first introduced in their daring irresponsibility.

I'll add, people (users) tend to like it when their professionals know what they are doing. Surgeons shouldn't use chainsaws, even though it'd be more fun to do so.

</comment><comment><USER12> Take a look around the site, the guy's a crank. He's been talking about how great COSA is for years, but he's never actually _implemented_ it, or even shown examples of how it's supposed to look beyond a few trivialities.

</comment><comment><USER13> There are words for proper "bigger Lego bricks": HLLs and libraries. There's also a word for the kind he wants: Duplo.

Also, you haven't known pain until you've tried to actually accomplish something by stringing together pretty boxes in a data-flow language like Max/MSP or Pure Data. Imagine operating an early AT&T switchboard with a pool cue, then crank up the suck.

</comment><comment><USER14> Programming is hard, let's go shopping.

People have been experimenting with object models and component models for 30 years. Despite considerable progress, no one has found anything that really knocks your socks off. Old news.

</comment><comment><USER15> This article appears to argue against basic facts about formal languages and the limits of machines. The argument seems to go something like "I don't like programming languages because they force me to work in a certain way! Now, here's another way to do programming!"

The "programming environments as toys" argument seems to be at odds with fixed syntactic and semantic interpretation for programming languages, which is a bit like arguing against steering wheels for cars - sure, having the car drive itself would be nice, but throwing away the steering wheel is really not going to have the desired effect.

</comment><comment><USER16> My PhD supervisor and I talked about this, as the creation of a new category of IT worker: a component _assembler_ .

It is less hardcore than a "real" programmer, but we are now at the point that you a person can create great value by assembling pre-existing components and create genuinely new things. The components amount to an abstraction, and the key questions are whether you can make an abstraction layer that is simple, and yet also powerful enough to accomplish worthwhile tasks without needing to break the abstraction. As examples, consider components in fields of engineering: nuts, screws, nails, resistors, capacitors, chips etc

The difficult part seems that putting these components together itself becomes a complex and difficult task. However, if we are prepared to limit the power, it is possible to make it simpler: consider audio components that plug together; or bicycle and car components. Maybe this is limited to "customization", but for some purposes, that's all you need to do. And with components that are sufficiently powerful, perhaps you really can build really useful new things.

Glue languages, like Python, already facilitate this to some extent, although the process of assembly is more complex than the blogger wishes, and of course people can and do real programming in Python.

</comment><comment><USER17> It sounds like he wants something like Automator (<http://www.macosxautomation.com/automator/>) where you can just create sequences from very high level blocks of functionality. That has it's uses, of course, but it's not even on the same level as "real" programming, IMO.

</comment><comment><USER18> I think he just described much of LISP (from my limited knowledge of it)

</comment><comment><USER19> I guess he wants to combine DSLs with Gnome-Do, then?

</comment><comment><USER20> This guy is a loon.</comment>


Yellowstone Bears Eat 40K Moths a Day in August - <AUTHOR> https://www.yellowstonepark.com/things-to-do/bears-eat-moths-in-august <comment><USER3> The summer of 2017 is going to be a bad year for the miller moth eating bears of the Colorado Rocky Mountains (note: black bears only - there are no grizzlies in Colorado). It seems there was a late freezing rain/frost that killed many if not most miller moth grubs this year. I normally experience an onslaught in the migration as I'm on their path from the eastern plains to the mountains. Normal years I see dozens per night from June 1 to July 15, several somehow squeezing into my house each day. This year there were essentially zero miller moths.

<comment><USER4> Reminds me of going to summer camp as a child in Estes Park (north of Boulder). Every summer, dozens of moths would inhabit the cabins, attracted to kids' headlamps as we read books before bed. Kind of disincentivized people to stay up reading, and we all went to bed straightaway. Can't imagine there not being an armada of moths waiting in the wings.

</comment></comment><comment> d-sc Kinda cool to see this on hackner news. My landlord manages bears for the greater Yellowstone area. So I have heard firsthand accounts about this.

The bears effectively scoop the moths from the rocks using their claws. It's one of the most caloric dense foods they have.

<comment><USER5> That was my question - the article also mentions bear managers. How do they manage them? Do they hold meetings with the bears?

<comment><USER6> From my experience with the Yellowstone bear managers I have talked to, they attempt to connect with the grizzlies in their youth as cubs. As the cubs grow older, the managers are able to promenade alongside them, join them at meals, and even camp alongside them at night with their future bear families. It establishes a human connection with the bears so they are one with the park.

<comment><USER7> Wow, I was under impression that a mama bear is quite protective of its cubs. How do they get near without getting attacked and driven away?

<comment><USER8> >> "How do they get near without getting attacked and driven away?"

The National Park service usually assigns the bear manager a herd of Jackalope when camping with the bears. These Jackalopes distract the bears from the presence of the humans.

While this approach is very effective in National Parks such as Yellowstone, problems have recently arisen in other Grizzly-inhabited areas, notably near the Bob Marshall and Scapegoat wildernesses, due to declining Jackalope populations.

Efforts are underway to replace the Jackalope herds with a single baby moose, or in some cases as many as three baby meese, but I can't vouch for the efficacy of this technique.

</comment></comment></comment></comment></comment><comment><USER9> "While fat in the diet is not the best thing for humans, it is important to bears." almost stopped reading after coming across this wise chestnut.

<comment><USER10> America is paying the cost of demonizing fat and glorifying carbs in big way. Obesity is a huge crisis. There is no solid science behind fat is bad theory.

<comment><USER11> "It's the same word."

</comment></comment></comment><comment><USER12> there was a good issue of National Geographic dedicated to Yellowstone that covered this last year:

[http://www.nationalgeographic.com/magazine/2016/05/yellowsto...](http://www.nationalgeographic.com/magazine/2016/05/yellowstone- national-parks-part-2/)

Basically, the grizzlies there build up on moths and nuts. The moths are 65% body fat.

<comment><USER13> Also BBC had a similar episode on moth-eating grizzlies:

[http://www.bbc.co.uk/programmes/p00377yp](http://www.bbc.co.uk/programmes/p00377yp)

</comment></comment><comment><USER14> Findings like this is why I find it very unpleasant when people start talking about destroying whole species because they are pests to humans.

The latest one I've read about is the idea that we need to get rid of all mosquitos. They are pests to us but I wonder how many other species depend on them for food and how will the mosquito's extermination affect the web of life.

<comment><USER15> We know what happens: evolution. The idea that the whole thing will totally collapse because you made one change is ridiculous and frankly utterly unsupported by the evidence, not least our understanding of this poor optimization algorithm driven by random chance.

I frankly always find these comments unpleasant because they seem to come exclusively from people sitting in some air-conditioned building miles away from a full 5 m^2 trees that they got to riding a 2 ton behemoth on tarmaced streets that casually reaches speeds no animal ever could powered by the remains of dinosaurs. Yeah I wonder how that affected "the web of life". It's a fashionable form of NIMBY except these people are not arguing from a position of naked self-interest but ignorance.

<comment><USER16> Sure, the nature will adapt, but will humans? For us, it's not a zero sum game of universe-wide optimization. We have skin in the game, so to speak.

Mandatory George Carlin link: "The planet is fine; humans are fucked" [https://youtu.be/YawTvnyoqbU?t=77](https://youtu.be/YawTvnyoqbU?t=77)

<comment><USER14> Well said. I've heard this before,"Destruction by many cuts will eventually kill us." I think you can apply this to the way we treat our environment.

</comment></comment></comment></comment><comment><USER17> [https://www.youtube.com/watch?v=iSFMObszwHw](https://www.youtube.com/watch?v=iSFMObszwHw) for people like me who did not understand at all how they do it.

</comment><comment><USER18> So the way they come to the 40K number is since each moth is about 1/2 calorie, and the bear requires at least 20k calories a day, then they must eat 40k moths/day. Hmm

<comment><USER19> Someone counted the moths in scat.

<comment><USER19> Seriously, counting moths in scat contributed to the estimate:

 _White made that estimation by watching grizzlies with a scope for up to 14 hours per day, while writing his dissertation on the animals at Montana State University-Bozeman. He also counted how many dead moths he could find in each bear "scat," or pile of poo, and multiplied that by the number of times these bears defecated._

[http://www.newsweek.com/grizzly-bears-can-eat-40000-moths- da...](http://www.newsweek.com/grizzly-bears-can-eat-40000-moths-day-400281)

</comment></comment></comment><comment><USER20> Could protect the moth population with a more liberal policy to provide bears access to picnic baskets...

<comment><USER7> Not if Ranger Smith has something to say about it.

</comment></comment><comment><USER21> I don't think it's just the Yellowstone area. In Jasper I've seen bears doing the same sort of the rock-flipping scavenging. The sheer number of moths they eat is pretty surprising though, I never would have suspected bugs to be such a big food source for bears.

</comment><comment><USER22> My question is this. Why would pesticides on the farms that wipe out a lot of these moths be causing a problem?

The bears were there before the farms. If the farms are creating a lot of new moths that weren't otherwise there, wouldn't the pesticides be bringing things back into equilibrium?

I am really against using pesticides and I try to eat only organic products, but I am just wondering why no one else seems to be talking about this. Those mass quantities of moths being there isn't natural in the first place.

<comment><USER23> _The bears were there before the farms. If the farms are creating a lot of new moths that weren 't otherwise there,_

Another possibility is the moths were there before the farms as well, and the land they lived on now happens to have been turned into farmland. If that is the case than it's not as likely anymore that pesticides would bring an equilibrium. Maybe there were even more moths before it the land was one huge monoculture. (just spraying ideas here, I don't know what kind of land moths prefer nor if it really is a monoculture there)

</comment></comment><comment><USER24> That seems like an extraordinary claim. If the bears were eating moths for 10 hours straight, they'd have to catch and consume more than one moth every second to hit that number... I must be vastly underestimating the amount of moths in these caves or the amount they move around.

<comment><USER25> Why would assume they would be eating them one by one?

<comment><USER26> The article only describes them being eaten one by one, and does not describe how massive numbers are being eaten at once. The question seems reasonable-- how is the number 40,000 arrived at? Do you know? The article feels hand-wavy and light on sources and details. This feels to me like the kind of number that someone arrived at by assuming that a bear might eat its entire caloric intake in moths and then dividing 20k calories by 0.5 per moth, so it _could_ be up to 40000 moths.

There's a sign on waterless urinals all over the place that claims it saves "up to" 40000 gallons of water per year. It'd have to be running non-stop 24/7/365 for that to be true. There's an ad that I hear playing on NPR sometimes about a container rail train that gets "up to" 500 miles per gallon. Just keeping the lights on uses more gas than that. These "statistics" don't pass the smell test, and this story feels similar to me.

<comment><USER27> > Just keeping the lights on uses more gas than that.

Can you elaborate on this?

One gallon of diesel = ~41kWh. Assuming 30% conversion efficiency that gives us 14kWh. Assuming a 50mph speed to traverse 500 miles means we need to keep the lights on for 10 hours, giving us a power budget of 1.4kW. I don't know what kind of lights locomotives carry but that seems like an awful lot.

<comment><USER28> locomotives have two headlamps around 200W, and two ditch lamps (the ones at the bottom near the rails) of 350 watts each. That's 1.1KW already, plus any interior lighting and conversion losses from the diesel genset.

Also average freight train speed is tracked and its consistently less than 25mph:

[https://www.rita.dot.gov/bts/sites/rita.dot.gov.bts/files/pu...](https://www.rita.dot.gov/bts/sites/rita.dot.gov.bts/files/publications/transportation_statistics_annual_report/2008/html/chapter_03/table_03_04_08.html)

Note however that fuel efficiency is almost always given in mpg per freight ton, in which case the power usage of the lights would be amortized over the considerable mass of the train. >400 mpg per ton is not uncommon on a train.

<comment><USER27> Cool info, thanks.

It occurred to me that elevation change could have huge impact on those calculations. More back of the envelope stuff: a 5k ton train requires 13.6kWh to ascend 1m. If such elevation changes are common that would quickly dwarf small values like the power consumption of lights.

</comment></comment></comment></comment></comment></comment><comment><USER29> > While fat in the diet is not the best thing for humans

Why does the article say this?

<comment><USER14> We're constantly hearing how fats are bad for us and we should eat a low fat diet. The article is overstating that fact. A better statement should say that the overeating of fats is bad for us. Eating NO fats would certainly be bad for people. Everything has to be eaten in moderation.

<comment><USER30> Do you have evidence to support this claim?

<comment><USER14> There are some essential fatty acids that the body can't make but needs. So, no fats is a problem.

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

<comment><USER30> I was referring to the "fats are bad for us" part.

</comment></comment></comment></comment></comment><comment><USER31> I've got to call out the false information in the article: "While fat in the diet is not the best thing for humans".

When will the anti-fat brigade stop?

Still an insightful look into possible environmental cycles we've missed because we have devastated the North American bear populations for centuries.

<comment><USER32> I have no clue, so could you point out why fat in the human diet is good (or not bad)? I'd like to learn.

<comment><USER33> Bears, like true omnivores, eat bugs and fruits and animal flesh and grass and practically anything to fill their bellies. Bears also, like true omnivores, can't get atherosclerosis from things they consume.

Humans, feeding on primarily fat based diet get atherosclerosis very often. Best epidemiological/history research on that topic is done on Inuits where remains of children showed atherosclerotic plaques in the vessels - <USER2> diet, although not ketogenic, contained mostly animal fats and proteins. Other mechanistic studies proved that direct causal mechanism exists but the same thing happens also with sugary diet, or essentially any diet with a caloric surplus (highest effect of course with highly caloric diets or diets rich in cholesterol over long timespans).

Essential fatty acids (omega-3 and omega-6), on the other hand, are abundant in animal flesh (if we ignore plant oils). Human reliance on these sources definitely implies we are omnivores but with a certain complex twist.

Given the young age of nutrition science, lack of personalized methods, and flawed epidemiological studies (for example, epidemiological studies condemning meat and dietary cholesterol ultimately fail, on the other hand, studies showing that dietary cholesterol has no effect on basline cholesterol are methodologically flawed), a skeptic would conclude we still know little when it comes to long consistent living and the effect of diet on health. We do know a lot about intervention on sick people though. Practically any diet that is more healthy than a diet sick people practice works, best one being the one with highest nutrient to calories ratio (foods that have huge volume but low calories tend to have that characteristic and its mostly just plants - hard to overeat and create a caloric surplus), which is a plant-based diet. Still, it's questionable how this works long term (what's the source of fatty acids? where's B12 etc.).

<comment><USER34> I've read studies that discuss excess cellular energy as the cause of metabolic disease, but are there any studies on athletic people eating high calories over long periods? That is, would Michael Phelps' 10k calorie per day cause a problem, even if he uses all 10k? Because there would be spikes unless one is meticulous about eating small meals over the day.

</comment></comment></comment></comment><comment><USER35> The bears would probably eat other stuff but those aren't readily available due to human activity. (Like introducing giant wolves not native to the area.)

</comment><comment><USER36> "As importantly, the moths provide a crucial food source in the face of declines of other bear foods"

Seems to me the fact is that bears usually eat other stuff but those aren't readily available (likely due to human activity).

<comment><USER37> That "seems to me…" bit should be presented as just a hypothesis. It may be right, but I'd have no basis to even lean toward assuming so.</comment></comment>


Innovate like a Kindergartner - <AUTHOR> http://blogs.hbr.org/cs/2011/02/innovate_like_a_kindergartner.html

<comment><USER2> Growing up, the only poster that ever caught my eye was "Everything I Need to Know I Learned in Kindergarten.":

[http://it.pinellas.k12.fl.us/Teachers3/johnsond/images/8F209...](http://it.pinellas.k12.fl.us/Teachers3/johnsond/images/8F209794EC9F460AAAF9083B55A64A3B.jpg)

It's really quite humbling to look back on it, even today.</comment>


Implications of Full-Duplex HTTP - <AUTHOR> http://tools.ietf.org/id/draft-zhu-http-fullduplex-04.txt

<comment><USER2> Anybody know how much of this is already covered with SPDY?</comment>


Robert McElice Has Died - <AUTHOR> https://en.wikipedia.org/wiki/Robert_McEliece <comment><USER2> One of the best teachers I had at Caltech. Though, given that this apparently happened in May I'm not sure why it's being posted today.

<comment><AUTHOR> I was looking at some of his work, and saw that he had died. I didn't remember hearing of it, and searched for an hn discussion on it (as there are usually some excellent stories pertaining to the person; a good reason to read hn.) It hadn't been posted, so I did. Sure enough, someone who knew him.

</comment></comment><comment><USER3> McElice's cryptosystems, while a bit unwieldy in terms of key sizes (order of magnitude: 512KB), is not susceptible to the quantum-computer-based attacks like popular schemes used today.

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

</comment><comment><USER4> 5+ months ago...

<comment><USER5> grammatically correct title I suppose</comment></comment>


Scaling lessons from Second Life - <AUTHOR> http://arstechnica.com/business/data-centers/2010/02/what-second-life-can-teach-all-companies-about-scaling-web-apps.ars

<comment><USER2> I think my biggest learnings from building systems, and although he didn't mention it explicitely, he did mention it, is to build your system to self heal.

Shit happens, whether it is a database starting to fall over for some reason, or your heap growing too big, or who knows what, something will eventually fail. Having monitoring to tell you that is of course the first step, but the second is to have that monitoring be able to shoot everything in the head to see if it fixes things. It doesn't always work, but does a lot of times, and although inelegant will usually result in a better user experience.

Every system needs to be able to self heal, especially if you want to keep your sanity and you are a small outfit.

<comment> rm-rf Sort of covered:

"Ideally, you've designed your system such that real-time human intervention is never required; every failure should be handled automatically, with repairs needing human hands neatly enqueued for processing during work hours."

My takeaway: Above a certain scale, one needs to stop responding to individual failures, and start responding to statistics.</comment></comment>


Data Center Servers Suck, But Nobody Knows How Much - <AUTHOR> http://www.wired.com/wiredenterprise/2012/10/data-center-servers/

<comment><USER2> Just an echo of the NYTimes non-story.

Bizarrely, this one self repudiates its own title near the end where they contacted a person that knows what they are doing…

 _Over at Mozilla, Datacenter Operations Manager Derek Moore says he probably averages around 6 to 10 percent CPU utilization from his server processors, but he doesn't see that as a problem because he cares about memory and networking._

 _…_

 _After we contacted him, Moore took a look at the utilization rates of about 1,000 Mozilla servers. Here's what he found: the average CPU utilization rate was 6 percent; memory utilization was 80 percent; network I/O utilization was 42 percent._

CPU use is irrelevant to most internet servers.

Over the week, I operate my car engine at about 1.2% capacity. Maybe they should write about that.

<comment><USER3> I can't say I understand that. If RAM utilization is so vastly out-scaled as compared to CPU utilization, there's a significant resource use inefficiency at play.

Machines consume a baseline amount of power whether they're used or not; that power usage obviously increases with utilization, but ideally you'd have full utilization across the board.

If memory usage is so much higher than CPU usage, I have to wonder what it is that Mozilla is doing wrong with their architecture. Are they using pre-fork- style servers? Are they just provisioning poorly? What is it?

> _CPU use is irrelevant to most internet servers._

Why? The CPU is used when the machine _does_ anything. Ideally you're operating the machines at full capacity, less overhead to handle load spikes.

> _Over the week, I operate my car engine at about 1.2% capacity. Maybe they > should write about that._

What you're doing is inefficient, and they do write about that. The solution is called car sharing and public transportation.

<comment><USER4> >If memory usage is so much higher than CPU usage, I have to wonder what it is that Mozilla is doing wrong with their architecture. Are they using pre-fork- style servers? Are they just provisioning poorly? What is it?

Or are they just serving up web pages to users? That's RAM and bandwidth heavy, but very CPU light. You still need the machines to scale your load, but you're not going to be using the CPU.

Realistically, for just about any application, you're going to be RAM-bound before you're CPU-bound. The exceptions are(off the top of my head) scientific computing and video rendering, both of which are CPU heavy, and are very deterministic in their behaviors, which allows for heavy optimization of L2 and L3 cache misses.

<comment><USER3> > _Or are they just serving up web pages to users? That's RAM and bandwidth > heavy, but very CPU light. You still need the machines to scale your load, > but you're not going to be using the CPU._

That depends very much on the efficiency of software your architecture. A well-architected web app can scale up RAM and CPU utilization much more closely than something modeled on zero shared state independent processes.

Additionally, even if your scaling model of RAM before CPU is the only possible one, that doesn't make the utilization effecient, and implies that higher efficiency could still be reached by scaling up RAM per machine.

</comment></comment></comment></comment><comment><USER5> Sigh, I wonder why people write stories like this.

Data Center servers don't suck, and I'd bet that most folks running them understand what their utilization is. Blekko has over 1500 servers in its Santa Clara facility and we know pretty much exactly how utilized they are, but that is because we designed the system that way.

Its funny how things have come full circle. Back in the 70's you might have a big mainframe in the machine room, it was so expensive that the accounting department required you to get maximum use out of the asset, so you had batch jobs that ran 24/7. You charged people by the kilo-core-second to use economics to maximize their value.

Then minicomputers, and later large multi-CPU microcomputer servers (think Sun E10000 or the IBM PowerPC series) replaced mainframes they didn't cost as much so the pressure to 'get the return' was a bit lower, you could run them at 50% utilization and they still cost less than you'd expect to pay for equivalent mainframe power.

Then the dot.com explosion and suddenly folks were 'co-locating' a server in a data center because it was cheaper to get decent bandwidth there rather than run it the last mile to where your business was. But you didn't need a whole lot of space for a couple of servers, just a few 'U' (1.5" each of vertical space) in a 19" rack. And gee, some folks said why bring your own server, we can take a machine and put a half dozen web sites on it and then you could could pay like 1/6th the cost of 4U of rack space in the Colo for your server. Life was good (as long as you weren't co-resident with a porn or warez site :-)

Then, at the turn of the century, the Sandia 'cheap supercomputer' and NASA Beowulf papers came out and everyone wanted to put a bunch of 'white box' servers in racks to create their own 'Linux Cluster' and the era of 'grid' computing was born.

The interesting thing about 'grid' computing though was that you could buy 128 generic machines for about $200K which would out perform a $1.2M big box server. The accountants were writing these things off over 3 years so the big box server cost the company $400K/year in depreciation costs, the server farm maybe $70K/year (if you include switches and such like) so it really didn't matter to the accountants if the server farm was less 'utilized' since the dollars were so much lower but the compute needs were met.

Now that brings us up to the near-present. these 'server farms' provided compute at hitherto un-heard of low costs, and access to the web became much more ubiquitous. That set up the situation where even if you could offer a service where you got just a few dollars per 1,000 requests to this farm, like a real farm harvesting corn, you made it up in volume. Drive web traffic to this array of machines (which have a fixed cost to operate) and turn electrons into gold. If you can get above about $5 revenue per thousand queries ($5 RPM) you can pretty much profitably run your business from any modern data center.

But what if you can't get $5 RPM? Or your traffic is diurnal and you get $5 RPM during the day but $0.13 RPM at night? Then your calculation gets more complex, and of course what if you have 300 servers, 150 of which are serving and 150 of which are 'development' so you really have to cover the cost of all of them from the revenue generated by the 'serving' ones.

Once you start getting into the "business" of a web infrastructure it gets a bit more complicated (well there are more things to consider, the math is pretty much basic arithmetic). And 'efficiency' suddenly becomes something you can put a price on.

Once you get to that point, you can point at utilization and say 'those 3 hours of high utilization made me $X' and suddenly the accountants are interested again. For companies like Google whose business is information 'crops', they were way ahead of others in computing these numbers, Amazon also because well they sell price this stuff with EC2 and AWS and S3 and they need to know what prices are 'good' and which are 'bad.' It is 'new' to older businesses that have yet to switch over to this model. And that is where a lot of folks are making their money (you pay one price for the 'cloud' which is cheaper than you had been paying, so you don't analyze what it would cost to do your own 'cloud' type deployment). That will go away (probably 5 to 10 years from now) as folks use savings in that infrastructure to be more competitive.

</comment><comment><USER6> Conflating utilization with efficiency is a mistake that is made so often and so reliably that it probably alone explains why reporting on this is sparse.

To understand if a system is inefficient, I would have to know if the same computing could be performed at a lower total cost of ownership. The utilization of the actual specific resources is an input, but only to understand the computing demand. The reason it is so common to "throw servers at it" is because the hardware and even the power is very cheap compared to human labor costs; and there are significant labor efficiencies in deploying infrastructure in batches.

</comment><comment><USER7> "After we contacted him, Moore took a look at the utilization rates of about 1,000 Mozilla servers. Here's what he found: the average CPU utilization rate was 6 percent; memory utilization was 80 percent; network I/O utilization was 42 percent."

Sounds like they are stuffing as much data as possible into RAM for performance reasons, which causes the servers to be memory-bound, and as such they have more CPU available than they need relative to the amount of RAM.

I am (and I think a lot of other people are) in the same situation.

</comment><comment><USER8> This is a political issue as the article already indicates: even though you could just buy very energy efficient, but worse performing ARM based servers with (depending on your needs) networking/memory/IO focus, it is easier to do the 'no-one has been fired for buying IBM' route: if something goes wrong, it's easier to say that you bought the fastest thing money can buy (who cares if it's running at 6% CPU util) than going the 'experimental' route with low energy equipment in servers risking downtime which could be because of your decision.

The problem is of course that if you go below the enterprises, it's probably even worse, where high powered servers with cpanel running max 400 accounts per server could be put on a microcontroller costing a few cents on average. I ran servers which had 300-400 accounts on them and where the TOTAL number of sites had a few 100 requests _per_ _month_. I think this is the case for most of the 100s of 1000s of servers running at hostgator, godaddy etc. The whole problem is 'peaks'. Management will ask you 'nice story, but what about peaks'? So you just buy the fastest thing there is, slap VMWare on and hope for the best. I think power management like in mobile phones would not be that bad for this purpose; most of the time you just switch off all cores but one and power down the clockspeed; when a peak comes, you just power up fully.

<comment><USER9> In the enterprise datacenter level it is not uncommon for sysadmins to use VMware's Distributed Resources Scheduler (DRS) coupled with Distributed Power Management (DPM) to balance workloads and power down underutilized hosts. There are probably similar solutions from other vendors (disclosure: VMware employee)

</comment></comment><comment><USER10> I'm sure that this has been said many times, but the "utilization" is not the same as the need to have the availability of the capacity - we could run some servers on a 386 and achieve 90% utilization, but now it takes two minutes to view a web page!

Also, CPUs are known to "step down" their clock speed to be power effecient when not under load - this is not included in a percentage of utilization.

Also, like someone else mentioned, bigger costs are the cooling techniques. Personally, I can't wait to see stuff like this utilized in the industry: [http://techcrunch.com/2012/06/26/this-fanless-heatsink-is- th...](http://techcrunch.com/2012/06/26/this-fanless-heatsink-is-the-next- generation-in-cpu-cooling/)

</comment><comment><USER11> Let us not forget that running servers at 100% CPU/Memory/Network IO (whatever) is bad too. Sudden spikes or a machine crashing will kill your service.

<comment><USER12> Sure but they said 80% RAM and 6% CPU utilization. It's better according to both your and their logic to run at 50% RAM and 50% CPU.

<comment><USER11> Yeah, totally agree.

</comment></comment></comment><comment><USER13> CPU performance is simply far beyond what we need in most cases.

What's the average CPU utilization of desktops/laptops across the world? I wouldn't be surprised if it was even lower.

My laptop:

      Cpu(s):  1.4%us,  0.1%sy,  0.0%ni, 98.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

<comment><USER12> See my comment above -- this is true now, but I believe it's because our software and programming methodology isn't flexible enough to use resources efficiently. Whenever you write code you're essentially hard-coding the balance between CPU and memory. It doesn't cause much of an issue on desktop machines, but with the growing number of data centers, it will start to be economical to have more flexibility in our code.

</comment></comment><comment><USER14> Data centers have to be designed to handle peak capacity, not average capacity. For example, if a retail business's web site couldn't handle the peak loads in the month before Christmas without degrading response time, they'd go out of business.

</comment><comment><USER15> The real issue is the lack of testing on the triple-redundant backup power systems. Utilization is meaningless on a server that isn't turned on.

</comment><comment><USER16> Hosting companies are in the business of selling servers. In my experience most customers dedicated servers are hugely underutilised but they only get the higher level of support or service if they take out dedicated tin.</comment>


Ask HN: Shortest path to $1 million? - <AUTHOR>

I have been thinking about long term investment in real estates and mutual funds, but then I wondered why I don't leverage the technology and world I already know.
$1 million (assets or cash) or $50k/month (stable for the next couple years)
Here are a couple ideas I have:
1. Premium WordPress Themes. Looking at Themeforest author sales, some of them are hitting $100k/month and they are not seasoned (at least in ThemeForest).
2. Premium WordPress Plugins. These guys (https://tri.be/wordpress-events-calendar/) used to sell on CodeCanyon and it looks like their product took off quite well (selling $20k/month last year)
That's it so far. Some of you are going to complain about support and stuff. Cost of doing business in my opinion and $50k/month is the net profit you make. So maybe your revenue should be in the $80-60k range.
Any ideas? Please I don't want the overgeneralized SaaS or eBook thing. Something more concrete and with examples of people who achieved it.
Time doesn't matter as long as you believe or it's what you know to be the shortest thing. <comment><USER2> My answer, as always:

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

Another answer:

Get a $120k/yr job. Live like you make $50k/yr. Wait.

Note that both these approaches also mesh well with investment in real estate or whatnot.

Also note that both these approaches leverage technology.

<comment><AUTHOR> 1\. I don't have a CS degree or any high-education degree.

2\. I don't live in the US or a developed country.

3\. Middle/Lower Class family with no superior connections.

Edit: 4. I have a WP product selling @ $2,000/month. I'm looking for some dramatic change, though.

<comment><USER2> 1\. Neither do I.

2\. You've got me there.

3\. Neither do I.

Congrats on $2k/mo from Wordpress. You can't do another one and make it $4k/mo? Maybe if you picked a specific industry vertical to target, like lawyers or accountants, you'd be able to charge higher prices. Maybe if you rethink the packaging of your offering --- instead of "a product for Wordpress", you sell an entire offering that happens to be "Wordpress Compatible" \--- you can escape the price points people have for Wordpress offerings.

<comment><AUTHOR> 4\. I learned the trick and I'm building another $1-2k product. $4k is much harder because these markets are highly competitive. But I can't build 25 products and support them (or manage their support). Maybe a couple products that sell for $25k/month.

I sent you an email.

</comment></comment></comment></comment><comment><USER3> To make that sort of money, you always go for a B2B market, pref targeting small business. Forget social sites, consumer apps, etc. When your product makes more money for the customer that what s/he is investing, your conversions are faster.

Unfortunately, even with a shortcut you have to take at least a 2 to 3 year perspective. So think about what a small business can use. Like a software for eBayer sellers, or some really useful site insight tool that increases website conversions, or maybe some cost cutting tool for traders, etc. Something which actually makes or saves money for the customer.

In my experience i have seen the more specific niche you go after the better. Like if you are making a tool (or even say a theme template as in your example) for eBay sellers, it is better to go after sellers in eBay motors than targeting everyone in the market.

Also if you are in to make money, then instead of honing your programming skills you will have to teach yourself marketing, specially the part of getting traffic to your site and networking with people in your niche (they are the ones that make your launch day a million dollar payday).

You will have to write tonnes of content and create a lot of buzz about it everyday. You will have to create an email list of interested prospects right from the get go and mail them regularly with good quality practical stuff for which they have subscribed. Creating the product is always the simple part; marketing it successfully over and over is what creates the difference between $1 mil in sales or $1000 in sales.

You can probably spend one day / week adding features, but the rest of the week you will hang around forums (dedicated to your niche) to help people while building your reputation as an expert in that field, write blog posts, make guest posts on sites related to your niche, follow the market leaders on twitter and hopefully make them your affiliates.

As you do this you will start getting more and more traffic to your site every day (it happens slowly and steadily). The blog posts and guess post also help you in Google. It may be sounding very simplistic (or maybe even confusing) but this is definitely one of the ways to making a million dollars.

</comment><comment><USER4> This is purely on your suggestion of "what you know to be the shortest thing". This may, or may not, seem a bit outlandish but there is a reason it is so lucrative. So my answer would be porn.

I read a figure that said something like 70%+ of ALL Internet searches are related to porn, sex, or nudity. Not that I have really given it much thought, but I am positive there are dozens of ways you could get to $1million in porn. I have a couple off the top of my head:

1\. Tube site: I'm sure you could get video crawlers that take videos from other porn sites. You could go on eBay and buy views for all of those videos to inflate the perception of the traffic you are producing to other users. Then you could use an ad network for popups, banner ads, or whatever.

2\. Cam site: These are supposed to be super popular, as pirating (although still an issue I'm sure) is much harder. There are numerous examples of popular cam sites, but because it is "porn" all of them are shady. There have been numerous complaints filed against the owners of myfreecams for example. I guess for this after you develop the site, you could use Craigslist to find models. Drive traffic to the site (again, it's porn, so marketing naked girls would seem to be easier to market than some eBook), leverage social media, or whatever else. You could also promote traffic for some other site, but affiliate marketing is overrated in my opinion. No offense to anyone doing it, but it just seems like an awful amount of work for a measly scrap of the revenue you could be seeing if you owned the site/content or whatever.

3\. Produce your own content: Now this does need some overhead. Cameras, a somewhat trained crew, models, lawyers, location etc. This one would be what I would stay away from. Too much headache for me personally.

I am not saying turn into a "smut peddler" or some porn kingpin, but if your sole goal is to get to $1million as quickly as possible, porn seems like a great solution. Porn is recession proof, there will always be a demand, and you can't argue with the numbers. Best of luck.

<comment><USER5> Just to critique this idea:

> I'm sure you could get video crawlers that take videos from other porn > sites.

Then you get videos which are labelled with other sites watermark. This gives you a poor reputation in the busines world so very few people will cut deals with you, and you're essentially providing free advertising for your competitors.

> 2\. Cam site:

There are already dozens of extablished cam sites, so it'd seem a better option to just affiliate with one of them under a whitelabel program while you learn the ropes.

</comment></comment><comment><USER6> The fastest way is to use leverage.

Leverage technology to sell digital copies of something you only have to make once (which you seem to have already been doing and look to be doing more of.)

Leverage time by hiring other people.

Leverage money, which allows you to scale the other inputs more quickly than you would by bootstrapping. Preferably you would be able to use other people's money.

In another comment, you mentioned that you aren't living in a developed country. It's difficult for anyone to get investment money and it may be more difficult where you live. On the other hand, you have access to relatively cheap labor. If you are able find decently skilled developers in your area, then perhaps you could apply what you are making on your WP product which is selling well and hire a couple of developers.

You could also try setting those developers on jobs from Elance and Odesk. Maybe start out with a niche and build a brand for that niche. For example, build a WP team and focus on WP jobs. Too many developers on these platforms are too general. If your add-on is well known then that would give you a leg up on the competition. Actually, every add-on you create would add to your brand.

Another crucial point is to find someone who can sell! Too many job proposals on Odesk and Elance are the types which start out as Dear sir, broken English and no demonstrable understanding of the item they are writing the proposal on. Get this right and you could crush it. Maybe even get someone from the U.S. to work on commission and pair that person up with your best developer (or yourself) to work on each proposal. Essentially the salesperson would dress up the proposal from the tech guy and add some spice.

I'm currently living in the Philippines. I have been pondering going this route myself.

</comment><comment><USER7> I thought about going the WordPress theme route about a year ago and stumbled upon these same statistics. At first it seemed like a great idea. I mean, I already knew how to build them since I use WordPress for almost all my client projects.

But then I realized that part of why I was bored freelancing is that building a WordPress theme is essentially doing the same thing over and over and over again. It's just like an assembly line, factory job.

These days I'm much happier working a salary job for a company on a large scale project that is constantly getting new features and presenting fresh engineering challenges. The salary is good. I'm not a millionaire, but at least I enjoy what I spend 8-10 hours of my day doing.

<comment><USER8> That's the good part of selling themes: do the work once, get paid repeatedly.

<comment><USER9> The themes selling well are constantly updated though.

</comment></comment></comment><comment><USER10> Frankly quickest way to be 'rich' is to be content with the riches you already have.

<comment><USER2> Which is probably why he used "$1 million" instead of "rich". :)

<comment><AUTHOR> yes, I'm not looking for getting rich. I'm looking for a particular amount.

<comment><USER11> Do you have a specific debt with a certain criminal organization? Just so we know who to call if you disappear off HN... ;)

<comment><AUTHOR> Nope, no debt and no expenses. Just have a delusional lifestyle that I want to get by the next few years.

</comment></comment></comment></comment></comment><comment><USER12> Deal making and the stock market are probably the fastest.

Stocks. The stock market isn't much of a good one without a knowledgeable mentor that can show you how to create and verify an edge. Without this, you will not know if you are consistently making money over time irrespective of short-term results.

Deals. Larger deals work best, so that generally means business or real estate. Once you have an idea, you can use cross directories to solicit your targeted group. If you can make arrangements for people that make them good safe money, funding the arrangements won't be a problem.

</comment><comment><USER13> I was skeptical about the $100k/month by selling themes claim so I did some research. This guy ([http://themeforest.net/user/Kriesi](http://themeforest.net/user/Kriesi)) on ThemeForest has 61,313 sales (which seem to be ~40$ on average). That's 2,452,520$ so I guess $100k/month is believable. I was quite surprised there was that much money to be made by selling themes.

<comment><USER2> It's a "hits" business though, right? For every person doing $100k/mo, there are how many doing $10/mo?

<comment><AUTHOR> Indeed. With some experience, however, you can better hit it. I have a friend who never missed it and continues to generate more sales for every new theme he produces.

</comment></comment></comment><comment><USER14> Time, Probability, Soul.

Pick two.

</comment><comment><USER15> Just ask 1,000,000 people for a single dollar - job done.

You might need a good story...

<comment><USER16> A bit like [http://www.milliondollarhomepage.com/](http://www.milliondollarhomepage.com/) ...</comment></comment>


Ask HN: Best guides (books/talks) on best practice web app security in 2018 - <AUTHOR> I'm curious what resources you folks have found.
I'm not talking about low level (but still ridiculously prevalent) stuff like simple SQL injections.
The reason I'm asking is I have an itch I want to scratch but it requires handling medical data (in the UK not the US) and I want to think very carefully about whether I want to do it. <comment><USER2> you could go fully high-level and use a low code application platform that gives you regulatory compliance(HIPPA for US for example):

[https://www.appian.com/industries/hipaa- compliance/](https://www.appian.com/industries/hipaa-compliance/)

There are others of course.</comment>


Plus Codes - <AUTHOR> https://plus.codes/ <comment><AUTHOR> Noticed because they suddenly appeared on Google Maps.</comment>


Ask HN: What search engine do you use for Netflix, Hulu, Amazon Video? - <AUTHOR> What search engine/tool/system do you use to search across the major tv and video providers like Netflix, Hulu, and Amazon Video? <comment><USER2> I use [https://www.justwatch.com/](https://www.justwatch.com/) because it supports Australian streaming services, but hope that [https://reelgood.com/](https://reelgood.com/) launches here soon as the app is much more pleasant to use.</comment>


The Doctor Is In: Rescuing Freud from Modern Misunderstanding - <AUTHOR> http://www.weeklystandard.com/the-doctor-is-in/article/2006275 <comment><USER2> Yeah, despite being largely discredited in the sciences, Freud has always maintained popularity in the humanities and social sciences. If nothing else, he can be credited with framing the debates that happened afterwards. It's telling that his "influenced" property on Wikipedia is just a list of every psychoanalyst.

Still, I'm not entirely convinced that

      The simultaneous presence in every individual of the most evil and the most generous impulses makes society an inherent contradiction

really captures the lasting value of Freud's work. Maybe I should just read the biography itself, but it seems less like he's suffering from misunderstanding, and more like he's a popular figure a lot of people know just enough about to be ignorant.

And then yeah, lines like

      No brain scan is ever going to destroy a belief in our own subjectivity.

really make this feel more like a misrepresentation of why Freud gets critiqued in the first place.

<comment><USER3> What I find interesting about Freud from a humanities perspective is that psychoanalytic theory can be understood as a non-theological means of discussing topics hitherto reserved to religious inquiry. It's essentially a vocabulary that enables people to discuss spirituality, existential angst, and subjection to higher forces without appealing to the supernatural.

Incidentally, Freud seems to be incredibly popular in circles that either take a highly analytic approach to religion (ashkenazi jews, particularly in NYC) or that exhibit an ascetic rejection of religion (Paris).

The influence and value of Freud's work in the humanities is difficult to understate, but none of this changes the fact that his theories don't yield testable hypotheses and don't predict behavior.

<comment><USER4> I think the last part is where some of the misunderstandings come in.

For example, just yesterday I was reading an article showing that people are likely to make naming mistakes involving things from the same category. So if you mistakenly call one thing by another, you're sort of revealing an implicit categorization.

This isn't surprising, and these sorts of errors have actually been used as measurement devices, but it's very much in line with psychodynamic theory, and very testable. Basically the whole idea of a Freudian slip at some level.

Much of modern cognitive theory is based on basic ideas first elaborated on by Freud. People love to criticize psychodynamic theory, but then turn around and fill their work with implicit, subconscious, competing processes.

I'm not saying that Freud got all the details right, or that he wasn't wrong about anything. Many of his developmental ideas, for example, are probably totally off base. However, his basic ideas about modular, subconscious, parallel competing processes are still dominant today, and just go by different names. Old wine, new labels.

<comment><USER3> >Basically the whole idea of a Freudian slip at some level.

Sure, just like the basic idea that the bulk of our mental processes are not amenable to introspection is "basically right". Still, there's a distinction between ideas that influence scientific theory and actually _are_ scientific theories.

The problem is that the mechanisms proposed by Freud are often defined so broadly as to simultaneously a) prevent any useful prediction of behavior and b) allow for subsequent findings to be reinterpreted in a psychoanalytic context. In other words, it's virtually impossible to falsify any of Freud's claims. The notion of superego, for instance, is so general that literally any supervisory process can qualify, yet the id/ego/superego model utterly fails to _predict_ human behavior.

This is the hallmark of pseudoscience. Freud's saving grace is that his theories were subsequently refined into _actual_ scientific theories. Psychoanalytic theory is to psychology as alchemy is to chemistry.

Note that I'm being very serious. Explicit in alchemical theory are several ideas that were essential and seminal to the modern study of chemistry: the notion that there are elemental substances, that substances can be "transmuted" through physical means, that substances interact with each other to produce compound substances, etc.

Still, it ain't science...

\---

P.S.: here is an answer I posted to cogsci.stackoverflow about what Freud got right. [http://cogsci.stackexchange.com/a/8368/2926](http://cogsci.stackexchange.com/a/8368/2926)

</comment></comment></comment></comment><comment><USER5> A key reason Freud has gone out of style is that science has found that his psychology is mistaken in key ways.

Freud believed that everything in adult psychology is an elaboration of something already there in the infant mind. That is dubious, but even if you accept it, there is the problem that Freud did not investigate infant psychology directly, but instead assumed it is basically irrational, asocial and radically out of touch with reality.

In recent decades infant psychology has been the subject of extensive empirical study, and it turns out to be much different from what Freud thought. See, for instance , <i>The Scientist in the Crib</i> by Gopnik, Meltzoff and Kuhl.

<comment><USER5> Oops, I wanted italics. Anyone know how to get them?

<comment><USER3>
        *this will be in italics* and this will not

</comment></comment></comment><comment><USER6> This is an interesting article, and its position is a bit surprising, coming from The Weekly Standard. I want to go out and get that Bio now, for sure.</comment>


People with depression use language differently - <AUTHOR> https://theconversation.com/people-with-depression-use-language-differently-heres-how-to-spot-it-90877 <comment><USER2> Maybe they use the words "I, me, and myself" more often because they're trying to explain why they're sad to everyone who is trying to force them to be happy.

Seriously.. my wife and I have lost seven children before birth at this point, late enough in pregnancy to make them actual medical events, and to say we're sad and stressed is an understatement. The amount of people who have told us to forget about it and be happy is off the charts ridiculous. Hell, someone suggested we go on vacation, while my wife was hemmorhaging in the hospital, as if that would make it better. Obviously, we use the phrase 'I feel' or 'We feel' a lot -- saying "You're being obnoxious and a shithead" is a lot less socially acceptable than saying "I don't think we can do that right now".

I have a friend whose mom died while he was fairly young, and he used the phrase 'I feel' a lot too to explain why he was sad a lot of the time.

It's not surprising... happy people have little need to convey how they feel -- it's usually quite obvious, and everyone loves being around them. Sadness on the other hand, everyone wants to avoid, and most people are shit poor at being able to figure out when someone is down in the dumps.</comment>