AMD launches new entry-level mobile 'Dali' processors - <AUTHOR> https://fuse.wikichip.org/news/3207/amd-launches-new-entry-level-dali-processors/ <comment><USER2> The relationship between AMD model numbers and actual CPU generation is getting increasingly confusing. You have these which are 3000-series but 14nm Zen, and meanwhile they've started selling 12nm Zen+ chips as Ryzen 1600s on the desktop.

<comment><AUTHOR> Indeed. And AMD's counterpart to ark.intel.com is horrendously opaque. I don't mind having confusing part numbers, as long as I have a simple way to get clear information about the part.

</comment></comment><comment><USER3> I think these chips go in really low end computers like possibly chromebooks or sub 300$ laptops where intel falls short on pricing. But from what I can understand AMD is already selling 300$ 3200U laptops which maybe perform similar to these. Nonetheless I find it really amazing that only 3 years ago 2c/4t was normal for high end flagship laptops like xps 13 with 7200u and now those chips are lowest end chips being offered.

<comment><USER4> At the low end, in Chromebooks, I think Arm processors are a better way to go. These days Chromebooks run Android apps and Android on x86 hasn't been great.

<comment><AUTHOR> In many segments, low-end included, the processor is a small part of the total BoM. Display, memory, clamshell, keyboard, assembly and shipping are non- negligible.

One of the fun things about ARM is that you get to play with asymmetric multicore machines that don't exist anywhere else in the desktop space. At least for now.

For me, the worst flaw of Chromebooks is the keyboard and the lack of proper Control, Super and Meta keys.

<comment> yjftsjthsd-h > For me, the worst flaw of Chromebooks is the keyboard and the lack of proper > Control, Super and Meta keys.

How so? They have a normal-enough ctrl and alt, and Chrome OS lets you remap the "search" key to control (<3).

<comment><AUTHOR> They usually lack the Windows (Super) key, as well as a Fn that enables secondary functions for the F-keys (which do other things in Chromebooks).

</comment></comment></comment></comment></comment><comment><USER5> Would be nice seeing smartphones and tablets with AMD instead of QC or Apple.

<comment><USER6> Mobile here means laptops and netbooks, not phones.

<comment><USER5> Yes, I know, but I can hope for smaller devices with AMD.

</comment></comment></comment><comment><USER7> Is this what's driving AMD to bang up against the 50.00 ceiling this morning? I'd be surprised if it's just the Mizuho rating on Intel's potential 10nm server chip delays.

Disclosure: I'm long AMD

<comment><USER8> No, this is just AMD doing the bare minimum to meet contractual obligations with Global Foundries. None of their other product lines make sense to fab on GF's older process.

<comment><USER9> their IO dies are still fabbed on 12nm, that's a big chunk of their obligation with GF.

Also, since console production is booked through AMD that that might count as well.

<comment><USER8> I suppose the current generation consoles are still on 12nm, but that must be ramping down at this point. PS5 and Xbox-something are a going to be big chunk of the 7nm capacity (30,000 wafers/mo) AMD took over from Apple, since they're moving to TSMC's next node for the next iPhone.

AdoredTV recently did a rough breakdown of how many wafers it'll take for each product line. Epyc only needs about 1,500 wafers from TSMC since the chiplets are so high yield. Desktop and the new high end laptop parts don't need much more. What boggles my mind is that between the new consoles they'll need something like 10,000 wafers per month if this generation's sales are on par with last generation. I guess it's a nice way for TSMC to keep 7nm production up as Apple, AMD, and the other big ARM players move onto better nodes.

Edit: the consoles take so many wafers because they're going to be giant monolithic APU designs somewhere in the 400mm^2 range.

<comment><USER9> Ramping down, sure, but they'll keep going a long time for production for the developing world. Consoles have extremely long lifespans in places like South America, India, and Africa, where $600 might be your entire yearly income. You're not going to race out and buy a PS5 on that.

It can be somewhat surprising but PS3 production was only discontinued in 2017, Xbox 360 production was discontinued in 2016.

