Lawsuit: Autopilot didn't prevent Model 3 from driving under semi at 68 MPH - <AUTHOR> https://www.sun-sentinel.com/local/palm-beach/delray-beach/fl-ne-tesla-autopilot-lawsuit-20190801-zokyrcqxz5cn7jpjeenaoud6iy-story.html <comment><USER3> As the article notes, the driver killed in this case died in circumstances to similar to the very first driver killed using Autopilot in 2016 [0]: driving into the side of a tractor trailer. However, back then, Tesla implied that the Model S cameras may not have seen the tractor trailer because of the lighting conditions:

> _Neither Autopilot nor the driver noticed the white side of the tractor > trailer against a brightly lit sky, so the brake was not applied._

The trailer in this recent case was also white (not sure what the lighting conditions were). Regardless of whether it is legally the driver's fault, how can AP be making what seems to be the same exact error 3 years ago when Musk says Telsa's full self-driving will be ready in 2020? White trailers are not exactly an edge-case on U.S. roads.

(worth noting that in 2016, Tesla's AP was built by Mobileye; now it is in- house)

[0] [https://www.tesla.com/blog/tragic- loss](https://www.tesla.com/blog/tragic-loss)

<comment><USER4> It's a broad side of the trailer which is a challenge. Tesla will stop for the rear-end of a trailer, but may disregard the broad side of a trailer stretching across the highway because it looks too much like an overpass.

Definitely corner cases like the broad side of a tractor trailer stretched across the highway will prevent FSD from being remotely possible in 2020. Complex traffic light arrangements in multi-lane intersections, unprotected left turns, even driving over a lane marker to avoid a fixed obstacle are still TBD features in the AutoPilot code base.

Those are the features they will be adding in 2019/2020 to get what Musk is calling "feature complete" but regardless of what he has claimed, from personal experience, I do not see how the cars could operate without any human driver in 2020 except under highly constrained conditions like "in parking lot not to exceed 3mph" and even that I think will expose corner cases with cars getting stuck and needing driver assistance.

What I do think we will see in 2020 is a respectable percentage of trips being completed start-to-finish with AutoPilot engaged the entire time.

However, then and now, the driver absolutely, positively, must always be looking out the window when operating AutoPilot.

<comment><USER5> Musk is Tesla's worst enemy here - first in naming the thing "AutoPilot" and then in doubling down with his absurd claims about "Full Self Driving" within a year. What the general public thinks "Full Self Driving" means is Uber - <USER2> get in a car, I set a destination, and it goes there as if a human driver was at the wheel - I can browse the web, take a nap, whatever. We are a decade from that, if not more. But as long as Tesla insists on calling it "AutoPilot (now with Full Self Driving!)" they will keep getting sued when an unfinished technology encounters a problem.

<comment><USER6> I think autopilot is an apt name. It's not like planes on autopilot do everything and just fly themselves. It's more like setting the cruise control. I still need to be paying attention when my car is on autopilot, real pilots don't set their autopilot and then just leave the cockpit.

<comment><USER7> Reminder that the start of the marketing video for Autopilot says "The person in the driver's seat is only there for legal reasons. He is not doing anything. The car drives itself." [0]

[0] [https://www.tesla.com/autopilot](https://www.tesla.com/autopilot)

</comment></comment></comment></comment></comment><comment><USER8> Let's analyze Tesla's statement here, because it's useful training in intellectual self defense:

"Our data shows..."

Note the use of the keyword _data_. This appears frequently in Tesla statements. It implies certainty and technical understanding.

"...that, when used properly by an attentive driver who is prepared to take control at all times..."

Interesting condition.

"...drivers supported by Autopilot are safer than those operating without assistance"

This is garbage logic. It's just saying any errors that aren't corrected by the driver are cases of "not using it properly." Of course the "data" will show improved safety _if you exclude all the accidents._

<comment><USER9> Is it garbage logic?

Dev: "The compiler's automatic error checking didn't catch the array overrun in my code, resulting in a costly security breach!"

Compiler Vendor: "Our data shows that compiler diagnostics, when used by a skilled and conscientious programmer who is prepared to review and test his or her code, reduce software defects compared to no diagnostics, making software development safer."

<comment><USER10> Your examples are garbage logic because array overruns are so harmful that they should be hard errors. Of course, this requires a runtime cost, that can be elided in most cases by the compiler's optimizer. But even low level languages nowadays can be safe by default (see Rust) - the unsafe behavior should always be a conscious, well studied decision by the developer.

</comment></comment></comment><comment><USER11> They really should stop calling it "auto pilot." Because it isn't fit to be used _as_ autopilot in its environment, yet people use it as such.

<comment><USER12> It does exactly what autopilot does in a plane. Which will slam into anything in its path.

</comment></comment><comment><USER13> Driver facing camera has to become standard for systems like autopilot that are still 80% solutions so they can disengage when drivers invariably start leaning on the system too much and start using it inappropriately.

</comment><comment><USER14> Unless the autopilot sped up the vehicle, it sounds like the driver was going _at least_ 13 mph over the speed limit. By speeding, the human driver increased the danger to himself _and everybody around him_.

I truly am sorry he died. But I don't think Tesla should be on the hook for the scenario he seemingly created.[1]

[1] In my ethical framework, adults are responsible for their choices, and in a functioning democracy, for obeying even laws they don't personally like. I realize I'm in the minority on this.

<comment><USER15> I don't think it was the 13mpg over which killed him. It was the lack of braking before impacting the semi.

</comment></comment><comment><USER16> Asking for damages of only $15,000 ?

That seems quite low, are they hoping Tesla will just settle without fighting it since the plaintiffs know their case is weak?

<comment><USER17> The plaintiffs allege "more than" $15,000 in damages. The $15,000 figure is likely just a jurisdictional minimum. In other words, they need to allege damages over that amount in order to stay out of small claims court or something similar (am a lawyer--never practiced in Florida, but this would make sense). It's almost certainly not their full request, and they'll ask for much more at trial.

<comment><USER18> I hope so. When I read that steam came out of my ears. All I could think was the Hulk Hogan got $140M for.. cheating (yeah I know it's more complicated than that) and here we have this poor family that is only going to get $15k. Just... not sure where this world is heading.

</comment></comment></comment><comment><USER19> Ten seconds from engaging Autopilot to ramming a truck, and he didn't see it before he engaged Autopilot?

<comment><USER3> The article doesn't say anything about the truck being in front of the Tesla's path for 10 seconds:

> _The crash in west Delray Beach happened four months ago when a tractor- > trailer pulled out in front of a bright red Tesla Model 3 driven by 50-year- > old Jeremy Banner._

<comment><USER19> Neither did I! But it surely had to be a visible threat. A road where you can drive 68MPH is going to have enough visibility that you'll see a truck that might cross your path at least that far in advance. Especially in flat-as-a- pancake Florida.

<comment><USER3> Is it Autopilot's standard behavior to decelerate/pump the brakes when it detects a vehicle at an intersection? Yes, I agree 10 seconds should be more than enough time for AP to begin preliminary evasive/mitigating maneuvers, but according to what u/zaroth posted [0], the preliminary findings do no not indicate this.

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

<comment><USER19> I'm not saying Autopilot should have handled this. I'm saying the driver should have seen the potential threat sometime before engaging the system, and realized it was not a safe time to let it run unassisted. (It's never truly safe in the current incarnation, but there are degrees.)

<comment><USER3> I don't have a Tesla and so don't know how AP is used day-to-day, but I'm assuming it's frequently activated while driving at highway speeds, even amid traffic – similar to standard cruise control? But you're saying that drivers should never activate AP while driving, if any vehicles are also on the road within 5-10s of traveling speed?

<comment><USER19> Autopilot is a driver assistance feature. You are required to keep your eyes on the road and your hands on the wheel while using it.

Naturally, not everyone does that, although they definitely should. If they do choose to break those requirements, they should only do it for long enough that safety can be assured.

If you use Autopilot for a bit, you get a feel for how it handles different situations, and adjust your attention accordingly. If the road is wide, clear and well marked then I can look far ahead and don't have to focus too much. If I'm in a construction zone driving right next to a barrier, I need to keep a firm grip to ensure it stays away from that barrier and within the lines. If there's stopped traffic ahead, I need to start watching to ensure it brakes, and take over to do it myself if it doesn't.

This guy never should have taken his attention away from the road. If he did, he never should have done it for so long. If he did, he never should have done it in a situation where a threat could turn into danger within that time.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> gdpr-walled in europe

<comment><USER21> What about this archived version?

[https://web.archive.org/web/20190803003025/https://www.sun-s...](https://web.archive.org/web/20190803003025/https://www.sun- sentinel.com/local/palm-beach/delray-beach/fl-ne-tesla-autopilot- lawsuit-20190801-zokyrcqxz5cn7jpjeenaoud6iy-story.html)</comment></comment>


Ask HN: Can you recommend me a lightweight journaling tool - <AUTHOR> I am looking to keep brief notes on what I did every day. The Internet blogs are a overkill.
Here are my requirements: 1. Lightweight 2. Easily migratable 3. customizable look n feel
Nice to have: 1. uses embedded DBs like sqlite 2. written in php 3. Ability to add tags/search by tags <comment><USER2> I'd just use Evernote and use Zapier or IFTTT to back up entries to gdrive/dropbox etc. Fairly decent app functionality across iOS/Android/Windows/Chrome OS/Mac OS. Great build in tagging, ok searchability and even with a free account you'll still be able to add the occasional photo or small PDF relevant to your entry.

I have my Google calendar and Automatic driving history dump to Evernote in appropriate notebooks. The weather also gets added to my Google calendar so gets recorded for each day. Everything gets backed up to my gdrive too as spreadsheets.

Similarly, call logs also get backed up to my gdrive via IFTTT and I use 3 different apps to back up my SMS every 3 days which get filed a few different places.

</comment><comment><USER3> A text file?

I tend to just write stuff grouped by category into a text file, with timestamp tags (today is 180717). Nothing i tried was more comfortable and portable than that.

Standard search function of text editors take care of tags and searching. Picking a text editor is great customization.

</comment><comment><USER4> There's org-mode in emacs. I've got mine setup so that hitting `C-x d` opens up a calendar with today as default selected. I press Enter and it visits ~/org/diary/2018-07-16.org, creating it if it doesn't exist.

</comment><comment><USER5> You may like hugo and markdown for journaling.

Personally I settled running wordpress in a lxc container in my roofspace. The little hp dual-core box runs wordpress, gitlab and a plex media server.

I think sometimes lightweight and simple becomes a pain.

</comment><comment><USER6> I'll recommend Zero AM ([https://www.roastedbytes.com/zeroam/](https://www.roastedbytes.com/zeroam/))

<comment><AUTHOR> This looks pretty good, unfortunately it's windows only.

</comment></comment><comment><USER7> A notebook and a pen.

</comment><comment><USER8> Try workflowy. Not so customizable, but it is easy to make it hierarchical, so things don't get too cluttered. It also handles links well.

</comment><comment><USER9> Single line shell script:

(date ; cat) > ~/.notes</comment>


Y Combinator Startups - Ranked Index - <AUTHOR> http://rankedindex.com/yc

<comment><USER2> Bam! Take that, every other company that's below mine. And, well played, every other company that's above mine. You all totally suck, or are totally awesome, respectively.

<comment><USER3> Out of respect to myself I'd like to think I'm totally awesome... Out of respect to you... Bam!

Really, how's it going?

</comment></comment><comment><USER4> For some of these (Xobni, Loopt, perhaps RescueTime, and others), page views aren't a good metric to measure popularity.

<comment><USER5> How often people check stats in rescuetime online is probably a good measure. Installs on computers is certainly a better measure, though harder to find.

RescueTime could easily track how many computers have RescueTime running offline, but there is a bit of a selection bias there.

</comment></comment><comment><USER6> They say Buxfer merged with Obopay. Would have been nice if they (or Obopay) had told _us_ about that as well.

</comment><comment><USER7> Another interesting metric would be incoming links.

[http://developer.yahoo.com/search/siteexplorer/V1/inlinkData...](http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html)

</comment><comment><USER8> There is only one thing in common, all their names suck donkey balls, whether we accept it or not.

When the top startup is "scribd" we really have a problem we are avoiding, or we don't know how to solve it.

Shame on us...

<comment><USER9> Have you tried to buy a domain name recently? It's tough stuff--even the misspellings are gone.

<comment><USER10> there's always .me

<comment><USER11> The best .me domains were squatted within 48 hours.

</comment></comment></comment></comment><comment><USER12> Check out the rankedindex.com website itself. Its pretty cool.

Would be good to be able to make private ranked indexes so that I can map out my competitors without the world knowing that i am watching them :)

<comment><USER13> You can always use Google Trends for websites...but also see 'Hot Social': (an idea only) for comparing the number of bookmarks that any set of pages or websites has received from across a set of social bookmarking sites.

<http://younoodle.com/startups/hot_social>

</comment></comment><comment><USER14> Bit of an incomplete list.

I don't see any sites from the session that just finished. Not trying to be nitpicky or anything...you know the first thing we're all going to do is search for our company name.

</comment><comment><USER15> paulgraham.com ain't a startup...?

<comment><USER7> It can still be an interesting point of reference.</comment></comment>


Marvin Minsky: What makes Mathematics hard to learn? - <AUTHOR> http://wiki.laptop.org/go/Marvin_Minsky#What_makes_Mathematics_hard_to_learn.3F

<comment><USER3> I enjoy this kind of thoughtful exposition on teaching methods in mathematics; I've read several here over the last few days.

This kind of essay attempts to answer the question "How should math be taught?" or at least "How can math be taught better?". However, another question always weighs heavier on my mind: "How should the process of teaching be designed in order to give incentive for teachers to use the best instruction methods available?" After all, I doubt that Minsky's ideas will be adopted nationwide by the NEA, for all their merit.

It would be shortsighted to lobby for a new curriculum or for a few idealistic young folks to enter the teaching profession to implement these ideas. Long term improvement can only be gained by addressing the incentives facing those in control of the teaching process.

Technology gives students an additional source of instruction that they did not have before. It may be that society uses technology to route around the stagnant educational bureaucracy like a body routing nerve signals around a brain lesion. Minsky is involved in this technological solution, and it may ultimately prove to be the fastest moving and most effective method of change. Thousands of students will read articles like Minsky's on the internet, and they will know that there are better things waiting for them after government school.

Also, I am a strong supporter of school choice. For their faults, the incentives faced by instructors in a market are an order of magnitude better than the incentives faced by instructors in a modern school bureaucracy.I would rather have educators competing to please their ultimate customers than have them competing for a higher bureaucrat's favor.

However, I rarely find smart people willing to grapple with this higher-order problem unless they have a background in economics. Geeks need to learn that they can't hack society unless they understand and comprehend the structures surrounding the problem that they wish to solve.

<comment><USER4> "...I rarely find smart people willing to grapple with this higher-order problem unless they have a background in economics"

Interesting. I recently came to the same conclusion (for myself anyways) - <USER2> thinking became a lot bigger after reading (addmittedly pop-)economics books like Freakonomics, Hidden Order (the better of the two IMHO), etc. It's not perfect, but I have yet to see a better explanation than the utility- maximizing principle (I made up that name but you get the idea). The key is to remember that all utility is not created equal, and that there are diminishing returns. (sorry, rambling)

<comment><USER5> Seconded. I recently read 'The Undercover Economist'. I kept thinking that everyone in every field needs some grasp of basic economics.

<comment><USER4> That was the third book that I was trying to remember but it became "etc". Thanks! I also highly recommend it.

</comment></comment></comment></comment><comment><USER6> In the case of the multiplication tables, Minsky missed an opportunity to point out to the child that the product (a x b) of any two numbers in the multiplication table can also be obtained by _counting_ the number of items in the multiplication table bound by the rectangle of height a and of width b. That would have provided additional motivation and insight into solving other problems (e.g., area).

</comment><comment><USER7> "Out of the Labrynth: Setting mathematics free" is a great book which touches on these issues in more detail. It is written by creators of the Math Circle idea of teaching children math (www.themathcircle.org).

</comment><comment><USER8> Because it takes a genius to explain it in the simplest, clearest way possible.

<comment><AUTHOR> I "half" agree. It doesn't take a genius, but it surely takes a lot of effort, intention and of course, some intelligence too. Without those, there is no way you can teach maths, or history or anything else without making them boring and stupid.

</comment></comment><comment><USER9> Math is hard? Since when? ;-)</comment>


Google Yawn - <AUTHOR> http://scripting.com/stories/2011/06/28/googleYawn.html

<comment><USER2> davewiner,

What have you built lately?

</comment><comment><USER3> I'm officially tired of seeing the near-troll posts from scripting.com

<comment><USER4> So glad you made it official! :-)

<comment><USER3> Sorry, my comment wasn't exactly chalked full of useful criticism. I found this and the Firefox post to be largely rants with either no point or nothing new in the conversation. We know Google is struggling with social, we know people are trying to compete with Facebook without cloning them, and we know that privacy+social is hard. I just don't see what another "Firefox is jumped the shark" or "Google will fail again at social" contributes to the discussion.</comment></comment></comment>


Dear Technology World – Please Stop Trying To Give Me An Erection - <AUTHOR> http://shkspr.mobi/blog/index.php/2012/03/dear-technology-world-please-stop-trying-to-give-me-an-erection/

<comment><USER2> Also, stop showing successful, well dressed business people in your advertising copy. Humans beings shouldn't have to put up with the indignity of being valued solely on their career success. We are people - not business objects.

</comment><comment><USER3> I think one of the reasons these kinds of ads are produced is the outsourcing of pr. When a company is called out for having this kind of ad, they seem to take partial responsibility: "Yeah, well, it's not the best ad, but we didn't really make the ad..."

It's comparable to outsourcing code. If you outsource your coding work and get shoddy code, it represents your company. If you outsource your pr and you get sexist ads, it represents your company.</comment>


Ask HN: What are the steps to launch a online store? - <AUTHOR> <comment><USER2> [https://www.shopify.com/](https://www.shopify.com/)

[https://services.amazon.com/fulfillment-by- amazon/benefits.h...](https://services.amazon.com/fulfillment-by- amazon/benefits.html)

:)

</comment><comment><USER3> @Mooreds is right. Shopify is the easiest way to start.

To expand a bit upon that answer: First, think about your product mix. You cannot sell everything (because you're not Amazon or Wal-Mart). Figure out which products are most desirable to the market and most profitable for you. Focus on those.

You can launch an online store with a single product and it's better to get running with one product than to wait until you have a big selection. This is true of even simple products like, say homemade soaps. It's better to launch with one scent and start marketing it than to wait until you have all three scents that you're thinking about ready to go. Adding your second and third products just gives you another chance to market -- to blog, tweet, email, etc about your new products.

Think carefully about pricing, too. How does the total cost of your product (with shipping) compare to others in the market? Can you offer a buy-one-get- one and make money? Can you offer free shipping if someone spends a certain amount? Can you give a coupon if someone signs up for emails? These techniques will help turn site visitors into buyers. This is called "conversion."

Think about your website branding and design. You don't need to spend a fortune but you probably want some professional input. While tools like Shopify are great, it's just as easy to build an ugly store as a pretty one. Ugly photos, amateur logos, and poor writing are a turn-off to potential buyers.

Think about support, including refunds. What will your policies be? Make them clear on the website before people buy so they're not angry with you later. Consider being generous with support and refunds, especially when you're new. Reputation costs money to build and being good to your buyers, even unhappy buyers, is a cheap way to build a good reputation.

Finally, think about how you will promote your store. Blogging is imperative and Shopify includes a blogging tool. Use it. If you're into social media, promote your products and blog posts in individual social media posts. Will you buy advertising? Where? Google AdWords is a black hole of spending, so consider that your last resort. Are there other websites or physical locations you could use for advertising? Think about the publications and events your buyers use and consider advertising there. Definitely keep an email list in Mailchimp, allow signups from your website, and email folks when there's something new of interest on your website like a new post, new product, or new promotion.

Don't be afraid to drop products or add new ones as you gauge customer demand. The only way to know what your customers really want is to put something out there for sale and see what happens!</comment>


How the World Has Changed Since 2008 Financial Crisis - <AUTHOR> https://graphics.wsj.com/how-the-world-has-changed-since-2008-financial-crisis/ <comment><USER2> Apparently this document is controversial internally at WSJ:

[https://www.documentcloud.org/documents/4426176-Colleagues.h...](https://www.documentcloud.org/documents/4426176-Colleagues.html)</comment>


Yes Andrew, anyone *can* start a Groupon - <AUTHOR> http://euri.ca/2011/06/anyone-can-start-a-groupon/

<comment><USER2> This blog needs some serious CSS tweaking.

</comment><comment><USER3> As soon as I saw the headline of Andrew's article, I knew something like this would come out. Didn't click on that article, won't click on this. The pattern of blogs arguing back and forth while making sweeping generalizations and assumptions(hello 37Signals) with big headlines to drive clicks is all too common on HN and gets boring after a point.I can easily guess accurately the content of both these posts.</comment>


Mon Dieu A 'Hashtag' Is Now A 'Mot-Dièse' In France - <AUTHOR> http://www.npr.org/blogs/thetwo-way/2013/01/25/170285910/mon-dieu-a-hashtag-is-now-a-mot-di-se-in-france <comment><USER2> This agency translates all new English names to French. Sometimes the translation catches up, but often people keep using the original English name (with a French pronunciation, English speakers would probably not recognize the word :--) )

</comment><comment><USER3> sounds way better in french tbh.</comment>


The Programmer's Dilemma - <AUTHOR> http://raganwald.posterous.com/the-programmers-dilemma-95099 <comment><USER2> Was this a failure of process or people?

Neither.

It was a failure of management...

Anyone who conducts a post-mortem with their people would be much better off simply looking in the mirror.

Where were the Vice President of Development and the Vice President of Marketing when things starting going bad? Things simply don't go wrong at the end of the project; there had to have been plenty of warning, if only someone was noticing.

Vice presidents do best by having their finger on the pulse of the things that are important and providing the right resources and leadership to enable both their people and processes to be successful. These two were in a time warp, reacting to failure instead of preparing for success.

The President needs to find a way to get the job done at the Vice President level. _He's_ the one who needs either better people or better processes.

<comment><USER3> Exactly, VP is the level at which you've crossed the rubicon and excuses no longer matter. You're in it to win and if you don't it's your (the VP's) fault.

</comment></comment><comment><USER4> A colleague of mine - his wife was a 3rd grade teacher.

One day, he mentioned to her the process that we were doing.

And she laughed. She showed him the daily progress report. "What I did today? What I want to do tomorrow?" That her 3rd graders had to fill out everyday.

Are programmers adults that need to be self-managed + micro-managed like 3rd graders?

<comment><USER5> > She showed him the daily progress report. "What I did today? What I want to > do tomorrow?" That her 3rd graders had to fill out everyday.

To be honest, it sounds just as insane—possibly more—that children have to do this kind of thing. There were fewer assessment exercises of this sort when I was in school, albeit appreciably more than my parents had to contend with. The main lesson I took away from them was to avoid, wherever possible, any job or career where I'd have to waste everyone's time pursuing such ridiculous make-work.

I worry that the more we force this stuff on children from an early age, the more they will take it to be the normal (de jure, not de facto) state of affairs rather than an aberration stemming from the awful tendency to value managerial gestures over productive work.

<comment><USER4> Having graduated from grade school many decades before NCLB, I fear that adults are irrevocably changing education for the worse. Test taking isn't learning, yet it the main priority for many schools (especially poor ones).

<comment><USER6> Its not like the colleges are any help here with the requirement to take the SAT, PSAT, or ACT for college admission. A student who doesn't know how to take a test isn't going to get the scholarships or even entrance to college.

Poor schools have a lot of problems like poor materials (my brother's history text book had serious editing errors like "Abraham Lincoln was black.") and problems attracting good teachers. The problem seems to be bad enough that they, given the scores handed in, are even to the level of teaching for the tests. I don't see any real hope until parents are allowed to move the tuition money the state pays the schools to the school of their choice. Innovation is hard without choice.

</comment></comment></comment></comment><comment><USER7> Don't play the game with people like these. That was the real problem. Once their nature and character became evident, which it must have quite early, there was no way to win. Leave and find a better game.

</comment><comment><USER8> The other day I suddenly realized why I dislike software processes so much. It's because how you build a system and what the system is depend on each other. Each needs to evolve as you learn more (and as the team changes).

Software processes, by definition, predefine the how. That kills the feedback loop and hinders projects from evolving. The same reason why waterfall is a mistake -- because it treats as fixed things that need to change -- applies to software processes in general. Software process is just waterfall at the project level.

Software projects are no less unique than software systems, but we would laugh out the door anyone who claimed to have a metadesign for all programs.

</comment><comment><USER9> Somewhat off topic, but I am reminded of a paper I had to critique a uni: "A Rational Design Process: How and Why to Fake It" [1]

The paper reasons that following a strict process is unrealistic, but that it is still worth it to "fake" a process, by presenting your system to others as though you had followed it (for example through documentation and reports that mimic the waterfall process, presented to players such as the VP and Director of Marketing in the OP).

[1] [http://www.idemployee.id.tue.nl/g.w.m.rauterberg/presentatio...](http://www.idemployee.id.tue.nl/g.w.m.rauterberg/presentations/parnas- clements-1986.pdf)

The most interesting thing is that this paper was published before I was born in 1986. Even so, everyone in my class (this was about 18 months ago) was in agreement that the paper was still valid. (Though there would be the reasonable argument that we weren't able to give informed opinions having yet to experience software engineering in the real world at that point)

<comment><USER10> I worked on a project for a large corporation where the manager running the project did this. I thought he was insane until it became clear that the fake process created an umbrella for the devs to self-organize under. It wasn't a perfect project but it went better than it would have if the process had been real.

</comment></comment><comment><USER11> I know it's just a story, but if I had managers like this, I'd be headed for the door so fast, I'd trip over them.

</comment><comment><USER12> "And this could be why Waterfall survives: It's the process that optimizes for blaming other people."

nah. Waterfall survives because it lets business development share world-views with the customer.

</comment><comment><USER13> In the original prisoners dilemna, there was real consequences involved: 10-20 years in jail. Getting fired from waterfallcorp doesnt sound like the end of the world. (Some might even consider it a good thing). Entertaining read though.

</comment><comment><USER14> Amen Brother! My new internal customer just had a wonderful surprise as we are adopting Agile. He asked if he needed to work through me to reorganize the backlog for upcoming sprints. No - you own scope and timeline. Reorganize as much as you like on items we have not yet begun as long as you respect the total effort estimates per sprint.

Value working software and healthy collaboration with a process that routinely measures real progress and you'll never have to explain why you slipped 3 months since last week's status report.

</comment><comment><USER15> If you are playing poker and you don't know who the sucker is, you're it!

</comment><comment><USER16> This feels like an argument on the wrong level of abstraction. Even if the methodology is at fault, it seems silly to say "Waterfall is the problem." That's simply too large of a point to make. You could say that you fell behind during development and couldn't tell that you were falling behind, so the problem snowballed. That's specific enough for people to discuss without resorting to politics. Otherwise you're taking the organization's dysfunctions head-on, which is a losing battle.

</comment><comment><USER17> You can see this sort of thing play out in every episode of the BBC's Apprentice. The prevailing strategy is to blame the someone for messing up their part of the task, rather than to accept that the strategy which everyone agreed upon or which they were forced to adopt was the source of most of the problems. Since they're FORCED to name someone to fire anyway, not doing so from the start just makes them look indecisive or dishonest.

<comment><USER3> This is why smart people study rhetoric. Everyone is at fault but the guy with the best sounding answer wins.

</comment></comment><comment><USER18> Now you need to write the followup, which shows how agile and Scrum are so often used to shift power from the business people to the developers without actually solving the underlying problems. (You'll have to edit parts of this piece where you imply otherwise.)

Unless, of course, agile is that magic bullet Fred Brooks stopped looking for 25 years ago.

<comment><AUTHOR> Nothing in the way of a methodology stops underlying problems of a culture that thinks careers are a zero-sum game and that actually delivering the software is secondary to advancement.

But FWIW, all I claim is that Agile does a poorer job of blaming people. The other stuff you're talking about is your point of view, which suggests to me that you are the right person to write the blog post.

</comment></comment><comment><USER19> "Theory P methodologies like XP and Scrum constantly recalibrate expectations, so if the result is dissapointing, you are left blaming the inelasticity of space-time. An alternate version of this story had the protagonists choosing a methodology for a risky project: Choosing Waterfall was defecting and choosing Agile was coöperating."

I'm sorry, but measured against the number of times I've heard the phrase "Doing Agile Wrong", this sound disingenuous.

<comment><AUTHOR> I've heard "Doing Agile Wrong" too, however I think what the post is talking about is when the participants accuse each other of doing it wrong, which is different than when an outsider says an entire project was done wrong.

So for example, if I say "We tried Scrum, and it didn't work," and some evangelist tries to defend the project and says "You did it wrong," that is not the same as when I say, "We tried Scrum, our Team was fine, but the Product Owner did it wrong and that's why we failed."

I can't speak to what you've heard, but I certainly have heard a lot of the former, to the point where I reply to all such discussions with a pointer to the No True Scotsman fallacy:

"Agile works."

"No it doesn't, we tried it and failed."

"You did it wrong."

Compare and contrast to:

"Scotsmen are cheap bastards, Ne'er would you catch one standing a round."

"Hamish just bought me a dram of Lagavulin."

"Hamish may have Scots parents, but he lives in Toronto. No True Scotsman would stand a round."

<comment><USER19> So if I'm reading this right:

If a project that uses Agile fails, the participants have no incentive to blame each other.

If a project that uses Waterfall fails, the participants have an incentive to blame each other.

Because Waterfall in the failure case gives people an incentive to blame each other, it's a poorer methodology than Agile.

If I haven't confused your argument, then the weakness is that you have not shown that Agile is a methodology in which people have no incentive (or ability) to blame each other if the project fails.

<comment><AUTHOR> My claim is that if a project that uses Agile fails, the participants still have an incentive in dysfunctional cultures to blame each other, it's just that the structure of Agile makes it harder to blame individuals. So I am not claiming that A is better than W or W is better than A at shipping software, I am claiming that W is better than A at blaming people for failures.

I might have confused the issue by trying to draw a distinction between blaming the process from the inside and from the outside. My claim is that it is much easier to blame a process if you aren't a participant in a failing process. For this reason, it is easier to evangelize a new process of any type as a consultant or as a new face than it is if you are an old hand who may be accused of having been a cause of previous failures.

I think this second point is true of any process.

<comment><USER19> Can you explain how the structure of Agile makes it harder to blame individuals?

<comment><AUTHOR> Perhaps we could pick a methodology and then imagine a project that "fails." Given this scenario, the challenge would be to find a way to blame the participants for the failure.

What promises do developers and stakeholders make to each other in the methodology? How do you define "failure" and given that definition, how do you establish a causal relationship between an individual and the result?

<comment><USER19> Well, the great thing about scrum planning is that you know exactly how long it will take and who to hold accountable.

<http://marcin.floryan.pl/blog/2011/06/nightmare-agile>

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Sounds a little bit like the prisoner's dilemma...

<comment><USER21> Thanks for the insight Captain Obvious. Did you forget to eat your Wheaties this morning?

<comment><USER22> "Be civil. Don't say things you wouldn't say in a face to face conversation." [1] There are many places for insulting others, HN is not one of those places.

[1] <http://ycombinator.com/newsguidelines.html>

</comment></comment></comment><comment><USER23> The problem here is that managers think that writing good software is like baking a cake, if you have the right ingredients, the right process, the right environment and the right people, then you are 99% likely to end up with a satisfactory cake. This is absolutely not the case with building software.

It could very well be the red tape in the office, the politics, maneuvering, posturing, noisy programmer area, the tools programmers were given, time- wasting meetings, and thousands of other reasons.

My feeling is the blame falls on the guy claiming the problem space consists of "the programmer" or "the methodology". The manager figure delivering the bad news to the programmer is a kung fu master of politics and the art of war, he's trying to get blame placed on anywhere but himself.

<comment><USER24> I've been developing software for over 15 years and without question communication and politics are just as important as technical skills. You have to get key people on your side and you have to keep everybody up to date on the status of the project.</comment></comment>


Snowflake Archeology: Early computer animation (1960s) for the DEC PDP-1 - <AUTHOR> https://www.masswerk.at/nowgobang/2019/snowflake-archeology <comment><AUTHOR> For photos and videos of the program running on the CHM's restored PDP-1 see this page at the DigiBarn website, which is, despite its title, for significant parts about Snowflake:

[http://www.digibarn.com/history/06-09-21-Spacewar/](http://www.digibarn.com/history/06-09-21-Spacewar/)</comment>


Advice for CS Freshmen - <AUTHOR> http://blog.pawandubey.com/advice-for-cs-freshmen/ <comment><USER2> > [...] it will be almost impossible to understand why (3.0/4) == 0.75 does > not return true all of the times.

You may want to be more careful with your examples, because dividing by 4 is a precise operation in IEEE 754.</comment>


Show HN: Dot – A dotfile synchronisation script - <AUTHOR> https://github.com/eZanmoto/dot

<comment><AUTHOR> Sick of doing manual dotfile synchronisation, and not wanting to have to install yet another tool on every new device, I wrote a bash script that does two simple things: stores the dotfiles you specify in a git repository, and installs dotfiles stored in a specified git repository.

I believe the most innovative part of the tool is its simplicity, in that the dotfiles are stored in a format that still allows them to be easily traversed and edited within the repository, particularly when [using GitHub for storage][1]. In fact, many operations that are expected to be used rarely (compared to storing and fetching), such as deletion, have been delegated to GitHub for simplicity.

Disclaimer: I am [cross-posting][2] `dot` from Reddit in the hopes of gaining more feedback. Please let me know what you think!

[1]: [https://github.com/eZanmoto/dotfiles](https://github.com/eZanmoto/dotfiles) [2]: [https://www.reddit.com/r/programming/comments/3bihre/sharing...](https://www.reddit.com/r/programming/comments/3bihre/sharing_a_simple_script_for_synchronising/)</comment>


Help-I need a CAD and company to make 1000 vinyl pieces - <AUTHOR>

Hello,<p>I have a "toy soldier" size figurine made out of stone and I want to make it in vinyl and market it. I need to make small changes to the stone "prototype". I was told I need to have a CAD made, then send that to a Co to make the pieces. Any suggestions how I find a trustworthy CAD designer and manufacturing co? What is the best, most cost efficient and intelligent way to do this? Thanks <comment><USER2> What kinds of volume of sales do you plan to do?

Based on what you described, getting a CAD designer to make you an injection molding form, and getting the actual forms made is about a $10K-$15K investment (caveat: it's been about 7 years since I last did much with injection molded designs and tooling for another project).

If you are not planning to do huge volumes, this probably won't pay off the way you think it will.

If you're going to do low volumes (hundreds of units) you could make changes to your prototype yourself and make a couple of castings of it and just do poured casting models.

The problem is in the ~1,000-8,000 pice area. It's too many to do by hand, but most likely to low to make money on unless you can charge a pretty significant premium for your figurine.</comment>


Investing in a Quality Programming Chair - <AUTHOR> http://www.codinghorror.com/blog/archives/001146.html <comment><USER2> I have a Haworth Zody chair at home (Craigslist in Grand Rapids, MI, office furniture central) and another Haworth chair at work, and I assure you, _it makes a difference_. I felt it'd be out of place to drop name brands in the "how much does comfort in the office affect productivity" thread a couple days ago (<http://news.ycombinator.com/item?id=234445>), but oh man. (NB: I am tall.)

The Steelcase Leap chairs are _really_ nice too, and I have no doubt that the Herman Miller chairs are great. Absolutely try any of the above and see how they fit first, though -- there's another Steelcase one that just doesn't work for me, at all. They're all expensive, too (craigslist nonwithstanding...), though one that fits you perfectly is well worth it in the long run, and they all seem to be built to last. As expensive workspace stuff goes, they'll certainly depreciate more slowly than a huge, expensive LCD monitor.

Just like keyboards -- some people love the split keyboards (including me), some people can't stand them but love the clacky ones, but the important thing is to have one that actually fits you if you're going to be using it several hours every day.

That said, I bet Jeff Atwood gets an awesome Amazon commission if anybody buys one of those through his blog. Yikes. :)

<comment><USER3> Did you ever see this: [http://www.problogger.net/archives/2006/12/12/whats- the-weir...](http://www.problogger.net/archives/2006/12/12/whats-the-weirdest- thing-youve-sold-on-amazon/)

(He "sold" a $22,000 Bulldozer through an Amazon affiliate link!)

</comment></comment><comment><USER4> I think breaks are more important than a nice chair. I set a timer to go off every hour. I get up, refill my water and/or coffee mug, and take a walk around the office to check in on the junior staff.

Many of my best ideas came just after stretching and human interaction.

<comment><USER5> Absolutely. Fancy chairs are the solution to the wrong problem. The problem is that sitting is just plain bad for you, and the solution is to stand up and walk around.

<comment><USER6> You tell me. I got varicose veins for spending to much time sitting in front of my computer. It's mostly linked with heredity, but the lack of activity in your legs is one of the main responsibles. So be careful guys, if you're gonna spend all day in your chair, make sure you stand up and exercise your legs periodically. Your back and your legs are gonna thank you.

</comment></comment></comment><comment><USER7> "If you're investing $500+ in a chair, you'd understandably want to be sure it's "the one"."

Really?. Go to ted.com and watch Barry Schwartz's video on the paradox of choice... you will probably be happier with your chair if you have no choice of chair, or choose it quickly and are stuck with it, with no opportunity to change your mind than if you try dozens of them with 30 day no quibble return policies to find 'the one'.

<comment><USER8> I'd stop in the "if you're investing $500+ in a chair" part. Why? Where does it come from?

That said, I'm very surprised to know that my chair is indeed one of these Miller's Mirra. You don't see this kind of luxury over here very often. At home I have a €60 that's as comfortable as this one.

</comment></comment><comment><USER9> The Aeron is an amazing chair. There's a reason offices that were buying new equipment (i.e. dotcoms) bought the Aeron. I love mine, and I love that it's comfortable.

Also, the same thoughts that justify a great chair (time spent using, durability, etc.) justify finding a -good pen-. I recently got a rotring rapidograph .25mm pen, and it's the pen I've been looking for my whole life. For those of you that think the .5mm is too think and 'gunky', I highly suggest this pen ([http://www.rotring.com/en/produkte/tuschefueller/rapidograph...](http://www.rotring.com/en/produkte/tuschefueller/rapidograph.html)).

<comment><USER10> That's a drafting pen? Are you suggesting that for regular daily usage?

You would have to pry my 0.5mm Pilot G-2 from my cold, dead hand.

</comment></comment><comment><USER11> _I actually broke my Aeron's recline pin once and had to replace it myself. So I've retrained myself not to recline, which is awkward, as I'm a natural recliner._

$700 for that?

I bought my chair for $25 at a thrift store 10 years ago. It reclines all I want.

If you're that uncomfortable, maybe it's not the chair, but the butt in the chair. Get off of it and move around a little bit.

I've seen plenty of solutions looking for a problem in software, but never thought it would also come to office equipment.

</comment><comment><USER12> For anyone shopping for a great chair, I am totally in love with my Steelcase Think chair. It adjusts to anyone who sits in it, so it can be used by multiple people and the settings are extremely easy to set, unlike the Aeron.

For the eco-conscious, it's also 99% recyclable and is easy to assemble/disassemble. Then there are the looks, which I find much more appealing than most chairs.

</comment><comment><USER13> For a second I thought the post was going to be about the need to endow a new kind of chair in CS departments. Does anyone work standing up?

<comment><USER14> No, but here is a great post from somebody that does at 37 signals: [http://www.37signals.com/svn/posts/1001-standing-versus- sitt...](http://www.37signals.com/svn/posts/1001-standing-versus-sitting)</comment></comment>


It's illegal to have an inaccessible website in Norway - <AUTHOR> https://medium.com/confrere/its-illegal-to-have-an-inaccessible-website-in-norway-and-that-s-good-news-for-all-of-us-b59a9e929d54 <comment><USER2> Laws affecting websites, such as accessibility laws and GDPR-like privacy laws need to be made very carefully, and I feel like they haven't been. They cover every website, from the largest Fortune 500 website to the smallest Little Johnny's HTML Homework Assignment page. I worry that future selective enforcement of these laws could stifle smaller websites that someone disagrees with. "That's a nice website you have criticizing <government> or <corporation>, would be a shame if we brought up all the laws you aren't 100% in compliance with..."

<comment><USER3> Similar is the time that universities tried to put educational videos online for free and got sued because they didn't provide subtitles. Now no one can watch them.

[https://www.bostonglobe.com/metro/2015/02/12/advocates- for-d...](https://www.bostonglobe.com/metro/2015/02/12/advocates-for-deaf-sue- harvard-mit-over-lack-captioning-free-online- courses/kRyh3K7VNje9vhOSvjro6N/story.html)

</comment></comment><comment><USER4> Another win with accessibility can be more common interfaces with web pages. This can make things like web scraping and alternative rendering (firefox's reader view, cli) much easier to do.

Granted, I think things like html5 was intended to accomplish this with tags like <article>, but usage is really inconsistent as far as I can tell.

</comment><comment><USER5> Ontario, Canada has some decent laws in this respect, but for now, it seems weak.

I'm optimistic about federal legislation that has some teeth.

</comment><comment><USER6> In this case, what does it mean for a website to be "in Norway"?</comment>


Ask HN: How to succeed with poor working memory as programmer? - <AUTHOR> I don't think I can hold on to any kind of a job at all. I am very restless in nature. I graduated recently and this is my first job. I can't seem to remember anything. I understand instructions and details at a very slow pace. I am very slow. I can do really hard stuff if it is very very interesting.<p>What work accommodations should I consider? <comment><USER2> People mention todo lists but there are some other note-taking styles that I like which are useful even if you have a great memory:

i) people - keep notes about your interactions with each person you work with. Review them before you meet with them again. The greatest way to piss of managers and colleagues is to have a poor grasp on what they have told you or asked you. Whatever note taking method you use, reserve a page/section of each person.

ii) decision making - I find the spin-up cost of getting back into a project to be about getting back into the open questions that I have thought deeply about but not yet answered. I suggest finding a note taking style that works for recording in-progress thinking as its happening so that you can be interrupted and get back to deep thought asap. I like an outliner style with short-hand to indicate e.g. pros/cons, causes/consequences, connections etc.

<comment><USER3> >The greatest way to piss of managers and colleagues is to have a poor grasp on what they have told you or asked you.

That is if they have communication skills (which most people lack), share the same domain knowledge (usually the guy already knows the problem, and you'll be figuring it out in the next days, so there's no way you can even ask informed questions). Plus recall bias, plus confirmation bias, not to mention pure bullshitting, especially when things go wrong.

Dependence on memory is a system error. It means there's something wrong with the process, or the workplace lacks proper communication.

My default response to "I told you to...", is in every circumstances "no, you didn't". Until they know better.

<comment><USER2> I don't really understand your point. Is it that staff shouldn't have to remember interactions with other staff? If so, I can't agree.

Good staff I have managed are fast to interact with verbally, remember what is asked of them, remember what they are taught, remember what they have promised, remember advice they have given and don't repeat themselves etc.

The bad staff claim no knowledge of what was asked, haphazard claims of what they agreed to and require to be shown how to do things multiple times. Some other bad staff refuse to agree to anything verbally and demand everything to be written down slowing everything down to a contract negotiation.

With care, even someone with poor memory can operate like the good staff. The bad staff are unemployable.

</comment></comment></comment><comment><USER4> Paul's comment about ADHD seems like really good advice, but assuming there is no medical solution to your dilemma, maybe some words of encouragement may help:

When you first start off programming professionally it feels like there's an infinite list of things you should have already learned, and it can be really overwhelming.

I remember my first job out of college, it was really stressful at first. Good news is that after a year on the job you'll feel like you've done it your whole life. There will always be things to learn but it slows down drastically after the first few months.

One bit of advice I have (and not everyone will agree with this) is that if you really feel that you're falling behind your peers, you may want to work longer hours than they do. It'll give you more time to learn and people have a lot more patience with someone who shows they're trying.

<comment><AUTHOR> Yes, thanks for the input. I will be putting 12 - 14 hour work days from now. Life is hard but I will have to suck it up. I already have 3 yrs of experience. My managers are extremely puzzled with me. I am getting passed from one team to another like a hot potato. Pretty demoralizing. But, I will do whatever it takes and try to stay on top at work.

</comment></comment><comment><USER5> Your very brief description appears highly consistent with a possible ADHD diagnosis. Go talk to a psychiatrist ASAP if you haven't yet. Medication can do wonders and improve your quality of life and future prospects dramatically. So can understanding better why your mind works the way it does.

A psychiatrist told me once that curiously, many complaints that people have about memory are better explained by attention patterns. E.g in order to notice, remember or understand something, you need to direct your attention to it, and if your attention is shifting all the time, you are not going to retain very many things.

<comment><AUTHOR> Hi HN/Paul,

Thanks for taking the time to respond. I do have ADHD. I got the diagnosis and I have medication prescribed. But, I have strong internal resistance towards taking medication. I realize I have no choice and took some today. I keep thinking if Teddy Roosevelt had ADHD he would spend all his time on working out, eating perfectly nutritious food and use whatever natural means there is to beat it.

I took around 2 to 3 vipassana meditation courses. It was brutal but it helped me focus for a few months (4 to 5 months) but afterwards I slowly reverted back.

I have strong entrepreneurial inclinations. I simply see too many possibilities. I am not very detail oriented. Should I play to my strengths or simply suck it up and rewire my brain through hard work. What if I don't have ADHD but I am simply a very creative individual? I know I am very creative. All my thoughts are out of the box. My problem solving approach is pretty wild and not straight and linear like everybody else.

I am afraid that the medication will dissolve some brain tissue and I will end up being dependent on it eventually. I don't think logically that clearly but I am very intuitive. Do you think if I get my attention under control I can think more logically? Sorry for too many questions. I am in a desperate place right now.

<comment><USER6> You should still spend plenty of time working out, and try to eat well. Medication should be a _part_ of your approach, rarely should it be the entirety.

 _" What if I don't have ADHD but I am simply a very creative individual?"_

One can be very creative and also able to focus.

</comment></comment></comment><comment><AUTHOR> Dear HN,

Apart from the above question. I have one last question that weighs on my mind a lot all the time. I would appreciate any input from HN.

I am a male and around 28. Is it worth for people like me to get into a relationship of any kind? I know it for a fact that I will make the life of people around me very miserable. Is it morally right to pass on my genes and make the life of the next generation miserable too?

I do have some good qualities though. The only positive out of ADHD for me is the insane creativity, the ability to inspire people a lot, empathy etc.. perpetual idea generation etc.

<comment><USER7> Do you really know for a fact that it will make life miserable for people around you? I think you're being a little hard on yourself!

</comment></comment><comment><USER8> Existence Disproof: I personally have a terrible memory. As an example, on the keyboard of nearly every computer I've used in the last 15 years of my ~20 years as a professional computer programmer, I've written this in felt tip pen:

\r\n

I can't remember whether it's a forward or back slash. Ever. Even though I use that at least once every single day, it still takes two tries every single time. I honestly just googled it to be sure since I don't seem to have it scribbled on this new machine.

And to be clear, I've had a _very_ successful career.

<comment><USER9> You won't forget \r\n ever again: it spells "ReturN".

</comment></comment><comment><USER10> As other people have said, to-do lists are great, but one thing I'd like to point out is that using a physical notebook over an electronic method of recording things has -- at least for me -- been highly beneficial. I carry a pen and small (fits in my back pocket) notebook everywhere I go. Taking hand written notes and doodling along side them is an excellent way to help your memory. Also, the slower act of manually writing can be very therapeutic.

<comment><USER11> In addition to a to-do list, I started several years ago to keep a running log of what I'm working on from moment to moment. In the short term, it's useful for getting back into the flow of work after an interruption like a phone call or a meeting - you don't have to remember what you were doing when you were interrupted and what you wanted to try next. In the long term, it lets you go back and figure out why you did something a particular way. I'd prefer to be able to use a paper notebook for this since that would make it possible to draw diagrams and such, but I reluctantly use a text editor so that it's more easily searchable.

</comment></comment><comment><USER12> With programming it is a problem. My working memory is quite poor too, I am actually developing a framework with a debugger that helps to try to keep track of things so I do not have to remember n things for every thing I see in the system. Still has a long way to go but there is a demo too:

[https://github.com/zubairq/coils](https://github.com/zubairq/coils)

I think this type of debugger will be useful for people with good working memory too

</comment><comment><USER13> I have a fairly terrible memory as well, especially for tasks less often executed or when it comes to getting up to speed with new stuff.

I used to dump new stuff I learned into an A4 black book then discovered OneNote. Now I have a trove of handy stuff I can search for such as tar command switches :).

Get yourself one of these types of apps, it doesn't need to be OneNote, there's plenty of other tools like EverNote that'll do the same thing.

</comment><comment><USER14> I have this problem as well. Only advice that worked for me is to practice, practice, practice. Practice so much that muscle memory takes over. It's slow, it's tedious, but that worked for me.

Make it a point to use to-do lists, although I find that sometimes I forget to check my lists...

<comment><AUTHOR> I knew this! I am pretty strong and quick at math/calculus etc. The reason being that I over practiced while learning it.

Looks like I have to do the same now. Simply spend lots of hours after work and focus on being mechanical. It is pretty depressing right, why should I struggle so much when everybody else is having it easy?

But at-least I am passionate about technology/business and hopefully massive repeated practice will pay off. I was reading wikipedia article after your comment and it turns out people with Alzheimer's can remember after a lot of repetition. At-least, I am grateful that I don't have Schizophrenia or something like that.

</comment></comment><comment><USER15> If you have adhd please watch the start of this video. ADHD is _not_ a joke. Its dangers are highly under-emphasized.

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

Use him as the gold standard for research.

<comment><AUTHOR> I came across his videos before. I don't like that much personally because he is so negative, judgmental, cynical and cocky. But I watched this and it confirms all the issues that I deal with on a day to day basis.

I should probably go into consulting where there are more immediate consequences or go into business myself working on my own startup where I am in control.

My colleagues already comment on how I am hardly at my desk. Thanks for the link, I will make it a point to watch all his videos and try to address them.

<comment><USER15> He is not either negative nor judgmental. He represents the top end of the field. His brother(who had adhd) died in a car accident. He is speaking soberly about a topic matter that is taken lightly.

</comment></comment></comment><comment><USER16> The fewer you memorise, the faster you remember. So the trick is to leverage abstraction and memory by association.

Abstraction helps you to reduce the amount of things to remember, and association creates clusters of related topics.

</comment><comment><USER17> Having a simple todo list has helped a lot, both for keeping myself on track and giving me a sense of satisfaction whenever I can cross something off of it.

<comment><USER18> I love using trello for todo lists because you can create sublists, and create notes for each task.

It really helps if you leave a task for a few days and come back to it.

</comment></comment><comment><USER6> Write things down. Review your notes.</comment>


RescueTime now supports Google Chrome for Windows - <AUTHOR> http://blog.rescuetime.com/2008/09/03/rescuetime-now-supports-google-chrome-for-windows/

<comment><USER2> It would be nice if they officially supported linux instead :-/</comment>


Bezo's dick pics might've been exposed - <AUTHOR> https://blog.erratasec.com/2019/02/how-bezos-dick-pics-mightve-been-exposed.html#.XF7Tfs9KiL4 <comment><USER2> why do people do this..crazy</comment>


China is now looking to California to help lead the fight against climate change - <AUTHOR> http://www.latimes.com/world/asia/la-fg-china-global-climate-20170606-story.html <comment><USER2> As long as they continue to burn trash this is a joke on par with the ad campaigns for californians to conserve water and not waste food; actions which, do not target the actual major offenders amd are little more than feel good measures. [http://www.npr.org/sections/parallels/2017/02/20/515814016/t...](http://www.npr.org/sections/parallels/2017/02/20/515814016/the- burning-problem-of-chinas-garbage) I used to believe in every little bit helped until I read actual data on who wasted or contributed to the problem on a large scale.</comment>


Why the New V8 Is So Damn Fast - <AUTHOR> https://nodesource.com/blog/why-the-new-v8-is-so-damn-fast <comment><USER2> I speculated recently that TypeScript might _de facto_ help V8 optimizations, and the post seems to confirm that. [https://clipperhouse.com/does-typescript- make-for-more-perfo...](https://clipperhouse.com/does-typescript-make-for- more-performant-javascript/)

<comment><USER3> I don't think so: TypeScript/JavaScript-Types are too coarse-grained for optimizations: For example number is a double in JS. For generating good machine code you really need to know whether the number is int or double. The same for string: Depending on the JS engine there are actually a lot of different string types.

Even if we consider that good enough or somehow solved, understanding type annotations only helps you reaching peak performance faster. It doesn't really make peak performance faster.

Also there are the PyPy and Dart devs that in theory could use type annotations, but both don't. For PyPy they even have an entry in the FAQ: [http://doc.pypy.org/en/latest/faq.html#would-type- annotation...](http://doc.pypy.org/en/latest/faq.html#would-type-annotations- help-pypy-s-performance)

<comment><USER4> I think the type annotations themselves don't do anything, but the typing strongly pushes developers towards monomorphic (or at least non-megamorphic) calls sites; and having proper-ish data types may also encourages consistent order of initialisation.

I don't really know about the details fo Pypy, but from what I gathered from performance talks about V8 between the hidden classes and inline caching it would strongly benefit from these behavioural changes.

Basically, it doesn't preclude the runtime from having to do its analysis, but it makes the analysis & optimisations "hit" at higher rates than they would otherwise do.

</comment></comment></comment><comment><USER5> As an internet user, I really enjoy reading about all these performance improvements in V8 / javascript.

As a ruby developer, I'm insanely jealous.

<comment><USER6> Just use Express.js or Sails.js, they're 1:1 to Sinatra or Rails. Join us!

<comment><USER7> Not true unfortunately. Rails quality unreachable for current js frameworks. Well, i hope situation will change in the future

<comment><USER6> Does that mean there's still room in the JS ecosystem for a Rails-alike? Maybe one that could become very popular? Because I am looking for a major open source project to create and spearhead, something that could get hundreds of thousands of active users and a thriving subcommunity, but I've been holding off until I find just the right project.

<comment><USER8> Personally, having developed in both Rails and Node, I now believe that trying to recreate Rails in JS is a foolish effort. Rails is a huge project with a ton of weight behind it and unless you can generate a massive amount of corporate investment, you won't ever be able to really catch up.

I'm not saying that there's no room in the JS ecosystem for another web framework, what I'm saying is that if your design goal is re-implementing Rails, you're already setting yourself up for failure. Sequelize has tried to be ActiveRecord for how long? The only thing it makes me do is want to go back to Ruby and Rails.

No, what you have to figure out if you want to do a JavaScript web framework is how to get me to actually want to use JavaScript to program a website. How can prototypical inheritance actually contribute to a workflow as opposed to a more conventional inheritance scheme.

But honestly, quite frankly, I can't tell what anyone would want to use JavaScript on the server at all for.

<comment><USER9> As for the second half of your comment, it sounds like you haven't used JavaScript in awhile. ES6 introduced syntax for classical inheritance, and a bunch of other nice features.

<comment><USER8> I use ES6 at my job, daily. There are some things about it that make me really hate it. First, no, it doesn't introduce classical inheritance. It introduced syntax that _looks_ like classical inheritance. It's still prototypal inheritance under the hood. I'm not entirely sure what this means yet from the standpoint of building things with it, but I'm not enthused at the prospect.

What I find happens fairly frequently with ES6 that I never found with Vanilla JS is that the extra features built on top of JS 'break'. If you add syntax to a language, that syntax needs to _work_. I need to be able to rely on it working. I run into constant little issues that make me think I'm missing something about scoping, when really it's some under-the-hood issue with a library or something I just don't have the time to pin down.

One example is I tried using the spread operator to add keys to an object. But the spread simply, well, failed. Passing in the object worked fine. Passing in a spread version of the same object failed. I haven't resolved it yet, got pulled onto another feature. This sort of breakage is hard to Google, when I run into it again, and I'm sure I will, I may have to troubleshoot it all the way to Babel.

Error reporting in Node with ES6 is garbage. Worse than garbage, it's a veritable dumpster fire. Ideally the error points to the problem, when it doesn't point to the problem you have to rely on experience and intuition to lead you to the issue. Many many errors I come across in JS are of this sort.

I think most of these issues come down to the fact that ES6 is a transpiled language. This makes me long for the days of good old CoffeeScript. At least CS was close enough to Vanilla that it was easy to determine when you had an issue with the transpiler, simply grab the snippet of code and paste it into the online transpiler, look at the generated JS and work out your issue from there. It wasn't the smoothest workflow but it was effective.

ES6 is stupid in ways that make building an effective workflow unreasonably difficult. I can't wait to get back to Rails. Vanilla JS wasn't that bad. It was well-understood and you could work with it effectively on the front-end. It certainly wasn't as pleasant as Ruby, but it didn't feel like the pile of hacks that ES6 does. Maybe once it stops being transpiled it'll get better.

<comment><USER10> Indeed, JS does not have classical inheritance. IMO introducing a class syntax that looks so much like the classes from other languages and yet behaves differently was a mistake.

The rest of your comment sounds a bit misinformed to me. You seem to have decided that prototypical inheritance is somehow inherently worse than classical inheritance, but don't mention why that would be. I have found very little practical difference between the classes in JS and other languages in everyday use, and can't quite imagine what the problems with it might be.

Furthermore, ES6 (ES2015) is not a "transpiled language". I think it's obvious that if you take a very new language, say, ES2018 and want to run it on your toaster that doesn't have support for such new languages, you are going to have to do some kind of precompilation step. That is true for ES2018 today and it will be true for ES2019 next year and for ES2020 the year after that.

ES2015, however, has been around for several years. All the modern browsers (that is, all major browsers except IE) support it already. Node 10 even supports the new module loading syntax (behind a flag), or you can use a very lightweight transformer like esm[1] for older Node versions.

And if you do end up using and having problems with, say, Babel, it would be more constructive to give concrete examples of the issues you've had. I personally have never faced a syntax problem where the issue would've been due to a bug in Babel instead of just my incorrect understanding of the language feature.

[1]: [https://github.com/standard-things/esm](https://github.com/standard- things/esm)

<comment><USER8> I didn't intend to argue that prototypal inheritance was bad, just that I didn't relish the prospect of building something in it, in the context of a discussion about reinventing Rails in Javascript. The argument is that with the amount of time and effort that went into Rails, the new framework has to offer something a lot more unique than just "Rails in JS" if it wants to be relevant, because you'll never even get remotely close to the maturity of Rails.

The problem is that I can't give concrete examples because we're under the gun of a deadline and I can't afford to spend the time to troubleshoot down to root causes rather than just work around the problem and move onto another feature.

I'd love to be able to tell you why the spread operator didn't work in that case. But it didn't, and I made sure to get the whole team around me to tell me I wasn't being crazy. The syntax simply didn't create the needed semantics, and that means that something got messed up in the design of the language. I'm pointing to Babel because that's the only thing I can point to as a root cause.

Rails is _nowhere even close_ to this level of broken. You can rely on the syntax and semantics of Ruby, sometimes gem authors play nasty games with metaprogramming, I saw an example where someone monkey-patched Symbol to get a more declarative method for describing SQL Where Conditions, but at least that crap wasn't in ActiveRecord.

Rails, as a stack, fits together and experience with the framework will allow you to trust it.

Syntax is the foundation of a programming language. If it doesn't work, if it doesn't produce precisely the input that's being described, your language is broken. We're not talking standard library here, we're talking about `{...object}` not being the same as `object`. I don't have time right now to dive into why, but that's the kind of shit I run into when I deal with ES6. When syntax breaks, you can't trust the language anymore. It's a pile of hacks and I wish it had never been invented. Coffeescript was better.

<comment><USER11> From what I remember, object spread came a year later and is ES7 (in case you need a starting point for research)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Why can't V8 deduce that the order of keys doesn't matter? It's pretty nuts that just rearranging the keys from { x, y, z } to { y, x, z } would cause a slowdown.

<comment><USER13> You can't deduce that; you'd need to show that the object is never passed to for..in or Object.keys or similar to be able to avoid storing the insertion order.

They could change the representation to not be insertion order dependent, and store insertion order in a separate data structure, but that has its own trade-offs.

<comment><USER14> Does for..in actually require that keys be returned in a specific order? Most languages specifically call out that the order is not guaranteed (not that that stops developers from relying on an order)

<comment><USER13> The ES spec doesn't require it, but every implementation does insertion order (and insertion order was a deliberate decision by Brendan in the original implementation, IIRC), and the web very much relies on it.

The "new" generation of JS VMs (V8, Chakra, Carakan) all dropped insertion order for array index properties (that is properties whose name is a uint32), but kept it for everything else; that broke about as much as browsers are willing to break, and breaking the general case would be far, far worse.

<comment><USER15> Building a browser sometimes feels like building a language where the only guarantee is the worst features will be used and maintained.

I mean this not as a slight on the ecmascript creators/maintainers but rather as an observation of how difficult the problem is.

</comment></comment></comment></comment></comment><comment><USER16> > In some extreme cases, developers had to write assembly code by hand for the > four supported architectures.

Maybe I'm tainted from my experience building / debugging J9 / OpenJ9 but... Why is this considered extreme? If one strays one iota from the standard platform ABI, which is basically a necessity for producing a performant runtime (PICs being an easy example), this is where one ends up.

</comment><comment><USER17> I used to believe that javascript was slow, C was fast and that there was no way to change this because of the way that javascript is interpreted and not compiled. But the more I've learnt about the benefits of "on the fly" / "just in time" optimising compilers, the more I'm convinced this is the future of computing. Being able to use multiple threads and hence multiple cores simultaneously to optimise what is actually a single threaded piece of code is quite amazing. And then being able to write code that is insanely portable and optimised on any platform is great.You can take advantage of SIMD, hyperthreading, multicore, large caches... without knowing if they're available ahead of time.

Sure, you won't beat C for low memory devices or hardware that you have complete control over but for 90% of use cases javascript actually makes sense and can be the most performant.

<comment><USER18> In my group at Oracle we're experimenting with running C using the same just- in-time compilation techniques that JavaScript uses, and sometimes we see it running faster than ahead-of-time native compilation, due to the effects of things like inline caching and profiling.

<comment><USER19> Reports of _some_ jitted Java code running faster than C (after warmup) are old. I remember seeing those claims for some super hot VM in the old IBM System's journal from 2000, and yes, IIRC that was a VM written mostly in Java.

However, those isolated examples rarely if ever translated to high performance in real-world projects. The same issue has an experience report of the travails of IBM's San Francisco project. Performance was a huge issue that to the best of my knowledge they never fully resolved.

More in my article "Jitterdämmerung": [http://blog.metaobject.com/2015/10/jitterdammerung.html](http://blog.metaobject.com/2015/10/jitterdammerung.html)

<comment><USER20> Heh ... one of my employees took it into their head to code up some arithmetic algorithms in C++ a month or so ago. We do not use C++ for anything, we are all Python and JVM based. But he decided that he was going to achieve an amazing win by optimising some numerical code to get order of magnitude benefits, and without asking invested 4 hours into coding it up. I wrote a naive implementation of the same thing in Groovy, of all languages. My implementation was initially 20 times as fast and I coded it in 30 minutes.

So he debugged some more and figured out that he misunderstood some of the inner workings of how vectors copy data and also that he did not understand the threading library he was using properly. He then fixed those two things. After this further exercise he reduced the difference to factor of 4. However he was never able to work out why my code was 4 times as fast as his C++ and abandoned it.

I know for sure that with appropriate expertise the C++ could _probably_ be made to go perhaps twice as fast as my Groovy code. But the point is, none of the supposed benefits come automatically regardless what language you are using. And unless you flip over to GPU or FPGA accelerated methods, the final outcome is well and truly in the same ballpark anyway.

But all this is to say that "rarely translated" might be true at the for applications that are completely in the high performance domain. But for all the applications where the high performance code is in niches at the edge and there simply aren't resources or expertise to fully tune the native implementation ... I think it's translated all the time.

<comment><USER21> In my experience, writing java (or groovy here) in c++ results in horribly slow code which the jvm runs circles around, and it sounds like that's the problem your employee ran into.

> But for all the applications where the high performance code is in niches at > the edge and there simply aren't resources or expertise to fully tune the > native implementation

It's interesting you say this, because in my experience it's the JVM which requires absurd amounts of tuning and native programs which are much more consistent. The proper and easier way that native programs are written lends itself to fairly respectable performance, mostly because the object and stack model of say C or C++ is so much friendlier to the CPU than in most dynamic languages.

In general, for all that I hear statements along this line, I've only twice seen code to back it up, and the C was so de-optimized from the OCaml version that I suspect it was intentional - the author (same for each) was a consultant for functional languages, and in one case switched the C inner loop to use indirect calls for every iteration and in the other switched the hash function between the C and functional comparison.

<comment><USER22> It's not native vs VM, but rather "has stack semantics/value types" vs "no stack semantics/value types". In particular, OCaml's standard implementation is a native, not VM.

Also worth calling out Go, which is rather unique in that it has stack semantics but it also has a garbage collector, so it's kind of the best of both worlds in terms of ease of writing correct, performant code.

<comment><USER23> Go is not rather unique in having GC and stack semantics, there are plenty of languages that have it, all the way back to Mesa/Cedar and CLU.

<comment><USER22> I should have been more clear I guess; I was comparing it to other popular languages. Few have value types and many that do (like C#) regard them as second-class citizens.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> For some reason I was expecting an internal combustion engine.

<comment><USER25> same ha ha. Interested either way

</comment></comment><comment><USER26> You have social icons floating over he text.

</comment><comment><USER27> I have often wondered if frameworks like React which offer polymorphic methods (eg React.createElement) cause deoptimizations. The common functions also seem to be on the critical path since they will be called 100s-1000s of times per render.

<comment><USER28> I'm not sure about React, but a fairly common pattern is to dispatch to optimize. The parent function takes several different data types, but it is a very small pass-through that calls a variety of monomorphic functions to do the heavy lifting. It's not technically as fast, but as the amount of processing in the monomorphic functions increases, the cost of the small polymorphic function fades into the noise.

<comment><USER27> That's a good practical tip

</comment></comment></comment><comment><USER29> Does anyone used Chakara core? How does it compares itself with V8?

</comment><comment><USER30> Catfished. I thought this was going to be about cars.

</comment><comment><USER31> Why hasn't node replaced PHP yet?

<comment><USER32> I don't like Javascript as a language. Everything from OOP to imports feel hacked in rather than having been supported by the language itself. One can't even add 0.1 and 0.2 together and get what you'd expect. Variable definitions are global scoped by default, semicolons can randomly be omitted, etc. There are just so many things about the language that feel hacky or unpolished.

So it's fast these days... great? There's more that I seek for in a language than just speed. PHP7 and Pypy also do a pretty good job, and one can always offload the heavy lifting to some compiled code if it's really that important to squeeze the last few percent of performance out.

The only thing unique to JS (afaik) that I really like is addressing dictionary keys as object properties (`a={'test':512}; console.log(a.test);` instead of having to do `console.log(a['test']);`). I'm not sure why that is so oddly satisfying, but it is.

<comment><USER33> > One can't even add 0.1 and 0.2 together and get what you'd expect.

That's floating point math, and persists in many languages [1].

> Variable definitions are global scoped by default, semicolons can randomly > be omitted, etc.

Nothing random about it, automatic semicolon insertion is well defined/documented [2]. Also _let_ [3] is your scoping friend.

[1] [https://0.30000000000000004.com/](https://0.30000000000000004.com/)

[2] [https://www.ecma- international.org/ecma-262/7.0/index.html#s...](https://www.ecma- international.org/ecma-262/7.0/index.html#sec-rules-of-automatic-semicolon- insertion)

[3] [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Statements/let)

<comment><USER32> > Nothing random about it, automatic semicolon insertion is well > defined/documented

Figured someone would say that. Yes, of course it's not _random_ : it's a computer, it follows the same instructions every time.

What I meant, of course, is that it isn't logical. You can't guess it without having to check the spec. In bash you know that a newline is as good as a semicolon, in C you know you always need a semicolon, and in Python you know you never need it. In JS it's somewhere in between. Reading that spec, it's when the next line would have syntax that is illegal if it were a continuation... so you have to do JS simulation in your head to check if your code could, perhaps, make sense as a line continuation. So I guess you just always have to do it. I'm not saying it's a major issue and this is the one reason I don't use it, but similar to how people criticize PHP for having inconsistent function names (which is also not a bug or broken), it would have been nice if it weren't the case.

> let [3] is your scoping friend

It's not about it being possible, it's that global scoped default is just asking for abuse of the global scope. Even PHP doesn't do that, and PHP is really made for quick and dirty web development (or at least it used to be, so it supports many things that make that possible).

<comment><USER34> You're totally safe unless you start line with parentheses, bracket or operator so it's not that hard - [https://standardjs.com/rules.html#semicolons](https://standardjs.com/rules.html#semicolons)

const/let is _the_ way of doing javascript, setting global will raise an error (click "run with js" [http://jsbin.com/hogegikipo/edit?html,console,output](http://jsbin.com/hogegikipo/edit?html,console,output)). This is true for ES5 strict mode, ES2015 modules and anything you will transpile from ES2015 modules.</comment></comment></comment></comment></comment>


America's Main Streets Are No Match for Amazon - shaki-dora https://www.theatlantic.com/business/archive/2018/03/amazon-local-retail/554681/?utm_source=feed&single_page=true <comment><AUTHOR> This is a rather superficial article that offers nothing new to the discussion. The irony is that general-interest magazines such as The Atlantic are also being replaced by blogs and websites that do real investigative reporting and deep analysis of social issues.</comment>


Poor performance from your MongoDB database? Look at the shard key - <AUTHOR> http://gobitcan.com/blog/2014-12-05-poor-performance-from-your-mongodb-database-look-at-the-shard-key

<comment><USER2> For startups relying on Mongodb for critical infrastructure, the cost of having a poorly implemented mongodb cluster can actually be high enough from a morale and product performance standpoint to ruin the company. I've seen it happen a few times to very well funded companies where their inability to quickly solve MongoDB issues made it impossible to continue iterating on their product, and eventually caused most of their core backend team members to quit.

So I think it's super important to de-risk MongoDB as quickly as possible and then move on with life. If you can use bare metal, just switch to using SSDs or even FusionIO cards. The new AWS SSD instance types should also be ok. Pay the money you need to service providers like AWS, Rackspace or Softlayer etc. to get it done.

In a best-case situation, you can keep upgrading every 12-18 months and rely on Moore's law to allow your MongoDB machines to scale with your growth. But even in a bad situation where your database is growing in size too fast, this vertical scaling strategy should still give you 6-12 months of breathing room, to allow your dev team to cleanly switch over to a different database.

I see a lot of teams starting out with MongoDB, but the smart ones know it's a big risk and once they find market fit, their first major initiative is to switch over the database backend to use something like Cassandra + Mysql.

</comment><comment><USER3> Not unique to Mongo, other systems that shard based on a user-generated key (HBase) have issues with this too. We developed this UUID generator as an attempt at a more thoughtful shard key: [https://github.com/groupon/locality- uuid.java](https://github.com/groupon/locality-uuid.java)

</comment><comment><USER4> Unless I am missing something but dumping your entire db then reimporting would take hours in most cases. Staying available during that time would be a nightmare.

<comment><USER5> This fits my experience with distributed MongoDB -- which I never tried to use beyond 1.8 or so. The moment you make a MongoDB distributed, you're putting an immutable schema on it.

Not literally immutable, because you can change it, but changing it is more difficult and more perilous than starting from scratch.

Wasn't the point of MongoDB was supposed to be that it's all flexible and schemaless? You might ask that. You might not get an answer. Like I said, I never use MongoDB as a distributed system anymore.

</comment></comment><comment><USER6> This is not meant as a troll post but a genuine observation after spending the last year or so migrating various businesses _away_ from MongoDB (or from parse which uses mongo):

Has anyone ever built a non trivial application on MongoDB and been happy with their decision, say, 1 year later? If so, what kind of use case was it? I am genuinely curious.

The impression I've received is that Mongo is _ridiculously_ easy to get started with but the flaws become more and more of a hindrance over time, eventually making certain types of application features virtually impossible to implement.

<comment><USER7> Absolutely. We've been using Mongo for all the core functionality at TrackIf.com and are still very happy with it. (Our biggest complaint was our initial MongoDB host provider was hosing our performance, once we switched to a non-shared Mongo environment it was a night-and-day difference.)

<comment><USER6> is it fair to guess that you use elasticsearch for product search and mongo for tracking item level prices? i.e. most of your mongo queries are direct key lookups?

<comment><USER7> Probably 10% of our queries are direct key lookups, the rest easy-to-read yet still non-trivial.</comment></comment></comment></comment>


Show HN: Get paid for crawling the web - <AUTHOR> https://github.com/datafiniti/datafiniti-crawler-min

<comment><USER2> This is the most stupid & perhaps unethical way of 'powering' your search engine in history.

Paying a developer to include a web crawler in their extension? Whilst using the users' bandwidth?

I hope 'Datafiniti' fades out pretty damn soon.

<comment><USER3> Why all the hate? So far it just looks like a monetization tool to embed in a Chrome extension. Nothing says it's going to run there by default. We have no info on the presence or absence of compulsory disclaimers. Nor do we have any info about the default quotas of daily processing per install.

If the extension provides value to the user, it might be a way to compensate the provider for the said value. The same way ads compensate the provider of apps. In either case, computing time and bandwidth are used.

Now, having said that, if it ran 24/7 and used GBs of bandwidth per day on a single node, I would definitely side with you. But if it was embedded in a way where you get extra value once you enable it, that's another question.

<comment><USER2> To be a little clearer, I'm only completely against this when it's enabled within an extension by default; therefore crawling the web without the end users' knowledge.

If it's something you can enable, then it isn't so bad. This should ultimately be a choice that the user makes.

</comment></comment></comment><comment><AUTHOR> We're experimenting with a new way to power our Datafiniti search engine. Essentially you get paid for running a distributed web crawler through any Chrome Extension.

<comment><USER4> Who gets paid? The Chrome Extension developer? But it is the user machine/network performing the work, right?

There is something in this I don't like. Can't quite put my finger on it.

<comment><AUTHOR> Our intention is to pay the developer. Of course, there'd be nothing stopping the developer from paying out to users as well.

Happy to get more feedback!

<comment><USER2> "Nothing stopping the developer from paying out to users as well" \- this is absolutely ridiculous; of course a developer with absolutely no payment infrastructure is going to start relaying these ill-gotten gains back to users. It just doesn't work like that.</comment></comment></comment></comment>


MathBox2 Demo – Ready or Not Music Visualization - <AUTHOR> http://acko.net/files/mathbox2/iframe-readyornot.html <comment><USER2> From MathBox2 Part 2: [http://acko.net/blog/mathbox2-pt2/](http://acko.net/blog/mathbox2-pt2/)

</comment><comment><USER3> Very nice! Were the transitions between visualizations algorithmic?</comment>


Trump Is Right About Huawei - <AUTHOR> https://slate.com/news-and-politics/2019/03/trump-huawei-security-threat.html <comment><USER2> Trump is right. For those who disagree please search for this headline: "Chinese-authored spyware found on more than 700 million Android phones".</comment>


Rare Cosmic Event to Transpire Tuesday Morning  - <AUTHOR> http://bigthink.com/ideas/25574

<comment><USER2>
      > This diagram, not to scale, looks down on the solar
      > system from above.

From above?</comment>


Want That Early Chrome OS Build? You Got It.  - <AUTHOR> http://www.techcrunch.com/2009/10/14/want-that-early-chrome-os-build-you-got-it/ <comment><USER2> It doesn't look like much of a build at this point. TechCrunch should have waited three of four more months before exposing the "secret" chromeOS folder. Now they have gone and broken the news so that Google has moved it to a new, doubtlessly much more secure location.

So all we can look at now is a very scant version with frequent crashes. I guess it is still worth it.

</comment><comment><USER3> MG Siegler: The pretentious Geek.

>As a reminder, you'll only be able to install this if you have Linux.

Ah, no. The only way you can use this if you run a debian based linux distribution or a distribution that is using deb package manager.

This might not be the best example, there have been many times in the past where Mr. Siegler has thrown around terms he has absolutely no idea what it is. Very cringe worthy.

</comment><comment><USER4> Well that's pretty irresponsible, even by TC standards.

edit: actually I guess it's par for the course.

<comment><USER5> How is this irresponsible? It's an open source project. Sure Google removed those items in a recent revision, but those items are /still/ in the source repository.

<comment><USER6> I think he's saying it's irresponsible to claim you have a first look at the Chrome OS and then only show the Chrome Browser working in Ubuntu.

I don't really agree since sensationalist headlines are par for the course for any media outlet but that's what I think he meant.

</comment></comment></comment><comment><USER7> What does Google have to gain from trying to hide Chrome OS at this point? They've announced it. It's open source. I don't understand why they're treating it like some super secret project now.</comment>


Top 7 iPad Apps for a Chief Technology Officer - <AUTHOR> http://www.appolicious.com/curated-apps/496-cto-top-7-apps-for-a-chief-technology-officer Must-have iPad apps for a CTO. <comment><USER2> "I'm a CTO and I provide CTO services for my clients."

Blah.</comment>


The First RDMA Hackathon - <AUTHOR> http://www.hackatop.com <comment><USER2> Is there any university program from Mellanox to get access to the high speed networking gear for NFV/SDN research.

<comment><AUTHOR> Wasn't sure, so I asked the Mellanox people (gerryh@mellanox) about it.

No response. :(</comment></comment>


Databen.ch - JVM Persistence Benchmark - Round 2 - <AUTHOR> http://databen.ch/

<comment><USER2> Didn't know about Activate, I normally use Squerly or Slick. Thanks</comment>