Boxee Will Soon Be Open To All - <AUTHOR> http://www.avc.com/a_vc/2008/12/boxee-will-soon.html <comment><USER2> I tried Boxee on my AppleTV about a month back, it was hard to install and it constantly crashed the box. That is to say I wasn't impressed.

<comment><USER3> i like plex more because it recognized my media much more accurately than boxee, has an indicator for a played video, and also lets me manage cover art. the one thing that boxee does well is the apple remote controls (more intuitive), but then we also get less control over what we can do as far as cover art management.

although the social features are a nice add on, i wish there was a way to disable it for those of us that don't want to use that particular feature.

</comment></comment><comment><USER4> Boxee? No Muffee?</comment>


Ask HN:  Meetups in the Bay Area? - <AUTHOR>

I'll be moving to the Bay Area next week.  I've searched all the usual websites and there are a <i>lot</i> of things out there.  What are some good meetups for a Hacker?  I'm interested in just about anything intellectually stimulating.  Bonus points if I can meet a lot of HNers! <comment><USER2> Seconded <http://superhappydevhouse.org/>

I'd also recommend <http://www.meetup.com/thestartupwaffles/> (if you're an entrepreneur), or any of the weekend hacker events like <http://startupweekend.org/>, [http://www.meetup.com/sv- gtug/pages/GTUG_Campout:_Silicon_Va...](http://www.meetup.com/sv- gtug/pages/GTUG_Campout:_Silicon_Valley/) are good as well.

</comment><comment><USER3> There's a HeyZap fundraise party next week where many people from Ycombinator seems to be attending.

</comment><comment><USER4> Hackers and Founders is a great group that meets up every other week. I've been to two of their events and everyone has been really awesome. There is a meetup this upcoming thursday in SF.

<http://www.meetup.com/Hackers-and-Founders/>

</comment><comment><USER5> I like this one: <http://www.meetup.com/iphonedevsf/>

There are also a lot of other cool things going on at the regular meetup location.

</comment><comment><USER6> This is a large hackathon that happens every 6-8 weeks or so: <http://superhappydevhouse.org/></comment>


Show HN: Monitoring and Alerting with Graphite - <AUTHOR> http://fisherapp.com

<comment><USER2> you should open source it! what's the technology stack?

<comment><AUTHOR> Most of the core pieces are open source in the slate gem: <https://github.com/trobrock/slate>, other pieces should be open source soon, like the ability to add new services.</comment></comment>


It wasn't your imagination: US experienced warmest March ever - <AUTHOR> http://arstechnica.com/science/news/2012/04/it-wasnt-your-imagination-us-experienced-warmest-march-ever.ars <comment><USER2> I live in Michigan. It was bizarre. Pushing 80-85 even before the official start of spring. At a time of year 20 degrees and a foot of snow just elicits shrugs and mumbled cursing. For you SV hackers, imagine how freaky it would be to be greeted with a foot of snow on the ground some August morning.

Now that everything bloomed 6-8 weeks early, I worry a bit for our farmers who might get clobbered with a fairly typical May cold snap.</comment>


You Can Now Reserve Whole Sections of Dolores Park Grass for Yourself for $$$ - <AUTHOR> http://sfist.com/2016/05/23/rec_parks_pilot_program_allows_you.php <comment><USER2> Not. [http://www.sfgate.com/bayarea/article/Dolores-Park- reservati...](http://www.sfgate.com/bayarea/article/Dolores-Park-reservations- Rec-and-Park-trash-rent-7942711.php)</comment>


OnePlus got pwned, exposed up to 40,000 users to credit card fraud - <AUTHOR> https://arstechnica.com/gadgets/2018/01/oneplus-got-pwned-exposed-up-to-40000-users-to-credit-card-fraud/ <comment><USER2> Credit card fraud expert here:

This happens way more often than you think, particularly with sites that aren't known to you and me. It's entirely trivial to do, very effective, and maintenance next to nothing — but you already know that. As companies continue to choose Stripe/Braintree/etc and maintaining PCI compliance with their payment processor, keyloggers are being deployed less and less.

What is needed is a browser extension that checks all requests which contain a param/form data that is 16-digits long and starts with 4/5/6 or 15-digits long and starts with 3. Is such a thing fool-proof? No, it's not. But it'd be a starting point. Maybe add a listener to any inputs that contain such a val to see if anything's hooking into it. Need to whitelist it for ancient processors? Okay, prompt the user.

</comment><comment><USER3> I wonder if this number correlated to how many OnePlus customers there have been in total.</comment>


Show HN: HTML5 Appcache Facts - <AUTHOR> http://appcachefacts.info/

<comment><AUTHOR> The HTML5 application cache is pretty awesome, but there are some surprises. @ded and I decided to compile some of them and deliver them in simple bullet points.

Bonus: this site is also GitHub repo. Pull requests welcome. <https://github.com/shinyplasticbag/appcachefacts></comment>


Where The Monetizable Clicks Are: Digg's New Ads - <AUTHOR> http://www.washingtonpost.com/wp-dyn/content/article/2009/10/16/AR2009101602693.html <comment><USER2> Another extension to this are the ads found on Techmeme. They basically charge 6k per month and it shows the companies most recent blog post as if it were a Techmeme article. FYI, they are CLEARLY designated as sponsored posts. They are the only ads I have ever clicked, looked at, and most importantly remember. It seems Digg is sort of doing the same thing here. Curious to see where else and how else this could play out.</comment>


Ask HN: How do you motivate your team to work on mundane tasks? - <AUTHOR> At my company, part of product involves on-boarding new developers  (freelancers) on the platform and evaluating their profile and the online coding assessment. We are not at a stage where we can have a separate team of evaluators to take care of this so our tech team is required to set aside time from their coding work and evaluate these profiles, which is a mundane and non-rewarding work for them. How do you keep your team motivated to do such mundane tasks that are important for the company/product and yet not directly related to their individual performance? <comment><USER2> I've never had trouble motivating people to do this.

How?

By hiring people in the first place who are mature enough to recognize that their job isn't just writing code, it's helping the company grow.

And hiring people who aren't just motivated to succeed for themselves, but who are community-minded and want to improve things for the people around them and make the team as a whole better.

And by being consistent with messaging about this. If you need someone to take two hours per day this week for onboarding, make sure projects are scheduled and incentives aligned in such a way that a) you can confidently make onboarding their top priority for the week so it's OK if other projects slip as a result, and b) the timeline for those other projects takes into account that the developer will be short 10 hours (not to mention almost certainly constantly interrupted and unable to achieve flow) this week.

</comment><comment><USER3> > _not directly related to their individual performance?_

If it's important for your company, then why is doing this job not part of their performance?! Of course they don't want to do it if it just takes away from duties they're judged on.</comment>


Hackathons are taking the world by storm - <AUTHOR> https://medium.com/hackathons-anonymous/7b0d844aa650

<comment><USER2> I wonder in 10 years how many students will participate in hackathons. I think it could be a majority by then.

</comment><comment><USER3> Awesome article depicting our exploding student hackathon culture.</comment>


Google Circles? Meh. Here's Lycos Circles (2004) - <AUTHOR> http://info.lycos.com/releases.php?id=1550

<comment><USER2> I was very much involved in the Lycos Circles product and sent Andrew the link yesterday. If I had any hair left, I'd have been pulling it out yesterday. Maybe it's time to add Lycos Circles to my LinkedIn profile

<comment><AUTHOR> To be fair, Neal. You did send me the link _after_ I IMed you saying, "Hey, didn't Lycos have a product called Circles?" ;)

</comment></comment><comment><USER3> Somebody's Monday:

 _Hm, what's this? A huge traffic spike to ... there? I still administer that?_

</comment><comment><USER4> Awesome find!

I'm sure the Appleseed Project evangelist will drop by to mention they were also founded in 2004 in 3, 2, 1...

<comment><AUTHOR> Thanks. I used to work for Lycos. The Circles project was before my time but it came up in conversation now and then. So when I heard Google Circles it was the first thing that came to mind.

</comment></comment><comment><USER5> This quote sounds funny today: "Unlike other social networking sites, Lycos Circles focuses on helping users to stay connected, share content and manage relationships with people they already know as well as find new people who share their interests."

</comment><comment><USER6> Did this ever actually launch? I don't recall ever hearing about it although I probably wouldn't have remembered anyway. I also didn't realize lycos was still around!

<comment><USER7> It looks like it did. The internet archive crawled bits of Lycos Circles from 2005 to 2009[1] as well as the original eCircles all the way back to 1998[2]

1- <http://waybackmachine.org/*/http://circles.lycos.com>

2- <http://waybackmachine.org/*/http://ecircles.com>

</comment></comment><comment><USER8> Touchscreen tablets, 1999

</comment><comment><USER9> Am I the only one still trying to figure out (and still failing to understand) what facebook did SO right to become what it is today?

<comment><USER10> Timing and perfect set of early users.

</comment></comment><comment><USER11> or the never announced Windows Live Circles <http://www.freepatentsonline.com/y2009/0132365.html>

</comment><comment><USER12> Lycos was still around in 2004?

<comment><AUTHOR> Lycos is still around today.</comment></comment>


Cosmo – The Live Editing Single Page App CMS - <AUTHOR> http://www.cosmocms.org/

<comment><USER2> The demo currently goes to an error page. I am guessing issues with load?

On Chrome, and this may just be a personal thing, but the font is hard to read against the really clear white background. I don't normally mention these things but it seems the thin font really doesn't stand out and it wasn't a pleasurable experience.

Personally I would just tweak the font-weight as at 200 it is too low for me.

Luckily as I changed the font through Chrome Dev Tools, it kept my style changes intact. A behavior I didn't expect to be honest

<comment><USER3> We had received this from a few people over the past week, with different browsers viewing the 200 to be too thin, we went ahead this morning and updated the font to be 400 as the standard for the site so it will be more legible for browsers going forward, sorry about the inconvenience.

The demo page is back up, was just slammed before.

</comment></comment><comment><USER4> Firefox on Linux layout broken.