[https://www.eteknix.com/playstation-3-officially- discontinue...](https://www.eteknix.com/playstation-3-officially-discontinued- sony/)

[http://news.xbox.com/2016/04/20/xbox-360-celebrating-10-year...](http://news.xbox.com/2016/04/20/xbox-360-celebrating-10-years/)</comment></comment></comment></comment></comment>


Analytics and A/B testing For the 21st century - <AUTHOR> http://www.volument.com <comment><AUTHOR> Volument introduces a new data model to Fix the problems in general analytics.</comment>


Blog entry on how markets work? - <AUTHOR>

A great blog entry on how markets work was posted here somewhat recently -- can't find it via google or searchyc -- anyone have the link? <comment><AUTHOR> That's it, Thanks!

For others, here's the link:

[http://betterexplained.com/articles/what-you-should-know- abo...](http://betterexplained.com/articles/what-you-should-know-about-the- stock-market/)

</comment><comment><USER2> Was it betterexplained.com?</comment>


Show HN: Bitcoin Target: A weekend project to understand targets and difficulty - <AUTHOR> http://btctarget.com/

<comment><USER2> Can you explain what happens on the site, with more details? First impression is that you're using my compute power (browser) to find the next bitcoin.

<comment><AUTHOR> There's no mining happening in the browser. My inspiration was CSI's "visual aids", where a computer will look like it's grinding through a database but not actually be doing any work.

So the red "random" hashes are exactly that: random numbers. The site just listens out for broadcasts on the Bitcoin network, and displays them when they show up.</comment></comment>


Show HN: FairyPreview, fast previewing of minimized urls from other android apps - <AUTHOR> https://market.android.com/details?id=com.fairyteller.linkpreview

<comment><AUTHOR> This is an app that I actually created in 2007, used every day ever since, and (finally!) decided to put on the market for free.</comment>


Winning is the worst thing that can happen in Vegas - <AUTHOR> http://37signals.com/svn/posts/3384-winning-is-the-thing-that-can-happen-in-vegas <comment><USER2> Where is this strong reaction to over-design coming from? Full disclosure: I earned most of my salary in 2012 doing consulting. Fortunately, most of it was from working on open source projects. But a component of it was going in and getting our hands dirty in clients' apps.

Not a _single one_ suffered from over-architecture; indeed, the common thread to all of the problems I saw is that people would intentionally put off the "just in time" architecture improvements that DHH recommends in favor of just one more feature.

By the time we got there, the whole thing was about to collapse under its own weight.

And that's exactly my point: this seems to be a solution in search for a problem. Under-architecture is much, much more widespread of a problem than over-architecture, based on my own anecdotal experience and the horror stories told by my friends over beers.

Software engineering is about striking a balance between choosing an architecture that can grow with your project while being simple enough for you to ship features _today_. The dogmatic approach from both sides in this ideological war is bizarre. Remember that prescriptivism against prescriptivism is still prescriptivism.

<comment><USER3> I've experienced the problem of too much flexibility when working on some enterprise software products at a former employer. We believed we were doing the right thing by keeping the analysis phase short and just building a generic capability for roughly what the customer needed. Boy did it cost us! Testing, support and future rounds of analysis all took much longer because we had to deal with all the flexibility that the system had. And the customers didn't appreciate it much either, they were only concerned with their limited set of use cases.

</comment></comment><comment><USER4> > _Every little premature extraction or abstraction, every little structure > meant for "when we have more of this kind", every little setting and > configuration point for "things we might want to tweak in the future". It > all adds up, and at a dangerous rate._

My experience is exactly the opposite. Every time someone's told me, "A user's account will only ever have one event associated with it", or "An order will only be paid for with one credit card" or "A credit card payment will only ever apply to one order", that someone is wrong, and it ends up costing us days to fix.

<comment><USER5> I came here to post something similar. YAGNI has burned me a lot more times than premature optimization. Perhaps it makes more sense to draw a distinction between designing for flexibility and what we might call _naive flexibility_ , or optimizing for use cases that a more experienced developer would know are highly unlikely to be needed.

<comment><USER6> Of course, you don't (can't) see the times where YAGNI has helped you.

<comment><USER7> This thread is confusing to me so I'm probably misunderstanding a few things.

First Ryan's post says he's saying something similar, except it appears to be opposite to the post he's replying to.

Then you say you can't see the times where YAGNI helped you, but that's neither true literally and also in spirt. Literally because it wouldn't be YAGNI if you did actually need it. But more importantly I have often discovered some architectural choice or unused feature stubbed out from years prior that saved me a ton of time in the here and now.

<comment><USER5> I was replying to pavel_lishin's parent comment, in which he noted that he has been burned many times by _not_ optimizing early for flexibility:

<http://news.ycombinator.com/item?id=5003341>

My experience is similar to pavel_lishin's, and our experiences are contrary to the author of the article.

I hope that helps to clarify the first bit, anyway.

</comment></comment></comment></comment></comment><comment><USER8> A lot like his post yesterday, this is really more content-lite self-branding from DHH. I get it--you ain't gonna need it. Yeah, yeah--you're opinionated. Cool.

<comment><USER7> I'm not one for the usual HN cynicism, but I have to agree. DHH is much smarter than these trite truisms. This would be an impressive article for an 18-year-old upstart, not someone who's ostensibly a thought leader in programming.

</comment></comment><comment><USER9> Say you have a simple application and the only possible use case is to increment an account by $100.

Should you write the function as

      account.credit_100_dollars()
      account.credit_dollars(100)
      account.process_transaction(new credit_transaction(100))

I have to say I prefer option 3 to option 1 even considering YAGNI. It's better OO, it's more testable, there's more potential for reuse in other parts of your application etc.

Interestingly, when I started as a developer I might have written something closer to the first option. After a few years I would have gone for something closer to the third option. Nowadays, I'd probably go for the second option as I've hopefully learnt to strike a balance in the abstractions I create.

<comment><USER10> None of those three examples expresses intent. _Why_ are you crediting 100 dollars? Is it a refund, is it a loyalty reward, a signup bonus?

        account.award_loyalty_bonus()
        account.award_welcome_bonus()

This is closer to the first option, but will actually model the behaviour of your application using domain terms.

<comment><USER11> If I understand what benjamin is saying, these would be written as:

account.process_transaction(new loyalty_bonus(bonus_amount))

or possibly

account.process_transaction(new bonus(loyalty_bonus_amount))

depending on the business logic.

<comment><USER10> Not quite, the point is that the caller doesn't care how much the loyalty bonus is, only that the bonus it is awarding is for loyalty.

The value of the bonus then gets captured in the domain object. If there is enough related logic to justify having a loyalty bonus object, then you might have

        account.award(LoyaltyBonus.new)

Or, if we're going to start slicing things up like this, we might go for:

        LoyaltyBonus.award_to(account)

</comment></comment></comment></comment><comment><USER12> Loved this post, but _"The casinos in Vegas are primed for this by making it relatively likely you'll win something early on."_ is false.

Casinos in vegas have no idea if you're deep into a gambling session or not. They take small statistical edge on __every __transaction (or a rake).

<comment><USER13> Also, the Nevada Gaming Commission frowns upon changing the odds of a game while a gambler is playing (at least for slots -- I believe this is true for most other games also): [http://www.lasvegassun.com/news/2008/feb/17/dont- worry-your-...](http://www.lasvegassun.com/news/2008/feb/17/dont-worry-your- slot-bets-are-still-safe/)

</comment></comment><comment><USER14> Funny writing coming out of an author of Ruby on rails. "The ability to say No". So.. once upon a time, there was the decision to create web apps. Rather than using the existing languages and tools, a whole new web framework was created from scratch. Let's talk now about abstraction and _shit_.

Note that I am, by far, _not!_ against the creation of library and new framework. It just so happens that this article is ironically funny concerning that aspect.

<comment><USER15> Everyone loves architecture, just as long as they're the architect.

</comment></comment><comment><USER16> This is incorrectly titled - should be "Winning is the _worst_ thing that can happen in Vegas".

<comment><USER17> dhh did a typo, HN automatically picked up the old title. Maybe some mod around here can change it.

</comment></comment><comment><USER18> You really can't be a good developer on rules of thumb. The best code just does the minimum it needs to do (YAGNI) but still has the necessary abstractions for for easy extensibility in the future. It's a fine line to walk on.

</comment><comment><USER19> Anybody get the sense that DHH's New Year's resolution was blogging more?

<comment><USER20> He has admitted all these posts have been triggered by the ruby rogues podcast private mailing list where heated discussion is going on currently.

<comment><USER21> If only he would share some of that context in the actual posts. Reading them is like watching someone argue with another person you can't see or hear.

</comment></comment></comment><comment><USER22> "The casinos in Vegas are primed for this by making it relatively likely you'll win something early on" seems like mushy thinking. Perhaps they make it relatively likely you win at any time, but there's no difference between "early on" and any other time.

<comment><USER23> If a game can give way to win back small amounts frequently, but still lose on the long-game, it can trigger this effect.

You're still likely to lose in the long game, but get small wins frequently enough to keep you from quitting.

</comment></comment><comment><USER24> I think that there is a middle ground to be found in this aspect of development. On the one hand, you don't want to overengineer your code. On the other hand, requirements _will_ change.

Based on this, I personally design object models to be easily extensible. The guidelines are simply best practices (separation of concerns, methods which only do one thing, minimising side effects as much as possible). Nonetheless, I agree that the minimum should be used given that things which should be abstracted have been abstracted.

For example, I was implementing reports recently. Overengineering is coming up with a complex reporting engine which managers can use to create anything they want. Underengineering is writing each report from scratch. The golden middle, in this case, was a lightweight framework where you extend a base class, specify the query and you're done. Everything else is automagically taken care of. So one need not worry about fetching the actual results, displaying them, sorting them, adding the report to the menu, etc.

</comment><comment><USER25> I generally agree with his overall YAGNI message. Architecture astronomy and smart complexifiers on projects that could be simple are a couple of my biggest development pet peeves.

I'm not sure I follow how that equates to technical debt though. If anything, unnecessary but well-implemented abstractions and over-architecture are the opposite of technical debt, aren't they?

In my experience, it's all too easy to find developers who will "say no" too eagerly, erring on the side of sloppy copy/paste duplication, inconsistent structure, and poor maintainability overall. Given the choice, I'd much rather walk into more projects with too much architecture than the one with little- to-none which are more common.

</comment><comment><USER26> Just as many best-practices can be applied too early, they can also be applied too late. DHH's rant could just as easily be aimed at too-late application of such practices.

I've found that when I deliberate over these kinds of questions too much it's usually because my design is not quite right, and that when I eventually discover an elegant design the path to flexibility presents itself in an optional and unobtrusive way.

Many designs are possible but the right design is often the one that is easy to think about at various levels of complexity.

</comment><comment><USER27> I agree with this ideology. However what I think what is missing from the post and the comments is mentioning that if you are going with a under engineering design philosophy you should be constantly be refactoring the code.

</comment><comment><USER28> Opinionated as usual, mr Heisenmeyer-Hansson. But his way is not always the only (or best) way :-)

Still I respect his opinionatedness!

</comment><comment><USER29> Poker players refer to the phenomenon as "winner's tilt". It will make you go broke if you're not disciplined.

</comment><comment><USER30> unfortunately i think many people see that kind of "formal" architecturing _as_ software engineering

related: <http://zedshaw.com/essays/master_and_expert.html>

</comment><comment><USER31> I'm not sure I like the title. It seems to be clumsily conflating casino gambling with bad software practices. The first is not a good metaphor for the latter, especially since most of those premature abstractions come out of FUD and attempted risk aversion. (We won't be able to scale if we don't use design patterns!)

However, the insights into premature abstraction are good.

Here's a beautiful, and relevant, essay from Steve Yegge: [http://steve- yegge.blogspot.com/2008/08/business-requirement...](http://steve- yegge.blogspot.com/2008/08/business-requirements-are-bullshit.html)

<comment><USER32> I strongly, strongly disagree with the idea that you should only build products where you're the end user. There are many interesting problem domains where the end users aren't suited towards building the solution.

My company does Machine Learning for Sales. There aren't a huge number of people who can do both programming and statistics well. Add Sales to that skillset and there are, what, 5 people in the world who can do all 3? The odds of finding a sales person who wants a predictive sales tool and has the capability and interest to write it are vanishingly small.

For a consumer-oriented example look at Coursera or other MOOCs. Andrew Ng is not a Coursera user (i.e. student.) He understands students, and that's enough-MOOCs provides enormous value because they solve an important problem. Students would have had a much harder time creating Coursera than Ng.

<comment><USER31> _I strongly, strongly disagree with the idea that you should only build products where you're the end user._

I as well. Most software sucks because the people building it aren't motivated. Building for oneself is one source of motivation, but it's myopic to assume that it's the only source of motivation that works.</comment></comment></comment>


Generate React-Redux application with one command - <AUTHOR> https://www.npmjs.com/package/eos-redux <comment><USER2> Thank god! I needed this for my last project.

</comment><comment> es-axiom stop rolling redux from scratch! use this! save time - smile :)

</comment><comment><USER3> Awesome!

</comment><comment><USER4> sick!</comment>


Luka: A.I. recommending restaurants in a chat interface - <AUTHOR> https://luka.ai

<comment><USER2> I had to download the app and launch it, only to find out that it only serves the SF/Bay Area. I don't live there. And even if I did, it seemed to require a Facebook login. Which I don't have.

</comment><comment><USER3> This was fun to play with. It suggested an Indian restaurant so I tried saying "I don't like Indian food" and it followed up about whether I don't like it or I'm just not in the mood now. After suggesting another restaurant it correctly understood "Can you suggest something cheaper?" and returned a <$10 option. The "tell me more" option left a bit to be desired -- Luka just said "It's a good place."

Looking forward to when Luka "learns" about Oakland restaurants!

<comment><AUTHOR> Thanks for your feedback - we're improving our restaurant data now (it's all being collected automatically). Oakland is next to come - we'll keep you updated!

</comment></comment><comment><USER4> Why a downloadable app exclusively? Would love to not have to install it to try it out.

</comment><comment><USER5> While I kind of participated in the current AI/.ai hype, I'm starting to get really sick of hearing about another new application which "talks to you in natural language" or makes "Websites That Design Themselves".

The truth is, where not there yet and these people try to make one believe we are.

Sure, some may argue that these applications are indeed kind of intelligent and thus can be called A.I., but by this definition even Amazons recommendation algorithm is A.I.

I'm pretty sure that applications which "talk to you in natural language" or make "Websites That Design Themselves" are appealing to some at the moment but I doubt they will be successful in the long run.

<comment><USER6> Just using a ".ai" domain doesn't mean that the company is claiming the product is true AI.

I don't see any such claim on the marketing site or the App Store page.

Not sure where the title here on HN came from.

Edit: typo, mention of HN title

<comment><AUTHOR> How would you call it then? It's an app that mimics a friend that knows a lot about restaurants - I believe that can be called AI. However we used AI in the title just to make it easier to understand what we do. We sometimes just say it's a mobile app that gives you restaurant recommendations in a chat interface.

<comment><USER7> Things like this would more formally be called 'agents', software agents, or intelligent personal assistants (which are a type of agent).

However, I think AI is perfectly acceptable in common usage nowadays. Some people will just get caught up with the 'formal' definition, but the media and, increasingly, consumers are just using the term "AI" now anyway.

