1290 Amazon mp3s free (most music) - <AUTHOR> http://www.amazon.com/gp/search/ref=sr_nr_p_n_feature_browse-b_0?rh=i:digital-music-ss,n:!195211011,n:!251258011,n:318768011,n:334896011,n:334897011,p_n_feature_browse-bin:625151011&bbn=334897011&sort=artistalbumrank&ie=UTF8&qid=1261747020&rnid=625149011

<comment><USER2> Looking at that song list, it's pretty much the digital equivalent of a lump of coal in your stocking.

<comment><USER3> And on top of that, good stuff like Bibio is just a "sampler" song comprised of clips of their music: [http://www.amazon.com/Ambivalence-Avenue- Sampler/dp/B002BHW1...](http://www.amazon.com/Ambivalence-Avenue- Sampler/dp/B002BHW1UC/ref=sr_1_102?ie=UTF8&s=dmusic&qid=1261764897&sr=1-102)

Ambivalence Avenue is a truly stellar album, so it's kind of painful to see it chopped to bits like that.

</comment></comment><comment><USER4> That's got to be the biggest collection of crap songs that I've seen since the last time I dug through the WalMart bargain bin.

</comment><comment><USER5> Is there a convenient script to get these while I spend time with my family?

<comment><USER6> <http://code.google.com/p/clamz/> perhaps?

</comment></comment><comment><USER7> [http://joubert.posterous.com/philip-glass-track-from-the- hou...](http://joubert.posterous.com/philip-glass-track-from-the-hours- allusion-pl)

<comment><USER8> Well...

After listening a couple times, I'm pretty sure they're not actually the same set of notes. And even if they were, it's more likely coincidence than not: the musical effect Glass is going for relies on a particular progression which just happens to partially overlap a phrase Mahler once used.

Meanwhile, if you want soundtracks which shamelessly quote classical music...

* That awesome sequence in "The Matrix" where Neo's distracted by the woman in the red dress? The soundtrack gives you Rob D's "Clubbed to Death", but that's just the theme from Elgar's "Enigma" variations with a bass line.

* Listen to the score from "Gladiator". Then listen to "Mars" from Holst's "The Planets". In fact, this works with almost any action/war movie.

* Disney does it too: "Once Upon a Dream" from "Sleeping Beauty" is... well, a melody from "Sleeping Beauty" the ballet, by Tchaikovsky.

* A 1950's musical produced a hit song, "Stranger in Paradise". It's a melody from Alexander Borodin's opera "Prince Igor".

etc., etc.

</comment></comment><comment><USER9> Also, you can check out \ <http://www.last.fm/music/+free-music-downloads>

<comment><AUTHOR> Sweet Dauntless, I'll add that to my search list. More free Xmas shwag

</comment></comment><comment><USER10> Only in US.

<comment><USER11> I'm in the US so I've never tried, but couldn't you still get at the content through a US-based HTTP proxy?

<comment><USER12> If you don't care about legality, all kinds of restrictions go away...

<comment><USER11> Which law would that be breaking? Is it illegal to act like you are located somewhere that you are not?

<comment><USER12> Good old copyright law, just like Hulu. If the content producers allowed for distribution in the US only, getting it from somewhere else is a violation of the license agreement. Now, I don't think they'll grab the logs from Amazon and run after you in another country for it...

PS: Somewhat implied but IANAL.

<comment><USER13> It might be a violation of the license agreement between amazon & the content providers, but you're not violating it yourself.

You really only need to be concerned about whether you're violating the law of the country you're in. AFAIK, you'd only be committing secondary infringement in Canada if you sell/rent/redistribute the song.

I don't think using a proxy in this context would be a violation of copyright law and I wouldn't call it a clear-cut question, so you should really cite more than "copyright law" as an answer to sant0sk1's question.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Merry Christmas HN! It's going to take forever to find all the ones I enjoy. I dig the get one or two songs free from each artist.

</comment><comment><USER14> The classical music selection is excellent. I just downloaded Moonlight Sonata movements I and III.</comment>


3x faster linux boot with e4rat - <AUTHOR> http://e4rat.sourceforge.net/ <comment><USER2> It's an interesting project. I wish we had it 5+ years ago when it mattered.

The only place I'd use a spinning disk as my primary drive is on a server and that's something you rarely boot. If you're not using an SSD skip a month of Starbucks and buy one. Disk IO is far and away the biggest bottleneck for most users. An SSD will increase your productivity profoundly.

<comment><USER3> I did buy one, then it broke.

Once you factor in the re-installs the latency of spinning rust looks a bit better.

<comment><USER2> All drives can fail. Not including servers I've managed I estimate I've had more than 10 hard drives fail, all of which were well below the manufacturer's stated MTBF.

My first SSD (low to mid range) failed within the first 3-6 months but the replacement has been going for almost 2 years now.

<comment><USER4> The replacement is always better... somehow.

<comment><USER5> Is this similar to how lost things are usually in the last place you look for them? It does make sense that people would continue replacing something until it worked!

</comment></comment></comment></comment></comment><comment><USER6> Ten years ago, BeOS booted in ten seconds without any special tricks. That was on late 90's and early 00's hardware. Certainly it didn't access hundreds of megabytes of libraries and files in order to boot as a modern Linux does, but it was also specifically designed that way even by the contemporary standards.

And don't get me started about the 16-bit era... Machines were slower then but using them was generally faster.

<comment><USER7> 30 years ago, my Apple II booted into a REPL in less than one second. 3 if you needed disk support.

And that was on a 1 MHz 8-bit processor.

There were people who could toggle a bootstrap loader into an Altair in less time than a modern x86 PC takes to boot.

</comment></comment><comment><USER8> Laptop: open lid and resume. Server: RAID startup dwarfs OS startup.

Does super fast booting matter much these days? It's just about ceased to matter to me completely.

<comment><USER9> I try to avoid using sleep/resume when I'm away from home, because it partially defeats the purpose having full-disk encryption on my laptop. A thief who steals it when it's powered off has no access to my files. On the other hand, a thief who steals it when it's asleep might be able to get around the login once it wakes up.

So yes, it sucks to wait 30-40 seconds for a reboot.

<comment><USER10> While I like a fast boot, you've go to get these things a little into perspective, a minute to the desktop isn't that bad.

<comment><USER11> It's not bad, but spread over X million workers on desktops 5 days a week means a lot of wasted time, and maybe energy.

<comment><USER12> If 5 million people save 1 minute every day for 200 days a year. Then you have saved 1 minute every day per person, not 5 000 000 * 1 * 200 minutes in total per year.

That kind of math just doesn't work.

</comment></comment></comment></comment></comment><comment><USER13> Just did this on an old Inspiron 1545 with Ubuntu 12.04 on it and I'm already noticing major improvement in both boot time and the apps I open frequently (also with the help of preloader and zram)

I followed this guide: [http://www.howtogeek.com/69753/how-to-cut-your-linux- pcs-boo...](http://www.howtogeek.com/69753/how-to-cut-your-linux-pcs-boot- time-in-half-with-e4rat/)

Although note, at the part where it says push CTRL+ALT+F1 to get to a new terminal login, that didn't work for me. I had to go to the default one (CTRL+ALT+F7) and type "logout" and then go to CTRL+ALT+F6.

I have a web page I keep track of common things I do to my Ubuntu installs (shameless plug: <http://ubuntu.mindseeder.com>) and I'm definitely going to add this so I don't forget!

<comment><USER14> I wonder how much improvement that brings over standard ureadahead (see yason in this thread for how they differ). For zram, no need for a ppa, a zram- config package has been added in precise.

</comment></comment><comment><USER15> The easiest way I've found to increase boot speed and application load even under heavy system load is to use the pf kernel patchset. With a properly configured kernel using BFS, BFQ, and LZMA compression, my system is amazingly fast. Even when compiling and both cores at my laptop are at 100% my system is fully usable. If you have a Macbook Pro my kernel configs are here: <https://github.com/meinhimmel/kernel-configs>

</comment><comment><USER16> Note that if you're using Ubuntu you're using ureadhaead, which does something similar to minimize seeks during boot.

<https://wiki.archlinux.org/index.php/Ureadahead>

<comment><USER17> Then why are there deb files for Ubuntu? I don't think they're doing exactly the same thing, since e4rat is using specific features of the Ext4 filesystem.

Edit: Actually, the directions say to remove Ureadahead when installing e4rat, so maybe they are quite similar.

<comment><USER6> AFAIK, ureadahead just keeps track of which files/blocks are touched during bootup/startx and pre-reads them into a cache at the very beginning of the boot sequence so you will effectively boot from cache.

This still requires seeking to several semi-random areas of the disk while prereading which e4rat is fixing by physically moving the needed blocks adjacent to eachother.

<comment><USER14> Since ureadahead looks at blocks and not files, it has a potential speed advantage if the boot process is opening some large files but not reading them in full.

Edit: except the ureadahead packfile only points to the blocks and files, it does not provide a way to inline them. So e4rat is almost certainly faster. It's a shame it is ext4 specific.

Apparently Scott James Remnant, the ureadahead developer, considered feeding the collected info to a defragmenter: <http://ubuntuforums.org/showthread.php?t=1434502> ; this would be nice, as it means a single package is responsible for the feature, and filesystems perform to the best of their ability whether or not they have ext4-like fine-grained control of defragmentation.

<comment><USER17> So it sounds like the filesystem-reorganizing features of e4eat (but not the profiling features) would be complementary to ureadahead.

</comment></comment></comment></comment></comment><comment><USER18> Good tutorial about how to use e4rat: [http://www.howtogeek.com/69753/how-to- cut-your-linux-pcs-boo...](http://www.howtogeek.com/69753/how-to-cut-your- linux-pcs-boot-time-in-half-with-e4rat/)

</comment><comment><USER19> So when will we see this in our smartphones? I don't understand and, frankly, find it ridiculous that I have to wait about a minute or up to 90 seconds for my smartphone to boot, a device that is completely flash-memory based and that has no variability in hardware. I still remember the article about that industrial Linux PC that booted in less than one second, including initializing video4linux and two cameras etc., simply by optimizing kernel parameters, boot order, and driver timeouts. That must have been 2005 or so. Now it's 2012 and my phone takes longer to boot than my laptop (late 2010 MBP w/ SSD).

</comment><comment><USER20> Would it make a difference with SSD drives?

<comment><USER21> Sequential reads are faster than random even on SSD drivers, so it could help but I am not sure how much.

<comment><USER22> Oh ? Why is that ? SSD still need to address every memory block, don't they ? Or do they have a faster DMA-like mode where you can send the instruction "give me the next 96KB starting at address X ?

<comment><USER23> SSDs exhibit the same sort of cache locality RAM does. When a region is accessed, a larger chunk is fetched and cached just in case it's needed later.

<comment><USER24> Yes, and the OS readahead also helps.

You can see the random vs sequential difference in any ssd review, eg [http://thessdreview.com/our-reviews/ocz-vertex-3-240gb- max-i...](http://thessdreview.com/our-reviews/ocz-vertex-3-240gb-max-iops- review-as-ssd-tests/) shows 18 MB/s in random reads vs 500 MB/s sequential reads.

</comment></comment></comment></comment></comment><comment><USER25> I saw a demo of this at Intel Labs on a Windows machine about 15 years ago and it was very impressive. I don't think they optimized startup, but application launch was incredibly fast with their disk layout optimization.

Isn't this essentially what DiskKeeper does on Windows?

<comment><USER26> I don't know about DiskKeeper, but I believe it's part of the "Lenovo Enhanced Experience" on ThinkPads. Amazingly, my factory install with crapware booted from pressing BIOS to Windows desktop in just over 7 seconds. I haven't been able to get my clean install below 10 seconds, I think because I'm missing the filesystem tweaking.

</comment></comment><comment><USER27> Is this similar to OSX's Hot File Adaptive Clustering, then?

<comment><USER14> The OSX feature apparently notices files which are slowly appended to (downloads) and defragments them. It does not reallocate a set of files (such as the ones touched at boot) to be adjacent on disk, which is what e4rat does.

</comment></comment><comment><USER28> Does the debian package work in Ubuntu?

<comment><USER18> Yes, you might need to remove ureadahead though.</comment></comment>


Google Chrome - Linux - Can't Render Gmail - <AUTHOR>

Hey guys, I just noticed that Chromium on linux has a problem rendering the navigation pane. Basically I can't get to anything other than the first screen (inbox) or a search. The entire left navigation bar's entries are not working. Not true for firefox.
I just like the irony of it all.
Strangely enough if switching to html view, then standard view it starts working, until you reload the page thats when it screws up again. <comment><USER2> yeah, i was noticing error messages in chrome linux beta w/ gmail yesterday, too. would pop up an error dialog that said some features did not load, etc. though i could read and reply to mail just fine after i dismissed the dialog box.</comment>


Cost of Testing - <AUTHOR> http://googletesting.blogspot.com/2009/10/cost-of-testing.html

<comment><USER2> should be case 'boolean', not case 'bolean' in both places</comment>


Why Turntable.fm is the most exciting social service of the year - <AUTHOR> http://thenextweb.com/industry/2011/06/25/why-turntable-fm-is-the-most-exciting-social-service-of-the-year/ <comment><USER2> This was previously posted at <http://news.ycombinator.com/item?id=2695905> .</comment>


Epic Resignation Letter is Satire, Sparks Discussion on Privacy - <AUTHOR> http://thenextweb.com/socialmedia/2012/04/03/epic-resignation-letter-is-satire-sparks-serious-discussion-about-employee-privacy-and-facebook/ <comment><USER2> No need to analyze it to death, now! I didn't make it very far through this article... tl;dr.

Though from my POV: I've read at least one other parable on the blog (a rather more obvious one about free office space), and so didn't really entertain the idea that this might be real; but I imagine it could be more confusing for readers without that context.

Because in relative isolation -- it _could_ be real. Among the technically proficient, at least, the internet is a great equalizer, and there's no particular reason why an until-recently White House tech czar (or whatever the purported position was) couldn't be posting their thoughts on a Posterous blog. Not quite the same thing, but isn't Seth Godin's blog _still_ on typepad, just because he started it there however many years ago, and the momentum of accumulated linkage is too powerful for him to move it now? Just because someone is appointed to a high government post (especially a technical one!) doesn't mean their past online life disappears.

And even on HN you can see comments from very wealthy & successful folk mixed in with those from high-school nerds, right? So perhaps in this case a disclaimer at the bottom of the post (so as not to completely ruin the effect...) might be advisable.</comment>


Pricing Soylent Efficiently - <AUTHOR> http://blog.soylent.com/post/133420708272/pricing-soylent-efficiently <comment><USER2> I was expecting more detail on how they found _" the point where our product would deliver exceptional value relative to competing products"_ \- that's always a tricky and important conversation, and I'd love a follow-up post on their process for doing so.

Instead, this was a great explanation on cash flow and the impact of pricing (and other, more significant, factors) on that cash flow. Which is probably even more valuable a discussion for growing businesses - it doesn't feel like it in the early days (when lack of clients will kill you) but in established companies it's often accelerated growth and unexpected cash flow hits that can kill a profitable business.

</comment><comment><USER3> I have often said, one of the worst things that can happen to a physical goods start-up is to get a huge order from a single customer. Finding the working capital to pay for millions of dollars in raw materials can be nigh on impossible. Banks won't loan you the money without a track record of delivering similarly sized orders, and raising a round is an incredibly expensive way to float your receivables.

<comment><USER4> That's true for every type of business, the risk that is coming from such order is too big for any sensible company to take. Many businesses limit order sizes for this specific reason, and in many cases will have even stricter limits as well as invoicing terms for new B2B customers. We've seen this quite recently with GT Adv. Technologies going bankrupt when their deal with Apple pretty much took their entire pipeline. [http://www.techtimes.com/articles/17677/20141011/gt- advanced...](http://www.techtimes.com/articles/17677/20141011/gt-advanced- technologies-bankruptcy-what-really-happened-to-the-sapphire-glass-maker-and- why.htm)

<comment><USER5> That seems to have been Apple's MO for some years now. I think the Palm/HP people working on the Pre lamented that whenever they found a part they wanted to use, Apple had already placed an order for the years production capacity.

</comment></comment></comment><comment><USER6> All that analysis and they still failed to figure out their product is $0.43 too expensive (per bottle).

<comment><USER7> But in reality, cost-sensitive customers will purchase the powder which is quite a good value at $1.54 for 400 nutritious calories.

<comment><USER8> Cost-sensitive customers will make their own...

<comment><USER9> more to cost than the price tag...

</comment></comment></comment></comment><comment><USER10> I am kind of surprised they are still in business, having missed the point that most people actually enjoy actual food and beverages, versus chugging a flavorless Ensure 2.0 slurry while staring at a monitor.

It's called a lunch break for a reason. Lunch is part of it, but its mostly about the break.

<comment><USER11> Are you claiming that despite observable reality, they can't possibly be having the success they have? There's clearly a market for it, even if you're not part of it.

</comment></comment><comment><USER12> Solid advice, but this part was a little cringeworthy:

"At the same time, we also needed sufficient cash flows to fund our aggressive growth strategy and invest in technologies that will change the world."

I hope that is tongue-in-cheek because world-changing ideas aren't a dime a dozen.

<comment><USER13> If any recent startups can say they're taking a go at changing the world, it's the guys trying to solve world hunger by engineering healthy food that can be mass-produced by genetically engineered algae in tanks.

<comment><USER12> When I last looked at them in depth, they wanted to create meal replacement shakes so busy professionals didn't have to waste mental output thinking about food. Did they pivot?

Edit: I can't reply for some reason, but I applaud them if solving world hunger is their goal. I think they should have changed their marketing, though. Their original marketing seemed very niche.

<comment><USER14> Why can't those be the same thing? It doesn't seem unreasonable to me to use the capital generated by the prices you can charge for a luxury good to fund the R&D necessary to bring the costs of their method low enough that it could be a significant and affordable improvement to low-income families' nutrition.

<comment><USER15> It sounds like the Tesla model: first create a luxury car that you can sell to the very wealthy, and use those funds to increase production & lower costs through increased volume to produce a family car... then use the increased demand for batteries to make building a Gigafactory cost effective, so you can start producing Powerwall house batteries, so you can start taking more houses off the electricity grid & become 100% solar.

</comment></comment></comment></comment></comment><comment><USER16> What a weird post. There's no reason whatsoever for a company like Soylent to get in the cash flow weeds like that. It has plenty of growth capital. With interest rates so low, "interest-free" loans are comparably less valuable. They should be spending almost all their energy on R&D and marketing. Not financial shenanigans.

<comment><USER17> Financial risks are as significant as technical and market risks for physical goods companies. Take a look at how companies like Amazon are run, and you will see that pricing, cost, and payment terms are very important.

<comment><USER16> Amazon is a retailer. Soylent is a manufacturer. It has plenty of capital to not have to worry about inventory turns. Manufacturers need to worry about making a good product and getting into customer hands first and foremost. Financial shenanigans are a distraction for a budding manufacturer.

<comment><USER17> Speaking as someone who has worked at a few electronic hardware OEMs (and been involved in production), I can tell you that inventory cost and risks are a significant concern.

<comment><USER16> How about a one-of-a-kind food that retains its value for a year or more?</comment></comment></comment></comment></comment>


Ask HN: Any legal implications making an apartment+landlord review site/app? - <AUTHOR> Hi, so for the past 12 years, I've been moving every 1-2 years due to super frustrating landlords. My sister and I have been moving around the outskirts of boston (everett, arlington, dorchester,dedham). We've dealt with bee infestations, fly infestations, snail infestations, algea patches growing all around with tons of mold. I know the various processes to go about dealing with this and they are long and painful. In my current situation, we've gotten a  major mouse problem. The landlord has nonchalantly been dealing with the issue but the mice pretty much began treating the apartment like their playground. I'll be watching a movie and a few will zip by my feet. My sister and I took matters into our own hands and got a cat and that did the job. Unfortunately due to getting the cat, this broke the terms of the lease (we were coming to near the end anyways). So after dealing with this crap for a while, I was speaking with a co-worker of mine whom was complaining about her landlord as well. Over the last 12 years, they've just been a MAJOR pain to deal with and I feel like I need to do something about it. As a developer it wouldn't take much for me to do this or if anyone already knows one that exists that I can use as I go about finding my next apartment. <comment><USER2> [https://www.whoseyourlandlord.com/](https://www.whoseyourlandlord.com/)

I found a handful of sites that offer this service by searching Google for the phrase "Yelp for Landlords". I have included an example above.

<comment><AUTHOR> wow, thank you so much!

</comment></comment><comment><USER3> I'm wondering what the is the common denominator in all this problematic situations?

<comment><AUTHOR> I would really like for you to expand on this thought. As constructive criticism if you have it.

<comment><USER3> Alright! Didn't think you would take it in a positive way but I guess I was wrong. Gladly.

According to your post you have moved at least 6 times in the past 12 years and you had problems with the landlord every time.

Assuming that the houses and the landlord were not the same or somewhat related the only common denominator is you.

Having said that, I see a few possibilities:

1) You are somehow at fault for the problems you reported. Rats could come because of dirt. Mold can also develop if you have a place that is not cleaned or cared as it should.

2) You could be a bad judge of character. Somehow you managed to fail to perceive clues that could tell you that maybe the landlord or the property wouldn't be great.

3) You are super unlucky

I'm not saying it is your fault. Only that it could be.

If it is, that's a good thing because you can fix that.

If it's not your fault than you should buy a rabbit's foot.

<comment><USER4> Another common denominator could be also the price point of properties they pay to rent. Some landlords just dont budget/save well regarding repairs. Properties with lower rent prices can make that worse. So when your like hey fix that and this. They may seem begruding about it. Although out of 6 landlords all them doing that seems unlikely. Unless some of these problems where overly petty.

However, I would not consider a rodent problem petty. (probably means somthing is not sealed well) Although getting a cat without talking to the landlord sure is gonna make them more willing to help (sarcasm). Pets can cause serious damage, and can even leave odors after carpet has been replaced. Making the property harder to rent or more costly to repair.</comment></comment></comment></comment>


Show HN: Yet another pastebin/notepad application - <AUTHOR> http://www.scribblememo.com/

<comment><AUTHOR> The UI is not very intuitive, but there are a lot of hidden/useful features once you start using it. Please check it out, and let me know what you think!</comment>


Questions That Will Keep Physicists Awake at Night - <AUTHOR> http://blogs.scientificamerican.com/observations/2013/10/25/physics-biggest-unanswered-questions/?print=true <comment><USER2> I'm not a physicist, but the fact that the universe is exquisitely balanced to support life keeps me up at night as well!</comment>


Linux Torvalds: Every developer thinks that their code is so special and magical - <AUTHOR> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4b8cbf679c4866a523a35d1454884a31bd5d8dc <comment><USER2> It's easy to call Linus a bully, abrasive what not... But I think a lot of people in his position, who get huge amount of code to review, and some of it pretty horrible would handle this even worse.

Also I think this is his way of filtering people that can't cope with him. If you are strong-willed enough you will go over what he said and try to make your code better otherwise you will just leave. Anyway he did not lose anything in his opinion.

I fully support his style of communication and think everyone should be able to choose how to lead their personal projects. If you don't agree with the community nobody is forcing you to join it. Not everything in life has to be nice towards you. Some stuff you remember better if it hurts.

<comment><USER3> It would be difficult to determine if his style has been an overall net benefit or net deficit though. Certainly things worked out well, but would they have worked out better if he took a different approach?

<comment><USER4> One thing for sure is that nobody complaining made it better. RMS has his differences from Linus but isn't like these small issues. Linus is just straightforward.

<comment><USER3> >One thing for sure is that nobody complaining made it better

Talented people, that made concrete contributions, have left because they didn't want to deal with him. One example: [https://www.theregister.co.uk/2015/10/06/linix_kernel_dev_wh...](https://www.theregister.co.uk/2015/10/06/linix_kernel_dev_who_asked_linus_torvalds_to_stop_swearing_quits_over_swearing/)

<comment><USER5> Wouldnt the opposite be true as well?

I can imagine some one staying away from certain ecosystems because they are too nice to inconpetence. For example, say, how pythons standard JSON library intentionally and likely well intended, breaks the the standard and causes hours of debugging nightmare.

In a less friendly world this wouldnt fly and if i need something that actually works ill have a strong bias for the products of the "mean people"

</comment></comment></comment></comment></comment><comment><USER6> "Every developer"... that's a bold statement.

I don't think my code is so special or magical, maybe specially bad and magically bad...

Also I believe his name is Linus, not Linux ^_^

<comment><USER7> Maybe he doesn't consider people with such mindsets a developer :) ?

<comment><USER6> He just considers people developers if they think their code is special and magical? haha

</comment></comment></comment><comment><USER8> I am very critical of my code and think it is pretty crap and can always improve.

I respect Linus' work but other than that I don't care about his opinions as he is a bully.

</comment><comment><USER9> I mean, I get it, but is that necessary? To me, it takes significantly less effort to say "X processor is not popular enough at this time to have this driver enabled by default. If this changes in the future, we can reevaluate, however I don't anticipate this changing any time soon." If he gets enough of these that it warrants this kind of response, maybe have an official policy on what can be enabled default and the reasoning behind it.

<comment> dis-sys I think he is playing too nice, delaying the offending module's inclusion for a few months can be a better choice - it is a community maintained big project affecting hundreds of millions of devices, all parties should play nice, no one should sneak in anything surprising just for the benefit of your code/project/company.

</comment></comment><comment> dis-sys This reminds me a similar incident that wasted me lots of time -

AMD Ryzen + Gigabytes motherboard does not boot on recent Ubuntu versions because the old buggy AMD GPIO module is enabled in Ubuntu by default. You might think "hmm, they might need that GPIO module to control some other hardware". Well - that module is only required when you have a AMD laptop touch pad, sadly, as of writing there is no AMD Ryzen laptop, period. All other distributions do not have the same issue - they don't enable it by default.

[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1671360](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1671360)

Enabling the very cute Cavium security processor (which will never ever be popular) by default in the linux kernel to potentially impact everyone? That is just plain stupidity demonstrated in a whole new level.

Everyone should be happy for the fact that Linus is doing what he can to avoid such stupidities to be repeated in the future.

<comment><USER3> I don't think anyone here is arguing the outcome, just the approach.

<comment> dis-sys Indeed, see my other comment, Linus is too nice to such company trying to sneak in this unwanted surprise purely for the benefit of their "security processor".

<comment><USER3> >trying to sneak in

That's really the point. Assuming malice, and reacting in kind. It's quite possible no malice was involved here.

</comment></comment></comment></comment><comment><USER10> Only when I came to the comment session, did I realize the problem. Linus is from Finland and, I guess, that is an important thing to remember. He is from a non-American (that is U.S.A.) cultural background, where this kind of remark is not viewed as rude, by some even as a form of humor. I am from the Netherland myself and have worked together with people from Finland.

<comment><USER11> guess that explains a lot... thought this was 100% sarcasm

</comment></comment><comment><USER12> He's right, else we wouldn't bother coding it to begin with.

</comment><comment><USER13> Ah that is true, when I started programming I had a lot more of attachment to my code than now because it was so special and magic.

Nowadays I do realize most code (including mine) is expendable; it should be thrown under the bus when no need of it and partly rewritten to improve it; but that perfect code never gets shipped. Just try to make something that works, then improve it so it's not painful to use it but that's it.

I still do not agree with the tone, but again I am not Linus nor in his shoes.

</comment><comment><USER14> This isn't matching my experience at all. Unless we're talking about junior programmers, most of who do think this way. Once their magical code breaks in spectacular ways once or twice, the smarter ones will realize their code is just as crappy as everyone else's.

</comment><comment><USER15> Cute (and harmless) example of "projection" in psychology

</comment><comment><USER16> Linus does not say "every developer except me", he says "every developer". I read a lot of self-deprecation in that comment.

</comment><comment><USER17> Ad hominem by Linus here. He could have quite well made his point without referring to the author at all by just saying that uncommon devices should not be marked as m.

<comment><USER3> I agree. I can support his tirades when it's warranted, but this is a bit over the top.</comment></comment>


Google Invents an AI System That Plays Video Games on Its Own - <AUTHOR> http://www.bloomberg.com/news/articles/2015-02-25/google-s-computers-learn-to-play-video-games-by-themselves

<comment><USER2> Reminds me of what Tom Murphy (Tom7) did: [https://www.youtube.com/watch?v=xOCurBYI_gY&feature=youtu.be](https://www.youtube.com/watch?v=xOCurBYI_gY&feature=youtu.be)</comment>


Does the U.S. House really only work 112 days/year? - <AUTHOR> http://majorityleader.gov/Calendar/

<comment><USER2> No. Why do you ask?

<comment><AUTHOR> Their calendar has 112 days highlighted: [http://majorityleader.gov/Calendar/113thCongressSecondSessio...](http://majorityleader.gov/Calendar/113thCongressSecondSession.pdf)

The other days are "Constituent Days."

Edit: And "Constituent Days" seems to often coincide with or surround Holidays.

<comment><USER3> Those are simply the days congress is in session. The definition of "work" for a politician is not so simple. Is meeting with "constituents" (mostly lobbyists of various kinds) work? What about meeting with staff in DC and the home office? Meeting other politicians? Government officials? Travel back and forth to DC? Trips abroad? Talk with press? Various PR events? And of course probably the biggest single time sink of all: raising money for election campaigns? I bet they are a lot busier than most working people.

Anyway I doubt there is any relationship between the amount of time the legislature is in session and actual results. One data point: the Texas legislature is in "session" only every other year - typically five months - and they seem to be doing as well as most other states. So I doubt too few days in session is even in the top 10 things that are wrong with our legislature.

</comment></comment></comment><comment><USER4> Do programmers only type 30 minutes a day?</comment>


MySpace up for sale - <AUTHOR> http://venturebeat.com/2011/02/02/news-corp-myspace-sale/ <comment><USER2> I will be _shocked_ if Google buys out this cesspool. Unless they need a project to assign to engineers who've misbehaved.

<comment><USER3> I wonder if the domain and brand name would have any value to Google. As distasteful as we view it, more non-techies that I talk to know what Myspace is than know what Gmail or most non-search Google products (Chrome, Buzz, Reader, possibly even Android, etc.) are. I'd find a well engineered Google social network with a Myspace brand attached to it novel to say the least.

Not that I can see it happening.

<comment><USER4> I have to agree with you. Every musician I know still has a myspace page, and many still use yahoo or hotmail. Maybe it wouldn't be a bad idea just to get the domain name and content..

<comment><USER5> I actively avoid bands that use myspace as their primary website. Do they not care about their image? They should be actively looking for new and better places to show off their music.

<comment><USER6> That's a lot of bands. MySpace is still popular with musicians because it's easily templatable, it allows them to easily showcase their work (songs), detail upcoming shows and their fan-bases are typically familiar with it already.

Yes, MySpace is far from ideal, but is there a competing service that checks all of these boxes?

<comment><USER5> <http://bandcamp.com> does an excellent job.

</comment></comment></comment></comment></comment></comment><comment><USER7> News Corp's acquisition for $500m will probably be remembered as a collossal blunder, but considering Facebook's current valuation, and that Myspace _could_ have been Facebook if it were better executed, it wasn't a bad gamble really.

<comment><USER8> _Myspace could have been Facebook_

I disagree, and I spent a year working with MySpace in the relative hay-days of 2007-2008.

You could write a book on why Facebook has succeeded and MySpace hasn't... but the two headline thoughts for me are that:

1) MySpace was generational, Facebook is pan-generational. MySpace took everything that was current and popular in the early to mid 2000's and fashioned it into a web-based product that became part of pop culture of that era - thus the massive connection with the bands, the celebrities, etc. That was clever, but it was a time-limited play. Facebook appeals to multiple generations because it doesn't have that pop-culture appeal. Facebook is a utility, MySpace is/was a product.

2) Facebook was built as a data-play from the ground up. All of its value leverages its data and power of the network. MySpace's data model is/was atrocious and was never built with that in mind. Instead it was built as an ever-changing digital based bilboard ad.

<comment><USER9> Is there any argument to be made regarding the quality of UX/engineering at facebook vs. myspace. I _love_ using FB and cringe everytime I need to go onto myspace.

<comment><USER8> Yes there is an argument (not the one you are alluding to, however) that MySpace's UX was what attracted so many 'normal' folks to it.

Show a boring blue + white Facebook page and a crazy green-pink-orange MySpace page to a 17 year old emo goth in Ohio and they probably will prefer the MySpace page.

Those are the people that click on ads, those are the people that want to friend Burger King. IE, those are the people that generate money.

<comment><USER7> It's still a double-edged sword though. The 17 year old loves being able to skin their own page with a unique design, add their favorite song, etc...but then when they view someone _elses_ unique page and have no idea where all the buttons went and have a song they hate autoplay on page load, the UX still sucks and drives people away.

</comment></comment></comment></comment></comment><comment><USER10> No matter who's steering the ship, it's going to be hard to stop this downward momentum: <http://i.imgur.com/lD4go.png>

<comment><USER11> It looks like downward momentum on that graph has already been mostly stopped by the x axis.

<comment><USER2> Too bad profits don't have that failsafe.

<comment><USER12> Well, Revenue does!

</comment></comment></comment></comment><comment><USER13> They are already losing traction and engagement with their only remaining target userbase, namely musicians and bands. If Newscorp is able to unload it, it will likely be for a Bebo-like amount (when Aol sold it, not when they bought it, lol).

</comment><comment><USER14> Is there any value for a company (probably not a startup, since they are still pretty expensive from that perspective) to buy MySpace as a "pick n pull" of sorts, to repackage as a new social product? I am not a software engineer, is this kind of thing feasible?

<comment><USER15> I would buy it just to change the terrible logo.

</comment></comment><comment><USER16> These things usually start quietly. Truth is MySpace has probably been shopped around for quite a while. They didn't find any takers so only now do they publicly announce it in the hope that someone, anyone steps up.

      DST?? How about Saudi Prince Alwaleed bin Talal?  He led the group that invested in Citibank and surely MySpace isn't that big a white elephant.

</comment><comment><USER17> I think somebody should buy old Virb (before their last two pivots, when it was a well designed myspace) and rebrand it as MySpace.

</comment><comment><USER18> Linkbait. It's not actually up for sale.</comment>


Combine  tags for social media cards markup - <AUTHOR> https://adactio.com/journal/9881 <comment><AUTHOR> tl;dr

Twitter uses the name attribute, Facebook/opengraph uses the property attribute, therefore...

<meta name="twitter:url" property="og:url" content="[https://adactio.com/journal/9881">](https://adactio.com/journal/9881">)</comment>


Messenger-Bot: A Node Client for the Facebook Messenger Platform - <AUTHOR> https://github.com/remixz/messenger-bot <comment><USER2> Perfect! This looks great. I'm looking forward to try it. I've had a lot of trouble getting through Facebook's process of actually setting up a messenger bot even just for a hello world/test example. I think there will be some great things built in the future given the size of Facebook's user base.

</comment><comment><USER3> Nice, I've been working on this wrapper for the Send API: [https://www.npmjs.com/package/fb-messenger](https://www.npmjs.com/package/fb- messenger)

<comment><USER4> did you have to use a public cert to get that webhook to work?

<comment><USER3> I'm using localtunnel for the time being to develop fast but I'm sure Lets Encrypt would work for the webhook.

</comment></comment></comment><comment><USER5> It would be nice if we don't have a bunch of bot kits and instead converge on one.

I appreciate the package author putting this together but with Botkit as well... I don't know. That's frustrating dealing with multiple APIs. Botkit is adding support for Facebook too.

Would be nice to have one. [https://github.com/howdyai/botkit](https://github.com/howdyai/botkit)

<comment><USER6> Heh, I saw that Botkit had added Facebook support pretty much right after I released messenger-bot a couple days ago. I probably wouldn't have bothered making this library if I had seen it before.

However, I do think messenger-bot serves a slightly different purpose than Botkit might. messenger-bot is mostly just a library over the Messenger platform, with some events and convenience functions. Botkit is a bit higher level though, since it includes extras like conversation sessions, pattern matching on messages, etc.

I think both libraries have their upsides and downsides, depending on the use case. Up to the author to choose what's best for them!

</comment></comment><comment><USER6> Hey! I'm the creator of this package; nice to see it on HN. If anyone has any questions or feedback, let me know. :-)

<comment><USER7> How likely is facebook to block it?

<comment><USER6> Only if Facebook shuts down their Messenger Platform! [https://developers.facebook.com/docs/messenger- platform](https://developers.facebook.com/docs/messenger-platform) They just recently launched it at their F8 developer conference.</comment></comment></comment>


More clues point to iPhone nano debut - <AUTHOR> http://www.cnn.com/2011/TECH/mobile/02/14/iphone.nano.mashable/index.html?hpt=T2

<comment><AUTHOR> More links:

[http://www.bloomberg.com/news/2011-02-10/apple-said-to- work-...](http://www.bloomberg.com/news/2011-02-10/apple-said-to-work-on- cheaper-more-versatile-iphone-models.html)

<http://mashable.com/2011/02/10/iphone-nano/></comment>


Ask HN: How do you deal with computer eye strain? - <AUTHOR> I've been spending 6-7-8+ hours a day on my computer, and it's starting to seriously affect my vision. Anything more than a few feet away gets blurry, I'm super-sensitive to light, my eyes are constantly watering, etc.<p>How do you deal with staring at a computer all day? <comment><USER2> Honestly, you should be taking breaks. Spending 8+ hours a day on the computer is typical for somebody working hard, but taking a break every once in awhile is still essential.

In fact, I've heard a lot of people say that the 30-30 rule has helped them be even more productive. Spend 30 minutes doing hard work on the computer, and then 30 minutes off letting your brain relax.

<comment><AUTHOR> Good idea.. I'll have to try that.

</comment></comment><comment><USER3> Seeing as plenty of people often use a computer that much or longer on a regular basis (not counting breaks to eat or go to the bathroom, obviously), I'm not really convinced it's just the how long you use a monitor. I'd suggest talking to an ophthalmologist for real advice.

That said, I think the usual line is to take a ten minute break every hour. Should be good for your legs, too. But really, talk to an ophthalmologist.

</comment><comment><USER4> Do you have a glossy screen? Switching from glossy to matte helped my eyes a lot.

I also use Flux on my mac, so perhaps that helps.

<comment><USER5> +1 for Flux I use it for over a year and I can't live without it

</comment></comment><comment><USER6> There are some programs you can download to help reduce eye strain - they will remind you every so often (20-40 minutes) to do some eye exercises. I find this helps me if I am having sore eyes - especially looking a few inches above the monitor into the distance (20+feet).

I also find that if I am wearing glasses, going to contacts helps, and vice versa.

</comment><comment><USER7> I use the zenburn theme for everything. In emacs, xmonad colors, my terminal colors, in _everything_. It's very easy on the eyes.

</comment><comment><USER8> have you seen a doctor? sounds like you may need glasses or something... your symptoms seem extreme to me.

do you have a nice big monitor?

</comment><comment><USER9> Getting outside and looking far distances a couple of times a day (walking/cycling) gives my eyes enough exercise. Maintaining focus at one point for extended periods kills my eyes.</comment>


Forget Silicon: How to Be Steel Valley - <AUTHOR> http://sonyalabs.com/2008/07/can-web-startups-be-a-burgh-thing/

<comment><USER2> I was surprised by how many Pittsburgh hackers were at YAPC::NA this year. The PPW (Pittsburgh Perl Workshop) made a pretty impressive showing with lots of T-shirts around and people talking about it quite a bit, and Pittsburgh.pm won the bidding to be the location of YAPC 2009. The city was completely off the map for me until I realized how many hackers are working there. I'm looking forward to visiting next year for YAPC, anyway. I dunno that I'd want to start a company there, but maybe it's an ideal escape from the high cost of living here in the valley. But the same could be said of Austin, and I'm not wishing I'd stayed in Austin to build my business.

<comment><USER3> Well, Pittsburgh has CMU which is arguably one of the best computer science schools. It follows that there are going to be hackers around.

Also, the original YAPC was at CMU, that's why it's being brought back for the 10th anniversary.

</comment></comment><comment><USER4> For what it's worth, I am from Pittsburgh and intend on starting a startup in the Burgh. I have a lot of pride in the Pittsburgh region and consider it a goal of mine to help do a my small part to re-energize the city.

<comment><AUTHOR> Awesome. Drop me a line if I can help in any way or just to be in touch.

</comment></comment><comment><USER5> Anyone here in the 'Burgh and interested in machine learning and/or anything related to natural language/comp ling? I'm a research programmer at CMU, taking classes in the above areas with my tuition benefit to get back up to speed (I had previously been out of this field for several years).

I'm interested in talking to and/or meeting anyone with similar interests and an entrepreneurial bent (or any hackers doing something entrepreneurial in Pittsburgh at all, for that matter).

<comment><AUTHOR> Maybe I should just come up with an acronym for drop me a line. We should sit down and chat sometime. The address is in the profile.

<comment><USER6> Me too.

</comment></comment></comment><comment><USER7> I reckon you should call it "steelicon valley". Pretty catchy, huh?

</comment><comment><USER8> I am employed at a Pittsburgh tech startup (www.pittpatt.com). There seems to be alot of benefits from our perspective to Pittsburgh. The primary difficulty is the prebuilt assumption in the CS/EE programs that you need to leave Pittsburgh to get a good job.

<comment><USER9> Take a lesson from Spolsky and market directly to the CS/EE school - either on your own or as part of a startup group. Don't wait for students and grads to figure out you're there.

</comment></comment><comment><USER10> AlphaLabs seems to be offering six-month tourist visas to foreigners. The foreigners happen to be startups, but they do get a house to live in and a little walking-around money.

If they find further rounds of funding in Pittsburgh, there might be a danger of them overstaying. But when it comes to companies that have already demonstrated that they're pretty eager to move where the opportunity is, I wouldn't worry about it.

<comment><AUTHOR> I'm not sure I understand what you mean. The immigration talked about is only tangentially international immigration. It is more about people who already have the right to work in the US immigrating to Pittsburgh. The other immigration problem is more of a national one and has been the subject of much longer and better articles and posts.

I don't think AlphaLab is offering six-month tourist visas. Doing something like AlphaLab or YC on a tourist visa is likely to be illegal, and I think they would fund a company with people who are abroad only if the circumstances are right. It is still up to the USCIS to grant the visas, anyways.

<comment><USER10> I was not being literal. Pittsburgh has so much talent that they don't need an incubator that attracts it from elsewhere. They need more appeal to the talent that's already there, like the founders of Buxfer.

By the way, to all who want to understand the deep roots and historical foundations of how the Bay Area got where it is in this ecosystem, let me be the millionth YC reader to recommend The Secret History of Silicon Valley: <http://news.ycombinator.com/item?id=101527>

<comment><USER11> Except, Alphalab primarily appeals to the talent in Pittsburgh. Of all the companies selected for funding, ours (Sonyalabs) is the only one which was founded by non-residents.

<comment><USER10> Cool. I'm being too gruff. If they shake loose one more startup in the area, even if they have to decamp to warmer climes when their lease is up, that's a great thing for Pittsburgh.

</comment></comment></comment></comment></comment><comment><USER12> I was happy to see Alpha Labs - we're about 1.5 hours north of Pittsburgh, and plan on applying for the next cycle.

<comment><AUTHOR> Best of luck with that! Drop me a line if I can help in any way.

<comment><USER12> Thanks - would love to talk to you about the experience - shoot me your contact info: ak @ my-yc-username dot com

</comment></comment></comment><comment><USER13> Wow, this post has brought out a bunch of Pittsburghers...

You guys want to get dinner/drinks some time?

<comment><USER6> I do! How about Friday night 7/18 or Saturday night 7/19?

<comment><USER13> Either night works for me..

</comment></comment></comment><comment><USER13> Pittsburgh is already the Carbide Valley, for what that's worth.</comment>


Devver Promises To Speed Up App Testing For Ruby Frameworks - <AUTHOR> http://www.techcrunchit.com/2009/06/19/devver-promises-to-speed-up-app-testing-for-ruby-frameworks/

<comment><AUTHOR> Disclosure: I'm one of the founders of Devver. We're currently looking for companies with long-running Ruby test suites to try out our beta. We're also hiring <http://devver.net/jobs></comment>


Show HN: Native Analytics (work in progress) - <AUTHOR> http://swapped.cc/native-analytics

<comment><AUTHOR> I've been mulling over the idea of writing my own analytics package for a while now, and finally decided to sit down and do it. NA is a simple web analytics package that runs on a target web server, feeds directly from the server's web traffic and requires no tracking Javascript code to be placed on site's pages.

I'm early in the process, so any ideas and feedback is welcome.

</comment><comment><USER2> Building analytics from access logs is massively unreliable. I have a few domains that answer for http traffic but only serve "Welcome to nginx". When I tail the access logs I see thousands of requests from obvious bots, but also that traffic seems to be pretending to be other forms of traffic also.

There are some bots that pretend to be phones browsing around, IE, firefox.

Just remember that relying purely on access log analytics isn't something that will return accurate results.

<comment><AUTHOR> I wouldn't call it _massively_ unreliable from what I've seen so far.

For one it is offset by the fact that the site it is used on is Ajax'ed, so it is fairly simple to filter out those who poll just the container page and don't follow up with querying any actual content. For two, I'm getting good at detecting bots by simple filtering by User-agent strings and IPs. So it is far from the picture of an utter disaster that you describe.

</comment></comment><comment><USER3> I'm curious as to why you chose to stick code into your web application to explicitly insert log entries into a database rather than using the built in logs that the server provides.

After all, the web logs that Apache spits out match your schema almost identically. They're perfectly parseable and have the advantage of being parseable at intervals (possibly from a different server) rather than forcing an insert from every page load.

By doing things this way, you essentially remove the ability to scale the application that's being logged. You're doing at least one database insert per page load, thus destroying any gains you might have seen from caching the content you're displaying. And of course, you can't actually cache anyway, since you need to actually run the PHP script for the page in question so that it will fire the database insert to register a hit.

So yeah, I'd suggest dropping that step and just having a worker swing by every once in a while, pull up the logfile, see what's new and bulk insert it into your database. Preferably, with said database and said worker all living on another machine so that they don't bog your production box.

<comment><USER4> Parsing Apache logs is not the answer. Keeping things in a sensible format is the beginning of the answer.

Parsing a "line like this" is "\"harder than it looks\"".

<comment><USER5> Parsing Apache logs isn't hard. There's a well-defined spec for them. Of course you have to keep track of stuff like escaping, but that's pretty trivial.

<comment><USER4> No, it actually is difficult. I put this question forth to a bunch of people, and lots of them tripped over something.

I'm beginning to think it's a decent "weed-out" question.

</comment></comment></comment></comment><comment><USER6> I am really interested in your project. I am working on an service where I think analytics will have a big benefit to my customers. I am struggling with rolling my own or using a 3rd party service. Both have pros and cons. I think in the end rolling my own will be the way to go, since I want to show users how many people visited their site ( and how many people contacted them) in a very simple way. Basically just show them the two numbers.

PS: I am in Calgary (go flames go) :-)

<comment><USER6> Are you aware of this project: <http://www.openwebanalytics.com/>

<comment><AUTHOR> I've seen it, but I haven't used it.

</comment></comment></comment><comment><USER7> Other open source js based web analytics include: <http://piwik.org/> (It is pretty much GA on your server)

Are there any frameworks that combine server-side logging (apache), application logging (django app log) and pull in data from google analytics?

Any recommendations for an open source "dashboard" app?

</comment><comment><USER8> Another advantage of "native" analytics is to capture downloads of all file types. Google Analytics does not know about your PDF downloads (unless there is something I don't know about), and or me that is quite important.

I hope you figure out how to block referrer spam. I use both GA and awstats as provided by my webhost, and the numbers are widely different. The referrer list at awstats is almost useless since I get hundreds of hits from viagra selling sites etc, despite the fact that I don't publish the referrer list publicly anywhere.

<comment><USER7> For anything other than page loads, you need "Events":

[http://code.google.com/apis/analytics/docs/tracking/eventTra...](http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html)

for example:

       Play

<comment><USER9> This doesn't track when you right click and click download or open in new tab.

<comment><USER7> Interesting. Do you know of a work around for "open in new tab"? Would "save link as" be counted?

I guess the server side logs would come-in handy in that case.

<comment><USER8> Also doesn't track when people go directly to download your files, for example finding PDFs through Google Scholar.

</comment></comment></comment></comment></comment><comment><USER10> What are the disadvantages of 3rd party services? Are you really giving away secrets to 3rd party services?

Also, whats the realistic percentage who disable javascript nowadays? Does AdBlock really block javascript? Does it really impact 3rd party services that use javascript to record the visit like say Google Analytics?

<comment><USER11> AdBlock subscriptions certainly come with comprehensive lists for blocking analytics snippets. Even very obscure ones.

</comment></comment><comment><USER12> How is this different from the server-side analytics packages such as AWStats, Webalizer, Open Web Analytics, Piwik?

<comment><AUTHOR> tl;dr - reinventing the wheel is the only way to build a better wheel :)

Seriously though - I have used some of these in the past (settling however on Mint, which is not open-source in its common sense), none were perfect. I am a programmer, not a sysadmin, and it is more interesting for me to write something than to mess with package dependencies, default installation paths and what not. Digging through someone else's code and trying to bend it to my needs is not the best pastime either. On the other hand, writing analytics from scratch gives a chance to build _exactly_ what I need, especially when it comes to the reporting function and the UI. In fact, in the UI/UX department I am pretty sure I can do better than existing O/S packages.

</comment></comment><comment><USER13> One big problem for me with server-side analytics : you can't use CDN (like CloudFlare).

Or nice caching.

Your setup need that requests hits PHP, but most requests hits Varnish on most setups.

<comment><USER14> Yes. Right now we are looking at installing an affiliate plugin on a Magento site with Varnish caching. Instead of inventing a new Magento/Varnish plugin, we are planning to use a javascript-driven solution.

</comment></comment><comment><USER15> > Javascript dependency - not relying on the browser-side code to capture a > page visit means that the NA can correctly account for clients using > NoScript and AdBlock.

> Privacy - capturing the analytics data directly on the web server means not > sharing it with other parties. For some people it is not an issue, but for > others, me included, it is.

The requirements are very artificial IMO

<comment><AUTHOR> To each his own, but do elaborate. I'm interested to hear why you think they are very artificial.

</comment></comment><comment><USER16> Looks cool. But what is the advantage of this over Mixpanel?

<comment><AUTHOR> The main advantage is the lack of dependency on a 3rd party service.</comment></comment>


Bumper-Sticker Computer Science (1985) [pdf] - <AUTHOR> http://www.bowdoin.edu/~ltoma/teaching/cs340/spring05/coursestuff/Bentley_BumperSticker.pdf <comment><USER2> "The sooner you start to code, the longer the program will take."

I certainly benefit from regular reminders of this.

<comment><USER3> I'm a little stumped by that, I'm all for repl oriented development, ~zero round trip time etc etc but I have to admit that when you thought the problem through in your head long before writing any, then the right code will fall through. So are instantaneous cycles good or bad ?

<comment><USER4> _So are instantaneous cycles good or bad ?_

Three pounds of flax.

<comment><USER5> (price of)

 _To the extent that [Agile software development] is [an excuse for not thinking], it 's a bad thing._ \- Leslie Lamport

</comment></comment></comment></comment><comment><USER5> I went through each quote carefully while adding some missing ones to my fortune clone/database at [https://github.com/globalcitizen/taoup](https://github.com/globalcitizen/taoup) and noticed two things versus modern sources: (1) The weight lent to optimization related concerns seems higher than today. (2) Comprehension of the non-electronic context of programming seems higher than today.

I think these are probably valid cultural reflections, potentially ascribable in part to the (edited, time-lapse) nature of paper-publishing versus electronic.

</comment><comment><USER6> I've always been fond of Thompson's rule for first-time telescope makers: "It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror."

</comment><comment><USER7> With regards to the Linux kernel bug in another thread today...

"The first step in fixing a broken program is getting it to fail repeatably" \- Tom Duff / Bell Labs

</comment><comment><USER2> > Don't make the user provide information that the system already knows.

I wish the IRS followed this advice.

</comment><comment><USER8> If this was published now, it would be "Computer Science in a Tweet"

</comment><comment><USER9> It was published 1985. Wonder if anyone is not applicable now?

<comment><USER10> "Allocate four digits for the year part of a date: a new millennium is coming."

Nobody starts projects using two digit years anymore, right? And most of the existing software that did was patched and or replaced for Y2K.

Also the part about a new millennium coming is temporarily not applicable.

<comment><USER11> Heh. That's my dad's quote - I remember seeing that page tacked to his office cubicle wall back in the 90s when Unisys still employed programmers who had office cubicles.</comment></comment></comment>


Potential AIDS Cure: A protein provides strong protection from HIV replication - <AUTHOR> http://online.liebertpub.com/doi/abs/10.1089/hum.2012.176

<comment><AUTHOR> Non-scientific press:

* <http://www.globaltimes.cn/content/756205.shtml>

* [http://www.couriermail.com.au/news/queensland/queensland-res...](http://www.couriermail.com.au/news/queensland/queensland-researcher-david-harrich-develops-gene-therapy-which-could-stop-hiv-from-turning-deadly/story-e6freoof-1226554632040)

* [http://www.theaustralian.com.au/news/health-science/hiv-muta...](http://www.theaustralian.com.au/news/health-science/hiv-mutation-lights-way-to-a-cure-for-aids/story-e6frg8y6-1226554652125)</comment>


Unicorns Seemingly Reach a Tipping Point - <AUTHOR> http://techcrunch.com/2016/02/10/doomed-i-corns-unicorns-seemingly-reach-a-tipping-point/ <comment><USER2> I work at a unicorn company... that is technically not a unicorn, and not listed on most of the unicorn lists. For most of these lists the companies considered unicorns are ones that have a valuation of over $1B and it took less then 10 years for the company to get there.

The company I work at took... 11 years to get to this valuation, so it's not on the list. It took this long because there were very few investment rounds, as the company has been profitable from year 3 onwards.

I am pretty amused at how it's only the valuation that counts to be a unicorn - for example there are some companies who took $300M in investment, are burning really heavy cash, and have the $1B valuation since the last, $200M round. The media covers these companies much more extensively then they have ever covered us, or similar companies who are doing well and just don't take further investment. Just looknig at the financial structure, cash flow and market saturation, there are good unicorns, bad unicors and then the ones in between.

Before joining any company, unicorn or not, just do your due diligence. All companies will tell you how insanely much the options will be worth assuming the 50% annual growth the next 5 years, and winning big in the market. But a share or option is only a promise, and it's only as good as the company, the team, the founders - and the economy.

<comment><USER3> Perhaps the cash burners burn more on PR to get into the news?

<comment><USER4> no it's because they don't make enough revenue

</comment></comment></comment><comment><USER5> I'd be curious to know what percentage of founders are taking money off the table during these rounds. For as many of these articles that I read I don't see much about that. De-risking their personal stake by 3-10M could be a motivating force in these high valuation rounds but I don't see evidence either way. Because on its face these unicorn rounds seem to increase risk rather than reduce it in a few dimensions.

<comment><USER6> It's exceedingly rare for founders to be allowed to take money off the table during these large rounds. According to leaked emails from Sony, investors balked when Evan Spiegel of Snapchat tried to unload $40M in personal shares - just after he had turned down a $3B offer from Facebook. The founder of Twitch wanted to take some money off the table at a ~$200M valuation nine months before it was sold to Amazon for $970M, and he was also rejected [1]. If they aren't giving cash to founders of companies like Snapchat and Twitch, there likely aren't a whole lot of other people that are getting it either.

[1] [http://justinkan.com/the-99-percent](http://justinkan.com/the-99-percent)

<comment><USER7> I think sama mentioned that it's now more common for founder to take some money off the table starting at their B round. It makes sense, you don't that the entrepreneur focused on their money problems. A little financial can go a long way with your family.

</comment></comment></comment><comment><USER8> The unicorn phenomenon is the result of hot money looking for any kind of return in a zombified financial system. Tech has had a good run the last ten years but things like QE have contributed to turning the sector into something of an asset bubble. But will it be allowed to burst? I'm not so sure. The central banks now have a vested interest in keeping these bubbles (whether in real estate or stocks) going for as long as possible. A few more rounds of QE and Twitter and LinkedIn might be back up in the clouds again.

<comment><USER9> Tech is small potatoes in the global financial system, and the losers in a unicorn bubble burst are a small set of private investors. I doubt there will be any bailout for tech, nor will there be any major hangover like the dot-com bust. Rather, a few entrepreneurs and investors who made bad bets will exit the market, and their places will be taken by new entrepreneurs and investors who were more prudent. Capitalism at its finest.

If we're predicting upcoming bailouts from this crash, I would bet on U.S. oil companies and everything big in China. China could potentially cause a massive earthquake in international trade.

The student-loan bubble is also a massive debt overhang that could cause huge repercussions, but I don't see a trigger that would cause it to burst.

<comment><USER8> Tech is a big part of the US stock market (significantly bigger than it was before the financial crisis began). The question is: would the unicorn bubble bursting then contribute to a loss in faith in tech in general by investors, a NASDAQ collapse and a haircut for the likes of Apple and FB? We could well be on our way to QE to infinity and beyond. House prices in parts of the UK are 17 times salary now (against a historic average of 4 or 5), which all comes down to central bank policies over the last 20 years. The new (ab)normal might be here to stay, although I'd take a punt on alternative currencies in the meantime.

<comment><USER10> These unicorns are not really tech companies tho'. What tech do they sell? They are ad companies or regulatory arbitrage plays, with an app and a website, that's all.

<comment><USER11> It's the app and the website that make them tech companies.

<comment><USER10> Then every company is a tech company. You know Pizza Hut has an app now?

<comment><USER11> Did they develop it themselves, or did a tech company make it for them?

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Unicorn tipping. Like cow tipping, but way more challenging.

Jumping into the article...

> the media has been almost singularly obsessed with companies valued at north > of a billion dollars

Wow, Techcrunch. That's the pot calling the kettle black. Don't you think?

Markets create zig-zaggy lines. Media will be there to report on every zig- zag. We'll waste our time reading these articles thinking they are important.

</comment><comment><USER13> It seems obvious that tricorns are a much more stable design.

<comment><USER14> Who puts hats in a stable?

At least with unicorns it makes sense.

</comment></comment><comment><USER15> I don't know who invented the term 'unicorn' but it's getting increasingly more ironic.

<comment><USER16> I do like reading "unicorns do X" and imagining real unicorns doing that.

<comment><USER17> Real unicorns don't give a rat's ass about the valuation of your startup.

</comment></comment></comment><comment><USER18> > _if he couldn't get a billion-dollar valuation straightaway for his company, > he wouldn't raise capital at all, saying the valuation was a "psychological > threshold" for "certain types of customers"_

In psychology, this is referred to as Projection.

<comment><USER19> If this wasn't Slack that it was referring to - I think I'd agree.

However, if I remember correctly, it was basically Stewart taking advantage of the investor frenzy and putting a ton of cash in the bank.

It's not like they're burning it on ads or promos like Groupon or Uber. My feeling was they were taking advantage of the investing environment to really shore up their cash reserves - no matter the valuation.

<comment><USER20> Stewart Butterfield seemed remarkably astute in the reasons he gave to the NYT as to why he was raising the money when he didn't need it:

"It's pretty straightforward. I've been in this industry for 20 years. This is the best time to raise money ever. It might be the best time for any kind of business in any industry to raise money for all of history, like since the time of the ancient Egyptians. It's certainly the best time for late-stage start-ups to raise money from venture capitalists since this dynamic has been around.

And as a board member and a C.E.O., I have a responsibility to our employees, to our customers. And as a fiduciary, I think it would be almost imprudent for me not to accept $160 million bucks for 5-ish percent of the company when it's offered on favorable terms."

It surprised me in the 1999 boom and crash how few players seemed to recognise there was a bubble and game the system. Most of them believed the hype and went bust. Only a few seemed to recognise their valuations were crazy and that could be taken advantage of such as AOL merging with Time Warner. I think Butterfield is one of the few to recognise the hype and take advantage this time around. Many others are using the available cash to hire excessive numbers of expensive employees which may bring them down when things dry up.

<comment><USER21> Thanks for pointing that out. The full NYT interview can be found here [0].

[0] [http://bits.blogs.nytimes.com/2015/04/16/is-slack-really- wor...](http://bits.blogs.nytimes.com/2015/04/16/is-slack-really- worth-2-8-billion-a-conversation-with-stewart-butterfield/?_r=0)

</comment></comment></comment></comment><comment><USER22> So, I'm dubious about anyones ability to actually see a tipping point in advance, but if this is the case how do software engineers (as opposed to founders etc) protect themselves?

<comment><USER23> Buddy, it already happened. It'll take a year to catch up to most of you, but the "point" already "tipped" months ago. If your job fundamentally relies on inflated financials, prepare your butt and your resume. Maybe apply to work somewhere that is very well established and clearly has positive noncyclical cash flow.

<comment><USER24> When was this tipping point? What is the evidence that supports it has already happened?

<comment><USER9> IMHO, August 2015. It's usually better not to bother trying to convince others, though; just bet your book and either you're right or wrong, but at least you won't have wasted your time.

</comment></comment></comment></comment><comment><USER25> "Unicorns reach a tipping point" is one of those phrases that are going to give future historians work to do.. Did 21st century people believe in unicorns? Was unicorn tipping like cow tipping?

</comment><comment><USER26> Does anyone else think this title is ridiculous?

</comment><comment><USER27> ...just months after TC seemingly can't run itself out of breath highlighting and hyping up all these same companies enough. Constant fanfare or doom, all hyperbole, nothing in between or representative of reality which is somewhere in the far less exciting middle.

<comment><USER28> This is true of financial journalism in general, imo.

<comment><USER29> As long as the market is moving, you can always make money.

<comment><USER3> If it's stagnant, you can still sell options.</comment></comment></comment></comment>


Var and val in Java? - <AUTHOR> http://blog.joda.org/2016/03/var-and-val-in-java.html <comment><USER3> I wish the Java Language committee would stop wasting time and just blatantly copy C# already. The answer is "var", and it was always var, and it will always be var. But they're dragging their feet because they want to be different from C# out of some misplaced spite (Which is how the last debacle with the lambda notation happened).

Just do what C# did. Then rinse lather and repeat for Generics, Async/Await, Auto-Properties, and Extension methods. And all the features I don't know about in C# 6 because I've been stuck in the dreary land of Java since before that came out.

<comment><USER4> I disagree. The answer is not just "var" because you have now completely dismissed local variable immutability (something C# does not have). Did you read the link you are responding to? I am also not sure why you believe they want to be different "out of some misplaced spite"...any source for these claims? Finally, Java needs to be easy to parse and backwards compatible, and after all it does have many runtimes by other companies. What if I had a class named "var" (which does happen in auto-generated code)? These things need to be discussed out in the open (something C# did not do during those older decisions). As for the other features you mention, there are many reasons why they are different and many people can argue in favor of Java's approach (e.g. generic type erasure is backwards compatible as opposed reification, async/await are library problems not language ones, etc). They are different languages, they take different approaches to changes, and I believe it is unfair to hand-wavingly dismiss it as "wasting time".

<comment><USER5> > The answer is not just "var" because you have now completely dismissed local > variable immutability (something C# does not have)

It is something that C# does have. It just doesn't allow immutable variables to be implicitly typed, i.e. you can't write something like "const var x = 0;" This lack of let or val in C# is a reminder that "var" was introduced in the language not just to reduce visual clutter, but to support anonymous types, which were in turn introduced to greatly enhance LINQ experience allowing for such nifty feature as "let" clauses in query expressions...

</comment></comment></comment><comment><USER6> One aspect that the author mentions only in passing–but is interesting to look at in more detail–is to understand how Scala has solved this in a very consistent and satisfying fashion:

Instead of mixing "you can't override this in a subclass" and "you can't reassign this value" as Java did with final, it clearly separates these concerns:

      class Foo {
              var qux = 1.23
              val bar = 42
        final var fiz = "fiz"
        final val wow = "wow"
      }

      (new Foo).qux = 2.34  //   valid
      (new Foo).bar = 23    // invalid
      (new Foo).fiz = "fuz" //   valid
      (new Foo).wow = "wew" // invalid

      class SubFoo extends Foo  {
        override var qux = 2.34  //   valid
        override val bar = 23    //   valid
        override var fiz = "fuz" // invalid
        override val wow = "wew" // invalid
      }

<comment><USER3> I know C# and Java, but not Scala.

That is NOT at all clear for me. Why is: (new Foo).fiz = "fuz" // valid?

fiz is Final! Why would you be allowed to re-assign a final variable on an instance??

<comment><USER7> Final does not mean immutable, but non-overridable through inheritance. The val keyword is what makes things immutable.

</comment></comment></comment><comment><USER4> I believe "var" and "final" is better than "var" and "final var" respectively. I mentioned this before[0] but was told that a 5 letter word was too much. I disagree, I use "const" regularly in es6 even though "var" and "let" exist. Currently "final" is rarely used for local variables and I think this would encourage its use. Unlike the author, I am excited for local type inference to remove unnecessary cruft that I don't believe adds too much. Also, for many it can reduce the amount of imports. I just hope there is never return type inference.

0 - [https://news.ycombinator.com/item?id=11261608](https://news.ycombinator.com/item?id=11261608)

</comment><comment><USER8> Well, I just looked through the authors recent activity on GitHub, and stuff like this:

> SecurityPositionCalculationFunction function = new > SecurityPositionCalculationFunction();

is exactly why Java needs var/val/whatever decide already (PICK ONE! DON'T RUIN THIS JAVA!).

So I'm not sure why he would pick some piece of code that violates the simple rules the C# team suggests and then burn that strawman with a flash of gasoline.

<comment><USER9> His argument hinges on certain language syntax being awkward when mixed with declaring local variables final, something I've never seen. He asserts it's "a reasonably common coding standard", but again, I've written a lot of java code and never seen this in a coding standard. I skimmed projects I use on apache and don't see it there either. Maybe it's a finance industry thing?

That said, I'm grateful for joda, and Stephen has written a hell of a lot of (good) java...

<comment><USER10> I like adding final to most of my local variables. I can declare a variable final, and no matter how complicated the control flow is that assigns its value, I know the compiler is enforcing that it's only set once. It also avoids accidental = rather than == bugs.

</comment></comment></comment><comment><USER11> Type inference is antithetical to the whole ethic of Java, which is to develop programmers' discipline by making them perform rote tasks commonly done by a compiler.

It would also harm the professional users, lowering their productivity as measured in keystrokes/day.

<comment><USER12> (I accidentally upvoted you, but wish to explain why I wanted to downvote you):

That's just an attack that doesn't really contribute.

Java's concept is more about backwards compatibility, and compatibility with generated code.

Which, btw, is why a lot of the tasks that should commonly be done by a compiler can be done by a compiler in the Java world as well.

Look at what JavaPoet and Lombok can be used for.

<comment><USER11> Sorry, I carry the mental scars of a victim of the platform. Seeing that this is still being debated, a _decade_ after Scala, is simultaneously mind boggling and unsurprising. If a single person takes my comment as a life preserver rather than an attack, the world will be a better place.

The problem with "code generation", especially IDE-based, is when the programmer still has to worry about the resulting complexity. _Reading_ code is harder than writing it, because understanding is what takes the mental work. So a language should seek to preserve intent and human-meaningful structure as its primary goal.

I mean, take this idea of a "pattern" that is manually macro^Wexpanded - <USER2> the best case, a later developer reads many lines and immediately recognizes the single concept. But likely they recognize the general pattern and miss a slight difference, because the human brain works by glossing over details.

Scala cut through much of the bullshit, and Clojure is a _beautiful_ piece of work. But the primitive concepts of the underlying platform still remain as a crooked foundation. They seem fine when you're just reacting to them, as all programming requires accepting some layer of abstraction. But eventually you realize you're committed a long series of seemingly reasonable compromises (dependency on the massively complex JVM, community libraries that embrace unnecessary complexity, poor startup time, reliance on a single vendor, and the aforementioned "half-way" abstractions that represent neither your machine nor a simple high level model) and you snap, seeking out better abstractions that can be both _relied upon_ and _transparent_ when needed.

But hey, just because _I 've_ been through this doesn't mean you need to take my comment as sarcastically as I've written it. The same sentiment will undoubtedly be earnestly expressed by actual Java programmers still stuck in that tar pit, talking about explicitness, IDE completion, general uniform verbosity, and simplistic conservatism. And I personally quite like the hope in the analogy to the seasoned master starting an apprentice off with a toothbrush to scrub floors, so that their struggle will encourage them to grow.

<comment><USER12> You should really check out to projects I mentioned.

In the Java world, we've abandoned IDE autocompletion years ago.

Annotation processors are the magic of the day.

You write an annotation into your class, say @ToString, and a tostring method is generated during build — it never shows in the code.

In the same way you can use annotations to do compile time dependency injection resolution, or to do compile time expansion of ORM bindings.

You write just plain Java, add annotations, and everything else is done by the — expandable — compiler.

<comment><USER11> I had briefly looked them over. There's always room for incremental progress, and a Lisp like Clojure even tackles the issue of syntactic transformation in a mic-dropping fashion. Yet it still can't address other problems I mentioned with the platform.

In general, none of my objections are insurmountable - any specific issue will have an obvious solution, as one would expect in a Turing-complete language. But this is what makes the tar pit so insidious, as you pay the mental overhead of workarounds every time you need to cross the abstraction barrier.

</comment></comment></comment></comment></comment><comment><USER13> Please. No. Java's beauty is that it is explicit, and that greatly reduces errors. Your IDE takes care of this crap anyway.

<comment><USER14> I never once had a bug resulting from the use of C#'s var in 10 years of dev work. Not once.

And I disagree with OP's notion that adding var to Java is at the expense of the reader. There is no expense, var improves code readability dramatically.

These sound like arguments Java devs came up with through cognitive dissonance to hold on to the notion that Java's language features are superior to C#'s, they are not.

<comment><USER13> No, no need for the straw man attack. I don't think they're superior, but there already is "one way" to do it in Java, and it should stay that way to avoid creating a mess. Whether or not it is superior is likely a very subjective debate that I could argue both ways in.

</comment></comment></comment><comment><USER15> I really don't like var/val definition. My issue is that it makes it nearly impossible for someone who is not familiar to the language or to the code base to jump in and start fixing.

Could someone please tell me the following: How do I tell the type of x?

        var x = callSomeRandomFunction()

We have to go look in callSomeRandomFunction, don't we? Now how easy will it be to do that if you have 15 variables and calls to different functions?

How do you know what types are iterable and what types aren't?

What I love about the way explicit definition works is that you are _almost_ guaranteed that in a function you have the type that you are looking for.

If they kill that, they kill one of the greatest parts of Java: the parts that make it not only easy to write but easy to understand.

<comment><USER9> Are you seriously arguing we should optimize the java language for people who aren't familiar with the language?

<comment><USER15> I'm saying that a language should be easy to understand by anyone.

Hell, I'd have a hard time debugging new code if I saw var x, y, z;

Var means nothing! It has no implicit meaning. It just means whoever wrote the code was too lazy to write out the type names.

If you agree with that or not, just know that the few seconds it would have taken you to type out a full type name will probably save someone debugging your code in the future hours and make it infinity easier for someone who comes along and needs to start working on your code base.

<comment><USER3> Well, lucky for you "var x, y, z" is never going to happen in a statically typed language.

dynamic, on the other hand....<looks shiftily into C#'s direction>

J/K. I Love dynamics.

<comment><USER16> > Well, lucky for you "var x, y, z" is never going to happen in a statically > typed language.

Why not?

        let (a, b, c);

is perfectly valid Rust, it just declares 3 locals a, b and c.

<comment><USER15> What type are they?

<comment><USER17> Depends on what you assign to these variables.

        fn main() {
            let (a, b, c);
            a = true;
            b = [1];
            c = "foobar";
        }

[https://play.rust- lang.org/?gist=ebedd0cd5b6707410aff&versio...](https://play.rust- lang.org/?gist=ebedd0cd5b6707410aff&version=stable)

<comment><USER15> That's my problem. YOU can't tell. You cannot just look and see what is going on.

<comment><USER16> Sure you can, it's pretty clear that a is a boolean, b is an array on the stack and c is a string. If the code is so complex you can't eyeball a local scope you probably have bigger problems than whatever the type of the variables are, and if you get one wrong the compiler will yell at you.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> I don't care what you do or how you define them, don't have both `var` and `val` in the same language. Way too easy to confuse.

</comment><comment><USER19>
        It is the mixture that is all wrong, and it is that mixture that you do not get in Scala or Kotlin.

Why don't we get that mixture in Scala? final is a valid keyword there, too.

        scala> final var x = "y"
        x: String = y

This works, even when it's not used. This would be just a matter of time in Java when nobody will use the `final var`.

</comment><comment><USER20> What the hell is this website? I go on and i get 20 popups and alerts about how I'm the millionth visiter or something. Is it 2007 again?

</comment><comment> guard-of-terra I vote for val - immutable reference/value.

Java needs easy syntax for immutable, while having inferred mutable is questionable.</comment>