<comment><USER3> Fix has been added to adjust the issue with firefox</comment></comment>


Design: 1, Awareness: 0 - How to get exactly one Tic tac from the box - <AUTHOR> http://foodbeast.com/content/2012/08/24/so-apparently-weve-been-using-tic-tac-containers-all-wrong/

<comment><USER2> I always thought that was so you could catapult them into your mouth.</comment>


Analyzing Flight Data: A Gentle Introduction to Spark's GraphX - <AUTHOR> http://sparktutorials.net/analyzing-flight-data:-a-gentle-introduction-to-graphx-in-spark

<comment><AUTHOR> Any feedback anyone has would be greatly appreciated! Just getting this site started to teach people about the basics of Apache Spark.</comment>


Oneplus 7 Pro Review: Proof That Other Big Phones Cost Too Much - <AUTHOR> https://www.theverge.com/2019/5/14/18618382/oneplus-7-pro-review-android-camera-screen-phone-price <comment><USER2> Not really. Poco is much better proof of that, generally speaking. Regardless of what DxO says, OnePlus does not make great cameras. Great cameras require a lot of great engineers, which require a lot of money.

<comment><USER3> What's so different about a camera than any other part of the phone?

<comment><USER2> Camera hardware is easy...throw it in, done. It's the software that is hard. People expect more now. Bokeh, auto HDR, stabilization, scene recognition, smoothing, night mode, and much more. If you put best of class lens on a phone, and it just shoots RAW, everyone is going to hate the camera.

As for the other parts of the phone, well, they just aren't as demanding, OR people just don't care about it as much. People will pay a lot of money for a camera that is outstanding, vs say, a phone with the clearest voice imagineable.

<comment><USER3> As long as the hardware is good, there are always tons of android apps one can download to make photos as unique and special as they like.

</comment></comment></comment></comment><comment><USER4> The lack of a water resistant rating is a deal breaker for a $700 phone.

<comment><USER5> Why is it a deal-breaker for you? Do you live or work around a lot of water? Even though it doesn't have an official rating, it does have the same kinds of seals, etc. that the other phones have. If you drop it in some water and pick it out, it will be fine, see here: [https://www.youtube.com/watch?v=z8AdxtkkQDo](https://www.youtube.com/watch?v=z8AdxtkkQDo)</comment></comment>


Nathan Barry's $5k App Challenge: My Seasoned Bootstrappy Advice - <AUTHOR> http://unicornfree.com/2013/difficulties-for-nathan-barrys-app-experiment/

<comment><USER3> "I know Hacker News types think that's a great list of niches, but it's actually a really terrible one. You can't sell to ANY of those people."

This piece of the conversation really left me wanting more, especially since I've been using that very same list with no success over the years. What are some good niches? Better yet, what's a heuristic for picking good niches? She seems to suggest we should focus on an audience we already have, as Nathan has with web developers (designers?), or that we could easily build. So I am the local corporate javascript expert: perhaps I could rally that into an audience of javascript developers or maybe even people that really need javascript developers?

<comment><USER3> "Not only do those audiences not buy things, not only are they scattered and incoherent and unprofessional and in many cases incompetent and/or broke…"

Ok, so to perhaps answer my own question I'm just going to reverse this. A good niche buys things (specifically software if you're selling it). A good niche is well defined, easy to find and filled with competent people with money to spend.

I think it's interesting that we are defining a kind of person, not a job description or industry.

<comment><USER4> the keywords here are audiences vs niches. See, audences are made of people with worldviews. Niche is.. well, impersonal agregate, an industry - <USER2> any beliefs, pains, dreams...

</comment></comment></comment><comment><USER5> This seems to be a fairly common problem amongst developers and designers.

The first problem is actually shipping something that customers can buy. I'll skip over this because both Nathan and Amy have certainly been able to do that. So the next step, the 'white whale' project is the infamous second project.

The advice out there suggests either:

1) Outsource Development (it certainly helps if you're a developer)

or

2) Learn it the hard way and do everything yourself

Rob Walling has certainly had fantastic success himself - all by outsourcing. In fact, if I remember correctly, Rob struggled to successfully launch countless products before he chose a different route. Rob chose to purchase existing businesses (HitTail, Beach Towels etc.) and then started marketing them . I don't believe he had any success before that.

Amy Hoy has had great success with building everything herself - Freckle being a great example. However, Amy has also failed with Charm: "It ended up with me spending 2 years and $200k on something I had to shut down."

It seems like it's not just as simple as choosing either option 1 or option 2. There are examples and counter-examples to both options.

<comment><USER6> I'm a big fan of outsourcing development as that was the route I chose to launch my product (<http://www.bidsketch.com>) in a much shorter time than it took when I was doing everything myself.

I outsourced the early code and design. Quality of both was shaky, but I only had $3,000 to put into it so I wasn't working with much. I later picked up on the last 25% of the development to get into a beta (since my cash ran out), but I was very glad I took this approach.

I've since been able to work with higher quality of developers and designers and improved both areas, but when you have a product that's solving a real problem, customers will be more than happy to pay for that shaky 1st version (as they did with mine).

That said, I have a dev background and learning Rails before outsourcing it was a big help. I know people that don't have a dev background and successfully outsourced dev of their products (I even helped a couple pick their developers), but it's a bit tougher and it helps if you have at least someone with a dev background that can help you pick the right developer.

<comment><USER7> Ruben, thanks for chiming in with your experience!

You had development experience and could tell what was going on… and Nathan didn't, which is why I was discouraging him from that route.

I personally don't know anyone w/o dev chops who fully outsourced the development of their product, with success.

I'd love to hear about how your friends made it work. Was it with your help?

<comment><USER6> You know, after I helped them out with picking a developer, they didn't ask for help once development started. I offered to help but they either didn't run into problems or didn't come to me when they did.

These are the ones that were successful at it...many more were not. But I don't know if the ratio is the same for people with/without dev experience (plus sample size is too small).

What I do know is that most:

1\. Got help picking a developer initially

2\. Had some guidelines on how to work with a developer

3\. Had no development experience

4\. Had to get learn how to outsource and made some mistakes (but eventually made it work)

Outsourcing is tough at first but it gets easier. Like any skill, you have to get better at it.

In any case, I do think it's a great idea to learn how to program so you're not so helpless if/when problems come up.

<comment><USER8> Ruben nailed it with this list. In my experience outsourcing is a continuum; it's not a never/always situation. Meaning you can increase your chance of success by having the factors Ruben mentioned above in place. I would also add that these factors make it easier to outsource your app:

1\. Having dev skills

2\. Building a mobile app or WP plugin (i.e., something simple) vs. a SaaS app (i.e. tons of moving parts and more ongoing maintenance)

3\. Experience outsourcing in the past. It is absolutely a learned skill and the more you do it the better you get.