</comment></comment></comment></comment><comment><USER8> Just curious about your data sources, could you tell us what you are basing your recommendation on? Are you using review sites (Facebook, Google, Yelp) or is it something completely different?

<comment><AUTHOR> We use more than 15 different data sources - mainly user reviews (Yelp, 4Square, TripAdvisor), blogs and professional media (SF Gate, Eater etc) and guidebooks (Michelin, Zagat etc). All data is collected automatically and then plugged into our data model. We extract entities and make sentiment analysis to learn what this place is good for exactly and to show relevant quotes. As people share much more in a conversation than they would on sites like Yelp matching our users' preferences with the restaurant data makes our recommendations more relevant and personalised.

</comment></comment><comment><USER9> at a glance seems so similar to the "magic" app that I can certainly think of this "natural talk chat" as some next trend for apps

is this going over sms?

<comment><USER10> Too bad they didn't get the memo about the magic concept. The video is cute, but no way I'm installing this app without being able to try it first somehow.

<comment><AUTHOR> SMS is going to be our next step - we started with texting in Russia actually. Our own app however let's us get a better UX for the users. Thanks for the tip!

<comment><USER11> Your next step should be making it available through Slack in some way. Lots of teams would love to be able to figure out where to eat by typing /lunch and then all the team members can chime in with any restrictions.

</comment></comment></comment></comment><comment><USER12> Do you handle dietary restrictions?

Kosher, Halal, Vegan, Vegetarian, etc?

<comment><AUTHOR> we do and we recommend places based on your diet!

</comment></comment><comment><USER13> What does your software stack look like?

</comment><comment><USER14> Is it Turing complete?

<comment><USER15> Are you referring to Turing completeness as in computational capability, or are you referring to the Turing test?

</comment></comment><comment><USER16> Another year, another foursquare pivot.</comment>


IOS 7 now blocking third-party Lightning cables - <AUTHOR> http://9to5mac.com/2013/09/19/ios-7-now-blocking-third-party-lightning-cables-after-earlier-warning-shot/

<comment><USER2> I haven't had any issues with mine. Granted, mine is from Amazon so there is a high chance it's "certified". Still considerably cheaper than the cables from Apple.

</comment><comment><USER3> I'm not sure this is legal, or should be legal. I hope the EU will do something about this.</comment>


CSS Battle - <AUTHOR> https://cssbattle.dev/ <comment><USER2> Mastering CSS might be one of the most overlooked skills in web dev. It is hard.</comment>


Ask HN: Learning to program for four years. What am I missing? - <AUTHOR> I've been learning to program off an on since 2011 by myself. I've worked with Python, PHP/Wordpress, Ruby/RoR, Java, C/C++, iPhone/Swift, and JavaScript/MeteorJS.
I'll spend a good chunk of my studies learning the syntax (variables, loops, functions, objects). After I get the basics down I'll be able to create command line applications or some simple to do list web app. But after that I get discouraged cause at this point there is a dark abyss of complexities with the advanced parts of the language, or maybe there are tons of different frameworks to choose from, or I'll get frustrated with the language because I can't find a tutorial that is similar to what I'm trying to build.
Going back to learning the basics of a language, I'll try learning the advanced features, but I don't see how I can apply those features to what I'm trying to build or I don't see how I will use them.
I've read that people say "just build something to learn to code" and I know that is the truth. Right now I wish that if I know the basic of programming and language syntax, that should be enough to just sit down at my computer and just program away and building something. But when I try to do this and implemented a feature I've never done before, I don't know where to begin, especially if I can't find a tutorial on how to do so.
Any advice would be much appreciated. <comment><USER2> Don't be afraid to make a mess - Don't expect people to be impressed, except yourself.

If you want to do something you can't do, just do it whatever way you can at first (lift HTML from source views of pages, pre-render stuff with other tools, etc., hard-code variable data, etc.). Part of the idea here is to get into your mind you ARE capable of creating stuff. Once you get over that hurdle you can then think more about how to get it done better.

I'd probably stay away from frameworks, sounds like you might want to get your hands dirty with code - frameworks can put up guard rails and barriers to get things done.

Another idea is to take some crappy sample code or idea and expand on it; one of my first messing with PHP was making an event calendar - started playing with Datenator (a 2005 calendar program) Didn't like the program but it was something simple enough to pick apart, learn from, and rewrite to what I wanted. And my original calendar probably wasn't much better (code-wise) but it was more what I wanted and a start.

So, do what you can, however you can, don't listen to those "you can't/shouldn't do it that way" people for now (work on resisting random HN opinions), after successes see how you can make improvements.

Also during this "larval state" get comfortable with your tools and work to adopt good coding style (the bigger your projects get the more you need to have your tools working for you and have a methods to keep your data/code/data organized and readable).

</comment><comment><USER3> My favorite teacher taught visual basic. I have barely used visual basic ever since. But what she hammered into our heads was flow charting, psuedocode and organization.

I organize the features I want long term, I organize the technologies I want to use, I organize my file structure, I organize how I'm going to reach each goal, I flow chart out how to solve smaller goals.

I'm not a teacher and I don't think I have a silver bullet. But here is what I would suggest

1) Write the program, but don't use any language. Use a language you've made up yourself (It sounds stupid I know)

      - Does it have a UI? - Make it.

        -Does the UI have squares? Where, what color

        -Does it animate?

      - Does it require information - Figure out where from

        -From the File system?

        -From a server?

        -From another peer?

        -Will information be pushed live or only retreived when requested?

      - Does it react to user input? - What kind?

        -Voice recognition?

        -Clicking on the UI?

        -Waiting to long?

2) Choose a language and figure out how to implement each one of these things

      -Look it up on a Search engine

        -I found the dumber my questions are, the better my search results are

      -Read documentation

        -Complain about documentation

        -Complain about the library being unintuitive

          -Promise yourself you'll never write something so terrible

3) Work until your tired, satisfied, bored, angry, had your fill or finished

This is the kind of work flow I get paid to do.

After reading the other comment, heres some more experiences. Your work will turn into spagetti code with plenty of errors and most likely unmaintainable. Making Abstract Classes and Using Object Oriented techniques will make your life much more easy. But I'm assuming you don't want to just keep hello world'ing and just build.

</comment><comment><USER4> So, I'd suggest a few things.

First, stay the hell away from the web until you get some more projects under your belt. Especially nowadays, there's a huge number of opinions and frameworks out there, and a lot of bad information, and just generally a really bad place to start.

Second, stay the hell away from C++ and Java. They are, at best, intermediate level developer languages. They have a lot of power, they have a lot of moving parts, but they're complicated.

Third, build a simple game, in C. The language is small and well-supported everywhere. Use SDL to make a simple pong game. Use SDL to make a side scroller. The issues you run into will happen as you decide "Oh, I want to add jumping", or "Oh, I want to add an inventory". The language is low-level enough that you'll have built your abstractions from the start, and will have a good idea how more things fit in. Then, you can start learning how to build software better and organize your code.

Start simple and small, and grow. :)

</comment><comment><USER5> To build more complex applications or systems, you need to have some notions of larger scale software engineering, which would cover modularization, components, interfaces, and indeed, frameworks. Also, you need to master how to build abstractions at the different levels (there are different ways to build abstractions).

So I would advise:

