All the UML you need to know - <AUTHOR> http://www.cs.bsu.edu/homepages/pvg/misc/uml/ <comment><USER2> My first real-world job in the industry was in a large-ish shop that worked as follows:

Create a full-detail schematic of the system in version-controlled UML.

At some point, "deploy" the UML by printing it into a 4 cm-thick binder of paper, then distribute these binders to the head architects.

Iterate on the UML until the architects are happy. (The architects spent many years trying to auto-generate code from the UML diagrams and have the results "fleshed out" by lowest-bidder consultants, though this never really worked. Their stated goal was to no longer have to write any code in house, but rather nothing but UML.)

Begin implementing the system in house with auto-generated code from the binder-of-UML as a baseline, after the lowest-bidder consultants had failed.

Quickly get into big fights between the coders-on-the-ground and management when it was found that the UML diagrams contained major architectural flaws and the UML-phase would not, actually, account for 80% of the project's duration and budget. Needless to say, more than half of the projects failed entirely.

This experience nearly made me leave the industry, before I discovered that there was plenty of software being written in a saner way. This was more than a decade ago, but to this day, just seeing UML diagrams turns my stomach.

<comment><USER3> "Their stated goal was to no longer have to write any code in house, but rather nothing but UML"

This goal was promoted heavily in the late '90s and early '00s. Some tools could supposedly "round-trip" between UML and code, but I never saw that actually work. As originally conceived, UML was supposed to foster communication and there are times when a UML diagram is the perfect means to communicate the intent. I tend to use sequence diagrams and ER diagrams the most (yes - I know ER diagrams aren't UML but they're roughly analogous to class diagrams and what we're usually trying to flesh out is the relationship between models).

As an aside, there were/are graphical programming languages. I wrote a couple of Windows and Mac utilities in ProGraph [1] during the '90s. The ProGraph environment lives on as Marten [2] which I recently played with on Linux. It's not nearly as clean as I remember it being.

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

[2] [http://www.andescotia.com/products/marten/](http://www.andescotia.com/products/marten/)

<comment><USER4>
      > UML was supposed to foster communication

      > could supposedly "round-trip" between UML and code, but I never saw that actually work

This is the root of the problem with UML-as-spec: it's used as a tool for _one-way_ communication, for open-loop management that doesn't want to have feedback or dialogue stages in development.

<comment><USER5> I think this is the real problem with UML. It first kinda seems to work when project is managed with waterfall-style, but when actual development is done iteratively (when is it not?) it just adds confusion or work either by providing out-of-date spec or introducing more stuff to keep in sync.

<comment><USER6> UML is a way to talk about things. Just having a standard-ish way to draw on whiteboards is pretty helpful, even if the diagrams are super temporary.

In practice in most industries, most folks can probably get away with just knowing the ISA/HASA type stuff and 1..N, * arrity, etc. Swimlanes are also somewhat useful as a concept (but so are regular flowcharts).

There's a whole other ton of UML (see 5/7th of Rational Rose around the early 2000s, which is probably gone all deep and crazy now, etc) that is, IMHO, pretty skippable.

I've not even seen some of the "stuff you have to know" (ball and socket, etc) used.

I do think that designs get better when you can draw them, as when they get hard to draw, it becomes conceptually obvious there may be problems.

UML generation code tools running against 1300+ Java classes and making some huge diagram covered up in arrows definitely doesn't work too well though :)

</comment></comment></comment></comment></comment><comment><USER7> No, all the UML you need to know is this: (1) draw and label a box for each class; (2) draw an arrow from one class to another to show dependency; (3) draw a different kind of arrow from one class to another to show inheritance; (4) [bonus material, for super-geniuses like you] use regex-style symbols * , +, 1 and suchlike to mark the ends of dependency arrows in order to indicate when you have one-to-one or one-to-many relationships and so forth.

There. My 20+ years of experience in software architecture in various fields from games to networking tells me that you now know enough to work out the classes and their relationships in a large software system.

Don't fuss around with "aggregation" or "composition" or whatever. Don't spell out functions (though occasionally I'll jot one below a line to remind myself what the salient feature of the dependency is). And by no means write the class properties, their types, or their access specifiers (public, protected...)—this is way too much detail. A UML diagram is useful in modeling broad object relationships in a system. If you want to work out what properties a class should have, write the damn class. Any software developer worth his salt can figure out the code from a high-level diagram; don't write the code for him. Or do, but then don't call it an architectural diagram.

I know there's a whole culture of software development where architects design code but don't dirty their hands with writing it, then hand it off to underlings who type it up for them, and so on down some kind of techno- bureaucracy Great Chain of Being. Rubbish. Code architecture _is_ a thing and some kind of diagramming is helpful, but UML as such is the sort of busywork and IRS-style hierarchism that marks bloated government jobs, not real productivity or real teamwork.

Give UML a miss and use something very, very simple.

</comment><comment><USER8> I've generally found UML to be a complete waste of time.

I'd rather outline the major components of a system by drawing (on real paper) simple boxes and lines, or write the code that implements the system.

Not sure what code-as-picture achieves - it's generally has worse tooling (less editable, less versionable, etc.) and tends to be used by 'architects' who don't write code, only for that UML to be essentially ignored by the coders on the ground.

<comment><USER9> As long a the "simple boxes and lines" describe the functionality of your design at the level you wish to communicate, then you're doing good. You can stop reading here.

The problem is that complex systems need complex design. As your design get more sophisticated, you need more sophisticated ways to communicate the design. Concepts like dependency, multiplicity, inheritance, inclusion, asynchronous message, exception, timed event are all things you can represent with boxes and lines, but unless you adorn the diagram with a huge amount of text you're not going to capture the distinctions between those different types of relationship.

It's not unlike any other language: I can use the word _thought_ to describe something in my head that isn't physically manifested, but words like _lie_ , _memory_ , _hypothesis_ , _idea_ , _belief_ , _image_ , _nostalgia_ , _forecast_ , _imagination_ are all used to distinguish between types of thoughts. If I used only simple words like "thought" then I wouldn't be able to express anything more sophisticated while still being concise.

In short, if you want to graphically describe something complex, you can either use a sophisticated visual language to do it concisely and unambiguously, or you can use a simple visual language and write tonnes of documentation to support it, with all the problems of attention, ambiguity, and rot that go along with it.

<comment><USER10> "The problem is that complex systems need complex design. "

No. Complex systems need more thinking and refactoring until they are less complex.

<comment><USER9> Really? The device you're reading this on probably contains more complexity than it's possible for one person to understand in a lifetime, and that's _one device_.

It's incredibly naive (or at best disingenuous) to assume that complex systems can be reduced by thinking and refactoring. Perhaps some can, but when you consider many of the software artefacts we use daily (seeing as that's the context of this subthread), such as operating systems, virtualization platforms, or even good ol' clunky enterprise applications, you can't just wish the complexity away with a bit of hard work.

<comment><USER11> >Really? The device you're reading this on probably contains more complexity than it's possible for one person to understand in a lifetime, and that's one device.

It wouldn't have been possible at all if the pieces that make it up weren't loosely coupled.

>It's incredibly naive (or at best disingenuous) to assume that complex systems can be reduced by thinking and refactoring.

It's naive to assume that you can't. Loose coupling pretty much only comes as a result of extensive refactoring.

<comment><USER9> ...and one of the ways you can communicate such coupling is by diagramming the (complex) system's design.

Google for "linux kernel diagram"[1]. It's quite well designed, displays loose coupling, high cohesion, and all the other things we like about good complex systems. If I want to dig in and start working on a module, I'd still have to understand the relationship between all the bits I work directly with (and probably some that are further away).

Don't confuse loose coupling with low complexity.

[https://www.google.com/search?q=linux+kernel+diagram](https://www.google.com/search?q=linux+kernel+diagram)

</comment></comment></comment></comment></comment></comment><comment><USER12> Diagrams/notation I've found useful:

++ _E-R (entity-relationship) diagrams_. I find it easier to look at boxses for each table follow the lines signifying relationships to other boxes. The "crows feet" can signify 1-to-many. The diagram is easier than reading a sequential list of SQL CREATE TABLE statements and making a mental note of "FOREIGN KEY" strings and mentally backtracking to the parent table.

++ _swim lanes_ to show how the "state" of a system is supposed to change with "time". This can succinctly show how data "flows" without having to actually run a program and watch variables in a debugger to manually recreate the "swim lane" in your head.

++ _truth tables_ to summarize combinations of valid/invalid business rules and associated side effects. A grid is easier than parsing a long (and often nested) list of if/then/else/switch statements.

As for UML, the notation never seems to be that succinct or helpful to me. On the surface level, it seems that UML (for code) should have the same return- on-investment as E-R (for db tables) but it doesn't in my experience.

I also wonder if there is a cultural component to UML usage. It doesn't seem like tech companies (such as Microsoft/Google/Amazon/Ubisoft/etc) internally use UML as a prerequisite step for building systems. On the other hand, I could see more UML usage at non-tech companies (such as banks/manufacturing/government) building line-of-business CRUD apps. Grady Booch (Booch & UML notation) did consulting about software methodology at non- tech companies so that may have been a factor.

</comment><comment><USER13> I love UML. UML is overused. More people need to know UML. The less UML you do, the better.

I believe all of these statements to be true.

I had a contract many years ago with a large insurer. Their development process basically consisted of drawing really complex UML diagrams, then hitting the Big Red Button and having the modeling tool generate 40,000 lines of framework code. The chief architect explained to me that really the only work required was just a tiny bit of business logic in the appropriate places.

Fortunately I was not part of the main dev team, which for some strange reason (at least in the lead architect's mind) had the damnedest time with this system. My job was to create an internal permissions system. Given app X, user Y, and action Z, was the action allowed or not.

I looked at the problem for a while, and no matter how I thought about it, to me I had three lookup tables and one method. Boom, I'm done.

The lead architect wanted me to still draw a diagram with one class, push the button, and get the 40,000 lines of code. For some reason, this did not appeal to me.

Took me about 3 weeks to convince him that really 20 lines or so of code was all we needed. I still had to draw the diagram, though.

That's the horror story -- one among dozens I have. But on the flip side, I've been with teams that interviewed the customer while sketching out a domain model. Since we all understood UML, a quick and lightweight sketch using the appropriate notation got agreement on a ton of detail just taking 30 minutes or so. That would have been very difficult using a conversation or word processor. Sketching without some common lightweight understanding could have led to rookie errors.

There is nothing in this world better for getting quick technical agreement on complex problems than group sketching using lightweight UML. The trick is sticking to the absolute minimum.

<comment> keithb- I tend to agree. I studied UML and earn certs. At the time, I really liked it and I had fun drawing diagrams for both new and existing projects. Now, I only use it for sketching and I think the vocabulary is the key: it is more important for you and your team to know the important terms than the nuances of the actual spec. For example, the transitions on activity diagrams have sophisticated semantics for describing events, functions, etc. that may be more cumbersome to document and explain than, for example, a label just saying "convert to binary".

In my career, I have only seen a few things that caused religious fervor on any significant scale: XML and UML. But I would like to know if the level of specification around these languages is the off-putting aspect or if it is something else. Did mathematicians of the Newton-Leibiz time exchange letters denouncing proofs or trolling with irreducible polynomials?

</comment></comment><comment><USER14> Plot twist: this article doesn't have all the UML you need to know, it's just the class diagram.

Particularly, for my personal projects, I use the Use Cases diagram to map the requirements and the features my application will have, associated with my prototypes. Other diagrams, like Class diagram, usually I use just to map the Domain before develop the persistence. This is how all my projects start, even if I am working alone. It is good to me and it's part of my creative process.

</comment><comment><USER15> Key quote: "Keep in mind that UML is a communication tool, and you can omit details that are not necessary for expressing your message."

<comment><USER16> Haha, yes.

All the "Software Engineering" classes at university were just UML. Many years I thought SE was just that, UML.

When I did my first job interview I was rather relieved that the hiring manager wanted me to draw UML. He was very pleased with my UML skills, but he always said, I shouldn't draw it with all the details, just the basics are enough :D

That was 2011... I never had to use UML in an interview again. But I often used it as a documentation tool for a big PHP codebase, I had to manage.

UML and ER diagrams are often an overkill when designing an app. But they are nice to visualize what is going on in legacy stuff.

</comment></comment><comment><USER17> The complete overapplication of UML for many years gave UML an undeservedly bad name. The top comments in this thread are testament to that: many programmers are simply all too happy to go "haha! UML! that's for enterprise losers in suits who prefer paper over working code!"

Thing is, the core elements of UML are very useful in communicating a design or an idea. Class diagrams are a _great_ way to discuss an OO-ish codebase in front of a whiteboard (or any data model, really). When you do that, it _really helps_ when everybody knows that an arrow in static UML diagram types means "dependency" and not "the data flows from here to there".

Similarly, I still haven't seen a better way to visualise state than with a UML state chart.

It's also very nice if you can draw a UML object diagram that people understand (looks like a class diagram, except you basically draw a hypothetical runtime situation of instantiated classes and you underline the object identifier names). This works best when people understand that the picture on the left is a class diagram (design time) and the one on the right is an object diagram (runtime example) of the same classes. This is not complicated stuff, but it doesn't really work as well when half the team thinks UML is for losers.

Now, bear with me, I'll be the first to agree, UML is a bloated piece of shit. Package diagrams, wtf, who needs that? Use case diagrams that show _which use cases are specified_ , instead of how the use cases go - seriously? Activity diagrams so you can draw a 5-line method on an entire sheet of paper, big fucking what the hell were you guys thinking?? Why do I even know what this stuff is? What a waste of time - even the decent diagram types have 60% bullshit syntax and only 40% useful stuff. And message sequence charts are nice enough for protocols but impossible to draw right.

But to dismiss UML just because some enterprise architects went a little overboard in 2002 is a bit like dismissing all of OOP because 15-level inheritance hierarchies used to be hip.

I wish we could agree on a tiny subset of UML that actually makes sense, and all learn that. This post makes a good start for class diagrams, although IMO even the ball-and-socket notation is overblown nonsense from a time long gone. Maybe we should do this, and give it a separate name.

On a mildly related note, one thing I like about OOP is that you can draw pictures of it easily. Does anyone here know of a good way to visualize functional code structure? You can draw a dependency chart of modules of functions but that only gets you so far.

<comment><USER18> After many many years not touching UML, I recently had to design some state charts - because it's something really helpful in an app we're working on at the moment - and found that using an UML tool for that is very useful. So I agree that it's something good, if taken with a big grain of salt.

</comment></comment><comment><USER19> Too bad he skipped sequence diagrams, saying that he had already covered them in class.

Years ago I co-authored a book on UML, but the only UML diagrams that I still use are sequence diagrams which I think are great for explaining interactions between objects or separate services.

</comment><comment><USER20> This should have linked to a blank page.

</comment><comment><USER21> Yup, even if you never write OOP code, this is a somewhat common language you will encounter between colleagues, so it is worth knowing exactly what is on this page.

<comment><USER22> Personally, I find that the "closer" you get to code the less use formal detailed diagrams are - UML as sketch rather than UML as blueprint:

[http://martinfowler.com/bliki/UmlAsSketch.html](http://martinfowler.com/bliki/UmlAsSketch.html)

</comment></comment><comment><USER23> Personally I use quite a lot sketch like UML and find it very helpful for clarifying complex environments or ideas that are not clear yet. Most of the time sketches are just boxes, circles and lines, but those communicates and clarifies the problem for others very well. I don't use lot of time when sketching, system can be described graphically very quickly, just to get the idea out or it usually goes too detailed. We have also built a tool that helps sketching systems with remote teammates ([https://sketchboard.me](https://sketchboard.me)).

<comment><USER24> Are you sure you are not actually using dataflow diagrams by another name?

[http://www.visual-paradigm.com/tutorials/data-flow- diagram-e...](http://www.visual-paradigm.com/tutorials/data-flow-diagram- example-food-ordering-system.jsp)

</comment></comment><comment><USER25> Graphical representations are useful for representing _spatial_ relationships because then you can take advantage of the inverse-GPU in the human visual cortex to do a lot of computation for you. But software doesn't have spatial relationships because it doesn't exist in space. So trying to represent software concepts graphically is generally doomed to fail. There are a few exceptions, like code indentation, but there's a reason that flowcharts aren't used much any more.

</comment><comment><USER26> I've never figured out how to use UML abstractions to fix client and/or user production bugs, or met anyone else who could, so who the hell has the time?

</comment><comment><USER27> I'm just curious and I'm not trying to be snide but is there any spec that OMG has produced that people actually like and use still? (they are also makers of CORBA)

I live in the Boston rt128 area and I pass OMG's building all the time and I just have no idea how they are still in business (they are near Trip Advisors new complete awesome building).

I wonder how many massive companies continuously donate to OMG and do not realize it.

</comment><comment><USER28> Just think of UML as the C++ of diagrams: it is sometimes the best way to produce the result that you need but you have to choose a sane subset.

</comment><comment><USER29> All the UML I need to know? Frankly? Nothing. I am surprised people would still consider this thing useful.

</comment><comment><USER30> The general feeling about UML is that it's overkill for most projects and actively harmful when used to generate code. On the other hand, most agree that parts of UML are useful as communication tools.

However, UML was designed as a standard, near-UML is not UML. Ergo, UML is useless.

I feel better already.</comment>


A Good Idea Checklist - <AUTHOR> https://www.tillett.info/2016/01/27/a-good-idea-checklist/ <comment><AUTHOR> I wrote this a few months back, but with the recent Apply HN experiment I feel that people might find the post useful.</comment>


Anatomy of a Re-Design, Part I - <AUTHOR> http://carwoo.com/blog/anatomy-of-a-re-design-part-i/

<comment><USER2> "Perfect is the enemy of deployment." is a great line.

</comment><comment><USER3> Congratulations on a great concept and design. Any plans to offer a free trial or demo of the product?</comment>


Techstars and 500 Startups Outpace Y Combinator in Series A Graduates - <AUTHOR> https://mattermark.com/500-startups-accelerator-company/ <comment><USER2> It's insane to use fundraising as a proxy for success, especially for venture capital. If YC grads are raising less money, it could easily mean their businesses are _more successful_.

<comment><USER3> The problem is that YC _itself_ uses # of companies that receive additional funding as a proxy for its own success.

This could be worse news for YC than it appears.

</comment></comment><comment><USER4> Honestly this is a very strange metric for me. It doesn't account for things like the frothy conditions of 2011 - 2014 where people were raising money like crazy.

It doesn't speak to trends where investors were actively looking to nourish alternatives to YC since there was a perceived monopoly on investor mindshare at YC.

It doesn't explain what the series A cumulation means for investors, nor startups, nor the incubators themselves.

If this article is for investors, wouldn't it better to understand and compare the total valuations of startups from each accelerator (by batch would be best.)

If this is for startups, wouldn't it be best to compare percent of batch that went on to raise series A?

edit: I don't mean to suggest that the data isn't interesting. But given the extremely human nature of startup investing, I think it's worth speaking to qualitative factors when trying to bring insight.

</comment><comment><USER5> The article offsets the data by the year the incubator started. This is not relevant fort a start-up having to pick an incubator today. I think it would be more interesting to see what percentage of current graduates raise series A. My guess is that this is highest for YC but still only one in five. Of course there are also cash flow businesses that don't need to raise but these are the exception rather than the rule. Disclosure: winter 2015 YC graduate and a big fan of YC

</comment><comment><USER6> Huh? From the article, 500 Startups is not even close:

"Y Combinator companies comprise 4% of Series A deals"

"500 Startups produced 1.8% of Series A recipients"

</comment><comment><USER7> Really what matters is rate of return. It doesn't surprise me that a company called 500 Startups gets a lot of Series A deals.

</comment><comment><USER8> I understand what Mattermark is trying to do here, and applaud them for trying, but the way the data is presented doesn't withstand scrutiny. There are far too many interceding variables for this analysis to have any merit. Namely (1) total deals done/varying market conditions in a given year, (2) yearly cohort size, (3) the fact that most Series A deals happen within 3 years of accelerator graduation, (4) not accounting for large seed deals, later stage deals, and exits. I don't quite understand how number of Series A deals equates to success in the first place, and I'm having trouble finding what this analysis proves, if anything.

</comment><comment><USER9> It's really am issue with problem of induction writ large for measuring VC returns w/ averages(say for ROI/ROR(Like this better)) asking for averages when the entire point is that averages are likely not stable for comparisons.

Do averages of returns across VC stay stable even if they are supposed to manufacture black swans, which is what it actually is, and not "Unicorns".

Also most people calling it Unicorns is probably an indication that that segment of detractors is undereducated and should be ignored as there are plenty of other more accurate terms.

If the means are an irrelevant metric to compare across VC's/YC-Like seed funding groups, then we should look for a more stable metric to compare performance as in this field and in the market, as always, the past is not indicative of future performance.

This is really difficult for the human mind to perceive isn't it? Nevertheless, let us hold still, but still make haste.

</comment><comment><USER10> Which recent YC companies do you believe will become the most successful? (omitting the obvious Airbnb, Instacart, Gusto, Stripe and Reddits)

</comment><comment><USER11> It would be more interesting to see aggregate metrics by yearly cohort, like rev, valuation, etc.</comment>


The Tivo Box Is Dead. Long Live Tivo. - <AUTHOR> http://blog.wired.com/business/2008/10/tivo-is-dead-lo.html <comment><USER2> Be warned that in my Safari this page popped up an _effing huge_ full-screen ad window behind my main window... and then the ad started _talking to me_.

Utterly obnoxious. I guess that's what I get for leaving "Block Pop-Up Windows" switched off...

<comment><USER3> That's what we get for visiting wired.com, I guess.</comment></comment>


Show HN: Fast Reddit Scraping - lord-bazooka https://utkuufuk.github.io/2018/07/29/reddit-scraping/ <comment><AUTHOR> Probably In RTFA territory but - does the official API not work anymore for this to be necessary?</comment>


Why everyone loves the iPad mini (even though the screen sucks) - <AUTHOR> http://thetechblock.com/why-everyone-loves-ipad-mini/ <comment><USER2> Wow. Look at every Apple user come out and say how much like they a smaller screen now, after downplaying all the 7" Android devices for being too small before the iPad Mini. And please don't tell me it makes such a big difference between a 7" and a 7.9", because in my mind the bigger display size is actually a disadvantage, as it's not a very comfortable one-handed device anymore. You can't use it like you would a smartphone anymore. You're still using it the same way you'd use a bigger iPad. It's just that it's lighter, while a Nexus 7 is both lighter and more comfortable to hold with one hand. Next you're going to tell me that a phone with a bigger display than the "perfect" 3.5" size is better, too. Oh wait.

I'm sorry for being so sarcastic, but after all the articles about how Apple "brilliantly" picked all those perfect sizes and screen ratios (iPhone 5 now switching to 16:9, anyone?), that have also topped HN, it's hard not to pick on this and call out the hypocrisy. In fact, I feel it's my _duty_ to point this out. If even one person comes to the realization that Apple is not as perfect as the media makes them out to be, then I'll be happy.

<comment><USER3> Also there is a popular thinking among Apple apologists that Samsung is copying Apple and taking Apple's lunch. In reality Samsung single-handedly proved Apple wrong on various things. They created a market for "phablets", proved that stylus is still relevant in normal operation, content creation. If Apple have implemented half of the feature presented in this video <https://www.youtube.com/watch?v=L930NbUKgJY> Apple will be hailed for "revolutionary innovation". Until then Apple knows that users do not use these "features".

<comment><USER4> Phablet, yes. Definitely a strong niche.

Stylus No. I have 3 co workers who have Galaxy Notes (or Note II) and none of them use the stylus while I've seen them. They all say it's nice, but none admit to it being key or even useful.

There is no killer app for the stylus, when an onscreen-keyboard or finger would do just as well. Even finger-based signatures are pretty easy with modern smartphones' capacative touchscreens.

The only thing a stylus allows is for UI elements and hit areas to be smaller - and not many folks (other than Win8 geeks it seems) are clamoring for that on their smartphone or tablet. In fact, I know folks who run iPhone apps on their iPad because the hit area is 4x larger and much more easy to operate.

<comment><USER5> I assumed that the killer app for the stylus would be Chinese and Korean character entry. Any actual Asians want to validate or dispel my assumption?

<comment><USER6> Korean at least is an alphabet fairly easily entered via a standard qwerty keyboard: <http://en.wikipedia.org/wiki/File:KB_South_Korea.svg>

The letters are composed into blocks describing syllables, rather than strings describing words as in Latin alphabets, but entering letters on the keyboard is the same.

Might help with Japanese but I can't really speak about that.

</comment></comment></comment></comment></comment><comment><USER7> On every single flight I take, the main reason why everyone loves my iPad Mini is because it is a Nexus 7.

Edit: People ask: "is that the mini?". I avoid being a jerk about it and just say "It's the google one. One of the Nexus products. The mini wasn't out when I bought this but I really like it. etc etc"

<comment><USER8> I could see how the average consumer would get confused between the two. It is kind of hard for a tablet devices to differentiate themselves in their looks when the entire face of the device is a glass display.

I now own the iPad Mini and up until a week ago I also owned the Nexus 7. The build quality, weight, and battery life of the iPad Mini beats the Nexus 7 hands down. The frame of my Nexus 7 would "creak" along the edge if you put pressure on it.

The Nexus 7 was my first Android device and despite claims that Jelly Bean had finally fixed the platform's major performance issues, I still felt noticeable lag in certain situations when scrolling or paging to different home screens. It wasn't a major issue but I still feel like Android could make some improvements in this regard.

I also felt that the quality and polish of the major apps that I use was better on the iOS platform (with a couple exceptions such as the HTPC remote app on Android that was amazing).

The main thing that I miss from my Nexus 7 is the combination of Voice Actions and the Android Intents system. It felt like a magical moment when I would tell my Nexus 7 to "play some music by Nine Inch Nails" and it would launch Spotify automatically and play the requested music. It kind of blew my mind that I could simply ask this device to play music by almost any artist in the world and it would start playing immediately.

<comment><USER7> I'm a fan of sending myself chrome links I find on my phone to my tablet over NFC. There are other ways to do it... but that is by far the most gratifying.

</comment></comment></comment><comment><USER9> The iPad mini is "disruptive" only if you live in an alternative and exclusively Apple universe. The smaller Android tablets and large phones (like the Galaxy Tab), which have been out for a long time, disrupted the iPad and forced the introduction of the mini.

<comment><USER10> It would be nice if I could actually lay my hands on a 16g Nexus 7, no local retailer carries it. Well I should not say none do, one does at the old price.

I can find 32g Nexus 7 tablets at most office supply stores and the like, the few that don't carry Nexus usually carry Kindle.

So where are they at? I can go to Best Buy, Target, Wal Mart, or even an Apple store, for all things iPad but finding the Android tablets is...

In other words, smaller Android tablets forced nothing, unless your counting Kindle Fire's as androids. You can barely find them; I live in Atlanta and looked; but I can certainly find Apple products.

</comment></comment><comment><USER11> Technology is all about tradeoffs, film at 11.

But seriously, I held a Mini yesterday. As an iPad3 owner I can say I'd trade my retina and larger screen for the weight of the Mini any day. The weight of the 3 is really difficult to hold for long periods of time.

Of course, I'd highly prefer a full-sized iPad that was as light as the Mini (or "proportionally light", like the iPhone5 vs 4). I'm not sure if battery technology will improve quickly enough to make that happen in the near term.

<comment><USER12> >The weight of the 3 is really difficult to hold for long periods of time.

I have to say I've never really understood this complaint. Do people use iPads standing up or something? I have the iPad in my lap or on my chest if reading in bed. The amount of time I spend using it while I have to hold it unsupported is minimal.

The iPad 3&4 weigh about the same as a large hardcover book. Do people find the weight of hardcover books difficult to hold for long periods of time? The Hobbit is about 1.2 pounds, the iPad 4 is about 1.44 pounds. Neal Stephenson's Cryptonomicon is about twice the weight of The Hobbit.

<comment><USER13> > _"Do people use iPads standing up or something?"_

Not much, because it's too heavy to use standing up. Or rather, in the usual stand-up use cases (e.g., on a bus, boat, or train) you usually want to one- hand the device, and its weight prevents you from doing so.

> _"The amount of time I spend using it while I have to hold it unsupported is > minimal."_

Is that because tablets naturally don't have "unsupported" use cases, or because the current implementation fulfills said use cases poorly, and therefore you don't use them that way?

> _"Do people find the weight of hardcover books difficult to hold for long > periods of time?"_

While standing or one-handing it? Yes.

> _"Neal Stephenson's Cryptonomicon is about twice the weight of The Hobbit."_

And how many times have you seen someone reading a book that size on the subway/bus/ferry? ;)

<comment><USER12> >> "Neal Stephenson's Cryptonomicon is about twice the weight of The Hobbit."

>And how many times have you seen someone reading a book that size on the subway/bus/ferry? ;)

Good point. You may have convinced me.

</comment></comment></comment></comment><comment><USER14> I know a couple of people who've said, hands down, they'd take a Mini over an iPad 3. I would, in a heartbeat (and probably will next year, for 'testing') and I love the Retina displays, I just don't think you miss it that much with the iPad Mini unless you're reading, you have excellent eyesight and you hold it really close.

I know some people will inevitable go "you can SEE the pixels, right there, there's a pixel", and that's fine for them. But it's a bit like audiophile headphones, one person can pick up an extra set of dulcet tones but for that guy over there? He doesn't care too much, he likes the other one that's technically not as good but suits him more.

<comment><USER15> I looked at a friend's iPhone with high resolution display the other day. I was really impressed how I could not see any pixels.

Then I pulled out my old nexus one to compare how crappy it would look now. As it turned out I could not tell a difference. the 800x480 screen already is dense enough for me to not see any pixels.

Confirmation bias is a bitch.

Edit: Typo fixing and capitalisation.

<comment><USER16> The Android community is _terrible_ with this (and I say this as a very happy Android user). People complain about PenTile, SLCD vs AMOLED, etc. etc., but I swear- if you did a blind test, 90% of users wouldn't even be able to guess the screen resolution, let alone the technology used to make it.

If you stare at a phone/tablet in the store for long enough you can find any number of flaws in it. When you actually use the thing day to day to read e-mail and navigate your way around a city it doesn't matter one jot.

</comment></comment></comment><comment><USER17> "even though the screen sucks" reminds me of Lewis C.K.'s "Everything is amazing and nobody is happy". How soon we feel anything less than retina sucks. Really? We're spoiled people when we look at a piece of technology like the iPad mini and our response is "this screen sucks!". Sheesh.

<comment><USER18> People jump to the "everything is amazing and nobody is happy" thing way too quickly. It is a funny bit for sure. But if we take it as a life philosophy, a: we would never function cause we just being standing around gawking in amazement at almost everything b: things would never improve. Apple makes high quality displays for all of its iOS products besides the Mini. So, yeah, the Mini's screen sucks. Especially when competitor's products are already more "amazing" in screen resolution for less price.

<comment><USER19> I think it's less about gawking in amazement and more about perspective. Getting wound up about small technical drawbacks is very "first-world problem".

</comment></comment></comment><comment><USER20> The weight of the iPad was always it's biggest problem. Glad to see that demonstrated so clearly.

</comment><comment><USER21> I don't have a mini (yet...), but I can't imagine any situation where I can carry the mini but not the full-sized iPad. Neither will fit in my pocket comfortably (like a phone), and either fits fine in any bag I own.

Since I reach for my MBA13 as frequently (more like 4x as often) as iPad when both are sitting in front of me, I don't think I'd be that likely to go for the mini vs. iPad at home or where I had both devices.

It seems like it makes sense for females with purses, maybe people wearing coats with big and not huge pockets, and very small people (kids, etc.) for whom the weight of an iPad is too much.

<comment><USER22> I'm liking the mini precisely because I have it with me. It fits in my coat pockets. When spring comes around I'll probably have to start wearing clown pants.

<comment><USER23> This is one of the biggest advantage the Nexus 7 has over the mini. It fits, if a bit snugly, into the back pockets of my jeans.

<comment><USER21> Can you sit on it, though? I usually carry an iphone 5 in my back pocket, and it's small/durable enough that sitting on it isn't a big deal.

I actually have cargo pants which will fit an iPad 1 in the cargo pocket (barely). I used that a lot on military bases where you weren't allowed to take a bag into the cafeteria (for fear of bombs).

</comment></comment></comment></comment><comment><USER24> My iPad Mini arrived last weekend and I love it. He's absolutely right about the size and weight being the killer feature. Since I haven't used a retina display for long periods of time, I don't even notice the lower quality of the screen. I'll probably get a larger one at some point but I'm satisfied with my choice to start with the Mini.

</comment><comment><USER25> Some good points. I wouldn't call Retina displays disruptive. I wonder if we'll even see a Retina mini next year.

<comment><USER26> For some reason, I'm not as enamored or impressed with the whole Retina-thing as everyone else. Even when I bought a new 15" MBPro a couple months ago, I went with the standard screen (though I do use my laptop plugged into external monitor 75% of the time). Sure, the Retina is nice, and I'll appreciate it when it's the default standard in a few years, but I don't look at it and think "WOAH, THIS IS AMAZING, I NEED THIS NOW."

<comment><USER27> I find it more like HDTV.

I wasn't unhappy with standard definition, but I ended up watching more and more HD over time.

Now, when I watch SD, I notice it - not enough to put me off, but enough that it's ever-so slightly annoying.

</comment></comment></comment><comment><USER28> TLDR: pixel density doesn't matter that much... the mini is good because it's small and looks good.

</comment><comment><USER29> Uh-oh, my bullshit buzzer went off at "Retina displays aren't disruptive". Didn't read the rest of the article.

<comment><USER30> Agreed. I will never go back to a non-retina screen. I bought the Nexus 7 to see what the Android ecosystem is all about and I always reach for the iPad instead. The screen is the deciding factor.

The 7" screen is too small. The text is not crisp. The colors are bland.

My devices: iPad (3rd gen) iPhone 4S Nexus 7

<comment><USER7> So you're only buying Apple products using the "Retina" branding from here on out? That is a pretty bizarre claim when you think about it for a number of reasons.

</comment></comment></comment><comment><USER31> _> screen volume_

</comment><comment><USER32> I own an iPad 3 and played with the mini at an Apple Store. The screen really felt unimpressive. Also dimension-wise, Nexus 7 felt more "natural" on my palm compared to the iPad mini, although iPad mini more than compensates with its tablet-specific app selection and what not. So I guess the perfect tablet for me would be the one with the Nexus 7's dimensions, came with Google Now (and other Google-integration), was equipped with Retina Display, and finally ran iOS and the iPad-specific apps. Am I asking for too much? :)

</comment><comment><USER33> Or the cheaper, ~lighter,~ faster, higher-res Nexus 7?

<comment><USER34> The Nexus 7 isn't lighter. Check the specs.

<comment><USER5> It isn't even as much smaller as you'd expect. The two are so close in size/weight that the difference is not significant for most use cases.

But the Nexus 7 wins one use case: fitting in pant packets. They both fit in some pant pockets, they both don't fit in others. The difference is the Nexus 7 fits in a lot more pant pockets than the iPad mini does.

That use case probably doesn't outweigh the "does it have the games I want" question, though...

<comment><USER35> >But the Nexus 7 wins one use case: fitting in pant packets

People with big hands can hold the Nexus 7 in what I will call the "beer-can grip". The mini's extra half inch or so of width makes the beer-can grip a lot less comfortable or a lot less reliable (secure).</comment></comment></comment></comment>


Parents Who Pay to Be Watched - <AUTHOR> https://www.thecut.com/2017/08/cognition-builders-family-intervention-parenting-help-adhd.html <comment><USER3> I didn't realize how screwed up things have become with parenting until my son went into school recently. It's a different universe from the 80s and 90s.

I recently almost lost my drink when I had to sit through some power-mom yak on about her 12 yo daughter's crappy behavior and inability to focus -- she now has an ADHD diagnosis and medication.

Her daughter is a successful competitive swimmer who trains 4 days a week, is a talented musician in two different regional orchestras, has a B+ average and runs cross country.

People are nuts. That kid needs sleep, not amphetamine derivatives. There are many like her. My son has kindergarten classmates in 3-5 structured activities.

<comment><USER4> This. I have 2 kids who are barely 5 and I already see my wife and family and everyone around us sending their kids to 3-4 activities EVERY WEEK. I have resisted successfully so far. Doesn't mean I don't want my kids to be great at many things but take a chill pill all. It is not end of the world and kids will get to do things.

My order of priority for my kids:

1\. Get Enough Sleep

2\. Eat good food. We don't do Juice or Soda at all. Chips etc. are ok once in a while.

3\. No devices. My daughter started getting hooked on to Ipad and one day, we went cold turkey and put it away. She only gets to watch TV now. No more eyes stuck in an Ipad.

4\. Dinner ON THE TABLE. Yes, this is so hard these days. We get lazy. But we have tried to enforce this and it has done wonders.

5\. Talk to them. Teach them a few things while you interact with them. Give them chores to teach them the value of work. I have a simple one for mine: Turn on the porch lights in the evening. She loves it as "this is my job". Sense of ownership and responsibility.

6\. Teach them to have empathy and how to treat others. This is so important. Don't overly reward them for good behavior but always say "You did a great job. I am proud of you" and that's it. Don't glorify it.

7\. One activity. For us, it is Swimming. But you could choose any really.

After this (already a lot, isn't it) , it is mostly "let kids be kids". Depending on their mood, our availability and the day, we can do outdoor activities, biking, playing in backyard or go for a drive. No pressure of planned activities. That's it for me. My wife doesn't quite agree but I have been able to keep it like this for a while.

<comment><USER5> > After this (already a lot, isn't it) , it is mostly "let kids be kids".

Some of your list is just basic quality of life. Sleeping? Eating at the table? Talking to them? This is all general parenting.

> My daughter started getting hooked on to Ipad and one day, we went cold > turkey and put it away. She only gets to watch TV now. No more eyes stuck in > an Ipad.

How is TV better than an iPad? I mean, seriously? At least with an iPad there's a plethora of different apps, and a good percentage of them will be more enlightening than watching the ever diminishing quality of TV these days.

How much of this is just paranoia about "too much screen time" but reframed for a 21st century approach?

> My wife doesn't quite agree but I have been able to keep it like this for a > while.

Parenting is a two person effort. Don't shut out the mother's thoughts on it just because you disagree.

<comment><USER6> >How is TV better than an iPad?

One of the few compelling arguments for TV is that it's excellent for teaching language to first learners. My wife and I have a bilingual family, English and Japanese, but we live where there are no Japanese speakers my children's age to socialize with. A subscription to a few Japanese TV channels has been instrumental in passively supplementing language acquisition. It's the only reason we have a TV in the house at all.

<comment><USER7> Can you not set up the iPad to be in Japanese or otherwise make sure to include the language in your life other ways?

<comment><USER6> >Can you not set up the iPad to be in Japanese

It's complicated for a few reasons. First, my daughter is too young to read, and she won't be ready to read Japanese for a very long time since it's much more work to achieve literacy than for English.

Second, with iOS and the Apple ecosystem generally, you have to contend with arbitrary and draconian region lockout. It's not as simple as just switching the phone to a different language, you have to maintain a separate Apple ID to get content from Japanese stores, and in many cases, a Japanese credit card and/or bank account, and sometimes even a Japanese IP address!! Frustrating!

Third, I can't trust unsupervised use of the iPad the way I can with a TV set to the kid's channel, having seen the kind of filth that e.g. Youtube's autoplay will serve up.

>otherwise make sure to include the language in your life other ways?

"""Supplement"""

</comment></comment></comment></comment></comment></comment><comment><USER8>
        > In Our Kids: The American Dream in Crisis, social scientist Robert D.
        > Putnam describes how, beginning in the 1980s, "the dominant ideas and
        > social norms about good parenting have shifted from Spock's 'permissive
        > parenting' to a new model of 'intensive parenting.' "

I wonder how much of this is a consequence of increasing economic disparity in the US. In the 70s, there were middle class jobs a-plenty. As long as your kid wasn't a total degenerate, they could probably find a decent job to sustain a happy middle-class lifestyle when they got out of high school.

Now, there is an increasing arms race where more and more over-educated and over-training young people are competing for fewer jobs that pay less. The slope of the income distribution is getting steeper and steeper. Your kid is going to enter a job market with fewer opportunities and less pay, meanwhile they will be surrounded by tons of other kids all feverishly competing for the same jobs.

If your kid doesn't have the right grades to get into the right school to get the right degree and thus the right internship, it's very easy to slip into poverty (and the crippling student debt on top doesn't help).

The anxiety around parenting in some ways reflects a rational observation that the world we are preparing our children for is not as welcoming as the one we grew up in.

<comment><USER9> This is why we spend our money on Disney World and other experiences for the kids instead of saving for college. That might be a controversial idea, but we'd rather have them grow up with a fun childhood instead of just making it to a university, feeling empty and hollow inside, and have it all just be some lotto ticket anyway.

<comment><USER10> I think you underestimate the cost of college or overestimate the cost of Disney park tickets.

<comment><USER9> If I'm underestimating the cost of college then all the more reason to spend the money on something else.

For all I know a 4 year degree will cost $500k in the next 10-20 years. I have 4 kids. Do the math.

<comment> j-c-hewitt It already costs nearly that at some 'elite' universities. And it's not worth the money if you purely consider it as a financial investment in most cases.

</comment></comment></comment></comment></comment><comment><USER11> That's cruel. His only problem with being back in America was:

 _"There, I could always take a walk to my friends' houses. Here we have to drive. The only really social time is at school or on my phone or video games or Xbox. That's where I talk to my friends the most. Back there, I could see them every day, but here I can't."_

And instead of trying to solve that problem (make a concerted effort to drive him to his friends every day, or give him a bike, or give him money for a taxi, or…) they punished him with Pavlov training.

<comment><USER12> I especially liked the shot they took at the kids about being "negotiators," as though the ability to compromise rationally with authority figures is some sort of behavioral issue and not, you know, life.

When I wanted toys, I did chores. Later when I wanted spending money, I did chores, helped out around the house, mowed lawns, and eventually got a job. That is not negotiating, that's just being a productive member of a society.

Seems like this company is specializing in creating the same authority- fearing, tough-as-nails people who are being put out of work in the coal mines and have an uphill battle learning to do creative and intellectual work because they had all of their brains beat out of them by an education and parenting system designed to create drones, not problem solvers. Fucking tragic.

<comment><USER13> I was thinking the same thing, "Oh no! My child is learning how to negotiate instead of blindly following authority, the horror!"

What's even sadder to me though, is that blindly following authority does work extremely well for following academic paths, and probably most corporate paths. While negotiating and _actual_ critical thinking (questioning authority) will only get you into trouble / derailed.

So this program does work to help these kids academically. Because academic success is almost entirely based on submission to authority and doing structured tasks without questioning much.

<comment><USER14> I think you have extrapolated too much about this, they were being overly polite I think when they called it negotiation.

When you are being issued a traffic ticket for parking in a way that is clearly indicated as wrong then you don't "negotiate" with the traffic warden; it is not their call and in fact you are just bitching at them and causing a scene. That traffic warden works for all of us to manage parking and traffic flow and is doing their job as directed. If you don't believe that the rule you have broken is correct then you should challenge the rule, in a forum where the rule was created (the city council, the local media, or whatever) or if you don't think you have broken it then challenge the penalty in court please and let the traffic warden get on with their job.

What this article is saying, is that this argumentative behaviour is undesirable. There was a lot they didn't mention, such as what a "strike" was, or whether there was any opportunity to have discussions about the rules which were broken. This kind of behaviour modification _will not_ work unless there is though, and I understand that that should be in a separate context, away from the situation which caused the strike to be issued.

<comment><USER15> You can negotiate politely in that scenario and the warden does have discretion. I have gotten out of tickets that way when there were mitigating circumstances, but I was clear to say that I understood if they still had to give me a ticket.

People yelling at traffic cops aren't really negotiating, they are just releasing anger.

</comment></comment></comment></comment></comment><comment><USER16> When I was a kid, when you behaved like that, you got a beating or you got confined to your room (without entertainment/X-box/etc.) for a few days, and it was over. You didn't pay tens of thousands for surveillance.

Good for this company though. They identified a niche group with more money than brains, and are exploiting it. From life coaches and French Horn lessons to artisanal coffee and mobile pet washing, finding ways to separate upper- middle class nitwits from their large disposable income is a tried and true formula.

Also, this article is an obvious and unconcealed submarine advertisement for Cognition Builders, whose name is mentioned over 30 times.

<comment><USER17> _> Good for this company though. They identified a niche group with more money than brains, and are exploiting it._

This is a bizarre stance even on HN. They're aiding and abetting psychological abuse of children.

<comment><USER16> Don't get me wrong--I feel for the kid(s) who are ultimately the victims of their parents' narcissism and callousness. But is this any worse than drugging their kid because he won't sit still and focus, or abdicating their parental duties to a full-time nanny (both of which are, these days, not considered shocking or taboo)?

<comment><USER18> Whether it's worse or not doesn't bear on the moral weight of whether or not one involves oneself in it.

Yes, parents who are going to abuse their children are going to abuse their children. It's another thing entirely to say "good on these people for helping those parents abuse their children, it's a great way to make bank!"

<comment><USER16> These rich parents are going to spend their money on _something_. Better it go to these guys rather than something even worse. I agree with you, though: Ideally it would be better to make money by being part of the solution rather than part of the problem.

<comment><USER18> I mean I'm not going to pretend I can't contemplate without judgment someone who would be willing even to seriously consider engaging in this sort of activity, regardless of motivation.

I get that someone might imagine they're helping people this way - <USER2> methods designed to help people far out on the autism spectrum, and not entirely without controversy even in that application, on people for whom they are not only ineffective but harshly abusive. But that person, in so thinking, errs. While I'm not entirely without sympathy for the error, the extent of that sympathy is strictly circumscribed by the fact of the harm that they're doing. There comes a point beyond which "I didn't know" no longer gets you a pass. That others have further trespassed in that direction than these doesn't change the fact of their trespass.

</comment></comment></comment></comment></comment></comment><comment><USER19> This is the most interesting article I've read on Hacker News in a long time.

These Cognition Builders people are following every single rule of technology startups:

\- Charge more / move upmarket

\- Target a niche and own it. Don't do spray'n'pray marketing, but make sure your niche can find you.

\- Do things that don't scale (initially)

\- Use technology to your advantage, but not as a gimmick.

Given how much they charge, I imagine they are profitable. And given how their customers' houses are covered with cameras and microphones, I imagine they are collecting some amazing datasets about human nature.

The folks at Cognition Builders are absolute geniuses, and I wish I was able to come up with a business like that.

<comment><USER20> You forgot:

\- Skirt round or ignore existing regulations and call it disruption.

 _And, without oversights in place to keep the company accountable, like state requirements for clinical supervision..._

</comment></comment><comment><USER21> This is _horrifying_. This constitutes psychological abuse of the child and should be illegal. I went through similar shit growing up and I still feel the ramifications today.

<comment><USER22> _intercom noise_ that's a strike, Sir_Cmpwn. Stay in line.

</comment></comment><comment><USER23> Cognition Builders' particular practices seem pretty obnoxious but behavioral analysis conditioning can be very useful in general. For example, I've used profanity my who life. My wife didn't and it genuinely offended her more genteel sensibilities. I decided I wanted to make the change but I utterly failed for like two years of using just hope and willpower. Then we instituted a "swear jar" whose proceeds would be used to fund something distasteful to me like the Trump campaign. Within a couple months I was rid of the profanity. It's been like two years since we retired the jar and I haven't reverted. It was literally a life changing intervention.

When I started reading that article I was excited because I thought it was going to describe some cool, inspiring uses of the techniques to the much serious problems around dysfunctional family dynamics. Unfortunately Cognition Builders seem laughably Black-Mirror-esque. Another thing my wife and have wished for was a recording of our conversations for when we disagree about what was actually said in past conversations. I wonder if Cognition Builders could have a more passive offering where you could ask on demand things like "what did we agree to last week when we were talking about so and so..." It would be more like a life logging perfect AI for you to use as you see fit for things like reflection or accountability.

<comment><USER24> > _I wonder if Cognition Builders could have a more passive offering where you > could ask on demand things like "what did we agree to last week when we were > talking about so and so..." It would be more like a life logging perfect AI > for you to use as you see fit for things like reflection or accountability._

That's literally straight out of Black Mirror ;) ("The Entire History of You" \- S01E03).

That said, if we're to have this, I'd say this is a perfect example of something that should be a _product_ , and _not a service_. I might want such cameras, but I would never want them operated by a third party.

</comment></comment><comment><USER25> Jeez, can parents just chillax for a bit? Hyper-parenting aside, I feel that the conventional wisdom of disciplin and setting firm rules about everything is misguided. Just anecdotes, but it seems to me the kids who grew up with the most rules either snapped or became overly docile, boring and uncreative. I remember having sleep-overs at friends' places and just thanking the lord for having loving but extremely permissive parents. If kids have the freedom to do what they want they will take more responsibility for their own life. Staying up late and eating 5 bags of candy might sound fun at first, but after a while you figure out you'll just feel extremely bad the day after. I say let kids be people, within reasonable limits of course.

<comment><USER26> > Staying up late and eating 5 bags of candy might sound fun at first, but > after a while you figure out you'll just feel extremely bad the day after.

People don't seem very good at learning that lesson (substitute video games/binge drinking/binge netflix).

Parents helping their children recognize the consequences, instead of insulating them from consequences can be beneficial.

The problem is when consequences take a long time to manifest - skipping/dropping out of school, never doing homework sounds great, but 10-15 years later, it causes major problems. Similarly, the benefits of diligent practice in whatever field take a long time to manifest.

These are places where loving guidance from a parent can make a big difference.

</comment></comment><comment><USER27> The article does not seem to ever define what a strike is and the repercussions. Maybe they should just sit down and talk to the kid instead of taking parenting advice from 20 year olds.

The child explained to the reporter what his problems were, did the parents ever ask or seek to remedy the situation. Also way to go ahead and use your child as a sales tactic for a behavior modification company. All of the other kids at his school will know about it now.

Just talk to your children, pay attention to them and treat them with respect, that will get you half way there.

<comment><USER14> The article does not discuss it indeed, but an essential part of behavioural conditioning is to have discussions about why sanctions were applied so that the parties involved do not just blindly fight the system. They need to be part of the system, so if at that time they can argue that the rule is unjust then the rule may be changed or removed.

In the article it was said that although Shep was told to get ready for bed, he said he would read for a bit instead and this was accepted as there was a good reason for it. I expect that _this_ came out of a previous discussion.

</comment></comment><comment><USER28> Am I the only one getting serious Black Mirror vibes?

<comment><USER29> I prefer to think of Black Mirror as having serious reality vibes.

<comment><USER18> It is _perfectly_ named.

<comment><USER30> I've liked that interpretation of the title better than the one from creator

>The "black mirror" of the title is the one you'll find on every wall, on every desk, in the palm of every hand: the cold, shiny screen of a TV, a monitor, a smartphone.

[https://www.theguardian.com/technology/2011/dec/01/charlie-b...](https://www.theguardian.com/technology/2011/dec/01/charlie- brooker-dark-side-gadget-addiction-black-mirror)

</comment></comment></comment></comment><comment> crooked-v Holy crap. As a kid, I had minor privacy and personal space issues, and I can only imagine how bad they'd have been exacerbated by being watched by strangers through a camera all the time.

I have to imagine those cameras might have lasted maybe two or three days in my case.

</comment><comment><USER18> Jesus _Christ_.

The sort of personality that constructs a domestic regime like this is the sort under whose power I lived my late childhood and much of my adolescence. To say the least, it was not a pleasant experience, nor was it an effective means of raising a child - looking objectively back at the period in question, my behavior grew markedly worse over time, from your typical sort of bratty indiscipline at the start, to the kind of outright antisociality that's genuinely dangerous to, and in, a teenager - the vast majority of which was in reaction to the absurdly strict and ever stricter regime that was enforced at home. Of course, that's also a handily self-fulfilling prophecy, in that every such reaction, to the sort of deeply malfunctioning person who finds this approach at all sensible, justifies cranking the thumbscrews that much tighter, until eventually something explodes.

Of course, the person I describe, in the time of my youth, didn't have the kind of technological or professional support detailed in the article; the best she could do was leverage her own training in (also mostly behavioral) psychology, and take doors off hinges and the like - there were no consumer networked cameras, then, but if there had been I'd have lived daily under their lidless eyes. Certainly I'd have been followed around by a squad of commissars had it been an option, as here - luckily for me, it wasn't, so I could find at least a few hours most days of escape, if not freedom, from an otherwise constantly oppressive regime. Fortunately, modern technology has made it possible to eliminate such undesirable loopholes which so impair the ability to enforce structure and discipline!

My own experience was ultimately survivable, or at least I certainly did survive it - I hope I don't seem too lacking in humility to say that I suspect not every other person might have managed as well. But it did not make me a better person. Quite the converse; while, as it will, the increasing distance of time has healed many wounds, I'd be lying to say I don't still struggle with the lingering effects of the things that were done to me, decades ago though they ended. God alone knows what kids raised in a modern version of such a regime will suffer, although I see no reason to doubt that, given the near-perfect panopticon modern technology makes possible, it will be much worse by comparison.

Some of them aren't going to make it. When they decide that the best use, of what precious few moments they can manage to snatch from the would-be omniscient minders, is to open a vein or swallow a bottle of pills, no doubt their parents will tear their hair and howl of how _incomprehensible_ it is, because weren't they doing the best that they could? Weren't they hiring the best professionals with the most comprehensive program? What could they _possibly_ have done differently?

And as for the people who inflict this quiet, grinding sort of horror...well. Imprecations really fail one, don't they? I'm sure most, maybe all, of these people have all the good intentions in the world. They want to help everybody! What a shame that this is what it's led them to.

<comment><USER31> Technology empowers us all, but how many people would you trust with even the power they already have? You've highlighted that problem with your own pretty harrowing ordeal. All across the board, from the means to spy, to the means to inflict pain without having to leave marks... tech is helping us all do MORE.

<comment><USER18> I can't really blame technology _per se_ for this. It expands the amplitude of which we're capable, but the sign of the signal is still, each and all, up to us.

<comment><USER31> Blame the people for the behavior, blame the tech for increasing the efficacy of the behavior.

<comment><USER18> Not seeing the sense in blaming a hammer for the head it's used to bash in.

<comment><USER31> It's more about recognizing how a hammer makes head-bashing easier, or even possible.

</comment></comment></comment></comment></comment></comment><comment><USER32> This is scary. Now some YC startup will figure out how to automate the surveillance and scale this. Big Brother, but less labor intensive. Just something that snoops on your kids' phones and uses machine learning to evaluate what they're doing would do more than half the job these "Cognition Builders" are doing.

</comment><comment><USER33> This is _insane_. Whoa.

</comment><comment><USER34> I'm reminded of a quote from something related to nonviolent communication I read. It went something like: "You cannot make someone do anything - you can only make them regret not doing what you want. And soon, you'll find they they have ways to make you regret making them regret not doing what you want."

My parents were also huge fans of the operant conditioning style. They definitely wanted to have convenient kids that fed their "I'm a good parent" ego. When I got bored and tired of school in my early teens, this caused a significant amount of conflict. I basically decided that the level of punishment they were in fact willing to inflict was my better than paying the escalating costs of keeping them happy with me.

I ended up spending a week in my room reading books with no access to things they were actually willing to take from me. They were wisely unwilling to cross the line into actual abuse - no withholding food, physical punishment, etc. It was pretty much just limited to angry lectures that I dissociated through and waiting around with books in my room. And since they had some empathy and "punish me until I improve" wasn't working, they blinked first and let up.

Anyhow, I guess my point is that this sort of thing would have been completely unacceptable to childhood-me. It would have done little other than provoke reactance. Like this:

>"Hey, buttholes!" he said. "Why don't you leave us alone?"

>At first, nothing happened. Then there was a crackle of static, followed by a voice on the other end. "That's a strike," it said.

I'd have asked for another strike, and reiterated my request to be left alone. What could they do that's both not child abuse and worse than the constant surveillance? Depending on the specific context, my followup would've probably been physically destroying the cameras.

</comment><comment><USER35> "I thought my rules were stronger than they were. [Cognition Builders] showed me how I'd turned my children into negotiators."

Why is that a bad thing? Don't you want your kids to be able to stick up for themselves?

The quote at the end is just heart-wrenching:

"I think the best thing is being able to talk to my friends and my family. And the worst thing is definitely having a lot of homework. I'm taking a lot of honors classes. And then I have therapy once a week, drums once a week, tutoring twice a week, and an executive-functioning tutor once a week."

Poor kid just wants to talk to his family and they stick him with the executive functioning crap. He's going to grow up and be pretty angry about this.

</comment><comment><USER36> incubator cam, baby crib cam, baby sitter cam, pre-k... kids today grow up under constant surveillence and it would be wrong to think they as a group will have the same ideas of privacy any of us do. This will be perfectly normal for the next generation.

I've heard of religious folks using cameras on kids surreptitiously and then catching them in lies and saying "God told me you..."

Brave new world.

</comment><comment><USER37> So disturbing... "Our child is extremely happy in an environment where he is empowered and independent. We're going to force him into an environment where he is powerless and functions in a subservient role to every person he interacts with. And we expect him to be happy and pliable, dammit!"

</comment><comment><USER38> This is a weaponized version of "The Elf on the Shelf", which is also creepy, but not nearly as creepy or abusive as this.

</comment><comment><USER38> > "They also pushed me to have them in all the kids' bedrooms

How do they avoid capturing images of naked children?

<comment><USER38> I normally avoid talking about downvotes, but I'm interested in why this got at least 3.

A company is pushing customers to install webcams into the bedrooms of children. This puts them at some significant legal risk.

<comment><USER24> Yeah. I revisited this thread today hoping someone gave you an answer. I'm curious how they're handling it too.</comment></comment></comment>


What Happens to OO When Processors Are Free? (2015) - <AUTHOR> http://blog.metaobject.com/2015/08/what-happens-to-oo-when-processors-are.html <comment><USER3> The real question is "what do we do with a lot of CPUs without shared memory?" Such hardware has been built many times - Thinking Machines, Ncube, the PS2's Cell - and has not been too useful for general purpose computing.

One of the simplest cases for broad parallelism is search where most of the searches fail. The required intercommunication bandwidth is low - you start up all the machines and wait for somebody to report success. Bitcoin miners and crypto key searchers are extreme examples. Problems which can be hammered into that form parallelize well.

Some problems that distribute spatially parallelize well on such hardware. Weather prediction, wind tunnel simulation, nuclear explosion simulation - hydrodynamics problems like that can be handled in sections, with communications only for the edge elements. That's what supercomputers are used for.

Neural nets and deep learning, though - finally, there's a broad use case for such architectures. Google is using lots of GPU-type boards that way now. This is a key concept. Massive parallelism on a single problem is really hard to apply to the things people used to do on computers. Instead, it makes possible new things to do.

An important question is how much memory each CPU should have. Thinking Machines, NCube, and the Cell (256K each) clearly had too little. You need enough memory per CPU that the intercommunication doesn't dominate the problem.

The other big problem is how to organize software for this. We have two main models of parallel software - shared memory, and clusters on a network. Those are the two extremes for parallelism. Systems where the CPUs are more tightly coupled than in an cluster but less tightly coupled than in a shared memory multiprocessor fall outside common programming paradigms. This is a very hard problem, with no really good general-purpose solutions.

<comment><USER4> Everything at web scale is embarrassingly parallel, at least on some fronts. There's still often the bottleneck of maintaining state (in a database, probably), but a heavily loaded server will have hundreds or thousands of processes or threads or some kind of async (probably epoll or something reasonably efficient on modern systems) to serve many clients. Which is why Erlang (and Elixir) has some very enthusiastic proponents.

Serving the web is, I think, a very big part of the "general computing" space, today.

<comment><USER5> Serving the web seems to split between a) IO-bound problems and b) databases. It is certainly not embarassingly parallel in the "would benefit from GPUs" sense.

Those thousands of threads just sit there waiting for the database to respond a lot of the time. The database is busy trying to keep things synchronized across nodes. It is just that the hard stuff is pushed down to the database layer.

<comment><USER4> Both can be true. Database development, both the way they're built and the way people use them, has been focused on scaling across machines and storage for most of the history of the web; it's possible it'll never quite catch up with CPU, but it will continue to move that way. I don't know what the next evolution of databases looks like (I'm definitely not a database expert), but if Google and facebook and Amazon and Microsoft and many others need it to scale beyond what is currently possible to keep up with CPU parallelization, they'll figure out how to make it scale.

<comment><USER6> aren't databases in turn being held back by the hardware limitations like IO bandwidth?

</comment></comment></comment></comment></comment><comment><USER7> Nothing happens to object-oriented programming because it is entirely unrelated to multicore processors, except for the fact that object-oriented programming makes for terribly inefficient data structures that cannot handle threading very well.

If you've written software before, you would know that most of your codepaths require prior data to be processed, and thus having multiple cores won't make software any faster than before. Additionally, there is a cost to starting threads, so the benefit of making your software multi-threaded has to outweigh the cost of launching a thread, sending data to that thread, and getting results from that thread.

Pooling and channels are often used to mitigate the initial cost of creating threads, but it still remains that it takes time to send data to a thread and receive data from that thread, and there will always be that one main thread that needs to handle the majority of the logic and keep results in sync.

Basically, it would be easier to see powerful cores sitting adjacent to miniature parallel cores that are able to respond quickly to requests.

<comment><USER8> > object-oriented programming makes for terribly inefficient data structures > that cannot handle threading very well.

The best approach I have seen to address this is the idea of transactional object as it is done in Realm (yes, the mobile database).

The idea that objects can freely be accessed on any thread without locks, with all changes protected by transactions, is so freeing, and the internal representation that Realm uses for the objects is apparently far more efficient than how they would natively be represented.

I really wonder why we are not seeing more of these kinds of transactional data structures. Seems like a natural next step for object oriented programming now that everything is turning multi-core.

<comment><USER9> You don't need transactions for this, just use immutable data structures and you get _transactional like_ behaviour for free.

<comment><USER10> It's not free. The cost is reallocation every time something changes, which in many cases is _all the time_. Not all the world's a web page.

<comment><USER9> > Not all the world's a web page

Did you really need that patronising statement?

My point wasn't about memory usage, it was about development cost. The transactional behaviour emerges by default from use of immutable structures.

Any transactional system will have memory performance characteristics that are very similar to using immutable structures, if not worse, so your point was, well, pointless.

</comment></comment></comment></comment></comment><comment><USER11> This article relies on the assumption that OO has been designed to work with single core or "few" core processor.

It's a false assumption. OO has been designed to model the world in the hope that this would make expressing business logic easier.

It's not hard to imagine _what would happen_ with these many cores, because we already have specialized systems with many cores: GPUs and CUDA.

And as every single time people talk about parallelism as a holy grail of performance, the truth is obvious to whomever actually uses this hardware: not many problems are highly parallelizable and parallelism is always harder than single threaded code -- it's harder to _think about_ , and this has nothing to do with the programming paradigm.

<comment><USER12> It think you are incorrect in your last statement. All functors are inherently parallelisable. This means that any map operation is parallelisable. Also as long as the operations are associative (which is a surprisingly large number of cases), your reduce operations will also be parallelisable. That means that any computation that can be represented by a map/reduce is usually fully parallelisable and always paralellisable in the map operation. The only operations that _aren 't_ paralellisable are those that depend on the previous values (and even then you can make judicious use of partial function application to cut down on the dependencies). Basically this is where you have effects where order matters and recursive calls.

I think the main reason we have difficulty imagining massively parallel computing systems is that we hold onto mutable state and imperative syntax. This pretty much forces us into a situation where order is significant. It seems to me that abandoning that idea is the key to freeing ourselves up, programming-wise. Personally, I don't find pure fp, or immutable OO that much harder than imperative. Different, for sure, but both have advantages and disadvantages.

<comment><USER5> No. As someone who has spent five years programming computing clusters, I have seen many problems that are fundamentally hard to parallelize. If it falls within mapreduce you are basically "done" no matter what language you use (no need to argue fp vs imperative) but very many interesting problems to solve doesn't.

I am a big believer in FP too, but for other reasons.

<comment><USER12> I can't edit my previous statement, but after spending more than a couple minutes thinking about it, I can see I was wrong. It's quite convenient to have downvotes to clue you in when you get things wrong, even if it is embarrassing ;-)

</comment></comment></comment></comment><comment><USER13> Having a dedicated processor for each object is a terrible idea in terms of energy.

Consider current high-core count Intel processors on Windows. Windows shuts down entire cores to save energy. Windows only powers enough cores to cover your current workload plus some margin. I assume other OSs work the same.

If each object has its own processor, then either (1) you must keep the core powered for the lifetime of the object or (2) the core must be energized each time the object receives a message, and re-energizing is not free.

I guess if the core could auto-detect its load (as current Intel processors do) that would help. But I think dynamically shuttling threads between cores and shutting down as much as possible (which is exactly what Windows does) is likely to be much more efficient.

So go ahead and have a thread-per-object for this hypothetical architecture, but let the OS decide when and where to assign cores.

<comment><USER14> You don't want this at the object level anyway. You want to have objects clumped into _vats_ , which are related object graphs that are isolated from other vats but freely intermingle otherwise. Then, messages between vats invoke _turns_ of delivery inside vats independent of other vats, and we can schedule one vat per processor.

</comment></comment><comment><USER15> Slightly related is the video game "TIS-100"[1] which has you programming (incredibly) constrained processors that are arranged in a grid, with communication between them. The programming puzzles are not very difficult (so far! I'm about halfway through) and pretty entertaining to puzzle out. There's a "meta game" of comments by "your uncle" who was trying to get it working again.

I think it's closer to the GreenArrays, Inc chips, really.

[1] [http://www.zachtronics.com/tis-100/](http://www.zachtronics.com/tis-100/)

<comment><USER16> It's a lot harder when you realise that everyone is trying to optimise for Cycle count, rather than the number of Instructions/Nodes.

</comment></comment><comment><USER17> This sounds like a good idea until you realize that your computations will be dominated by synchronization and/or communication overhead.

<comment><USER18> Setting aside for a moment the wisdom of using thousands of cores to enable object oriented programming (which I'm dubious of), it seems to me that the way modern processors handle communication and synchronization is mostly a historical accident, and we could probably do a lot better than just letting processes share memory willy-nilly and having the processor cache sort it out. Like maybe we could give each core a set of registers dedicated explicitly for communicating with its neighbors, bypassing the memory hierarchy entirely for small messages.

<comment><USER19> That didn't work very well for Cell.

</comment></comment></comment><comment><USER20> What if we separate this into two questions:

(1) What if you have a fabric of "free" processors, and the real cost is energy?

(2) How would <foo> programming paradigm work on this fabric?

</comment><comment><USER21> Minor nitpick: (2015)

That aside, I wonder how hard proper software development would be for such a machine. It seems like multi-threaded software is something that we struggle to get right in our current low-core-count systems, so...

<comment><USER22> It's hard.

The author has reinvented the architecture used by Cell (PS3) and Intel IXP. Both of these architectures are dead specifically because they are too damn hard to program for compared with a multicore ARM/x86 chip.

GPUs would be the most successful modern implementation of this idea. There are opportunities with FPGAs, but GPU silicon is so far ahead (and still advancing fast) that you're usually better off designing for GPUs.

You could also consider Cavium parts (16-64 way ARM chips) which ship today in high-end network hardware.

The common lessons across all of these are that:

* Memory is slow compared with computation

* Put caches everywhere and have the machine decide what to cache

* Synchronisation is hard and puts tremendous load on your scarce memory resources

* It's much easier to do the same job on different data a million times than to do a million different jobs on the same data. In other words, high throughput is easier to achieve than low latency.

<comment><USER23> I'm not sure if those architectures are comparable to the one discussed in the article, except that both are highly parallel. GPUs and Cell are, as you mention, data-parallel.

The article talks about a much more "anarchistic" parallelism where thousands of different (in code and data) objects are each doing their thing, sending messages to each other when necessary. I guess that Erlang/Elixir's threads are closest currently, as mentioned in the article.

<comment><USER22> Cell's SPUs and IXP's microengines aren't data-parallel any more than a regular CPU. They're minimal CPUs with local RAM and fast connectivity between each other (usually a FIFO queue).

Every single one of the CPUs was independent and happy to run as many branches and/or memory accesses you want without significant performance penalty, unlike modern GPUs.

So yeah, you could put different objects on different CPUs if you want. Except that that's not where the bottleneck in either energy or computation is. Remember that that local RAM needs to be powered if it's to retain state (ignoring FeRAM), so CPUs are no longer free; you have to commit objects back to main DRAM before switching off the CPU. And so you've just reinvented caching and might as well just run on a fast few-core CPU anyway.

</comment></comment></comment></comment><comment><USER24> Discussion at the time it was posted: [https://news.ycombinator.com/item?id=10121974](https://news.ycombinator.com/item?id=10121974) (linked by the author in 2015).

</comment><comment><USER25> I guess to take this a bit further, the thought that came to mind for me is if we start processing every user on their own vm with own core and memory. Is that something anyone is doing today with web sites? It'd seemingly be horribly inefficient, but it's an interesting thought experiment.

<comment><USER16> It's not that inefficient if you are not working with real 'VMs', but with containers (or something similar). The unikernel projects mentioned by the peer below (Ling, MirageOS) can spin up a container per request, respond and then tear it down in milliseconds. They are pretty interesting from a security perspective, especially when you couple them with a read-only image - <USER2> imagine it would be pretty hard to attack something that only persists for the time it takes to handle a single request. EDIT: Peer is below.

<comment><USER26> _I imagine it would be pretty hard to attack something that only persists for the time it takes to handle a single request._

I don't see why. If the request is the attack (as it usually is), then it'll persist for just long enough to accomplish it. What kind of attacks do you see it avoiding?

<comment><USER27> I think the big benefit is that it avoids attacks that infect the server, because in this case, the server is "destroyed" when the request finishes. So a request that would maliciously upload "hackertools.php" would be useless, because the host (read: container) that the file is uploaded to is not the web server, but the container.

<comment><USER16> Yes, this is what I meant. It doesn't make the server any less vulnerable to an individual attack, but it makes it very hard to escalate it. Though there was a really interesting video about a security guy breaking out of Lambda recently and uncovering a persistent file system somewhere - will try to find it. Edit: Found it: [https://media.ccc.de/v/33c3-7865-gone_in_60_milliseconds](https://media.ccc.de/v/33c3-7865-gone_in_60_milliseconds)

</comment></comment></comment></comment></comment><comment><USER28> Communications overhead will not scale and your parallelism will be amdahl's law-bound. You're better off being gustafson's law-bound, and to use those processors for running more copies of the single-threaded program with different values.

</comment><comment><USER29> Related, there have in fact been fabricated arrays of processors, at least in Academia, for some time: [http://vcl.ece.ucdavis.edu/pubs/2016.06.vlsi.symp.kiloCore/2...](http://vcl.ece.ucdavis.edu/pubs/2016.06.vlsi.symp.kiloCore/2016.vlsi.symp.kiloCore.pdf)

</comment><comment><USER30> It's not the cost of processing that holds us back so much as it's the cost of coordinating. Doing things in parallel and concurrently are where things get tricky. So an opportunity to trade off software complexity for transistors is interesting, of course!

</comment><comment><USER31> Qt added signals/slots to C++.

FPGAs will get us most of the way there. We will want to express programs as concrete circuits and message passing. Something like [http://www.clash- lang.org](http://www.clash-lang.org) . Stream level operations are preferred over "Object" messages.

There is a tradeoff between large bandwidth large area circuits, and smaller circuits with less bandwidth. Inherently serial stuff goes on small circuits.

</comment><comment><USER32> The whole thing brings to mind the hermetic expression, "as above, so below".

It feels like every layers of computation logic ends up mimicking both higher and lower layers.

</comment><comment><USER33> confuses throughput with latency. has nothing to do with OO.</comment>


VPNFilter Update – VPNFilter exploits endpoints, targets new devices - <AUTHOR> https://blog.talosintelligence.com/2018/06/vpnfilter-update.html <comment><USER2> The inclusion of ASUS and D-Link adds a ton here. It looks like their lower- end models have made it on the list, likely due to volume, but I would assume the higher end models are probably similarly vulnerable, since the firmware between them is usually pretty common/parallel. The added Netgear devices are among some of the most common devices I've seen in homes as well.

</comment><comment><USER3> Possibly worth noting Talos is owned by Cisco, and there has been discussion around their neutrality in disclosing vulnerabilities: [https://www.hackerfactor.com/blog/index.php?/archives/801-Th...](https://www.hackerfactor.com/blog/index.php?/archives/801-The- Truth-Hurts.html)

</comment><comment><USER4> I'm curious to see if Belkin devices are affected. I have not seen the brand mentioned in articles/news about VPNFilter, but I find it odd that almost every other popular router band has at least some affected models but Belkin somehow escaped the same fate?</comment>


Daniel Povey, developer of Kaldi, said he will no longer go work at Facebook - <AUTHOR> https://www.cnbc.com/2019/08/16/daniel-povey-fired-johns-hopkins-prof-declines-facebook-work-offer.html <comment><AUTHOR> see also : [https://news.ycombinator.com/item?id=20658180](https://news.ycombinator.com/item?id=20658180)</comment>


Can a Ship Sail Faster Than the Wind? - <AUTHOR> http://www.futilitycloset.com/2010/12/14/can-a-ship-sail-faster-than-the-wind/

<comment><USER2> Nowadays the diagonal of a square is not double it's width, but the square root of two times the width. This article actually seems to be the long-lost proof that space was curved in thos days!</comment>


Ask HN: Jargon for "pure hourly rate" - <AUTHOR>

I do a lot of development consulting on a contract basis.  I have a basic rate that assumes that the initial contract negotiation process is out of pocket and that the client is free to take or leave my services at any time.  I much prefer to offer a retainer: a minimum number of hours per month for some agreed period, and will reduce my rate to reflect that preference.
I feel like there's got to be a snazzy way to sum that up to some of my potential clients, and is at least a handle for future discussion with the rest.
So far, the best I've been able to come up with is "a la carte" rate, but that doesn't seem to hit the mark, exactly.
Do you know a common term for this "highest risk" hourly rate? <comment><USER2> "basic" and "discounted", as in:

"My basic hourly rate is $100/hr. Or, you can pay me a $400/month retainer, and then pay a discounted rate of $80/hr"</comment>


Ask HN: What tough problems are you solving right now? - <AUTHOR> Just finished my CS degree recently and have some free time to kill, but have no idea what problems that I need solving.
Just very genuinely curious about what you guys are solving right now.
Stating a choice of programming language is a plus. <comment><USER2> Quantum Complexity Theory. It's useful in machine learning when defining a slope in an infinite dimensional function space (Hilbert Space). I'm trying to understand what problems are worth solving with quantum machine learning algorithms.

<comment><USER3> Can you yell us more? It seems quite interesting

<comment><USER4> Agreed, would also like to hear more about this!

</comment></comment></comment><comment><USER5> Dealing with poorly behaved surfaces (specular, luminous, reflective, deformity) in 3D reconstruction.

Figuring out human interaction intent from force measurements for cooperating with a robot in a collaborative task (moving a table together).

Both language agnostic.

<comment><USER6> 3D reconstruction is a pretty big problem. Anyone who solves that problem by just using a camera on a mobile phone and doing processing offline in real- time can make huge strides for robotics.

We have the advances in Deep learning but we're still have to make some strides before robots can infer the same way we humans do about objects we see.</comment></comment>


Unprecedented, Jet Stream Crosses Equator - <AUTHOR> https://paulbeckwith.net/2016/06/29/unprecedented-jet-stream-crosses-equator/ <comment><USER2> Debunked in this Washington Post article: [https://news.ycombinator.com/item?id=12018968](https://news.ycombinator.com/item?id=12018968)

</comment><comment><USER3> Makes me want to huff some sulfur hexafluoride or puff out the fan in my laptop with CF4.

</comment><comment><USER4> This seems extremely alarmist regardless of any new science here. That, along with the donation begging in the article makes me smell spam.

</comment><comment><USER5> Apparently there's nothing to see here - check out this as a counterpoint: [http://www.drroyspencer.com/2016/06/climate-system- scientist...](http://www.drroyspencer.com/2016/06/climate-system-scientist- claims-jet-stream-crossing-the-equator-is-unprecedented/)

<comment><USER6> I'm typically not a fan of ad hominem dismissals, but I think there are exceptions for climatologists that say;

 _" We believe Earth and its ecosystems—created by God's intelligent design and infinite power and sustained by His faithful providence —are robust, resilient, self-regulating, and self-correcting, admirably suited for human flourishing, and displaying His glory. Earth's climate system is no exception. Recent global warming is one of many natural cycles of warming and cooling in geologic history."_

Or;

 _" I finally became convinced that the theory of creation actually had a much better scientific basis than the theory of evolution, for the creation model was actually better able to explain the physical and biological complexity in the world. [...] Science has startled us with its many discoveries and advances, but it has hit a brick wall in its attempt to rid itself of the need for a creator and designer."_

Dude's a quack. A well-trained quack to be sure, but still a quack.

[http://www.drroyspencer.com/2014/02/time-to-push-back- agains...](http://www.drroyspencer.com/2014/02/time-to-push-back-against-the- global-warming-nazis/)

<comment><USER7> Neither of the statements you quote are at the page you link to. In fact, I cannot find them anywhere on that site.

You should edit your comment to include links to where those particular quotes can be found.

<comment><USER6> My bad, those were from his wiki.. the linked article was just another absurd thing he posted.

[https://en.wikipedia.org/wiki/Roy_Spencer_(scientist)#Views](https://en.wikipedia.org/wiki/Roy_Spencer_\(scientist\)#Views)</comment></comment></comment></comment>