If you have none of the things Ruben and I have listed (so you're not a dev, you're building a SaaS or other complex app, it's your first time outsourcing, etc...) you have a very, very low chance of succeeding. And if you have every single one you're on the opposite end - IMO the swing could literally be from 10% chance to 90% chance of success depending on the factors you have in place.

<comment><USER5> Rob, rubeng, this is fantastic insight. It sounds like you have to start small to learn the ropes however ambitious you are. i.e. even if you want to build a SaaS app, if you've got no experience, you will likely fail.

So, if you're new to development, it's probably best to build small products (wp plugins, niche sites etc.) to build your portfolio, earn a little cash and more importantly increase your knowledge and experience. Amy, I'm not sure you would agree with this but I'd love to hear your views.

Aside: Rob, you mentioned that outsourcing is a continuum and something that needs to be learned. Is it possible that some people just get lucky with a great outsourced developer? For example, you've said on various podcasts that you're an advocate of VAs but have you had more than 1 or 2? Presumably, as soon as one works, you stick with him/her - perhaps that's luck rather than learning?

<comment><USER8> >>So, if you're new to development, it's probably best to build small products (wp plugins, niche sites etc.) to build your portfolio, earn a little cash and more importantly increase your knowledge and experience.

Yes, this is the tact I would take. I talked about this exact topic in-depth on a recent episode of Foolish Adventure: [http://foolishadventure.com/audio/how-to-market-your- softwar...](http://foolishadventure.com/audio/how-to-market-your-software- with-rob-walling-fa128/)

Early successes are huge not only for you learning the ropes of outsourcing/marketing and giving yourself a small financial cushion, but also for building your confidence that you can make this happen.

>>Rob, is it possible that some people just get lucky with a great outsourced developer?

Good point. This is definitely possible. In my list of the 3 factors above I should have added a 4th: You find an awesome developer, whether through luck, having a great network, or knowing how to hire.

But it's just another variable that impacts that continuum I mentioned and pushes you more towards that 90% or 10% end.

>>For example, you've said on various podcasts that you're an advocate of VAs but have you had more than 1 or 2? Presumably, as soon as one works, you stick with him/her - perhaps that's luck rather than learning?

My success rate at hiring and managing VAs, developers, designers, writers, etc... is waaay better than it was when I started (at least 2x better, maybe 3x). I attribute this to getting better at both hiring (i.e., choosing the right fit) and managing/delegating (i.e. having more skill with outsourcing).

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Nathan and Amy: this is awesome. By letting us "listen in" on your dialogue the lessons in here feel genuine. Great work.

To add a little fuel to the fire, I'll make a few comments:

> Amy: "I've never seen anyone do successful presales for a software product, > for the record."

I guess it depends on the definition of "successful" – Jason Cohen had 40 pre- sales before he started building WPEngine: <http://blog.asmartbear.com/stop- customer-interviews.html>

> Amy: "I don't know ANYONE… ANYONE… who outsourced their product and made a > success out of it."

Again, it depends on your definition of "success" but I personally think Rob Walling is pretty successful, and he outsources almost all of his development: <http://www.softwarebyrob.com>

<comment><USER7> It depends more on your definition of "know." :)

Serious question: Isn't Rob originally a developer?

We outsource a lot of our development too, but outsourcing part (even if it's a large part) as a developer is very different than outsourcing all of it, or outsourcing the "core competency" of your product/business, or outsourcing all the code from day 1. Which I still find sketchy and predict will land a person in trouble if they are unable to work on their own product, just as I describe in the transcript!

As for Jason, I didn't know that, that's great. He does write that 40 promised, but only "20 actually did before launch." What I meant, in my terse way, was "presales to fund the development," which is what _I_ understood Nathan to mean because of his only-$5k budget. Jason had some proof of concept in 20 people but that probably paid for just about nothing :) Or… he was able to get a significant pre-sale $$$ by reaching larger, institutional clients with his connections and track record! Which isn't something a bootstrapper starting out should count on.

Thanks for clarifying!

<comment><USER10> In the comments of his post, Jason wrote:

"Customers are bad about figuring out features, but good about explaining their pain or what they'd like solved."

In your chat with Nathan, you said that people are _not_ good at explaining or even noticing their pains. I guess your experience differs from Jason's in that respect. Mine is probably somewhere in the middle :-)

So, if your prospects are not aware of their pain, how do you sell them your solution?

I expect you have to educate them. It's probably unlikely that you just build something, unveil it, and they go "Of course I need this! Why didn't I think of it?! Silly me! Here's my money."

But then how long do you spend on educating them? Is this why you recommend info products? So that you don't waste time educating for free?

Or do you recommend doing landing page tests?

This is turning into an interview, so I'll stop here. I don't expect you to give away all the secrets you teach in your courses, but would appreciate anything you can share. Thanks!

<comment><USER7> We have to draw a line between "Customers" as in "Customer interviews" as in "People I want to learn about to maybe build something for who MIGHT become actual customers with money later" -- and actual customers, who are already paying you money.

It's easier to get actual information out of actual customers, because they have something concrete to start with (your existing product).

Speculating about potential problems with Customers™ of the first kind doesn't work so well.

I don't think any of my products were products people would have complained about to start with, but once we (yes!) educated them, they were excited.

Part of education means clearly showing the potential customer what pain they're in that they're currently ignoring. Most people block out daily pain & annoyances… even big ones. After all, if they haven't seen hope that it'll get better, why constantly be upset by it? Natural human coping mechanism. I think this is where big wins exist.

<comment><USER10> I agree with you that that's where the big wins exist. But, there also lies the eternal tarpit of dead products - email software, project management apps, to-do list apps, etc.</comment></comment></comment></comment></comment>


Chris Messina: Why Silicon Valley Is All Wrong about Amazon's Echo Show - <AUTHOR> https://medium.com/chris-messina/amazon-echo-show-354b93b448b5 <comment><AUTHOR> Interesting quote >> If Apple is a fashion brand that makes jewelry that connects to the internet, then Amazon is a meta-merchant that inverts the retail model by integrating the point of sale into your life. These two approaches determine how each company will spend the next decade, setting up a cultural dichotomy of epic proportions <<</comment>


Learn AngularJS - <AUTHOR> http://www.codecademy.com/learn/learn-angularjs <comment><USER2> If you don't know anything about client-side frameworks and consider Angular as your first one, keep in mind following:

* This is Angular 1.x course. Angular 2, which is in the development right now, totally different.

* Knowledge you learn from using Angular is unlikely to be applicable to any other client-side framework, as original creators invented many new terminology as well as their approach to many things is unique (not necessarily in a good way)

* A lot of "magic" will prevent you from understanding what is really going on behind scene.

<comment><USER3> Your latter two points are odd since they are directed at Angular when they can be used to describe literally every frontend framework ever created. The third point, in particular, is fundamentally what a framework does... it does some "magic" in the background to prevent you from HAVING to understand what's going on in the background.

The second point is one of the tired pieces of non-sense that seems to never go away. Their was NOTHING wrong with the Angular 1.x approach to web development, because it started some time before the initial release in 2009.

A proper warning for anyone learning AngularJS should be a warning for any frontend framework:

* Much of the code abstracts away the DOM and some Javscript nuances, so don't expect learning a front-end framework to be the same as learning JS (In the same way that learning Rails is not learning Ruby).

* All client-side frameworks take somewhat different approaches, and often use new terminology to explain that approach. This does not necessarily translate from one framework to another, but can.

* Angular 2, an in-development long-term replacement for Angular 1 uses a very different approach to development, and will not translate well from 1.x to 2.x. However, Angular 2 is a modern-browser only framework, and the 1.x will be developed for the foreseeable future.

<comment><USER4> > Your latter two points are odd since they are directed at Angular when they > can be used to describe literally every frontend framework ever created.

I disagree. There are abstractions whose knowledge is easily transferable (e.g. promises, looping through a list of DOM elements), and abstractions that are not (e.g. directives/transclusion/$compile/etc). Angular is notorious (and has received a lot of flak) for having a lot of the latter, so I think the non-portability/magic warnings are warranted.

<comment><USER5> When have you ever picked up code that was written as an integral part of an application using a framework (not just a library) and dropped it into another completely different one without a fair amount of re-work?

<comment><USER4> Code and knowledge are two different things.

Unless you're using highly well-established APIs (such as promises), then of course, you'll have to rewrite things to match the new expected syntax.

Portability of knowledge is a different beast. For example, the vast majority of ng-repeat related concepts is completely non-portable (think `ng-repeat- start`, `track by`, `(x, y) in foo`, `$index`, etc). You learn that `ng- repeat="x in foo | filter: bar"` is equivalent to a for loop that displays only some items, but you can't really apply that knowledge anywhere outside of Angular.

You can't reuse your basic knowledge of for loops and if statements coming into Angular, and you can't use your knowledge about the pipe syntax anywhere else when you leave Angular.

In contrast, a framework that employs `.map` and `.filter` might teach you a bit about FP, and this is something you can use in Angular, Ember, React, and even vanilla js.

<comment><USER3> You are moving goal posts.

You are arguing that syntax equals mobility which is incorrect. .map and .filter can have different syntax depending on the language, just as ng-repeat (the equivalent to a for loop) has a different syntax than a for loop in Perl.

Knowledge and syntax are two different things as well.

<comment><USER4> > You are arguing that syntax equals mobility which is incorrect

No, I'm saying that the knowledge of the concepts of map and filter (as an example) is easily transferable even if syntax isn't. Once you understand those concepts, you can go look up the Ruby/Haskell/whatever syntax and you can reuse your new knowledge of higher order functions, and maybe learn about transducers, or maybe you can go look into point-free style, and the testability benefits of pure functions vs procedural style, etc, etc, etc. Not to mention that by knowing `.map`, you already know a great deal about the template languages for React, Mithril and Mercury.

In contrast, say I've learned about pipe operator precedence in ng-repeat expression clauses. Now I know I can write `x in (foo = (bar | filter: baz))` to memoize a filtered list for use later in that template. But only in Angular template expressions. But not in Javascript. Or Ruby. Or Haskell. And it's a terrible idiom to use in Angular anyways because [insert long rant about a bunch of unrelated topics].

Aside from the knowledge that operators can be recursively composed into god- awful expressions, what part of all that is useful if I migrate to Ember?

Or, say I learn about directives, and transclusion and the ngModel attribute micro language, and $compile and priority and the ngModelController API and ...

These are most certainly not syntax-related concepts. What does learning _that_ get me?

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Don't bother. Spend time with a JavaScript framework that will actually reward your time spent. AngularJS 1.x has a steep learning curve due to over- engineering, a terrible templating system, and is completely incompatible with the upcoming AngularJS 2.x series.

If you're looking for your very first single-page application library, try MithrilJS. It's small and easy to pick up quickly: [https://lhorie.github.io/mithril/](https://lhorie.github.io/mithril/)

<comment><USER5> That's an odd conclusion to reach: what drew me into Angular in the first place was it's extremely shallow learning curve. Going from nothing to prototype is extremely fast, and if you mock your data correctly, can be leveraged into production code.

What eventually pushed me away from Angular is the performance of the scope digest cycle (which you won't even notice until you've built a large enough app to have a problem) and the odd state management issues that arise as a result of two way data binding.

<comment><USER7> What's your background? Did you do a lot of 'classic OOP' before picking up JS?

<comment><USER5> No, I've been programming javascript just as long as any server side language I've used that was OOP oriented.

</comment></comment></comment></comment><comment><USER8> The platform to teach angular.js is built with Reactjs[1]. That's interesting.

[1][http://www.infoq.com/articles/reactjs- codecademy](http://www.infoq.com/articles/reactjs-codecademy)

<comment><USER9> I did a write-up recently about how and why we're using React. You can read it here. [http://artur.co/articles/moving-codecademy-to-es6-webpack- an...](http://artur.co/articles/moving-codecademy-to-es6-webpack-and-react/)

</comment></comment><comment><USER10> Is there an _actual_ reason to use AngularJS that's not just hype? It seems incredibly over-engineered to me, compared to something like React. I realize it's the newest, coolest thing, but...why?

<comment><USER11> From the official website of both technologies: React: "A JavaScript library for building user interfaces" AngularJS: "AngularJS is a structural framework for dynamic web apps".

So, aren't they two different things? (Honest question since I haven't play with React yet).

<comment><USER12> Yes, they are. React deals with more of the templating side of things (many people use it as the V in MVC, or in some cases as the V & C). But along with React, Facebook also released their Flux architecture which isn't a framework but a new approach to the MV* pattern which many people are using with React. Part of the Flux architecture is a concept called "Dispatcher" which handles the flow of data throughout the app. Facebook did release their code for their implementation of a Dispatcher but not much else. So React + Flux can act as a complete framework, but React alone does not.

</comment></comment></comment><comment><USER13> Yeah learning Angular 1.x right now is pretty much a waste of time. I learned it last year and feel like a sucker due to the drastic changes in 2.

<comment><USER14> But demand for Angular 1 is still high. Who knows if 2 will be such a great success.

<comment><USER15> I spent the majority of last year working on an Angular project, and I have 3+ years as a Rails dev.

One thing that's surprised me is I get nearly as much attention from recruiters for Angular work as for Rails. I think this is mostly due to the .NET world embracing it, they tend to be enterprisey gigs.

Give it a few years, and Angular 1.x is going to be like COBOL in the early 90s. Lotsa code out there to maintain...

<comment><USER16> And everyone loves enterprise maintenance gigs!

<comment><USER14> ... if they pay handsomely.

</comment></comment></comment></comment></comment><comment><USER17> For those interested in learning Angular, here's a compilation of resources you might find useful: [https://github.com/timjacobi/angular- education](https://github.com/timjacobi/angular-education)

</comment><comment><USER18> To those saying don't learn angular, which frameworks would you suggest instead?

<comment><USER19> As many people are echoing in the comments, I'd go with React just because it's so easy to get started with. Once you get into it, the Flux pattern is pretty sweet although it's being morphed to use Relay/Graphql which are pretty creative.

Also, React Native is the new way they're proposing to build native mobile apps; definitely new but worth it to learn React in case this works out.

I would definitely push people towards learning Meteor. I know it's a full stack framework instead of just a front end framework but for rapid prototyping, it's fantastic. The community for Meteor is a bit hit or miss because it's so "magical" but it's worth a look too.

Disclaimer: I've only ever done about a week of Angular so I cannot compare features.

<comment><USER20> Angular vs React isn't a great comparison. For all but the most trivial of apps you will need to use a lot of ancillary libraries.

It is more like:

* React

* React-Router

* JQuery (for the AJAX functionality)

* A library for or to help build Observables like EventEmitter, RxJS, or BaconJS

* Immutable.js is useful in many projects

There are also many patterns that have cropped up with React like Flux or Container-Component.

For a newbie, getting started with Angular is much easier.

<comment><USER21> Angular really needs ui-router, lodash/ramda, and jquery (for more than just AJAX).

React doesn't need a router for many uses (extending existing sites), but does need lodash/ramda and an AJAX library. ImmutableJS is useful for both angular and react (as is rxjs/baconjs). For a beginner, I would simply say React, Reflux, Ramda, and jQuery will do 90% of the things. Learning all four of these libraries (they probably already know jQuery) will take less time than Angular and be more flexible if they want to swap one out later.

Finally, adding these is much easier with commonJS than the angular dependency injection (often on top of commonJS).

<comment><USER20> I like all the libraries that you end up having to use with React (and I end up using Lodash with everything anyway). I also think React is a better solution most of the time, but it requires knowledge of the JavaScript ecosystem to grab all the libraries you need whereas Angular does not. As a newbie it can be hard to identify not only what libraries you need but also what is the best of breed.

</comment></comment></comment></comment></comment><comment><USER22> Every time a new framework appears, it feels like this is it. But as time passes you start seeing people's feedback and experiences. I see same pattern for AngularJS, Backbone.js and the recent one React.

So, the point is, don't believe the hype, try yourself and then decide if it is for you or not.

</comment><comment><USER23> Right now on HN "Learn AngularJS" is standing right above "Don't React" :-)

<comment><USER24> Actually this thread is full of comments "don't use AngularJS, use my favorite SomeJS".

</comment></comment><comment><USER8> Is it Angular 1.x or 2.0?

<comment><USER25> 1.x

<comment><USER26> It ought to mention this somewhere, no? Otherwise I suspect some people might feel they'd wasted 5 hours learning a possibly-soon-to-be-outdated technology. (This would be less important for Rails, say, where the changes between 4 and the next major release - or even between 3 and 4 - would be less drastic.)

<comment><USER27> You're right, we probably ought to mention that in the description, regardless of how long the Angular team will be supporting 1.x. Sending that feedback to the content team.

ETA: [http://www.codecademy.com/learn/learn- angularjs](http://www.codecademy.com/learn/learn-angularjs) "Learn how to build web apps using AngularJS 1.x. By the end of the course, you'll be able to use AngularJS to create powerful apps of your own."

<comment><USER26> Great! Well done.

</comment></comment></comment></comment></comment><comment><USER28> So what should we be learning if we want to be exposed to high-level, highly- transferrable concepts related to front-end frameworks?

</comment><comment><USER29> when will the angular 2 release? i just (10 minutes ago) complete the first course on codeschool. but since there's this big change i'll wait before taking the next one.

<comment><USER30> I believe it's to be released later this year. If you're learning front end frameworks thought 1.x still isn't a bad bet. Angular2 is going to be dramatically different, and because of that, they are going to maintain 1.x for quite some time after 2 is released.

Also, the job market for Angular developers is high, and a lot of those companies wont be migrating instantly. If you're looking to get into the field 1.x isn't a bad bet.

You'll have to learn Angular2 someday, but then again, the life of a front end developer is constantly learning new frameworks / technologies.

</comment></comment><comment><USER31> Learn angular, we need moare minions to overcome the world with insanity.

Anarchy!

Angular has been created by the illuminatis to drive people crazy, help them, help the chaos spread the world.

Mouhahahahah

(Yes I can do angular, and yes it is insanely complex and shitty with a lot of Java desgin patterns like IoC from the GoF that are very suitable for java, but totally useless in javascript... Someone still must think we are in the 90's and that the java in javascript means they are related)</comment>


Organizing a 24x7 bullet-proof on-call rotation with PagerDuty - <AUTHOR> http://blog.dotcloud.com/organizing-a-24x7-bullet-proof-on-call-rotati?utm_source=Twitter&utm_medium=Social&utm_campaign=PagerDuty <comment><USER2> >It starts with a quick toolbelt check: do you have proper access to ... the internal documentation Wiki?

Another tip is to make sure you have secondary/hard copies of the most critical things. If the wiki is inaccessible (e.g. a mass network problem), you still need to be able to fix the issue. You won't be able to check the wiki for the procedures.

<comment><USER3> Good point, our wiki is a backed by a mercurial repo, which is mirrored on bitbucket, and most people also have it checked out locally, so that if there was an outage that prevented us from viewing the wiki, we have other ways.</comment></comment>


My First Kaggle ConvNet: Getting to 3rd Percentile in 3 Months - <AUTHOR> http://ilyakava.tumblr.com/post/125230881527/my-1st-kaggle-convnet-getting-to-3rd-percentile

<comment><USER2> Intro:

'The Diabetic Retinopathy challenge on Kaggle has just finished. The goal of the competition was to predict the presence and severity of the disease Diabetic Retinopathy from photographs of eyes. I finished in 20th place using a Convolutional Neural Network (ConvNet). In this post I'll explain my learning process and progress as I implemented my first ConvNet over the last 3 months. Throughout, I'll link to the implementations in my code, which is available on github for anyone who wishes to replicate my score.'

</comment><comment><USER3> So what won? Did they use conv nets?

<comment><USER4> Still active: [https://www.kaggle.com/c/diabetic-retinopathy- detection](https://www.kaggle.com/c/diabetic-retinopathy-detection)

Looks like a fun problem. I've never had much luck with NN for anything other that feature extraction.

<comment><USER5> It just finished, I got 4th. I used convnets. With the correct initialization and data preprocessing they actually are quite easy to train.

<comment><USER4> Neat. Congrats! I'm going to have to learn me some ConvNets.

</comment></comment></comment></comment><comment><USER6> Nothing new. Deep learning is hyped up to 90% these days.</comment>


JDK-8166089: Ahead-of-Time Compilation - <AUTHOR> https://bugs.openjdk.java.net/browse/JDK-8166089 <comment><USER2> While this a first step. It opens up very exiting possibilities, not just for java but also ruby,python and R.

Because this won't be pure AOT but a hybrid with JIT as well. Using the new graal JIT which is written in java but with the truffle framework can be used to JIT and in this case AOT ruby, python, R and Llvm bitcode.

So it is not just a jvm feature!</comment>


Tractor Hacking: Documentary About Farmers Fighting for the Right to Repair - <AUTHOR> https://motherboard.vice.com/en_us/article/pamkqn/watch-tractor-hacking-john-deere-right-to-repair-documentary <comment><USER2> I own a small farm and work in tech. We are struggling with this issue right now as we look at the options for a new tractor vs an older serviceable model. While many of the larger corporate farms are content to buy new equipment every 10 years, those of us at the small end of the scale have begun a push to keep older equipment up and running.

My tractor is from 1996, my hay baler from the early 70s and my hay cutter is even older. These all work just fine even if a little slow. The challenge of not being able to work on my equipment currently outweighs the marginal speed gains I would see on a farm our size. The same goes for nearly all of my neighbors.

The last "new" tractor in the local area was bought a couple years ago by one of the older guys who was buying the last tractor he will ever own and he thought it would be nice to have a top of the line, new, tractor just once.

<comment><USER3> What do you grow? Hay mainly? Acreage?

<comment><USER2> We grow hay to feed our beef cattle on about 100 acres +/\- a bit. But all around us are plenty of farms growing small farm (under 500 acres) or row crops/beans etc.

We were having this very discussion today when picking up some hay to help us get through till spring with a guy that cuts about 500 acres of hay 3 times a year. He just keeps rebuilding his equipment rather than get sucked into the new stuff he can't work on.

This is becoming another huge issue that affects smaller farms more than it affects larger corporate type farms. When a piece of equipment goes down it's needed back in service in hours to days, not the potential weeks that hauling it to a repair depot can cause.

<comment><USER3> You weren't kidding about the small farm! The dealers in your area can't do field repairs?

</comment></comment></comment></comment><comment><USER4> I work in the embedded field and this drives me nuts. I personally feel that companies should be required to go one step further and be compelled to release their embedded keys and source code for any product that they no longer provide complete support for.

The embedded field is strange because the lock-in is generally on the side of the hardware design and tooling. Nobody is going to try to clone a tractor because they have the source code for it. They also need the CAD drawings, machine paths, tooling, supply chain, etc... Yet just about every company in the space feels that their code is absolutely sacred above all else. Just about everything you own running embedded software that has some update functionality has a bootloader containing cryptographic keys such that the firmware patches/images cannot even be disassembled. For a few devices like routers, some toys, a couple handheld radios and the like, people have been able to modify them through exploits that cause firmware dumps from the uC's memory but otherwise it's typically prohibitively time intensive to rewrite new firmware from scratch without having access to the device schematics (and even then). Worse, just about all these devices have some access to JTAG ports such that you could easily program them yourself if you wanted to and had something useful to flash them with. I've run into so many products I use on a regular basis with bugs or simple but badly needed features that I could have easily fixed/hacked in with access to the source code but alas, I cannot.

<comment><USER5> _I personally feel that companies should be required to go one step further and be compelled to release their embedded keys and source code for any product that they no longer provide complete support for._

Sounds great, but it's something the abandonware[1] scene has been fighting for over the past 20 years, to no avail.

1\. [https://en.wikipedia.org/wiki/Abandonware](https://en.wikipedia.org/wiki/Abandonware)

<comment><USER6> It's a good idea, so people should keep fighting for it, even if it takes more than 20 years.

</comment></comment></comment><comment><USER7> As a software engineer with an embedded systems background this kind of OEM behavior driver me up the wall.

I've had OEM's:

\- refusing to provide interface specs of a device of which we just ordered hundreds of units. (But hey, here is the binary windows (!) driver for this embedded device)

\- refusing to provide the calculation method of a checksum value their device returned.

\- Stopping software development (tooling, firmware, drivers) on embedded products, even when there are known issues.

\- Dropping support on a device, even when hundreds of them are still being used in the field.

It's not just tractors, its everywhere.

From a business standpoint, it's just so dangerous to work with hardware vendors who don't offer implementation details or source code. If they drop support or stop existing, you're screwed...

<comment><USER8> As a former farmer (roughly 4000 acres of dryland farming in Canada) and an engineer who also did embedded control system development, I would like to add some of my concerns.

For new ag machinery, embedded control systems are absolutely essential for the machine to do its job. The ECU on the engine is generally reliable and have long life. The other stuff, I'm highly dubious of the long-term maintainability of it. On our farm, we ran a lot of older equipment and did a lot of repairs ourselves. For new equipment, that will be near impossible as the electronic control systems are black boxes. Even the cabling is complicated and is generally not documented. After the machine gets a decade or two old, good luck fixing it.

I suppose you could just drive the machine in the junk pile. However, when a new combine harvester is costing around 3/4 of a million USD, that seems a bit wasteful. I don't know what the solution is though. The farmers buying new equipment don't care so much, their resale value is not suffering too badly. The manufacturers are looking for ways to sell new equipment and adding more features via electronic controls is a relatively cheap way to enhance the product.

Most farmers say they don't want all these new electronics on their machines. When Deere announced their S700 series combines, they had a video bragging about all the new improvements:

[https://youtu.be/l5xJOoNyLoU](https://youtu.be/l5xJOoNyLoU)

If you study it, you will notice that most of the new features are due to software changes or to electronic control systems. Little of what the machine actually does to harvest the grain has changed (metal parts, etc). This automation features are nice when they work but are a disaster when something goes wrong. The operator will have trouble to determine what the machine is doing (never mind trying to figure out how to fix it).

However, even though many farmers say they don't want it, the new machines are selling well. So, maybe you could argue the market is working. To me, it feels like there could be some externalization of costs going on. These new machines are very much less valuable as they get older vs the previous era of farm equipment. I guess the same thing has happened to automobiles. You can take a car from the 1940s and fix it up into perfect condition. If you take a 2017 car loaded with electronics, would you have any hope of fixing it to new condition in 50 years from now?

<comment><USER9> It took ~30yr for good, fairly cost effective aftermarket, fairly generalized ECUs and transmission controllers for automotive applications to come about.

The same will probably happen to tractors and whatnot. Since the cost side of the equation is far different for business and the problem has already been solved in the automotive space so it may happen quicker once it starts happening.

<comment><USER10> I do embedded work. Making an open-source, aftermarket electronics for tractors, with standard interfaces.. that sounds fun.

<comment><USER11> You might like tinkering with something like the Macchina[1].

[https://www.macchina.cc/](https://www.macchina.cc/)

</comment></comment></comment></comment></comment><comment><USER12> Companies generally don't want you in the software for safety reasons. While true there is intellectual property around the guidance and swath generating algorithms, companies hate lawsuits. Lawsuits tie up resources, can cause stop shipments, generally lost profits, and tarnish the brand. Look at the Chrysler Jeep news...

You hack or change software on a vehicle and cause the auto-guidance to run over and kill someone or you circumvent a safety check in software unbeknownst to you due to your software changes and a spinny sharp thing that should have stopped doesn't and hurts or mames you or calibration changes cause engine to to over-heat and burn up and generally the company is held responsible for it.

As much time is spent testing software as is writing software. All our testing is there to make sure the software works as expected. Millions are spent on test equipment and millions of hours and man hours are spent making sure software works as expected.

I happen to work for a major agricultural company and I'm a lead software architect for their guidance + autonomous vehicles + precision farming embedded devices. We are one of John Deere's major competitors.

<comment><USER13> This is indeed one of the specific instantiations of the generic single-actor control-delusion that has always been with us, but has been greatly exacerbated by the rise of software. And I've no doubt that it's enough to keep the engineers' cognitive dissonance stoked - "It is difficult to get a man to understand something, when his salary depends upon his not understanding it" plus a bit of ego stroking from the implication that being able to work on this particular code is _really special_.

But it's utterly fallacious. It's quite clear that if certain changes result in different behavior, then whomever made those specific changes is responsible for the resulting behavior. About the only leg the argument can stand on is if the code is so sloppy that someone attempting to make a simple change tickles a bug somewhere else, but enabling such lack of quality to persist is the exact wrong approach for a safety-critical system!

Furthermore, regardless of its actual merit, this is precisely the kind of Schelling point collusion that is in the collective interest to bust up. "Selling" someone a piece of capital equipment that is deliberately designed to prevent its own servicing is plainly fraudulent.

<comment><USER14> Except that tractors _are_ more dangerous than your car/appliance/whatever.

You'd be amazed the amount of carnage running a brushhog at 1000rpm will do when it was designed at 540rpm. They will happily throw the 3-4 foot blade right though 1/2in steel up to 300-400ft in whatever direction the wind takes them.

When that process is controlled by software all it takes is flipping the wrong high order bit in the PTO controller. On a manual tractor it's very clear when the PTO lever is in 1000rpm vs 540rpm(and usually on a separate lever from engagement) vs an opaque software stack.

<comment><USER15> What is your point? I have a relative that lost his arm to a combine. There was no lawsuit, he did not seek damages. Farmers are well aware of how dangerous this equipment is.

<comment><USER14> The point is I don't think allowing the modification of software in what is essentially a factory on wheels is a safe thing to do.

When we bought our '81 Ford there was a ton of bodge jobs and half-assed repairs(that helped us talk down the price) that I could easily verify by visual inspection. I knew because I could see them that they weren't inherently dangerous. Software doesn't have the same analogy in this space.

<comment><USER16> > The point is I don't think allowing the modification of software in what is > essentially a factory on wheels is a safe thing to do.

Someone has to do it. What makes John Deere's embedded software engineers more qualified to write software for a factory on wheels than the embedded software engineers working directly for the farms?

Especially when we can't even check the former group's work.

<comment><USER12> "Someone has to do it. What makes John Deere's embedded software engineers more qualified..."

Simple, John Deere, probably like us, has spent more testing the software than you could ever do on your own.

You can't judge complex software just by looking at it. It must be tested. People who fail to understand this wind up making these uneducated comments. Go study ISO26262 and the MTB calculations required to pass it and maybe you'll change your tune.

Tested software runs on real vehicles and simulators at large companies, as I stated, running into the multi-million dollar price range. There is zero amount of code inspection the general public can do that would give the same assurances you get through testing.

Bottom line: just looking at code is not enough. You must test it. This is unit tests, simulations, field tests, harsh temperature, vibration, power cycle, high side/low side power distribution, code coverage, etc... None of this is possible by you inspecting code.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I'm "excited" about the day that I'll be forced to choose between getting a life-saving medical device implanted, or instead throwing a hissy fit about getting the source code to something that's going in my body. I hope we can figure this shit out with tractors instead...

<comment><USER18> That's already happening.

[https://youtu.be/5XDTQLa3NjE](https://youtu.be/5XDTQLa3NjE)

[https://youtu.be/8wPAHu_zYDw](https://youtu.be/8wPAHu_zYDw)

</comment></comment><comment><USER19> I've done contract work for a manufacturer of electronic control systems for excavation and mining equipment. They've aggressively implemented DRM in their new products to support renting time-limited and geofenced access to optional features. Their revenue models for the newest generation of equipment are based in large part on the recurring revenue stream enabled by DRM.

</comment><comment><USER20> There was an article about these John Deere hacking farmers a year ago, and this is a follow-up. There was good discussion on HN back then: [https://news.ycombinator.com/item?id=13925994](https://news.ycombinator.com/item?id=13925994)

</comment><comment><USER21> A similar situation exists for consumer grade WiFi routers in the US. For about a year now, it's well-nigh impossible to flash routers with DD-WRT, OpenWRT, and friends due to the new FCC conditions manufacturers paid^H^H^H^H lobbied to get put in place.

<comment><USER22> You've peaked my interest. Has then been new legislation that has enabled router manufacturers lock down their hardware to a point an end-user cannot change it? All three organizations you name are open source and community driven. They cannot possibly write or port their firmware to every platform.

<comment><USER23> Parent likely refers to the 5ghz dfs rules, see [https://arstechnica.com/information- technology/2015/09/fcc-o...](https://arstechnica.com/information- technology/2015/09/fcc-open-source-router-software-is-still-legal-under- certain-conditions/)

<comment><USER21> I wish that were the case, but alas it is not. The article you link was unfortunately an optimistic interpretation of what not yet known to come[0].

0 - [https://www.wired.com/2016/03/way-go-fcc-now- manufacturers-l...](https://www.wired.com/2016/03/way-go-fcc-now- manufacturers-locking-routers/)

</comment></comment></comment></comment><comment><USER24> This story comes up quite often. It seems an opportunity for someone to launch a farm equipment business that makes it's margin on the initial sale instead of the service.

Even if it's just refurbished pre-drm tractors.

</comment><comment><USER25> This practice is pretty much rampant across all industries ranging from cellphones to luxury cars. One simple answer is big companies just want to extend their profits. Another reasons is they want their distributors or dealerships or middleman to thrive as well without which their business may get stagnant.

<comment><USER26> Because copyright and software can be used to perform a backdoor attack to seize ownership of physical objects from you. You are looking at a full-on attack on the concept of _ownership_. You own nothing: It is licensed to you at the whims of the true owners.

Why wouldn't corporations, which are sociopathic "persons" defined exclusively by their avarice not want to do so? It is more profitable to prevent repair. It more profitable to force you into buying more.

</comment></comment><comment><USER27> According to the video lawyers from Microsoft and Apple showed up at the legislature to voice their objections to the Right To Repair bill. Interesting that these 2 companies would be so anti-consumer.

<comment><USER28> What's so interesting about it, are you surprised?

Apple have been fighting the ability to run your own code on the device since day one.

This is part of the business model of the "app store" purchase model and not very surprising.

I'm sure even you have heard that Microsoft have been anti-consumer once or twice over the years.

</comment></comment><comment><USER29> What if there was a law that any device containing embedded software would have to either be (a) open source, with source code and docs freely available, or (b) closed source, with source code and docs in escrow in the event that the manufacturer ceases support, at which time the code and docs would immediately become open source?

</comment><comment><USER30> A similar/related thread:

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

Risking to cite myself:

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

</comment><comment><USER31> This is only going to get worse. A company called Blue River Technologies, which hopes to automate weeding was acquired by John Deere(the company being discussed in the article). Their software is obviously more complex than simple firmware which can be 'hacked' by the average joe.

If this weeding systems is profitable and becomes popular, these farmers are screwed.

Here's[1] a nice longread on that company. It's a bit fluffy, but I recommend it.

[1]: [https://www.bloomberg.com/news/features/2018-01-11/this- army...](https://www.bloomberg.com/news/features/2018-01-11/this-army-of-ai- robots-will-feed-the-world)

</comment><comment><USER32> Is there any farm equipment (from China perhaps) that isn't DRMed? In addition to discussing the responsibilities of vendors, maybe we can also discuss the responsibility of customers to understand what they're buying.

<comment><USER33> _from China perhaps_

In this case their general lack of effort around security (see the whole IoT mess) may be a _good_ thing, as it means any DRM is more hackable.

The flipside of that is the firmware may also be buggier, but then again, you're also more likely to be able to fix those bugs due to the hackability. The old Douglas Adams quote comes to mind: "The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at and repair."

</comment></comment><comment><USER34> I'm involved in the design of embedded systems for a relatively consumer market, and I've looked into making my company's designs more accessible to modification/software manipulation. There are a few (sometimes major) costs to allowing the modification of software that people tend to ignore in this discussion:

\- Support: If you want to make your product more accessible to repair, you need to provide support for that. This costs developer time (making the code nice enough to be externally visible, maybe putting together an SDK, making sure any actual secret sauce or anti-counterfeiting systems are blocked off), customer support time (you WILL get calls when somebody buys a used system with modified firmware that doesn't work), and increases the hardware costs (want to provide a JTAG port? that's PCB space and BOM cost).

\- Brand reflection: We've all seen how much of a ripple the wrong person having a bad experience with a product can have on the market. Say somebody buys a modified Initech Widget (tm) that has a bug or burns some other expensive equipment that it has to work with. That person complains on their friendly local social media network that Initech Widgets have a habit of (say) turning off furnaces in the middle of winter so the user's pipes freeze. Suddenly Initech is dealing with a media ____storm because they allowed modification of their software, which brings us to...

\- Liability. What happens if somebody modifies the software in my product and somebody dies, burns down their house, or ( __* forbid) makes it possible to cause harmful interference and the FCC finds out? How do I prove to that user 's (or the FCC's) lawyers that I shouldn't have to pay the damages? Let's assume that, as in the case of tractors or mobile baseband modems (which seem to get brought up a lot in this case) that software is a FUNDAMENTAL part of ensuring the safety/compliance of the unit.

Every time I've been through that calculus, the answer at the end has been, "I should do everything in my power to prevent the firmware of my devices from being modified".

I can understand and sympathize with the arguments in the other direction, and as a consumer I'm both qualified and interested in modifying the software on my widgets, but it would take a lot of change in the way our society works before most companies will put themselves at risk by supporting or even allowing it for their products.

</comment><comment><USER35> A low tech alternative, depending on one's needs could be draft horses. My wife's family worked teams of belgians for about 80% of their 400-acre farm.

[https://www.motherearthnews.com/homesteading-and- livestock/f...](https://www.motherearthnews.com/homesteading-and- livestock/farming-with-horses-zmaz87jazgoe)</comment>


Ask HN : Anyone from Facebook on HN to help my friend being bullied on Facebook? - <AUTHOR> http://rukshanr.com/2013/10/20/unfortunate-facebooking/

<comment><AUTHOR> Here is the post if the blog is down [https://gist.github.com/rukshn/7061578/raw/76bf217fccd6e0ff9...](https://gist.github.com/rukshn/7061578/raw/76bf217fccd6e0ff9b25ef2fe34e59702ab05ded/gistfile1.txt)

</comment><comment><USER2> Um... maybe get a real life and real friends instead of being addicted to social media?

It's surprisingly doable - no one has ever died from not have a facebook account. No one has never not climbed the corporate ladder from not have a facebook account (the opposite is very true). No one has ever had a family disown them, forget about them, get confused who they are from not having a facebook account. Real friends will still call, get together, do things, and go places all without the "help" of facebook. Email of any flavor still works, as does SMS, and gasp snail mail. And of course that old faithful, realtime communication either by phone or in person is still oh so wonderful.

So put down the facebook koolaid and get a real life - it's amazing what can be done in the real world.

<comment><USER3> Aaaand... the first reply on HN is a bullying response telling the submitter to "get a life." Hilarious.

<comment><AUTHOR> ha ha yah i thought of the same thing, it's internet can't help it i guess

</comment></comment></comment><comment><USER4> Atleast some or all of us can report this profile on facebook. Higher the count, earlier they will listen.

<comment><AUTHOR> i'm sure we've reported nearly 100 times but facebook is not listening. I was wondering someone from facebook in HN will respond. But the post was taken from the front page in less than ten minutes of HN when the blog crashed due to high traffic

</comment></comment><comment><USER5> yup HN is ruthless to weak servers. DB down.

</comment><comment><USER6> aaaaand your database crashed! :(

<comment><AUTHOR> too much traffic i guess, will try to get it back up</comment></comment>


Show HN: Prime number sieve in 31 lines of Python - <AUTHOR> https://github.com/stochastic-thread/nn/blob/master/testbed/sieve.py <comment><USER2> This is an exceptionally slow implementation. It took 1 hour and 29 minutes to generate all primes under 1 million. (I forgot I had left it running).

In contrast, a C++ implementation would take under 1s. Considering the standard Python multiplier of 5x-10x, that's still a maximum of 10 seconds for a well-written implementation. And that's the standard implementation with no fancy tricks.

Sometimes brevity is just not worth it...

<comment><USER3> It is just a slow implementation, the usage of a dictionnary rather than a list is weird and the setup will be long, `get_sentinel` scan the whole list while it should just continue so it multiplies the complexity of the algorithm by n, line 22 scan the remainder of the list while it should just go for the multiples.

Here's a naive implementation I just wrote:

        def crible(n):
            nums = [True] * n
            nums[:1] = [False, False]

            for i, isPrime in enumerate(nums):
                if not isPrime:
                    continue
                yield i
                j = 2
                while i*j < len(nums):
                    nums[i*j] = False
                    j += 1

It is much faster (and is about 10 lines of Python):

        timeit.timeit("list(crible(1000000))", number=1, globals={'crible': crible})
        0.9441672329999165</comment></comment>


Swindon – A Rust WebServer - <AUTHOR> https://swindon-rs.github.io/swindon/ <comment><USER2> The name's a little off-putting for those of us in the know...</comment>


There is No Now – problems with simultaneity in distributed systems - <AUTHOR> https://queue.acm.org/detail.cfm?id=2745385

<comment><USER2> [https://news.ycombinator.com/item?id=9184779](https://news.ycombinator.com/item?id=9184779)</comment>


Airtape – The Future of Podcast Recording - <AUTHOR> https://airtape.co <comment><AUTHOR> Hi,

I am Hamed the founder of airtape.

With airtape you can record your podcast or audio session in studio quality directly from your web browser. No installation needed. You get high quality audio while making sure you get separate tracks, without voice interference, drift or quality loss.

Today I'm very proud to announce that it just went live. It's been a joyride since day one. The very first commit was done April 16th, so around 11 weeks ago now.

Today it reached a stable version with support for 16bit 44.1kHz WAVE, MP3 320kbps and MP3 128kpbs. Built in VoIP and many more awesome features which hopefully will make podcaster lives easier.

I want to thank all the beta testers who helped to improve the product. If you want to get a taste let me know here, I'm happy to give away couple 1 month free coupons.

Best, H.</comment>


Show HN: NewsYC, a hacker news client - <AUTHOR> Hey HN, I just wanted to share an invite link for something I've been working on for some time: https://testflight.apple.com/join/MfbB9B7k
It's a full featured hacker news client for iOS. <comment><AUTHOR> OP here, feel free to ask any questions. Feedback is appreciated. Some of the features include dark mode, login to comment, fave, share links, etc. You can use it on iPad or iPhone. Collapsible comments, browse users, etc.</comment>


Ask HN: Publishing a copyleft book - <AUTHOR>

I plan to spend much of the coming academic year writing a book "out in the open": sources under version control, hosted in a public repo, under a copyleft license. But I am also an untenured researcher, and need to build up my publication record, so I'd like to secure a contract with a conventional academic publisher for the hardcopy format. In the humanities, writing and publishing books this way is not at all common, so I would appreciate any pointers to the usual or most effective roadmap:<p>Should I approach a publishing house first with the idea? Does making the book copyleft put off publishing houses? Other gotchas I should bear in mind? <comment><USER2> Different circumstance, but I self-published my education book under the Creative Commons sharealike-attribution license, and that actually helped me get the next edition published by an established education publisher, Jossey- Bass, an imprint of Wiley & Sons.

I don't know about strict academic publishers. But everyone else is broke. If you present them something finished, something that looks like a real book, that may well help you get published. Just make sure there's a clause in your contract that acknowledges the existence of your copyleft book and makes clear that that does not affect your deal with them whatsoever.

</comment><comment><USER3> You should transcend all notions of 'copy' in the first place. All licensing has to do with some form of restriction on the reproduction, even if the terms are very liberal, like Creative Commons. A friend once told me the best way to get people to read your book is to leave copies of it lying around in public places, with no mention of licensing, or other restrictions on who else should read it. Information wants to be free (or expensive depending on whether you build in business logic).</comment>


Magic - <AUTHOR> http://daringfireball.net/2011/04/magic

<comment><USER2> _The difference between iOS and Android, design-wise, can be summed in a single word: magic. iOS aims for it. Android doesn't want it._

Well, that is perfectly vague and wishy-washy. Does Gruber actually think that the Android team doesn't want "magic", whatever that means?

Android has a different aesthetic than iOS. You can quibble over which you think is more usable or more attractive, but just straight claiming Android doesn't want a nebulous term borrowed from Apple's ad copy is a weird way to knock the platform.

<comment><USER3> I think the point that he's (poorly) trying to make is that Apple, both through design and through marketing, is positioning iOS as a warm, embracing experience that brings you joy - while Android is (willingly) being painted as a cold, efficient tool that lets you accomplish the task at hand but doesn't want you to stay for dinner.

<comment><USER2> If that is his point, I'd have to disagree. In marketing, yes, that holds true. But when it comes to warmth/non functional touches of the actual OS, Android almost has that to a fault (live wallpapers that unnecessarily task the phone, but are fun and playful; widgets that can be almost MySpace-esque; the old fashioned tube TV lock animation; etc.). Especially when compared the mostly functional and staid grid of icons and clean lines iOS goes for with the occasionally playful skeuomorphism.

I guess to just boils down to Gruber preferring iOS.

<comment><USER4> Adding non functional touches that serve little purpose is not what Apple tries to do though. Their little touches all add to making things better for the user (at least they hope it does).

Contrast this to live wallpapers. I have only seen a few, but they appear to serve no purpose other than to allow yet more customization and drain battery life.

<comment><USER2> Never said the Android method was superior (I think a good analogy is Android is the Myspace to iOS's Facebook), just pointing out that pigeonholing Android as pure function over warmth is BS that people like Gruber like to say to marginalize Android as a neckbeard loser's choice instead the massively popular general OS that it is.

</comment></comment></comment></comment></comment><comment><USER5> "Android doesn't want it" is untrue. What would be more accurate is that it doesn't care for that level of "magic". Yet. As the platform matures, there will be a lot of developers who will try to bring the same aesthetic as their iOS apps to Android too. And some of them will succeed.

</comment><comment><USER6> It reminds me of a talk by Doug Rushkoff (im pass-phrasing here, I dont remember exactly)

"The more magical the medium, the more compelling the message... ...the less we understand about how the message is getting to us, the more compelled we are to believe it. Just like the priest giving a wafer that turns into a body, my god it must be true. The technology keeps it magic. ...

how do you remystify the demystified technology?! windows! how do you install software in windows? with the wizard, why did they pick the wizard as the metaphor? because its mysterious, weird hocus pocus, don't look behind here. to install software you need the wizard, not the helper, not the friend. The Wizard, might as well be the priest."</comment>


Pushing for engineers to code faster may not equate to faster deliverables - <AUTHOR> https://www.betbuildgo.com/blog/2019/8/10/myth-of-engineering-velocity <comment><USER2> Not exactly the same thing, but about six years ago, I was working for a startup that did consulting work, and we had a project where I was doing the frontend JavaScript in AngularJS, one person was doing the backend in Node.js, and another person was doing the HTML/CSS. This was a pretty logical split, and there wasn't too much toe-stepping.

One day, my manager decided (and this isn't a joke) that he was going to make the project finish "three times faster" by adding three times as many people to it.

This turned out to be a royally idiotic decision; this was a monolithic application (before microservices became a buzzword), as a result it became incredibly easy to break everyone else's stuff. Since there was now three people doing every given thing, and we were now in a time-crunch, and since the management wasn't terribly good, it became incredibly easy to accidentally break the whole app without even trying; there was no longer a clear division on where my part of the code began and ended.

It turned out to be a shitshow; eventually management realized their mistake, and annoyingly since I was the only one who knew all three parts of the app, I was the one who had to complete the mess.

<comment><AUTHOR> exactly! you can gain so much more efficiency (and improve morale) by just examining your processes more, before trying to throw more engineers at the problem. and honestly, it is wasteful and lazy to just pull that trigger before thinking things through, not to mention all the negative (and honestly obvious) consequences that you describe.

<comment><USER2> Yeah, the only thing that goes three times faster when you do something like that is the project budget.

It was a good lesson for me; surprisingly enough it's sort of what made concurrent algorithms click; specifically why "adding more threads" doesn't just magically speed up an algorithm.

I do think microservices would have helped in this specific problem; at least the toe-stepping would have been minimized.</comment></comment></comment>


Tokyo may have found the solution to soaring housing costs - <AUTHOR> http://www.vox.com/2016/8/8/12390048/san-francisco-housing-costs-tokyo <comment><USER2> The reasons for Japan's lower housing prices make a lot of sense to me and I think their solutions are a good idea for developed nations.

I'll admit I'm not particularly educated on this sort of issue, so I'd love to hear from someone who thinks this sort of central planning isn't as good of an idea.

<comment><USER3> It's the opposite of central planning. According to the article, there is a uniform set of rules. Follow the rules, build your condo building. In the US there is central planning on the local level, usually the city level. Planning commissions determine if your project meets the "character of the neighborhood" and neighbors bitch and complain that your project will "create more traffic" and the (central) planning commission denies your permit.

<comment><USER4> I agree with what you observe, but I'd characterize Japan's solution as massively and strictly central planning, whereas the US has loosely adhered to local planning.

<comment><USER5> You're confusing strictness with centralization. The rules are strict, but there is no centralized control. The way you get decentralization is by having rules.

Consider Bitcoin for example. The rules are incredibly strict. You basically have no choice but to obey all of the rules in order to participate. They will not budge, and they were devised by one person, which calls to mind "central" and "control" but is just the opposite. Those rules are carefully constructed to allow the system to be completely decentralized. No permission is needed to participate. No one has the power to veto or alter your contributions. Simply obey the rules and no one else can have power over you.

The distinction you are making about federal vs municipal control isn't about centralization vs decentralization, it's just about the scale of centralization. Municipalities are small, but they still have a single bottleneck at the mayor/city council.

The reason this matters is that a rule-based decentralized system provides a structure that you can rely on. You can make a plan for compliance, and be reasonably assured that it will work. With centralized planning, even at if the central office is only governing something as small as an HOA, then there is no plan you can make which has an assurance of success. You are at the whim of the planners who have veto power.

This turns planning into a stochastic game where your plans need to have redundancy at every level in order to have high probability of success, which increases cost and slows the pace of development substantially.

<comment><USER2> I appreciate the distinctions! I feel like I should research them more, but I must be conflating the the terms in my mind.

</comment></comment></comment></comment></comment><comment><USER6> A good article on Japan's national zoning laws and how it differs from the US:

[http://urbankchoze.blogspot.com/2014/04/japanese- zoning.html](http://urbankchoze.blogspot.com/2014/04/japanese-zoning.html)

</comment><comment><USER7> It also helps that Japan has a culture of tearing down "used" houses after 15 or so years, and rebuilding them [1]. This means that neighborhoods are constantly being reconstructed to meet the needs of the current population.

That attitude seems to clash pretty dramatically with those of San Franciscans or Londoners, who prefer to maintain the heritage and culture of a neighborhood.

[1] [https://www.theguardian.com/sustainable- business/disposable-...](https://www.theguardian.com/sustainable- business/disposable-homes-japan-environment-lifespan-sustainability)</comment>


Web serving in ec2 - our experiences with nginx and instance sizes - <AUTHOR> http://aws-musings.com/web-serving-in-the-cloud-our-experiences-with-nginx-and-instance-sizes/

<comment><USER2> I concur with these findings. m1.smalls are nearly worthless. c1.mediums are roughly twice the hourly cost, and are much faster and more stable when it comes to high-cpu tasks (like an application server).

</comment><comment><USER3> It helps a lot to up the limit of open files in the smallest instance. I've not been able to produce enough load to max out the smallest instance running lighttpd and serving small files from ramdisk. 10.000 simultaneous requests and the server is still pretty happy. For application server though the medium is much better but for serving static files, el-cheapo is enough.</comment>


A Unix Utility to Know About: lsof (2009) - <AUTHOR> http://www.catonmat.net/blog/unix-utilities-lsof/ <comment><USER2> For finding what uses a file, I'm an 'fuser' kid but lsof is fine too. Using posh right now, so had to make my own:

        function fuser($relativeFile){
          $file = Resolve-Path $relativeFile
          foreach ( $Process in (Get-Process)) {
            foreach ( $Module in $Process.Modules) {
              if ( $Module.FileName -like "$file*" ) {
                $Process | select id, path
              }
            }
          }
        }

In use:

        > fuser .\node_modules\

          Id Path
          -- ----
        2660 C:\Program Files\nodejs\node.exe

Since it's object pipelining, you can:

        > fuser .\node_modules\ | kill

<comment><USER3> I find myself using lsof for it's ability to show me what TCP sockets are in use more than what actual files are open.

lsof | grep TCP

<comment><USER4> For that I often use:

netstat --ip -a -p

Those particular options mean to show just IP ports (UDP/TCP), in all statuses (active, listening) and to display the local process which is involved.

</comment></comment></comment><comment><USER5> `lsof` and `ps` have the most dense man pages I have ever tried to plow through, and that's causing me to use these tools only at a minimum.

<comment><USER6> I am guilty of using `ps|aux` for the sole purpose of answering this question: Is it (still) running ?

edit: `ps aux|grep`, indeed. Silly me in the early hours of a rest day :).

<comment><USER7> Modern Linuxes have pgrep to help avoid the inevitable "lol, the grep process I fired will match" issue that results in having to filter that out as well with yet another program.

<comment><USER3> Yeah, I always felt having to type the extra bit was strange, like maybe grep could have a switch to say "don't find grep" but I guess having a switch for such a specific use case, grepping processes, is overkill.

Anyway, it's just a reflex now to always:

      ps aux | grep <program> | grep -v grep

<comment><USER8> You can also surround each character in the program's name with square brackets.

        ps -ef | grep [p][r][o][g][r][a][m]

<comment><USER3> Yes, I never knew that. But I saw it in another post and as the sibling post mentions it's enough to surround just the first character with the brackets...

This is why I love HN, I learn stuff I never knew I wanted to know!

</comment></comment></comment></comment></comment></comment><comment><USER9> _lsof -i -n -P_ is a regular "reflex" command whenever I'm trying to figure out why a daemon I've just setup isn't responding to requests (immediately answers the questions: is it running? and, if yes, under what privs? and on what interface?).

That together with a dump of active iptables rules normally results in an immediate fix for 90% of "why can't I connect to X" problems :)

<comment><USER10> had to try this lsof to see it's essentially `netstat -atpu`

</comment></comment><comment><USER11> Most days, HN threads make me feel really dumb. On rare days, they make me feel really smart.

</comment><comment><USER12> Although a bit rare in my usage, I have found basic use of lsof quite useful when needed. I haven't even tried many command line options. The options it provides really seem comprehensive. I have also found similar tools on Windows (like WhoLockMe or Process Explorer) quite useful.

<comment><USER13> I'm not exposed to windows machines as much as i used to be, but yeah process explorer was pretty cool.

</comment></comment><comment><USER14> What kernel functions does this command invoke to retrieve this information? How could I write my own version of lsof?

<comment><USER15> The stat() family functions for sure, BSD Sockets, user account, covering everything from "process environement" to "filesystem" functions.

"FAQ about lsof"[1] is very instructive.

[1] ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ

</comment></comment><comment><USER16> s/Unix/Linux/

The following can be adapted to provide other information: whatever procfs provides. This is a rough equivalent of "pgrep -fl .|less". _Work-in- progress_. Don't know if Linux grep has "-a" option.

      #! /bin/sh
      # Almquist clone, not Bash

      case $# in
      0)
      exec grep -a . proc/[0-9]*/cmdline \
      |exec tr '\000' '\040' \
      |exec sed '
                 /grep -a .* proc/d;
                 #parent: '"$$"';
                 s/proc./ /;
                 s/\/cmdline:/ /;
     ' \
      |exec less
      ;;

      *)
      exec grep -a . proc/[0-9]*/cmdline \
      |exec tr '\000' '\040' \
      |exec grep $@ \
      |exec sed '
                 /grep '"$@"'/d;
                 s/proc./ /;
                 s/\/cmdline:/ /;
     ' \
      |exec less
      esac

<comment><USER17> You don't need any of those `exec`s. Yes, GNU grep has `-a`.

If you don't like the backslash-newline-pipe sequence, if you put the pipe at the end of the previous line, you don't need the backslash; but it's less obvious that the next line is operating on the output of the previous.

Multi-line arguments to sed can be a pain (good luck getting your editor to auto-indent them). Instead, you can use -e to specify multiple sed commands.

There's nothing in there that would make it not work in bash. That should work in any Bourne-family shell.

It only handles 0 or 1 arguments correctly, not > 1.

<comment><USER16> Thanks for taking the time to comment.

Multiple arguments could be added if you want that. I personally do not need it as I search the cmdline patterns I need without using spaces. I use dots instead. Quick and dirty.

I write 100's of these small scripts for my own use only so I have my own style, peculiar as it may be. I never _need_ indentation because I always keep scripts short; I only use it occasionally and randomly.

I do not use -e with sed, unless I'm using branches or loops.

The execs seem superfluous but actually make a difference, at least on the UNIX I use. Try it with and without and see if you notice.

All my scripts are portable to Bash, but they're also portable to the most basic of Bourne-compatible shells too. I do not use Bash.

<comment><USER17> What shell are you using? I could see a naive shell forking twice without exec, but I don't know of a shell that does that. Exec just says "don't fork(3) before calling exec(3)", but, but inside of a pipeline like that, it shouldn't fork again anyway. I have tried it with and without.

<comment><USER16> In theory it should not make a difference but my scripts _seem_ to run faster when I use exec after pipe.

Normally I would only add exec to the last command in the script, as djb does. But then I started experimenting with using it after pipes.

If you or anyone can explain why this could make scripts "seem" to execute faster, I would be grateful.

Here's the shell source: ftp://ftp.netbsd.org/pub/NetBSD/NetBSD- release-7/src/bin/sh

Incidentally, have you ever tried execlineb? I use that sometimes too.

</comment></comment></comment></comment></comment><comment><USER8> lsof is my go-to command for "why won't this drive unmount?". That alone makes it incredibly useful.

Also, back in the bad old days, 'lsof | grep snd' helped track down what the hell was hogging my sound card (setting up proper mixing has made that a distant memory, though).

<comment><USER18> lsof | grep Trash is super useful on os x when Finder refuses to empty the trash because some process is holding onto one of the files.

</comment></comment><comment><USER19> You can save quite some time waiting for reverse dns lookups if you use "lsof -n"

</comment><comment><USER20> I frequently use lsof to get the location of a log file created by a process.

something like,

lsof | grep <pid> | grep log

</comment><comment><USER21> fstat(1) is similar on FreeBSD, lsof is in the ports.</comment>


Elite reveal anxiety over 'class war' and 'revolution' - <AUTHOR> https://www.ft.com/content/0f9cf638-6c28-11e9-80c7-60ee53e6681d <comment><AUTHOR> > "Throughout centuries what we've seen when the masses think the elites have > too much, one of two things happens: legislation to redistribute the wealth > . . . or revolution to distribute property. Those are the two choices > historically and debating it back and forth, saying 'no, it's capitalism; > no, it's socialism' is what creates revolution."

<comment><USER2> I couldn't access the article but the quote you give is weird: in the ages of kings, the masses thought that the elites have too much _for centuries_ before the revolution happened.

<comment><AUTHOR> It is a quote from Guggenheim Partners' Alan Schwartz.

The so called peasant revolts were quite regular occurrence in Europe.

But it isn't the first article in FT about the wealthy realizing that revolution is coming for them.

[https://www.truthdig.com/articles/cartier-boss-says- thought-...](https://www.truthdig.com/articles/cartier-boss-says-thought-of- the-poor-rising-up-keeps-him-awake-at-night/)

</comment></comment></comment><comment><USER3> > The younger generation that support socialism are "people who don't know > history", he said.

Gee, I wonder if he remembers Oklahoma was a bastion of American socialism until the red scare (and Trump's mentor, the insane, "sue everyone" fascist Roy Cohn) excommunicated and banished anyone who wasn't for the nouveau "libertarianism" anarcho-capitalism (socialism/regulatory capture for the rich, austerity/neglect for everyone else).

<comment><USER4> Your comment is pure political flamebait.

<comment><USER5> Distilled from history, no less. It's perfect, isnt it?

</comment></comment></comment><comment><USER6> Can you repost the article somewhere else? I can't access it.

<comment><AUTHOR> Try [http://facebook.com/l.php?u=https%3A%2F%2Fwww.ft.com%2Fconte...](http://facebook.com/l.php?u=https%3A%2F%2Fwww.ft.com%2Fcontent%2F0f9cf638-6c28-11e9-80c7-60ee53e6681d)

or in the original url change www. to amp. and scroll down

Viva la revolucion! ;-)

<comment><USER7> This worked for me :)</comment></comment></comment>


Why Don't We Treat the Climate Crisis with the Same Urgency as Coronavirus? - <AUTHOR> <comment><USER2> I think there are several reasons, but one big one might be that the coronavirus has a relatively quick physiological impact on the person, where the virus can spread to others.

<comment><USER3> Yep, we're still apes, with ape brains. If it goes boom and kills a lot of people we're scared (nuclear, viruses). If it kills more but is spread over centuries we don't care nearly as much (global warming, air pollution, water pollution, obesity epidemic)</comment></comment>


Smart and Gets Things Done Are Not Enough - <AUTHOR> https://medium.com/@michaelnatkin/smart-and-gets-things-done-is-not-enough-3c6cf8f4a40e <comment><USER2> These all sound like good things to look for in people you are hiring, but what happens for the people who don't have those things?

My sense is that "Smart, Gets Things Done, and Not a Jerk" are all things that are teachable in the right environment. If you're not at the point where you can get away with "we only hire the best of the best", you need to know what you can teach people and what you can't teach people to make smart hires. That seems like more useful advice to most people than just signs of what the best of the best look like.

<comment><USER3> I agree. I focus more on Passion and Flexibility. Without these two traits, it's much more difficult for someone to change and grow.</comment></comment>


A Free Email Course on How-To Start Your Own Design Business - <AUTHOR> https://vavingo.com/email-courses/the-ultimate-guide-to-starting-your-design-business <comment><AUTHOR> Hey everyone!

I have just created this Free Email-course on how to Start Your Own Design Firm.

The course is targeted specifically to Designers, so feel free to recommend it to any colleague who wants to make the leap, but doesn't know where to start.

There are 15-modules in total, covering the most crucial parts of running a financially-successful design business.

For details, please say firstname.lastname@example.com and I'll be more than happy to reply with more.</comment>