\- study sicp ([https://mitpress.mit.edu/sicp/full- text/book/book.html](https://mitpress.mit.edu/sicp/full-text/book/book.html)),

\- study OOP and OOD (UML, design patterns; some OOD books cover modularization and component design),

\- study some software architecture material,

\- and to put it in practice, take some important application (something like Firefox), and study it, and contribute to some bug corrections or improvement.

</comment><comment><USER6> You're missing six more years. Don't worry about it. Mature programmers don't appear overnight, and immature programmers aren't worth their salt.</comment>


Why Waste Servers' Heat? - <AUTHOR> http://hardware.slashdot.org/story/11/07/23/1320207/Why-Waste-Servers-Heat?utm_source=slashdot&utm_medium=twitter

<comment><USER2> The more compelling discussion to me is why not use open air cooling. I worked in an HPC environment when it was in the single digits outside, and our cold aisle was in the low 70s. (The hot aisle was ~100 F, which felt pretty nice on a cold day).

<comment><USER3> Intel has been looking at this for a while - and had quite a few successful experiments (OP is probably aware of this). I think the stumbling point is the HDDs, which have a much higher rate of failure when the temperature has a high degree of variation.

</comment></comment><comment><USER4> Our data center, which is powered by gas turbines, uses its waste heat to heat nearby buildings in the winter, and to cool the data center in the summer (via absorption chillers).

</comment><comment><USER5> For some reason I'm desperate to see this complete the circle in closed ecosystem that involves "in-house farms" and "air/water purification system" and all those futuristic concept.</comment>


Ask HN: Should a tech founder look for a non-tech co-founder? - <AUTHOR> Assume a solo tech founder has all the skills needed to complete a given Web application for a startup.  What would be more valuable in a co-founder - additional tech skills to get to a prototype quicker or someone with seasoned startup experience to help seek funding, work on marketing, business plan, recruiting, etc? <comment><USER2> Your best bet, from my experience, is someone with the startup experience, business connections, marketing knowledge, and general know-how to execute on a completely different side of the business while you concentrate on the prototype.

But for best results, and to avoid the pitfall davidw pointed out, get someone who knows the basics of hacking too so he/she doesn't ask you to build a website that can shoot lasers out of the screen.

<comment><AUTHOR> Good advice. I had previously focussed my search on finding a fellow hacker, but was passing on some qualified business types. One of them happened to be a VC looking to try something new. I guess I was off track, but better to learn late than never ...

</comment></comment><comment><USER3> "Assume a solo tech founder has all the skills needed to complete a given Web application for a startup."

A huge assumption.

If you're wrong about that and you get a non-tech co-founder, you're toast.

Personally, I'd hedge my bets with a second tech and worry about the non-tech stuff later.

I have been in the exact same situation twice before and here's what happened both times: I was working 100 hour weeks and my partner was bored. Then he went out and oversold what I could have delivered. A disaster. Twice. (You'd think I'd have learned.)

The problem isn't whether you have the _skills_ for what is needed. It's whether you have the _time_ to do it. I underestimated what it would take and didn't account for all kinds of stuff. It's a very easy trap to fall into, believe me. The stuff that bites you in the butt down the line will be technical; count on it.

I would have traded either non-technical partner for a fellow hacker in a heartbeat. If I had, who knows, you may have been reading this at Eddie News instead while I typed it from my yacht. Don't make the same mistake as me. Get another tech.

<comment><AUTHOR> Perhaps its the fact that I'm in the Boston area (instead of the West coast), but I've had problems connecting with a good hacker co-founder. Most that I've met are looking for co-founders themselves for their own ideas ... I'd join a different startup, but I think I've got a good idea with a rare domain to boot.

<comment><USER3> I hear ya. Keep at it.

</comment></comment></comment><comment><USER4> One big concern you should have is this: Can you recognize a talented and driven non-technical person?

Just as one great developer can do ten times the work as an average developer with far less problems, the same holds true with marketing, business, etc.

So, it may be more of a challenge than you expect finding someone, and determining their skill level.

I also catch myself minimizing the value of certain business issues and maximizing the value of technical issues. I think that is a natural tendancy, so make sure you keep that in check. Best of luck.

<comment><USER5> Wow - great advice. People underestimate not only those things but their own skills at being able to recognize those qualities in someone in a different industry. I'm a tech person and it is extremely hard for me to evaluate someone from a marketing background to see if they are like me but for marketing (in terms of output/production/drive). It's just not natural. As an entreprenuer, I tend to be the optimist and think, "They are awesome!" b/c I'm enamored of their education/prior-job-experience. Maybe that's just me...

</comment></comment><comment><USER6> It's a double edged sword.

On the positive: they're good at marketing, getting in people's faces, getting the word out, getting people on board, etc. I just can't talk to advertisers so I'd end up with AdWords getting less revenue. I'd be bad at promoting the thing so there'd be fewer users.

On the negative: most of them have no f'in clue what makes any sense in technology. They don't use it enough. Their ideas will be something like, "maybe we should do something like eBay, but with a better rating system". They'll come up with a lot of nonsense that isn't useful - but they don't know that since they just don't use computers and the internet as much as we do. Of course, they're a bit arrogant (it's why they're good in part one) so they think you should be following their lead.

You need to find someone that can do part 1 without being so full of themselves that they think they know how to build a webapp and that you're just code in human form. It's hard because most of those types like to think of themselves as the "idea person" rather than doing the work of promoting, forming partnerships, etc. Their "idea" is crap and been done before. You need someone to do the non-code heavy lifting.

<comment><USER7> I'm conducting a sort of experiment with my own life. I've seen a lot of threads here about "Hackers vs. Bus. Development/marketing" and so I've decided that the debate must be settled.

When I was 14, I learned all I needed to build a Battlebot. I wanted to enter the show. I designed and built a frame, and filled it with the electrical components to make it work. It was pretty fun actually. I've spent time passively researching programming but never found the time to take it up to a usable level. I only know a few things and can understand some programming jokes. I've built a couple of websites and I have a decent understanding of how that whole "internet contraption" works. Basically, I consider myself a form of hacker, at least, whatever form can exist that doesn't know how to program for beans.

After accepting all of this, and seeing what type of person it appears I am, I've decided to major in marketing (and possibly double in finance). I've done a few businesses of my own and have a decent understanding of the marketing and development involved in making it succeed.

In the end (about 2-3 years from now), I will be what I would consider a well rounded tech _and_ business focused individual.

Because of my obvious inexperience in programming, I think any startup I create or join will use me in a business development fashion, rather than as a hacker (even if I were to obtain a working knowledge of a language).

My goal is to be that marketing guy who also understands and appreciates what goes into building the product, instead of being the one who is purely an "idea person" with little experience with computers and the internet.

I want to prove to myself and others that it's possible to have both the right and left side of the brain working for you to help create something great.

</comment></comment><comment><USER8> Totally totally totally depends on what you're building. B2C? B2B? A business with lots of bizdev ops or no? Investment required or not? Is the core problem (or the way you want to attack it) a technology problem or a sales/distribution problem? Heck, or a design problem?

With the general question, I'll give you my best shot at a general answer. Building something people want to use is the first order problem where virtually every startup fails. Select a co-founder who will help you solve that problem. If you don't, funding, marketing, business plans, and recruiting aren't going to help much.

</comment><comment><USER9> Whoever you find first that meets your hiring criteria.

Also I would _not_ put it as a tech vs. non tech co-founder; rather hire for complimentary skills so that as a team you can cover most of the functions.

</comment><comment><USER10> Yes: they'll be able to cover things you aren't as comfortable with, and thus complement your own skills.

No: since you're 'looking', it'll be hard to find someone you trust thoroughly enough to really share the work with. It's easy for non-tech types to dream up lots of hard things to code.

<comment><AUTHOR> My thinking was to continue to lead the technical vision for the service, with the non-tech co-founder sharing learned experiences and leading other aspects of the company startup.

<comment><USER10> All things considered, I think what I've picked up from the books and articles like 'founders at work' is to go with whoever you're really comfortable with, and trust, on a personal level. Someone that you "go way back with". (Yes, that's a catch 22 if you're looking for one now:-/ )

</comment></comment></comment><comment><USER11> Google: Larry Page + Sergey Brin (both technical) EBay: Pierre Omidyar & Chris Agarpao (both technical) Microsoft: Bill Gates & Marc McDonald (both technical) Apple: Steve Jobs & Steve Wozniak (both technical) PayPal: Max Levchin & Luke Nosek (both technical) (Yes, I know Peter Thiel is not technical, at least not on paper) Amazon: Jeff Bezos (technical) and probably hired a technical person at first.

I'm not saying its not possible to grow a company with a non-tech person, there are many examples where this has worked (PayPal could count as one). My point is that two tech-founders can get a product out fast if you work well together.

Although finding a hacker co-founder, is a whole another ball game. You really need to find someone who will take ownership of your idea as their own and move forward. This is soooo hard to find...soo hard...Good Luck!

<comment><USER12> Steve Jobs is definitely not technical. He is, however, a marketer-par- excellence.

</comment></comment><comment><USER13> All of the skills you mention are valuable if you can find someone with "seasoned startup experience". They're not growing on trees (last I looked from my perch). A couple of questions for you to think about.

Do you have the experience in the space you are trying to attack? If not, you best be looking for someone, either technical or not, who does, who can speak to the market, and investors about the market (or angels FROM the market). Also, what's your next milestone? Is it your first paying customer, or is it a demo that will not be launch ready? What will his/her first milestone be? Is there enough work at present to keep a biz person busy in exchange for the equity? There will ALWAYS be enough todo's on the list of the developers... In short, are you sure you're ready for a non-technical founder?

BTW: my cofounder is non-technical (I'm sure he'd love to see me describe him as such). I asked him aboard before I'd written even a hundred lines of code. Why? Because he knows the market well and has professional experience / knowledge that I, or likely any other hacker, couldn't hope to pick up in any reasonable amount of time. If that's what you need - then get looking ... they are worth their weight in gold and very, very hard to find!

</comment><comment><USER14> Get a Business Graduate with Hacking skills. They exist.

When hiring for a startup you can afford someone with A or B. In the worst case scenario you need someone with A and B. In the best case you need someone with A and B (assuming both are skills), and Passionated about what you are doing.

It turns out that the majority of talented people are not "willing" to startup, but you can find one if you look hard enough.

<comment><USER5> But the mere fact that you felt the need to include "... They exist." shows how rare they are. If you waited around until you found a "Business Graduate with Hacking skills" that also fit all the other things needed to be an entrepreneur (and that you actually liked) you might never get going...

</comment></comment><comment><USER15> I had this question many times. I think is better to have a tech co-founder, because you need to tryout your product and make buzz on the market. Then, the right people for marketing and business plan will come to you.

</comment><comment><USER16> Marketing and funding can be a connections game. in my opinion, it's best to substitute years of sitting on a project with no connection to funding with giving a cut to a connected person with previous startup funding experience. Saves time and headache...

</comment><comment><USER17> From personal experience, I'm going to say no, don't get a non-tech cofounder (exception made for clones of Steve Jobs.)

There is a lot of nontechnical stuff to do in a startup but it doesn't make sense to start most of it until you actually have something working.

<comment><USER18> Non-technical stuff like having a clue on how to actually make some money, maybe some domain expertise so you can actually solve a problem instead of just doing something cool? Yeah those can wait.

Hackers who dismiss the importance of being able to pull together and organize this type of work are just as bad as idea guys who think they can just get anybody to do this "really simple thing"..

<comment><USER17> I had the same experience as edw519. <http://news.ycombinator.com/item?id=215204>

</comment></comment></comment><comment><USER19> You'll need both soon enough, then the question is who becomes the CEO out of the tech founder and the business founder and when. If you can make the business founder a CEO comfortably then that would be a plus.

<comment><AUTHOR> But who should come in at #2 versus #3? My thinking is that the business co- founder might end up as CEO, but from what I've learned the simple title of "co-founder" for everyone might work best at the early stages.

<comment><USER19> Hire them both simultaneously if you can, and make the business person CEO. Make sure he can pitch well and that he can manage you through growth having shown such experience elsewhere.

</comment></comment></comment><comment><USER12> 1) Build the product 2) Sell the product

In that order. Get whoever you need to do that well.

<comment><USER20> That works great, unless you want to survive. The right order is 1) Build the product 1) Sell the product. You won't know for sure what you're actually building until you're trying to sell it and have prospects looking at it. And if you're done building before you start selling, you a) won't have anything somebody wants to buy and b) will be flat broke. Just sayin.</comment></comment>


Robots are coming for your job - <AUTHOR> http://www.latimes.com/opinion/op-ed/la-oe-wright-robots-jobs-data-mining-20160328-story.html <comment><USER2> A tremendous amount of (very difficult to mimic) dexterity is still required for cleaning toilets, last time I checked.</comment>


Yammer's Cindy Alvarez: Five Types of People I Should Have Fired Sooner - <AUTHOR> http://techcrunch.com/2012/10/27/yammers-cindy-alvarez-five-types-of-people-i-should-have-fired-sooner/

<comment><USER2> ... and the corollary is that effective employees should seriously consider getting out before assholes like this show up-- lest one end up on the wrong end of a "snap decision" (it happens all the time).</comment>


Fix TCP slow-start without a kernel patch (for faster page load times) - <AUTHOR> http://blog.habets.pp.se/2011/10/Optimizing-TCP-slow-start <comment><USER2> This is not as hot as it seems. The RTT quoted (50 ms) is ridiculously slow for most broadband connections.

If you really do have a connection that slow then yes, you can improve matters a bit by adjusting the window sizes, here is an article that goes in to a lot more detail:

[http://www.speedguide.net/articles/the-tcp-window-latency- an...](http://www.speedguide.net/articles/the-tcp-window-latency-and-the- bandwidth-delay-2678)

Also, you normally don't control the sending side, which can overrule any window size you request.

Tuning TCP has its uses but client side tuning is very limited in effect by itself, clients and servers tuned to be optimized for their particular connection can see some gain.

<comment><USER3> > _The RTT quoted (50 ms) is ridiculously slow for most broadband > connections._

The speed of light would like a word with you.

Even if you had a "straight" link across the surface of the earth, the information transited at 100% of c, and there were no processing/equipment- induced delays, New York to Los Angeles is ~26ms round-trip.

Unfortunately, the speed of light in fiber is not 100% of c, it's more like 66% of c, so your round-trip time is more like 40ms.

This still assumes zero congestion, zero equipment delays, and a direct A to B path. In practice, you will never have any of those.

In practice, I get ~80ms from the SF Bay area to New York on an atypically fast (for the US) connection.

<comment><USER2> He's doing this on a fairly local setup.

On similar distances/hop counts to the ones described in the article I get ~15 ms.

He's in Sweden and his host is in Stockholm.

If you test with google, the you have to take into account that google has 'points of presence' all over the globe, so if you test using 'google.com' their DNS server will hand you an IP that is physically close to you which will result in fewer hops.

<comment><USER4> > google has 'points of presence' all over the globe, so if you test using > 'google.com' their DNS server will hand you an IP that is physically close > to you which will result in fewer hops.

For anyone intrested, it's called "Geo DNS".

On the other hand, the Google public DNS (IP: 22.214.171.124) uses "anycast" routing. You use the same IP address range no matter where you are located and the magic happens using BGP (a router protocol).

<http://code.google.com/speed/public-dns/faq.html#anycast>

<comment><USER5> Nitpick: 22.214.171.124 is not owned by Google, it's owned by Level3. Google's public DNS is at 220.127.116.11 (and 184.108.40.206)

</comment></comment></comment></comment></comment><comment><AUTHOR> cached copy of the post article (seems down now)

[http://google.com/search?q=cache:http://blog.habets.pp.se/20...](http://google.com/search?q=cache:http://blog.habets.pp.se/2011/10/Optimizing- TCP-slow-start)

A little history for those wondering what this is about

<http://blog.benstrong.com/2010/11/slow-start-follow-up.html>

[http://blog.benstrong.com/2010/11/google-and-microsoft- cheat...](http://blog.benstrong.com/2010/11/google-and-microsoft-cheat-on- slow.html)

<http://lwn.net/Articles/427104/>

<http://bits.shutterstock.com/?p=74>

<http://research.google.com/pubs/pub36640.html>

[https://docs.google.com/gview?url=http://research.google.com...](https://docs.google.com/gview?url=http://research.google.com/pubs/archive/36640.pdf)

[https://docs.google.com/gview?url=http://www.ietf.org/procee...](https://docs.google.com/gview?url=http://www.ietf.org/proceedings/78/slides/iccrg-7.pdf)

</comment><comment><AUTHOR> Question for the advanced: with that kernel version warning, since CentOS 4.8/4.9 is stuck at _2.6.9-023stab053.2_ does that mean I can definitely not use this workaround?

The .9 seems to imply not, but I am not sure how to interpret all those versioning extensions (ie. stab053.2)

<comment><USER3> It's impossible to state with absolute certainty without going through the patches that have been added by Red Hat to your kernel, but I'd be surprised if something like this from so far down mainline got backported. 4.x is pretty old, and the regular life cycle ends early next year.

<comment><AUTHOR> Drats, even CentOS 5.7 is too "old" or at least not up-to-date with the core.

CentOS 5.7 is _2.6.18-028stab089.1_

<comment><USER6> I noticed the age of the stock CentOS kernel the other day when trying to build something that used timer FDs - 2.6.18 was released in _2006_.

<comment><AUTHOR> To be fair, CentOS 6.1 is current - and has a "continuous release" repository too.

But those (like me) running old installs on CentOS 4.x are pretty much stuck though unless they are running fully dedicated and can do an unofficial upgrade (tricky stuff).

<comment><USER7> The "continuous release" repository provides individual updates from RHEL 6.2 as CentOS finishes repackaging them, rather than requiring you to wait until they've repackaged all of them. It still won't get you a kernel newer than (a heavily-patched) 2.6.32 from 2009.</comment></comment></comment></comment></comment></comment>


Negative effects of driving and living near traffic - <AUTHOR> http://qz.com/509604/driving-even-living-near-traffic-makes-us-dumb-sick-and-lonely/ <comment><USER4> I think the key point here (which the author kind of dances around) is that walking puts you in a different kind of mental mode. He writes, "walking makes me smarter".

This jibes with my experiences when I started walking 5+ miles a day (that was before I had young kids that absorbed every minute of free time). I felt like it _did_ make me smarter. Or at least, better at programming and writing.

I now commute by bicycle, and I think that is somewhere on the spectrum between driving and walking. But even on a bicycle, you have to be in "collision avoidance mode" pretty much continuously. Your mind still wanders -- but with a lot more interruptions and alerts.

I think there is something "magic" about walking -- by which I mean something great, but something that we may not be able to scientifically understand in my lifetime. We know we evolved to walk upright, and we can measure a lot of the physical health benefits it confers, but we still don't know enough about the brain to prove that it benefits cognition, happiness, satisfaction, etc.

I strongly suspect that it does, though.

<comment><USER5> I walk to work in Manhattan. Definitely always in collision avoidance mode or stressing about something else, like all the clouds of God knows what kind of dust coming from the drywall and other remnants of interior demolition being recklessly loaded into garbage trucks. And I'm choking on the fumes of all the cars that shouldn't be there.

Ideally, I'd walk a mile to work through a forest, nature trail, or a large park.

</comment></comment><comment><USER6> Pretty much everything described in this article applies to other activities or lack thereof. We sitting in front of our computers too long or wearing out the couch too much eating potato chips.

Exercise, or just a simple walk, is critical for our lives. It affects our outlook on life. We don't lack the ability to handle the busyness of modern life.

We lack the priority of taking care of ourselves.

<comment><USER7> >Pretty much everything described in this article applies to other activities or lack thereof.

Except the most poetic part of the article that recounts the results of heavy car traffic and lack of foot transportation — a huge negative impact on our sociology, not just on our physical health.

I have become a proponent for walkable cities, public transportation reform, streets hidden from pedestrians, and narrow city roads. I'm extremely pessimistic about everyone else getting on board with these studies, though. People are quite proud of driving and their cars. We need to move forward and evolve transportation for the sake of our physical and mental health and for the sake of our society. I'm wondering how to get that national conversation started.

<comment><USER8> I don't think it's essentially a national conversation. I think it has to be a thousand local conversations that borrow from one another.

When people visit me in SF from more car-heavy areas, they're shocked to learn that I never have owned a car here. But by the time they've ridden our 4 mass transit networks, used a rental bike, taken a ferry, and gone with me somewhere in a CarShare car, it makes more sense. When they hear that I don't pay for car repairs or insurance or gas, they really start to get it.

We got this over decades of local conversation and iteration, consciously borrowing from other cities like New York and Amsterdam. Other cities can do it too if they want. And I think many are. I hear lots of of good things about cities being increasingly friendly to pedestrians and cyclists.

</comment></comment></comment><comment><USER9> I enjoy driving each morning, and it makes me happy. Sports car, windows down, cold air, a warmed up engine. Few things are better.

<comment><USER10> The US is massively subsidizing this lifestyle and making it more attractive than elsewhere in the world. This is the only excuse for US style suburban sprawl vs similarly developed countries.

We are massively subsidizing it by: -Not pricing in to user fees all costs of roads (especially over several life cycles of the road). This applies to highways but also local roads where infra in sprawly neighborhoods costs more than denser/centric neighborhoods but usually are paying same property tax rate -Not pricing in to user fees cost of resource security (oil) -Not pricing in to user fees all externalities of personal auto use on health care system - what is healthier our system or one where you have to walk a bit? -Mandating from the highest level an interstate highway system, the funding of which no common person understands (gas tax goes in and then distributed around country to pay for 90% of road project - why not local funding so people understand where the money comes from?) -We are not regulating green field development - we are letting developers build what they want because it makes the most money without asking how is the best way to build the city. Is the best way to build a city "leave it to the developers to build what makes them most money" ? -Our zoning is designed to separate stuff which makes cars the only option.

Why does this matter? Because the government is choosing how we build our cities and they are choosing cars. It is not the free market.

Check out Jeff Speck "Walkable City" for lots of facts, examples, and ways forward.

<comment><USER11> The system that manages the money flow isn't perfect but we don't subsidize driving.

I think you're confusing subsidizing it with taxing it like cigarettes. We don't discourage driving because that would discourage utilization of land that isn't located near a population center. Land is a natural resource that we can't practically use up (short of massively contaminating it) and to discourage its use would be moronic.

<comment><USER10> I just gave a bunch of examples of how we're making driving cheaper than it would be if only supported by user fees... that's a subsidy.

I think we subsidize it because we thought it was a good idea back in the day - we chose cars and for example, Spain, chose trains. There are pros and cons to each. I suppose my point is that we CHOSE at every level of government.

This is the lens I see the world through and I think choosing cars (or how Spain chose trains) massively effects a society's quality of life. I want people driving to know that we as a society chose to support cars - <USER2> subsidize them to make them cheaper - and there are pros and cons (eg. more freedom but less walking). Anecdotally, no one I know thinks about it - <USER3> assume that's just the way it is and there are no alternatives. Maybe even that it's the result of free market.

</comment></comment></comment></comment><comment><USER12> >> Walking 30 minutes a day— [...] lowers the risk of heart disease by up to 40%, reduces the risk of Type II diabetes by as much as 60%, and can cut the risk of stroke by a third.

Can we please stop with this "Walking 30 minutes" ridiculousness. Yes it is correct, but only if you compare the 30-minute walkers with shutins or elderly people who rarely if ever get out of their chairs. Most of us already get far more than 30-minutes of far more vigorous exercise.

I did 45 minutes in the pool today (2.75km) spent an hour walking my dog, and dealt with numerous stairs ramps and other not-sitting things. I'm not anything I would call "in shape" but would another 30 minutes of walking really reduce my diabetes risk by 40%? I think not. So stop telling us that extra 30-minutes of barely moving will make a hoot of difference.

<comment><USER13> 'Most of us already get far more than 30-minutes of far more vigorous exercise.' [Citation needed]

I mean it's great that you're doing nearly 2 hours of exercise a day, but many people I know drive to work, sit down all day, drive home, sit down all evening. It seems to be pretty common at least across the UK:

[http://www.theguardian.com/society/2013/aug/10/uk- exercise-l...](http://www.theguardian.com/society/2013/aug/10/uk-exercise- levels-low-targets-fitness)

<comment><USER4> Yikes, it's worse than I thought, even: _The study found that nearly 80% of the population fails to hit key national government targets – performing moderate exercise for 30 minutes at least 12 times a month. It found that just over 8% of adults who could walk had not – with the exception of shopping – walked continuously for five minutes within the previous four weeks, while 46% had not walked for leisure for 30 minutes continuously over the same period. Almost nine out of 10 had not swum and a similar proportion had not used a gym._

</comment></comment></comment><comment><USER14> I look forward to electric (and autonomous) cars for air quality alone. As a dedicated pedestrian fewer cars on the street will directly translate into an improved quality of life. It would be amazing if heavily urban areas would dedicate even larger spaces as car free.

<comment><USER15> Autonomous cars won't do much more than cabs for reducing the number of cars on the street, will they? They'd mostly reduce the number of cars sitting unused in driveways at any given time, but you still have just as many people who need to get from A to B.

<comment><USER16> I think a lot of us are quietly hoping the Auto-car will lead to some sort of CarBNB outcome, where the car can be scheduled by almost anyone when it's available. The car's owner is just another passenger, except maybe they can bump another's schedule and call the car to them on demand.

<comment><USER17> I'm more interested in Car-as-a-Service. Basically, I pay a monthly fee for car access from a fleet in my metro area. When I need a car, I text a pickup and dropoff address to dispatch, which runs the numbers and sends me an eta. If I know I'll be making a trip ahead of time, I can bid for an appointment though a web or app interface which lets me see what prices will likely win for certain time slots and trips. That way dispatch can optimize fleet size, travel time, and eta by charging a monthly fee for system maintenance plus trip fees for each trip. All it has to do is be cheaper than what I pay now to maintain my own vehicle.

<comment><USER18> With self driving tech and electric drivetrains, it'll be impossible for it _not_ to be significantly cheaper than current car transportation.</comment></comment></comment></comment></comment>


A (not So) Short Story on Getting Decent Internet Access - <AUTHOR> https://blog.scrapinghub.com/2016/04/27/a-not-so-short-story-on-getting-decent-internet-access/ <comment><AUTHOR> This is such an inspiring story! I guess a lot of people today go the opposite way, renting or buying places where they know there is a decent internet access. I'm guilty about it. :)

</comment><comment><USER2> This story is simply badass!</comment>


Is he right? ( Confessions of a Terrible Programmer ) - <AUTHOR> http://kickin-the-darkness.blogspot.com/2007/09/confessions-of-terrible-programmer.html

<comment><USER2> "If I get to pick the programming language for a particular program, my "go to" language is Ada."

Your "go to" is considered harmful.

</comment><comment><USER3> This one is very good... I found the only way to get higher in life, in profession, in anything, is to acknowledge the own limitations. Whenever the time comes that you start feeling you are really good, you are getting worse instead: as to be really good, you need to get even better, and you can only do that if you are humble enough to recognize your own leaks.

And it doesn't care if you are Einstein or Mozart... the battle for skills isn't against other people, but against nature. Einstein needed to get always better to understand more of the nature, and the same for Mozart and his music.

At least, that's the way I see it.

Sorry for my primitive English :)

<comment><USER4> BTW, it's one of the most useful tricks in philosophy to always mime the ignorant (which is, absolutely speaking, always more true than the opposite...).

It's the trick to grow in wisdom every time you discuss with any other person.

</comment></comment><comment><USER5> Whoa. Staring at that site's text for a couple minutes then switching back to News.YC produces an interesting series of horizontal lines.

<comment><USER6> <http://en.wikipedia.org/wiki/Afterimage>

Bright on dark really strains my eyes... at least when I'm not in a dark room.

<comment><USER7> Just the opposite for me... I really prefer light on dark, because I prefer to not be staring into a lightbulb.

<comment><USER8> I like light on dark, as you say, but not bright on dark, as whacked said. Light gray or grayish blue / green on on black or dark, dark red is my preferred. I keep a .txt on my desktop with html in it to make font exactly how I like it. On sites that have bad colors, I just paste the text in between the innermost tags in the .txt, save as 'blah.html', and read at ease. :)

</comment></comment></comment></comment><comment><USER9> I am skeptical about the assertions stuff. I rather write my methods so that they don't blow up if they are being called with wrong data. Throwing an Exception is OK. I can't recall a case where assertions where really necessary. In fact it seems messy to me to write a method but then to add instructions for humans of the form "but don't call it with parameters like that". It should all be in the code, not in the instructions.

<comment><USER10> i disagree. if my code is being called with incorrect parameters, i WANT it to blow up. if a method silently fixes input data to something it can deal with, then it's hiding a bug that needs to be fixed.

also, assertions are good documentation. they let maintenance programmers a better idea of what's expected at this point.

<comment><USER9> Mabye I never needed them much because I have mostly been using Java, which has things like NullPointerException. So no need to write an assertion for that special case. By blow up I meant do something bad, not fail in a noisy way. That would be the exception.

<comment><USER11> Unit tests are the way to separate assertions from your implementation code to avoid messiness.

</comment></comment></comment></comment><comment><USER12> It sounds like this guy would like Standard ML and OCaml. Maybe F#?</comment>


Bill English: Computer mouse co-creator dies at 91 - <AUTHOR> https://www.bbc.com/news/technology-53638033 <comment><USER2> See recent discussion: [https://news.ycombinator.com/item?id=24032820](https://news.ycombinator.com/item?id=24032820)

</comment><comment><USER3> Of course, in hindsight the rodentiometer is an obvious input for the computer. One wonders how long it would have taken somebody else to invent this, if English didn't exist. How "ripe" was the community for this idea to surface?

Well, at least I always wonder with such inventions. How long have all the prerequisites been there? How large a problem has been solved? How many people had that problem? How incremental was the advancement?

</comment><comment><USER4> I remember learning about him in uni.. RIP Bill

</comment><comment><USER5> Can we have a black bar in recognition of the achievements of this pioneering computer scientist and engineer please? RIP Bill English.

</comment><comment><AUTHOR> > _Mr English died of respiratory failure on 26 July in California, his wife > Roberta said._

Seems like COVID-19, but covered by family, as many others relatives and friends of the deceased this year did.[0]

[0] [https://en.wikipedia.org/wiki/Deaths_in_2020#26](https://en.wikipedia.org/wiki/Deaths_in_2020#26)</comment>


American and Italian hostages killed in cia drone strike in january - <AUTHOR> http://www.wsj.com/articles/american-italian-hostages-killed-in-cia-drone-strike-in-january-1429795801

<comment><USER2> There have been an unusually large number of civilian casualties from the drone program. If memory serves its currently over 20 incidental deaths per high value target. Leaked documents from the CIA (by Der Speigel) even enumerate administrative policy on the number of acceptable innocent deaths per target - in some cases 70 or more civilian deaths were calculated to be acceptable.

The United States also hunted and assassinated US citizen and former Ambassador al-Awlaki with drones after censoring his political speech from Youtube and other online forums when the former Ambassador, through his official duties, became convinced that the US's policies in the Middle East were harmful to the region and became supportive of resistance groups. A scandal ensued when the US claimed to have the right to execute American citizens without trial in circumstances of extreme immediacy but would not release their policy (this is under the now former Justice Department head Holder) and could not defend the claim that there was a critical immediate need (al-Awlaki did not participate in any violent activity and former strikes that missed him were not followed by any activity that could be reasonably called an extreme immediate need).

These scandals aside, imagine what it is like to live underneath the constant threat of instantaneous incineration - the buzzing of drones in the sky and sporatic strikes. This Orwellian world will continue to see its day as the world powers and military suppliers have all been building drone programs, the US has plans to deploy drones to patrol its own skies, and the Obama administration has clearance to sell its drones to other nations.

<comment><USER3> Obama also made sure to kill a 16-year old nephew.

<comment><USER2> Yes. It is my understanding that the nephew of al-Awlaki, also a US citizen, was engaged with the resistance on the ground. Not that that's necessarily okay then to kill without a trial but the argument for assassinating him is perhaps slightly easier for the administration to make.

</comment></comment></comment><comment><USER4> [http://www.washingtonpost.com/world/national-security/us- ope...](http://www.washingtonpost.com/world/national-security/us-operation- kills-al-qaeda-hostages-including- american/2015/04/23/8e9fcaba-e9bd-11e4-aae1-d642717d8afa_story.html?hpid=z1)

</comment><comment><USER3> It's certainly sad that several innocents have been killed by a drone strike.

However, isn't that just the usual "collateral damage" on the Current President's personal "kill list"? why is this news? are a few Westerners worth so much more than hundreds or thousands of Pakistani and Afghan people?

<comment><USER2> This is one of the upsetting things about the transparency of the accident. It's unique given the long held opacity of the civilian casualties racked up by the program, including innocent people making their ways to weddings and funerals. The apologies here are welcomed, but it makes the humanitarian miss them in the silence blanketing the deaths of non-Western civilians.</comment></comment>


Show HN: Anycomplete - <AUTHOR> https://github.com/nathancahill/hammerspoon-config <comment><USER3> This uses the Google Autocomplete API which seems a bit risky to use [0] and according to this Google blog post should be already shut down [1]. Do you have any newer information on how reliable the API is?

[0]: [http://stackoverflow.com/questions/6428502/google-search- aut...](http://stackoverflow.com/questions/6428502/google-search-autocomplete- api) [1]: [https://webmasters.googleblog.com/2015/07/update-on- autocomp...](https://webmasters.googleblog.com/2015/07/update-on-autocomplete- api.html)

<comment><USER4> Instructions are also included to use DuckDuckGo.

<comment><USER5> Wonderful. I decided to put a script together.

      #!/bin/bash
      S="$(echo "$@" | sed -E 's, +,+,g')"
      g(){
       curl -sS "https://suggestqueries.google.com/complete/search?client=firefox&q=$1" \
        | sed -E 's,.*\[([^]]*)\].*,\1,;s,",,g' | tr , '\n'
      }
      d(){
       curl -sS "https://duckduckgo.com/ac/?q=$1" \
        | sed -E 's,"phrase":|[][{}"],,g' | tr , '\n'
      }
      paste -d , <(g $S) <(d $S) | column -t -s ,

</comment></comment></comment><comment><USER5> If you have your shell ready,

        curl -sS 'https://www.google.com/complete/search?client=hp&hl=en&xhr=t&q=aurora' \
            | json_pp | sed -nE '/<\/?b>/{s```g;s`"|,|^ *``g;p}'

<comment><USER6> Nice!

To run this with macOS, I had to use the GNU version of sed. I installed it with

        $ brew install gnu-sed

And it is then called with 'gsed' instead of 'sed'.

As an avid Perl programmer, I had json_pp in my $PATH - for everyone else - <USER2> is here: [https://metacpan.org/pod/JSON::PP](https://metacpan.org/pod/JSON::PP)

You can install it with cpanm:

        $ cpanm JSON::PP

If you don't have cpanm, you can install it with

        $ curl -L https://cpanmin.us | perl - App::cpanminus

The modified command line from above then becomes:

        $ curl -sS 'https://www.google.com/complete/search?client=hp&hl=en&xhr=t&q=aurora' \
            | json_pp | gsed -nE '/<\/?b>/{s```g;s`"|,|^ *``g;p}'

Here is a little Bash function to encapsulate this:

        $ function c() { curl -sS "https://www.google.com/complete/search?client=hp&hl=en&xhr=t&q=$1" | json_pp | gsed -nE '/<\/?b>/{s```g;s`"|,|^ *``g;p}'; }

Which then allows you to use it like this:

        $ c hacker
        hacker news
        hacker typer
        hackerrank
        hackerman
        hackers movie
        hacker fare
        hackerone
        hackers cast
        hacker pschorr

For spaces in your query, use a '+':

        $ c New+York
        new york times
        new york and company
        new york giants
        new york post
        new york daily news
        new york weather

<comment><USER7> Improved version using jq. This properly URL encodes the query parameter and uses a much simpler sed command. Additionally the API returns UTF-8 encoded data when the user agent is specified. Requires curl >= 7.18.0.

        function c() {
            url='https://www.google.com/complete/search?client=hp&hl=en&xhr=t'
            # NB: user-agent must be specified to get back UTF-8 data!
            curl -H 'user-agent: Mozilla/5.0' -sSG --data-urlencode "q=$*" "$url" |
                jq -r .[1][][0] |
                sed 's,</\?b>,,g'
        }

Example:

        $ c ':)' ':('
        ) ( meaning
        ) ( emoticon
        ) ( ͡° ͜ʖ ͡°)
        ) ( emoticon meaning

</comment></comment></comment><comment><USER8> Had this idea a while back: I really enjoyed auto complete in my IDE and configurable expansions and I wanted that everywhere. I threw together an app to run in the background to keep track of the last word I typed and manage suggestions when I hit a hotkey. Read from a local dictionary, used basic usage frequency and levenshtein distance to recommend, pretty straightforward hacked together in an afternoon project. I could see Anycomplete using a more local suggestion list instead of relying on Google.

Ideally it showed a drop down under where you're typing much like most IDEs would, but support was shotty at best. I really wish there were more OS level hooks for this sort of thing, or a more standardized way to understand what the user is typing and where, but that's not something I ever expect to happen. My app was basically a keylogger while the one in the post is more like a separate entity altogether.

</comment><comment><USER9> I just tried Hammerspoon for the first time this week and it's really, really powerful. Currently working on an automation suite for a bunch of tedious "micro-workflows" that I deal with on a daily basis.

<comment><USER10> Is there a place to find inspiration or other examples of Hammerspoon extensions? Just installed and wrote a few simple scripts, but having a hard time coming up with anything groundbreaking that I'd want to build.

<comment><USER9> I'm currently automating any workflow that I use daily:

\- We have a team call and a team agenda doc, I'm using a hotkey to open a chooser, which has an option "goto team call" that fires up the call window and the doc.

\- We deal with prod/dev so I made another item in the chooser "log in to dev server" which opens a chrome incognito window, presses the one password unlock shortcut and then I'm just waiting there to input 2 factor.

As I uncover more of these, I'll be coding them up and using the master chooser to deal with any annoying workflows. :)

</comment></comment></comment><comment><USER11> And by "Anywhere", you mean, on macOs

<comment><USER12> I'd love to see this as a Keypirinha [1] plugin.

[1] [http://keypirinha.com/](http://keypirinha.com/)

<comment><USER13> Or Wox [http://www.getwox.com/](http://www.getwox.com/)

</comment></comment></comment><comment><USER14> Universal autocomplete based on a local index of words? That would be great!

Universal autocomplete via google api? Hmm, something to think about.

1) Keyloggers

2) Filter bubbles

3) Offline tax

</comment><comment><USER15> Is there any similar tool for linux?

</comment><comment><USER16> That's pretty cool, but I'm fairly certain that sooner or later I would end up googling my password.

<comment><USER17> What's the matter? Passwords are intended to be disposable, here, have one: xAKi2It6XJK7QJR1ROXFK7xmjV6kn6DNÑJU7Pu9hA7OS

<comment><USER18> Obligatory: [http://bash.org/?244321](http://bash.org/?244321)

<comment><USER19> Now also popular as a Facebook prank :).

Related, reminds me of the havoc you could wreck on phpBB boards with [you] command enabled. For those who haven't seen it, a [you] BBcode is replaced _on display_ with viewing user's name.

So you'd generally write a reasonably sounding comment, with a sentence like "This is something [you] was supposed to do.", you'd post it and then it was time to eat popcorn.

</comment></comment></comment></comment><comment><USER20> This is great, thanks for sharing. I've opened a pull request (#5) with a tweak I made here - hold shift whilst choosing an option to actually show the google results instead of pasting. Hammerspoon looks fantastic, can't wait to automate even more!

</comment><comment><USER21> I built something like this many moons ago for browser history. A service would run on your machine to aggregate your browser history. Typing "[http://"](http://") anywhere on your machine would pop up a dialog with your history of most recently visited sites. I wonder if browsers have gotten better with APIs for web history and if it's any easier in windows. System- wide keystrokes had to be checked with win32 calls which could set off antivirus alarms. Keep up the good work. Maybe this will inspire me to see if things have gotten better.

</comment><comment> rm_-rf_slash This is pretty cool, but it would really impress me if it could autocomplete _facts_ based on _contexts_. I wish I could open a text editor and begin writing while Anycomplete(-plus) crawled the web for links to factual data based on the writing so far. Otherwise the context switching is time-consuming and discouraging.

<comment><USER22> That seems both really cool and absolutely terrifying. Automatically find references when writing a tutorial? Hell yes! Automatically find references to support an argument you've decided to make? Hmm... maybe not a win for journalism.

[edit] Actually, I guess the way you described it, it could go the other way. You start writing some argument, and google shows you some stats that show you're wrong, or something. That would be neat.

<comment><USER23> What are the privacy implications of this? Is there a duck duck go version?

<comment><USER24> You press the hot key, and a Google search is run.[0] So nothing too frightening. DDG compatibility should be easy. Just swap the endpoint ([https://duckduckgo.com/ac/?callback=autocompleteCallback&q=Y...](https://duckduckgo.com/ac/?callback=autocompleteCallback&q=YOUR_QUERY_HERE)) and parse the JSON.

[0]: [https://github.com/nathancahill/anycomplete/blob/master/anyc...](https://github.com/nathancahill/anycomplete/blob/master/anycomplete.lua#L6)

<comment><AUTHOR> Thanks. Updated the Readme with that information: [https://github.com/nathancahill/anycomplete/blob/master/READ...](https://github.com/nathancahill/anycomplete/blob/master/README.md#privacy)

</comment></comment></comment></comment></comment><comment><USER25> Great idea! I use Google so often for "anycomplete". Created similar extension for Alfred [https://github.com/outcoldman/alfred- anycomplete](https://github.com/outcoldman/alfred-anycomplete)

</comment><comment><USER26> Nicely done. It will be interesting to see if this impacts your robot score when using Google. There was a blow up a while ago where people used the completion API to fish for trending searches and front run the Google News API and get stories onto the news page.

</comment><comment><USER27> This is very useful for people like me who google words to check the correct spelling. Any plans on adding support for definitions / explanations of words? Something like the result of "define aurora" google query.

</comment><comment><USER28> DIY in PHP [http://php.net/manual/en/function.pspell- suggest.php](http://php.net/manual/en/function.pspell-suggest.php)

</comment><comment><USER29> Interesting, didn't know Hammerspoon had this "chooser" functionality. I guess with enough Lua you could replace Alfred!

</comment><comment><USER30> nope, I am not sending my keystrokes anywhere

</comment><comment><USER31> How does one get the output into an application? Do I have to use clipboard? Clicking command 1 simply closes the app

<comment><AUTHOR> Please open an issue on Github with the content of your Hammerspoon log (Hammer menu > Console...).

</comment></comment><comment><USER32> Followed the installation steps, but it doesn't seem to work for me.

<comment><AUTHOR> Can you open an issue with the content of the Hammerspoon log (Hammer menu > Console...)

<comment><USER32> sure thing!

</comment></comment></comment><comment><USER33> Would love to have that inside something like drun or rofi.

</comment><comment><USER34> This sounds grad from the ux perspective! Thanks!

</comment><comment><USER35> > (macOS)

FTFY

<comment><AUTHOR> Doesn't quite have the same markety ring to it.</comment></comment>


Cloud computing - in your dreams - <AUTHOR> http://blogs.zdnet.com/storage/?p=282

<comment><USER2> His points make sense if you're talking about desktop apps. For web apps, on the other hand, the value of using the cloud is increasing steadily.

</comment><comment><USER3> Finally, someone has said it. Besides Ozzie. But who listens to Ozzie, he's a "Microsoft guy", nobody listens tho those anymore.</comment>


Sweden fines pirate $650,000 for illegally sharing a single film - <AUTHOR> http://engadget.com/2013/12/18/sweden-pirate-fine/

<comment><USER3> This should be put in context. This is no unassuming teenager who downloaded a film via a file sharing network and was caught "distributing" it, due to the nature of file sharing.

He uploaded an unreleased movie that has not been released otherwise, thereby causing significant damage to the original producers. Furthermore he got fined extra to due uploading the film in bad quality, thereby damaging reputation.

<comment><USER4> > He uploaded an unreleased movie that has not been released otherwise, > thereby causing significant damage to the original producers. Furthermore he > got fined extra to due uploading the film in bad quality, thereby damaging > reputation.

What the... I find this highly amusing, as copyright holders have previously argued that high quality copies are also damaging.

<comment><USER5> You remind me of two things:

1\. I have read (and don't take this as trustworthy; my memory could be failing or my forgotten source could have just been making it up) that after a PR campaign to get mexican prostitutes and their patrons to use condoms, condom use was no more prevalent, but prostitute earnings were up. The campaign had gotten men to ask for their preferred mode, and the prostitutes acted as if they preferred the other mode and charged more for the "accommodation".

2\. In the first Myth Adventure book, Skeeve is taught the concept of the "magician's choice". As illustrated in the book, it's used like so: Skeeve has, say, a horse and a lizard. The only magic he can do is an illusion to make the lizard look like a horse. So, to prove to some important individual that he's a mighty magician, he brings his horse and his horse-that-is- secretly-a-lizard. He asks, "would you be so kind as to choose one of these horses?" The dupe points to the real one. "Very good. By your word shall that creature be spared." And he dispels the illusion on the lizard, taking credit for the fearsome ability to curse horses (and, presumably, other things) into lizards. Since that was the only thing he could do, the "magician's choice" consisted of asking his dupe to choose an animal, so that they felt in control, but without specifying any consequences of the choice. Had the guy indicated the fake horse, Skeeve would have cursed "the creature you have doomed with a word".

Sadly, I think copyright holders as a class will be able to get away with talking out of both sides of their mouth as long as they don't make both complaints (low quality is _especially damaging_ because it damages the film's reputation, and high quality is _especially damaging_ because it depresses demand for the official product) in the same case. Personally, of those two theories, I think the argument for high quality being more damaging is much stronger.

<comment><USER6> Speaking as a filmmaker myself, you are overlooking an important point: timing matters. A lot. Releasing a low-quality bootleg after a film has already been officially released through normal channels is very different from releasing a low-quality bootleg as the film's de-facto premiere. You only get one chance to make a first impression, and in this case the pirate took that opportunity away from the filmmaker.

<comment><USER7> I was about to disagree with you and say that anyone downloading pre-release low quality products know that they're getting low quality product and know that the film will be better.

But then I remembered the people with beta OS access who file reviews for software that doesn't work with that beta product yet, even though the software producers are not allowed to incorporate those fixes yet.

<comment><USER8> I don't think the Beta OS users software review situation carries over to the other context.

If it's a low quality then you're relying on the story. If the story of the movie is good then there's no harm - people will be more keen to see it. If the story is OK but the visuals are clearly harmed by the quality of the copy - then people will be more keen to see it in a better definition/encoding/format.

Some movies you just know you want to see at the cinema even if you've bought the DVD just because you know you'll appreciate the scale more. I've never watched a movie with a good story and said "I wouldn't watch that if the visuals were _better_ ".

YM[as a movie distributor]MV.

<comment><USER9> Anecdote: I torrented Ponyo when it first came out, before the English version was available (it never had a theatrical release where my kids live), right during the Japanese theatre release. It was a terrible screener, complete with people getting up in the middle of it. And a rather funny attempt at subtitles. Even so, my kids watched it on repeat for weeks.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Here's a nice write up of the actual, bizarre details of how the sum was calculated: [http://translate.google.com/translate?hl=en&sl=sv&tl=en&u=ht...](http://translate.google.com/translate?hl=en&sl=sv&tl=en&u=http%3A%2F%2Fcomputersweden.idg.se%2F2.2683%2F1.540098)

Complementary dictionary:

Hittepåsiffror - made-up-numbers

filmbranschräv - a sly old movie industry fox

ickebevisade - non-proven

svajjiga - <USER2>

</comment><comment><USER11> This isn't a fine. This is the damages he's been sentenced to pay to the rights holders.

<comment><USER12> So if the damages for thousands to millions of copies of the movie are being blamed on the initial public seeder, does that mean nobody else in the torrent is responsible for any damages?

<comment><USER13> The damage that a single peer causes is roughly that they themselves are less likely to purchase the movie. There is an aggravate effect of having such a large swarm enable additional people to enter this group, but the contribution of any individual to this is small. In contrast, the initial uploader is what enabled the entire thing in the first place.

</comment></comment></comment><comment><USER14> Fines are not _just_ to recompense the apparent victim of an action, they are intended to deter others from repeating the action. If the risk of getting caught is small the fine needs to he high enough that ChanceOfGettingCaught*Punishment is far enough from zero that it figures in people's minds.

Unfortunately this only seems to apply to individuals: companies seem to get slap-on-the-wrist fines were individuals get send-you-to-the-poverty-line fines.

<comment><USER15> I find the thought of having punishment inversely proportional to chance-of- getting-caught disturbing. Because if the risk of getting caught is very small (which is the very case the system would be addressing), the punishment would necessarily be disproportionately huge. I can never agree with a disproportionately huge punishment.

<comment><USER16> I wonder if gp would call for people to be hanged, quartered, and drawn for treason.

<comment><USER14> I wasn't calling for, agreeing with, or supporting _anything_. I was simply stating how such a fine value would likely have been arrived at.

</comment></comment></comment></comment><comment><USER17> He actually admitted to sharing 13 films illegally (accused of sharing a total of 517 films). He was an uploader on a private Swedish tracker called Swebits.org which is where the alleged crimes took place.

</comment><comment><USER18> It's not the first time something like that happened. So, I wonder, what are reactions to such cases except for discussion on Internet forums? Were there any petitions to governments, maybe even some civil protest actions or, on the other hand, initiatives to replace non-anonymous BitTorrent with anonymizing networks?

</comment><comment><USER9> How was he caught? A specially leaked watermarked version? It seems that if you're in the scene, you'd want to take a lot of network precautions.</comment>