Intel forges ahead to 10nm, will move away from silicon at 7nm - <AUTHOR> http://arstechnica.com/gadgets/2015/02/intel-forges-ahead-to-10nm-will-move-away-from-silicon-at-7nm/ <comment><USER2> Makes me sad I'm not going to ISSSC.

There is an interesting debate about feature size though. Devices on silicon for a long long time were essentially 2D, patterns on the top surface of Silicon. "Feature size" in this environment directly translated into area which directly translated into the die size.

As features got smaller you started getting 'trench fets' and other tricks to increase the effective size of the gates so that leakage current wasn't insane. So at what point then do the circuit elements become fully vertical, which is to say that viewed from the 'top' the transistor is 10 nm on a side but vertically its 22 nm 'tall' ?

And other tricks where the silicon layers are separately tested and 'thinned' and then packaged as a sandwich for final testing with ion implanters creating the vias between the connecting layers.

Really interesting work in that sort of stuff going on.

</comment><comment><USER3> Moore first made his claim in 1965. Assuming we have at least 5 more years wringing out efficiencies with the move to 10nm that's 55 years of continuous innovation. It's mind boggling. Maybe there will be a gap until the next major breakthrough but an entirely new process will come along eventually.

<comment><USER4> My guess is we'll probably need something like graphene. Gallium Arsenide seems more like a 10 year stop-gap than a 50 year revolution. The problem is we can't get any "smaller", because we enter the quantum world and that's something entirely different. However, with graphene we can keep the transistors the same, but raise the clock speeds each generation, perhaps up to 1 TeraHerz or more, with a Moore's Law-like rate of improvement in performance.

<comment><USER5> There's still a big problem with just upping the speed. If we have a chip running at 1THz then in each clock cycle light can only travel 3mm.

Moving to more complex 3d chips could help improve performance, but there are limits to the number of dimensions we have too.

<comment><USER6> Yeah, I don't think 1 THz is achievable, but we can likely do substantially better than 4 Ghz, even when we can't go smaller. Then there are also gains to be made from building bigger, building in 3 dimensions, decreasing waste heat, etc. I suspect that innovation with chips will get bumpier, but likely overall maintain the pace of innovation for a couple decades more - which is all we need to get into really interesting territory re AI and other things.

</comment></comment></comment></comment><comment><USER7> If anyone is interested in the manufacturing of these chips, this is an old but fascinating video: [https://www.youtube.com/watch?v=NGFhc8R_uO4](https://www.youtube.com/watch?v=NGFhc8R_uO4)

<comment><USER8> And here's a video from the 1970s, probably the first and last time Intel let anyone inside one of their fabs with a camera:

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

<comment><USER9> 26 minutes in, and this may be the best documentary on the then-future use of computers I've seen.

</comment></comment></comment><comment><USER10> For comparison, bond lengths are on the order of 0.2 nm.

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

The lattice constant of unstrained silicon is 0.543 nm.

<comment><USER11> So ~18-19 atoms across, then?

<comment><USER12> I asked about this yesterday [1], and I found this article[2]. I can't speak to the validity, but it appears that the 'distances' used in these marketing concepts are not the same distances that are used to measure things. I'm still curious what the actual controllable resolution of the feature sizes are in the '7nm process'. I get the feeling that it's more like 30nm, but the effective feature density is greater than yesterday because there is more control vertically, and diagonally, etc. and so they need a smaller number than yesterday. But still just ~30nm (not actually 7nm).

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

[2] [http://spectrum.ieee.org/semiconductors/devices/the- status-o...](http://spectrum.ieee.org/semiconductors/devices/the-status-of- moores-law-its-complicated)

<comment><USER13> When Intel say they have 52nm wire pitch, this means that they produce wires that are 26nm wide, with 26nm distance between wires. Producing wires that are thinner, or that are closer together, is unreliable.

That said, they are probably able to _position_ those wires at a higher precision. Without being involved in the manufacturing myself, I deduce this mainly from looking at optical proximity correction[1], for example, it's clear that the final masks used for production have more detail. Another indication is the fact that different masks seem to be aligned to basically nm-level precision (otherwise, the different parts of transistors and the vertical interconnects (vias) between wiring planes would not match up properly). The photographs one sees of the final product also indicate this. This means that the _location_ of wires could theoretically be controlled very precisely, but for a mixture of wavelength and other (chemical? surface tension?) reasons, the _size_ of the wires cannot be made smaller reliably.

I'd be curious to know how precise this alignment really is, and I've never seen numbers for it, but it must be incredibly precise. Given that a large part of it can be done optically, this is not even that surprising, compared to some of the other magic that's going on here.

[1] [http://en.wikipedia.org/wiki/Optical_proximity_correction](http://en.wikipedia.org/wiki/Optical_proximity_correction)

</comment></comment></comment></comment><comment><USER14> As someone nearly irrationally annoyed by the collective inefficiency of all the Javascript being run in the world, I kind of wish the computational "free lunch" ends sooner than later so the frontend world has to move towards the zero-cost abstractions and techniques being adopted server side. Too bad these hardware engineers are really good at their jobs!

<comment><USER15> Last I've checked java and .net were the most popular server-side languages, and they are all about costly abstractions. Dependency injection, reflection, AbstractFactoryBuilderManagerBean etc.

In fact I've yet to see java server-side stacktrace that's less than 100 lines long. Usually it's more like 1000 lines, with a few RMIs inside. On the other hand, the js stacktraces I've seen (mostly hobby projects, so I may be biased) are usually less than 50 lines, often just 10 or so. Not good, but much better.

<comment><USER16> Yet Java servers often come out on top in benchmarks, even beating C implementations.

<comment><USER17> The JVM is an insane thing, and with clever enough programmers a lot can be done on top of that.

Were those Java servers written in standard Java, though? Because it's possible to write pretty low-level code in java if you're willing to compromise on standards compliance. Non-GC'ed, direct memory access is possible, I think.

</comment></comment></comment></comment><comment><USER18> Gallium Arsenide? If that's true, then it will be like a sign of the apocalypse. The old saw has been: "Gallium Arsenide: Technology of the Future! Always was. Always will be!"

</comment><comment><USER19> Do they know what they're going to move to?

<comment><USER20> "More interesting than 10nm, though, is the news that Intel is looking to move away from silicon FinFETs for its 7nm process. While Intel didn't provide any specifics, we strongly suspect that we're looking at the arrival of transistors based on III-V semiconductors. III-V semiconductors have higher electron mobility than silicon, which means that they can be fashioned into smaller and faster (as in higher switching speed) transistors."

<comment><USER21> To those unfamiliar with "III-V": Think GaAs (Gallium Arsenide) and friends.

 _gallium arsenide (GaAs) has six times higher electron mobility than silicon, which allows faster operation... Conversely, silicon is robust, cheap, and easy to process, whereas GaAs is brittle and expensive, and insulation layers can not be created by just growing an oxide layer; GaAs is therefore used only where silicon is not sufficient._

      -- Wikipedia

<comment><USER22> Gallium Arsenide Valley doesn't have quite the same ring to it does it...

<comment><USER21> Better than "Gaas Valley", at least.

<comment><USER23> How abou Gall Arse Valley?

</comment></comment></comment></comment></comment></comment><comment><USER24> I keep reading how 22nm, 20nm, 16nm, 14nm and so on are not true measurements anymore but mostly marketing speak. This is true of all fab companies.

That is the move from 22nm to 14nm did not give you double the transistor count from the same area die.

So has anyone done a comparison of transistor count on the same size die over the years depending on the process?

<comment><USER25> Feture size never had a completely linear relation to transistor density. Recently that non-linearity is just becomming worse.

</comment></comment><comment><USER26> Witchcraft!</comment>


How I learned to program - <AUTHOR> https://danluu.com/learning-to-program/ <comment><USER2> His 'ineffective fumbling' and 'high school' seem to mirror my experiences. Using a bunch of mismatched books and computers with no real goals, no mentor, and no real results.

However, it's amazing when you read about <insert famous programmer>. They grew up with Apple II's and Commodore 64's, but they _mastered_ them. Or at least that's the narrative from the author of the articles that talk about them.

They don't just write silly BASIC programs like the rest of us, they started using assembler and learn the machine like the back of their hand. They learn how to optimize the living crap out of their code. Maybe their schools just had better books in their libraries or they subscribed to the good magazines of the day. Or they were just that much better at programming and smarter and more focused, one of the above, or all three.

<comment><USER3> The timeline seems to match my experience, but the fumbling does not; I started reading books and magazines before I had access to computers in begin 80s. Those where mostly Basic but some asm (esp for the c64 and spectrum the basic code had fair amounts of data which was asm). When I had access to computers after that, I wrote monsters of Basic programs. I remember writing a music composition program for the MSX which, after I got it all typed in on a PC (I had only partly access to an MSX and part PC), it was too large for the MSX memory. It was too slow too, so I started replacing parts with z80 asm typed in hex. I still remember most opcodes in hex: it was much faster and more efficient to type than assembler.

I guess I was lucky to have access to the books: I went to a (monthly?) Philips 'old crap' sale. If I remember it was in the bottom of the PSV stadium and they had old electronics and mags and books for sale for cheap. It was so lovely; we took a car full of old circuitboards to get components off, books, printed papers etc home and spent the next month working on them (this was summervacation usually as it was close to my grandparents).

<comment><USER4> Sounds like heaven

</comment></comment></comment><comment><USER5> > We were exposed to some kind of lego-related programming, uhhh, thing in > school, but none of us had any idea how to do anything beyond what was in > the instructions. While it was fun, it was no more educational than a video > game and had a similar impact.

I wonder how many of these "teach your kid STEM" toys have this result. I learned to program when my mom got me a vtech precomputer 1000 for Christmas when I was a kid. But becoming a "developer" took many years of effort. Hopefully more kids will be set on the path like I was.

<comment><USER6> I misread "lego" as "logo" when reading the post, because that was my experience. Before having a computer at home took an extracurricular BASIC class which in hindsight I learned almost nothing from but it whet my appetite. The intermediate class had us draw stuff with Logo, which I felt was stupid, and turned me off of programming for awhile. Probably my fault, now Logo looks like an interesting language.

<comment><USER7> I just finished creating a LOGO class, and I feel it's best for elementary school aged children. If you took LOGO over the age of say 12, it probably seemed childish and useless. But for younger kids, I think they can get interested in computing with LOGO.

You can do some cool stuff with LOGO like create state machines, implement sorting algorithms, and create simple games.

<comment><USER8> Logo is a great tool to use to learn visually about basic shapes and their properties (circles, polygons, conic sections, spirals, various sorts of roulettes, ...), logic, graphs of data and functions, fractals, cellular automata, synthetic geometry including projective geometry, transformation geometry and symmetry, basic number theory, complex arithmetic, polar coordinates, trigonometry, the logarithm/exponential functions, matrix algebra, linear regression and other statistical tools (Kalman filters!), optimization, basic probability, dynamical systems, lattices, group theory, graph theory, vector calculus, mechanics, optics, electric circuits, special relativity, 3d vector graphics, searching and sorting, trees, mazes, robot planning, game AI, ....

Or really anything you want, though after several years of experience students might find other tools more convenient for some types of modeling.

</comment></comment></comment></comment><comment><USER9> Looking back in my life when I was born a year after Tavish Armstrong, I just feel so, disappointed how my life turned out to be. I had similar dreams and hope but they didn't work out in the end.

Only if I told my younger self to actually go through the Macromedia Flash book I borrowed once in high school, I would have had my first glimpse in computing. But during my early days, I never had anyone who was remotely interested in computers. I wasn't great at socializing either which would have lead me to people who were in machines. There was AP CS course at my university but I never took it only because I thought it was too hard and instead took AP Calc.

Without any concept of computing or the power of programming, how can a kid get into life of software development? All the random success stories I've read of popular programmers these days, all of their younger days began with someone giving them a gift or some 'assembly' language computer and started from there.

Wish the pursuit of programming caught me much earlier in life than right now, went into wrong major and always thought about programming, programming. Having friends and family who aren't into computers didn't help either until last year. So much life was wasted.

<comment><USER10> How old are you? If you are less =< 25, it's not too late. I started self studying CS then after many aimless years. Then I got my first junior position at 48k and after 3 years of raises and job changes I'm at 100k+

<comment><USER11> I'm 27. That's too late?

<comment><USER12> Not at all. But you need to specialise and master a chosen sub-field. Like, I consider myself a programming languages guy because I love type theory. Others love exploring functional programming, OOP, Rust, or whatever. Whatever you like, just get into it and explore, and try to build and ship cool stuff if you can.

Everyone has periods of low productivity, you just need to roll with the punches and keep learning and building whenever you can.

</comment></comment></comment></comment><comment><USER13>
      "but that's so obvious that it's not even worth stating"

Intelligent people I know say this or something similar. What is obvious to a smart person for something they are skilled at, is not obvious to the rest of us!

<comment><USER14> God i absolutely hated this kind of "this should be obvious" statement made by professors in lectures.

It absolutely poisens the learning atmosphere. And after 20 minutes of lecturing on a difficult topic they ask if anyone has any questions and wonder why noone raises their hand or says anything.

<comment><USER15> FWIW, at least in mathematics "obvious" doesn't mean "you're an idiot if you don't instantly understand this." It means, "this isn't deep. If you're thinking about really deep, complicated things beyond what we've been talking about, you're missing the point."

I have on multiple occasions sat down and worked with another mathematician on a problem for an hour+, only for us to find the solution and both conclude that the answer was "obvious."

<comment><USER16> As a professor in a non-math subject, I agree with this and think it generalizes. I often say "this is obvious" as a way to communicate to students "you're overthinking this like woah."

</comment></comment></comment></comment><comment><USER17> > hear a lot of stories like that, and I'm happy to listen because I like > stories, but I don't know that there's anything actionable here. Avoid > managers who prefer doling out punishments to helping their employees? > Obvious but not actionable.

Actually, the advice to avoid managers who are not helping employees is eminently actionable. It's just that the actions are either tedious or radical.

Tedious steps to take, before you are in the situation: find other current and former team members on linked in and do backchannel references on the position.

Radical steps to take, after you are in the situation: quit your job and find another one.

<comment><USER18> Re tedious steps, I had multiple job offers and reached out to people on LinkedIn who used to work on the teams I had offers for and got some great honest info that helped me make a decision.

<comment><USER19> What kind of info did you look for?

<comment><USER18> I just asked questions like what's the team like, would you recommend working there etc.

</comment></comment></comment></comment><comment><USER20> "I ended up at a little chip company called Centaur. I was hesitant about taking the job because the interview was the easiest interview I had at any company4, which made me wonder if they had a low hiring bar, and therefore relatively weak engineers. It turns out that, on average, that's the best group of people I've ever worked with. I didn't realize it at the time, but this would later teach me that companies that claim to have brilliant engineers because they have super hard interviews are full of it, and that the interview difficulty one-upmanship a lot of companies promote is more of a prestige play than anything else."

</comment><comment><USER21> as an aside, i think dan luu's writings are some of the best on interweb: articulate, methodical, concise.

<comment><USER22> on the contrary, I think he is a braggart who has a tendency to show off his alpha nerd credentials.

<comment><USER23> We had dinner once at his suggestion. He wanted to pick my brains about where I work.

He speaks a lot faster than I do, which is not something I'm used to. We exchanged Flandersian fusillades of words (including some about the relative speed of talking in different places, languages and scenarios).

He's legit. We'd struggle as a programming pair, though. Both too keen to hold the lock on the talkbit.

</comment></comment></comment><comment><USER24> > In conclusion, life is messy and I don't have any advice.

That _is_ the advice :P seriously. Most advice is far too subjective to likely be applicable to yourself (because life is so messy).

With one exception: "leave bad roles more quickly and stay in good roles longer", as the author mentions, it seems far too obvious, but it's not... because "bad" is actually subjective, so "not working well enough" is perhaps more accurate.

Some "successful people" have never had a "not working well enough" part of their career because they are crazy lucky, and others have simply been perceptive enough to recognise it and move on. Some label this as "luck" but luck implies some objective "good", it's about chance, the chance of landing in a well fitting scenario.

Rolling the dice can be painful, and knowing when it's good not always obvious. Perhaps at least knowing to look out for this even though you don't know what it will look like for you, is the only general advice?

</comment><comment><USER25> Anybody knows how to solve that third meta skill, of "solving hard problems"?

<comment><USER26> Some tools that can help:

* break the hard problem into smaller problems (e.g. "make a car that drives itself" would really benefit from considering smaller components)

* reframe the problem. Sometimes changing the perspective on a problem lets you leverage tools or techniques from related fields. For instance, there isn't much good literature on techniques for understanding obfuscated programs, much of it gets bogged down in low-level details and has a very short shelf life. But there is one field that has a lot of good literature on understanding and transforming programs: compilers. Realizing that was transformative in my own research.

* go bottom-up: are there special cases that are easier to solve than the whole? Can you generalize from there?

* go top-down: pretend that you could use some off-the-shelf components that would automagically solve parts of the problem. See if you can compose them into something that looks like a solution, then see how to implement them.

<comment><USER27> Great response! Reframing the problem is an especially important and well- known technique in applied mathematics and physics. And the others can arguably be generalized into "solve the easiest part first". If the easiest part is at the bottom, start at the bottom; if it's at the top, start at the top. Keep solving the easiest part remaining until there's nothing left to solve. This inherently requires breaking the problem into achievable sub problems.

</comment></comment></comment><comment><USER28> My recollection is that Dan was working at Microsoft during "Third real job (2015-2017)." (He has a couple of posts in this timeframe where he refers vaguely to his employer. "Hiring Lemons" is one.)

I would be interested to know what teams Dan worked on while he was at Microsoft. He says that team #1 couldn't build their source code on most days, and that while team #2 was better, they still often had broken builds in origin/master.

<comment><USER19> I love the section he wrote on Microsoft. He is clearly a master of the backhanded compliment:

> However, I can already tell that this experience broadened my horizons. Two > examples I got out of the experience are a better understanding of how sales > worked and I have a better idea of the range of processes that exist across > different teams.

> To the first point, the company produced some decent products backed by a > world class sales team. Watching the sales team work was a revelation. The > sales people would regularly go in and create sales even when the product > wasn't the best thing for customers. I'd always known that sales was at > least as important as engineering, but seeing this in action was different > from knowing in the abstract.

> To the second point, I once wrote a blog post on build uptime where I looked > at uptime data that seemed surprisingly bad to me and said

> at every place I've worked, two 9s of reliability (99% uptime) on the build > would be considered bad. That would mean that the build is failing for over > three and a half days a year, or seven hours per month. Even three 9s (99.9% > uptime) is about forty-five minutes of downtime a month. That's kinda ok if > there isn't a hard system in place to prevent people from checking in bad > code, but it's quite bad for a place that's serious about having working > builds.

> A number of people responded with comments like "lololol that guy has been > pretty lucky in the team's he's worked on". I didn't think much of those > comments until this job. At my first team on this company, we couldn't build > on most days for most of the time I was there! My second team was better, > but I would regularly get broken builds when I fetched and merged from > origin/master. I had no idea that companies that considered themselves > serious about development could have practices like this and it's good to > have this new information.

</comment></comment><comment><USER29> Pretty anecdotal, but it seems to strike a chord with a few people in here, like anecdotes tend to do... I like the HTML/CSS approach, and then tack on some JavaScript. No stupid assembler to keep track of. I've taught about 300 kids web design, and around 150 programming (rough estimate), and that's what stuck the best with the kids. Java, not so much. From JavaScript the sky's the limit. Personally I tried BASIC, but I really learned programming by going the PHP route, and onwards to Perl and Java. But the first thing I learned was HTML/CSS. If I could choose again, I'd go JavaScript first, and perhaps Python - another lovely language.

<comment><USER30> > Personally I tried BASIC...

JavaScript is the new BASIC, in the sense that it is universally available and a great first language to pick up.

It is easy to forget that self-taught programming is motivated by that intrinsic discovery factor, and JS feeds the dopamine loop!

</comment></comment><comment><USER31> > My class had a couple of kids who already knew how to program and were > making good money doing programming competitions on topcoder

> High school (1996 - 2000)

This does't seem right. What sorts of competitive programming sites were around that early?

<comment><USER32>
        whois topcoder.com | grep Creation
        Creation Date: 1998-12-30T05:00:00Z`

archive.org sample: [http://web.archive.org/web/20010401182116/http://www.topcode...](http://web.archive.org/web/20010401182116/http://www.topcoder.com:80/)

So plausible, but extremely early adopter. More likely would be craigslist, IMO.

</comment></comment><comment><USER33> [https://i.imgur.com/vBhtqtE.png](https://i.imgur.com/vBhtqtE.png) [2]

next step - CSS for dummies, because this is awful[1]

[1] [https://i.imgur.com/vBhtqtE.png](https://i.imgur.com/vBhtqtE.png)

[2] [https://i.imgur.com/vBhtqtE.png](https://i.imgur.com/vBhtqtE.png)

</comment><comment><USER34> What is your github account? I am curious to see some of your code.

</comment><comment><USER35> Ironically, my high school expelled me for truancy. My guidance counselor, in what I think was a hamfisted attempt to scare me straight, told me that I'd never get into college without As and Bs, so I took her word for it. Why study, or taking the SATs if my existing marks would keep me out of good 4-year colleges anyway? I had two years of terrible grades behind me, I was quickly moving up in the ranks in a food service job anyway, and I wasn't planning on going into the military, so what was the point?

During school hours, I'd just sit in the computer lab learning Photoshop 2.0, HTML, and the new cutting edge thing called CSS. I'd have loved to take one of the BASIC classes because I had already worked with it a bit on my TRS-80, but they were only offered to kids who had taken AP Algebra 2. One pleasant spring day I was coming back onto campus after smoking a butt across the street, and the vice principal told me I wasn't allowed back onto school property because I was no longer a student. After a few months of just working, I went back and finished high school in a part-time night school program while working full time. Oddly, I've always thought of this as a somewhat pleasant time in my life despite my negative feelings about high school in general.

A year or two after graduation, around 2000, I took a few classes in a UNIX undergrad certificate course at Northeastern. Not only did I ace the classes, but I ended up teaching my classmates more than the instructor did in the Linux class. (That was way less cool than it sounds though; he recommended everybody drop the course and ask for a full refund because he was under- qualified and knew it.) Also, the second-level C class teacher— a hardcore windows guy— emailed me asking questions about developing in a Linux environment for a few months after the class ended.

It was a confidence boost which SHOULD have pushed me towards college, but I still assumed that no 4-year college would have me, and the thought of essentially trudging through two more years of high school in the form of community college was... unpalatable. I stopped taking classes before I finished the certificate because they didn't offer me anything I couldn't learn on my own— even if I did enjoy learning little-unexpected things like C-shell scripting, and advanced awk— and it wasn't going to lead to a real degree. I was much more interested in working in bars and living in shitty apartments with a million roommates with only discount pizza and malt liquor for sustenance. (wait, maybe I did go to college...)

I was lucky enough to get a $10/hr job as a university library IT assistant where the systems administrator gave me a bit of flexibility with what I worked on, a bit of leeway for solving those problems, all of the tech books I wanted, and all of the scrap hardware I could muster up. I ended up learning how to use Perl, first as a systems language and then for CGI programming, honed my shell scripting skills, built a few slightly more involved internal web applications using PHP, learned how bigger networks worked, good IT practices, and lots of other cool stuff. From there I bounced around to a few higher-level support type jobs and then got my first regular software development job after that. Since then, I've tackled problems with increasing complexity and managed a few projects.

Though the more 'vocational' path I took to coding instilled some good practices and a rock-solid work ethic, I feel like there's a bit of whiteboard swag that people who took a math-first, comp-sci-heavy path to coding have that I lack. As the level of complexity with my work projects increases, I sometimes struggle because I picked up a lot of the math and comp-sci knowledge magpie style without having the solid theoretical foundation to tie it all together. I thought learning a programming language without a real- world problem to solve, and no real deadlines was a slog; doing that with things like discrete math is much worse. (though I do think it's super neat.)

It's pretty funny that the primary difference between me and him is that I believed a guidance counselor who told me it was impossible. Approaching 40, I realize how full of shit she was.

<comment><USER36> _"My guidance counselor […] told me that I 'd never get into college without As and Bs

[…]

I went back and finished high school in a part-time night school program while working full time.

[…]

I believed a guidance counselor who told me it was impossible. Approaching 40, I realize how full of shit she was. "_

So, what were your grades at that night school program?

<comment><USER35> Pass/Fail

</comment></comment></comment><comment><USER37> You may think this website is old-fashioned, but it uses FLEXBOX when it should be using table layouts.</comment>


The problem with dynamic languages - <AUTHOR> http://amix.dk/blog/viewEntry/19422

<comment><USER2> Many programmers confine projects to one language, but this severely limits their potential.

If Python (or anything else) isn't perfect, that doesn't mean there is necessarily a problem with the language, or that you shouldn't use it. For example, once I became familiar with SWIG, I was not at all afraid to use C++ for the things that needed to be fast, while continuing to use Python for a large portion of what I had to maintain. And, I don't automatically write every script in one language, I use whatever is most suitable to the task.

</comment><comment><USER3> synopsis: the problem with dynamic languages is that they are dynamic.

my response: nothing is a win win in life, there is always a trade off somewhere. the ability to modify a running system on the fly means you can get runtime errors that a static system would be able to find before startup.</comment>


Microsoft Bans "Offensive Language" from Skype - <AUTHOR> https://professional-troublemaker.com/2018/03/25/microsoft-bans-offensive-language-from-skype/ <comment><USER2> What is up with the sudden intense push for all of this Orwellian censorship lately?

Between this, Facebook, Google, and reddit trying to censor anything they deem to be wrongthink and the very hard push to deny American citizens their Second Amendment rights, I may have to consider purchasing some tin foil headgear.

It's become open season on the Bill of Rights lately.

It's starting to get more than just a little bit scary.

<comment><USER3> I think it was the election of Trump. Everyone expected Clinton to win. Most people in silicon valley and most costal elites (i.e. journalists) lean more to the left. I think there collective shock at the election result, combined with the fact that their services (i.e. facebook scandal, or how the media reported on trump) may have contributed to it have resulted into a doubling down on purging _wrong think_.

<comment><USER3> To add to this. More and more people are living in bubbles of ideological similarity[1]. There isn't really an exchange of ideas anymore between people who have divergent views. These days it is between moderates and extremists on the same side, rarely against someone who opposes an idea.

So when something happens that goes so against the grain, that is so shocking it demands a response you see the results like "trump derangement syndrome". Where everything bad the president does is hyped up far more than was under previous presidents, and every effort is made to return to the status quo.

Not to say that Trump is a good president, far from it. But Barack Obama banned people from travelling from the same countries as Trump and there wasn't massive outrage, protest and court challenges.

Societies are becoming more fragmented. Less and less are believing in the American dream or its equivalent and this is the outcome. I hope this isn't the start of the decline and decay and slow slide to irrelevance of the West like it was for so many past civilisations.

[1] [http://slatestarcodex.com/2014/09/30/i-can-tolerate- anything...](http://slatestarcodex.com/2014/09/30/i-can-tolerate-anything- except-the-outgroup/)

</comment></comment></comment><comment><USER4> > When investigating alleged violations of these Terms, Microsoft reserves the > right to review Your Content in order to resolve the issue.

This is actually the most scary part of it. Not only you give up your freedom of speech when using their services, but you grant MS the rights to actively review all your data. That includes all your documents, emails, skype calls, etc.

Basically you give up any remaining online privacy regarding MS services.

<comment><USER5> And anyone who has ever moderated a community knows how frequently people get reporting for having a contrarian or unpopular opinions. This is ripe for abuse and setting a path for MS to castigate thoughtcrime.

</comment></comment><comment><USER6> Couldn't believe the headline, but wow, it's actually an understatement. Sharing "inappropriate content" including "for example ... offensive language" is banned from all Microsoft services.

But from the context, it seems that by "offensive language" they mean hate speech. Maybe. Or anything they want.

</comment><comment><USER7> What happens if I am writing a book and save a draft with office online that contains an expletive that might offend someone, would I loose all my content and work?

</comment><comment><USER8> Article author here. Thanks for posting! Happy to answer any questions, although Microsoft's terms are perhaps self-explanatory.

</comment><comment><USER9> I thought Skype was now encrypted?

<comment><USER10> What you want is end-to-end encryption, not just encryption between Microsoft and the client.

Skype was rolling out end-to-end encryption using the Signal protocol, I don't know if everyone has it now.

In any case, it's only available for voice not video, and you have to know to request a "private conversation" since it's not e2e encrypted by default.

[https://www.wired.com/story/skype-end-to-end-encryption- voic...](https://www.wired.com/story/skype-end-to-end-encryption-voice-text/)

</comment></comment><comment><USER11> People are still using Skype?

<comment><USER12> Yes. Microsoft employees still use Skype

</comment></comment><comment><AUTHOR> We need to wait and watch. Let us see what official statements come from their spokesperson.</comment>


Binary Mechanics Launches Automated Web Consistency Tool - <AUTHOR> http://www.builtinchicago.org/node/114247

<comment><AUTHOR> DomReactor is an automated cross-browser platform that allows developers and test engineers to quickly test the UI of their web apps and web sites across multiple browsers, versions and operating systems. DomReactor allows developers and QA to concentrate on higher level development and testing and offload the tedious and often manual task of difference detection. It's now easier for development teams, QA teams, content managers and digital marketers to ensure their clients and site visitors enjoy a uniform experience.</comment>


Everything Sucks at First (Writing a Programming Book, Episode 2) - <AUTHOR> http://practicingdeveloper.com/2015/10/08/writing-a-programming-book-episode-2/ <comment><USER2> Great points honestly. The early stages of writing any sort of article/book are very frustrating and filled with "do overs". I have written a few dozen articles on various technical topics for publications and my rough drafts always look this way.

I hope those who read this won't be discouraged though. Recently, a co-worker of mine who is quite shy and not one to speak up, decided he was going to write an article and submit a proposal to a local conference to speak. He went through this same frustrating stage, like most writers do, but he pushed through and succeeded, receiving rave reviews on the final output of both the article and the conference talk. I think the time and effort made him better as well as bettered the community. I wish more people would do that in this industry!</comment>


Elimination with Matrices - <AUTHOR> http://www.catonmat.net/blog/mit-linear-algebra-part-two/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+catonmat+%28good+coders+code%2C+great+reuse%29

<comment><USER2> Another duplicate caused by Google Reader appending analytics data to the URI. These are getting so common it might be worth adding a special case to the HN code to detect them as duplicates.</comment>


What happens when you don't put your phone on airplane mode on an airplane? - <AUTHOR> http://www.airlineupdates.net/what-happens-when-you-dont-put-your-phone-on-airplane-mode-on-an-airplane/ <comment><USER2> The first photon emitted from the phone causes the plane to crash into the ground. Or nothing.</comment>


Out of Prohibition's Reach: How Technology Cures Toxic Policy - <AUTHOR> http://stanfordreview.org/article/out-of-prohibitions-reach-how-technology-cures-toxic-policy/ <comment><USER2> There is a good book whose title and author are eluding me for the moment that examines the necessity of a frontier for freedom. Freedom requires the ability to up and move into an area that is a challenge for the nearest power to control, regulate, and abuse. That is the only meaningful check on the power of the sedentary bandits that become a region's elite.

Historically, this has all been geography. But going forward, there is the opportunity to do something new with technology and section off slices of economic activity into reaches that while existing in the same geographic location as a centralized state are prohibitively expensive to control for its bureaucrats and enforcers.

The malaise of the modern world is, I think, in large part due to the shrinking of frontiers. There is little of the world left that is easily colonized but also hard for the major players to reach into, and so the states become ever more grasping. There is no safety valve by which people can up and peacefully revolt with their feet in large numbers, and that won't return until the cost of getting into orbit falls dramatically.

Meanwhile, there is cryptography.

<comment><USER3> > Freedom requires the ability to up and move into an area that is a challenge > for the nearest power to control, regulate, and abuse.

You're so right. Just read about the horrendous abuses committed by Saddam Hussein and his psychopathic children in Iraq. And this in an area that was one of the cradles of civilization, many millennia ago. WTF happened in the meantime?

<comment><USER4> Life in ancient Mesopotamia was at least as violent as life under Saddam Hussein or the current Iraqi government[1]. It was likely preceded by a succession of violent thugs (aka rulers) back to the dawn of humanity. If only the historical record was better you could probably trace the legitimacy of most governments back to some Neolithic caveman beating another caveman into submission.

[1] [http://news.nationalgeographic.com/news/2013/13/130425-indus...](http://news.nationalgeographic.com/news/2013/13/130425-indus- civilization-discoveries-harappa-archaeology-science/)

<comment><USER5> History is written by winners.

The problem therein is that the winners are usually those who, after a prolonged conflict, stand on top of the highest pile of bodies. If they are smart enough, they will then start to purge the records from the worst atrocities. Maybe not to make themselves seem more benevolent than they are, but perhaps to prevent anyone from fully documenting the amount of force and brutality necessary to become a winner.

After all, if you know how to win in a game where the only move to win is to cheat, why would you leave the most succesful instructions lying around?

<comment><USER6> Or under German occupation the french resistance where called terrorists. The one who wins gets to select his perspective of the events.

</comment></comment></comment></comment></comment><comment><USER7> It's amazing how many problems are solved when a market accounts for just the two factors mentioned in the article: quality and scamsters.

</comment><comment><USER8> Maybe it's just my browser, but my _goodness_ that font is hard to read. I'm sure the article is quite interesting, but it's beyond my ability.

<comment><USER9> cala-light, embedded as a webfont. You can go into web inspector and delete that font in the css, turning it back into whatever the default serif is.

Cala-light does look more readable at sane font sizes, but although I'm not a typography expert, its kerning looks bad. e.g. the letter spacing in the word "charging" on the first line, or the sequence "rr" or "oin" just to name a few.

<comment><USER10> Thank you for reminding me of this option.

The height of some of the characters, such as t and i, are giving me more trouble than the kerning, even at "sane" font sizes. Words like "contentious" end up so flattened I'm doing double takes on half the words, having misread them. As chrome renders them, words like "to" have height going the wrong way outright, with the t appearing shorter, not taller, than the o!

</comment></comment></comment><comment> dj-wonk I must be missing the actual argument that supports the headline, "Out of Prohibition's Reach: How Technology Cures Toxic Policy". If the claim is that governments cannot keep up with technology, I would hardly call that a cure. That's a workaround.

</comment><comment><USER11> Pretentious undergrad writing + "cryptography" = heavy bro!!

</comment><comment><USER12> See also: copyright law and BitTorrent.</comment>


Putin bought a honey jar as a gift to Xi Jinping - <AUTHOR> https://china-underground.com/2018/09/14/putin-bought-a-honey-jar-as-a-gift-to-xi-jinping/ <comment> java-man watch out for polonium!</comment>


The State of LTE - <AUTHOR> http://opensignal.com/reports/state-of-lte/#

<comment><USER2> This was my first attempt at Data-visualisation using d3. I've done a few things with GoogleVis and R, the one is awesome for the web the other is awesome for its flexibility, D3 is awesome for both. I was also pretty much a novice to JS and CSS, I highly recommend AlignedLeft's tutorials <http://alignedleft.com/> if like me you start from scratch with this.

<comment><USER3> Your graphs are pretty -- and it's an interesting page, but your ping section makes me wonder about the rest of your data.

You don't qualify what you're pinging, but if we're talking ping to the internet gateway, ping over a strong 802.11n connection on my iPhone 5 is 2 - 5 milliseconds on my local network. The same is not true of LTE which has more typically a 100ms latency to the carrier internet gateway.

LTE definitely brought down latency from 3G! But it's nowhere near as low latency as a good 802.11n connection!

<comment><USER4> True, we're pinging google.com (which resolves to its local sites) over the active data connection - whatever flavour of Wi-Fi or 3G. We could have also broken this down by 3G types e.g. UMTS vs HSPA etc. The idea is not to show the theoretical maximum of LTE or Wi-Fi, if we wanted to that we'd just use a dozen phones in lab conditions. Rather, we wanted to get a feel for the changes in user experience of the mobile web, so this data is drawn from a set of 9m speed tests run with the OpenSignal app.

</comment></comment></comment><comment><USER5> This article leaves out a major issue if you're an iPhone user (no idea about Android phones): LTE frequencies have not been standardized. As usual, it's the US that is the outlier, and the rest of the world have agreed on a standard.

Here is Apple's list of models and their compatibility: <http://www.apple.com/iphone/LTE/>

For example, US iPhone models use GSM at 700b MHz, but won't work with European LTE (and vice versa) which use GSM at 850/1800/2100 MHz.

(And then there's my country, Norway, where we have only two networks which for some reason have decided on 1800/2600 MHz, which will work with _none_ of the existing models.)

<comment><USER6> "The LTE standard can be used with many different frequency bands. In North America, 700/800 and 1700/1900 MHz are used; 2500 MHz in South America; 800, 900, 1800, 2600 MHz in Europe; 1800 and 2600 MHz in Asia; and 1800 MHz in Australia."

It doesn't seem like anyone's particularly standardized on frequencies.

[http://en.wikipedia.org/wiki/LTE_(telecommunication)#Frequen...](http://en.wikipedia.org/wiki/LTE_\(telecommunication\)#Frequency_bands)

<comment><USER7> Rest of the world == Europe.

</comment></comment></comment><comment><USER8> I recently talked to an Intel engineer about why they don't have an Intel phone out yet. And he reached into his pocket and pulled out an Intel phone! Apparently, these phones are already available in China, but because Intel does not make the LTE chipsets, they have been unable to get it out. I asked him why Intel did not have LTE chipsets in their phones, Ans:"Because Qualcomm owns all the patents and makes the latest chipsets"

<comment><USER9> Intel/Infineon has an LTE baseband, but for whatever reason it isn't used in any phones. One factor is that Verizon and Sprint are locked into Qualcomm for backwards compatibility with their CDMA2000 networks and if you have to use Qualcomm for the Verizon version of the phone you might as well use Qualcomm for the GSM version as well.

</comment></comment><comment><USER10> HOW SPEEDS COMPARE doesn't really mean much. Japan has a higher density of users per square kilometer, so it seems to me that there should be some sort of normalization done to the numbers. I get better speeds in Kyoto (less simultaneous users) than I do in Shibuya (many simultaneous users!)

<comment><AUTHOR> Thanks for the feedback. We aim to measure the actual user experience on LTE, rather than the theoretical capacity. If an area has a higher density of users then of course connections will be slower, but that is meant to be a part of what we're recording. Obviously countrywide averages are never going to say very much about localised area speeds, but they do give a general indication for the purpose of international comparison.

<comment><USER10> Also, how are you measuring speed? HTTP Download? Where are your servers located?

<comment><USER2> Sorry we missed this one, yep HTTP download from Cloudfront - so we use those servers. Others e.g. SpeedTest.net use the servers of the local ISPs which is better for measuring the max possible speed a user can get, but our focus is on the speeds users are more likely to get while actually browsing/downloading so Cloudfront works pretty well as a lot of global traffic is served through it - would love to see the % if anyone knows.

</comment></comment></comment></comment><comment><USER11> Random feedback:

On the THE GLOBAL ROLLOUT world map, the colors are not clear. They seem to be the same as the 2(?) pixel high lines below the labels below? Make them bigger! Or add a legend.

On HOW SPEEDS COMPARE I had to read the rotated y label first before I had any idea what the graph showed. Either add the unit to the numbers or add a clear title that is read normally.

LTE PING VS OTHER TECHNOLOGIES seems completely random. What are those numbers, how were they created? Ping to where?

<comment><USER2> Thanks for the comments, I agree we the key for the map could be clearer (yep it's those lines!). I'm also with you on the bar chart.

The pings are on google.com (which resolves to it's local site). And, extra clarification, we're using cloudfront CDN for the download tests.

OK will makes some changes then. Thanks!

<comment><USER12> I would add a forth colour on the map too: LTE from multiple carriers or not.

e.g. in the UK we only have LTE from one carrier at present, so for practical purposes most consumers (who are currently locked into contracts) don't have access to LTE, and those that do might choose not to since no competition means that currently LTE is very expensive here -- and that's if it's available at all; presently it's only in a few select cities. Listing "UK Broadband" as an additional LTE carrier is a bit misleading, since they're (to my knowledge) only a wholesaler and don't actually provide a service direct to customers.

I think a map showing which countries have multiple carriers would give an extra way of judging how developed a country's LTE infrastructure is. Great map otherwise though!

</comment></comment></comment><comment><USER13> MetroPCS is using a 5x5 Mhz channel in most of its markets, that is the primary reason for low speed. This brings down the USA average. Most US network operators have the capability to reach the 100 Mbit/s downlink target; that requires a dedicated 20MHz channel (which no one has) and full-blown MIMO.

<comment><USER14> The Japan average is also bought down a lot by one network (NTT DOCOMO). As well as the usual factors age of the network could also be an issue here. Both SoftBank (16.2 Mb/s), KDDI (14.8 Mb/s) are under 1 year old, presumably under capacity waiting for people to upgrade handsets and contracts. DOCOMO (5.5 Mb/s) on the other hand launched in 2010. You see a similar effect in the US, where AT&T's network is regularly beating the older, more congested Verizon. We expect this to even out over time.

</comment></comment><comment><USER15> "WI-FI" is a bit ambiguous for a comparison like this. If your intention was to compare land lines to cellular then it should be called out as such. It would also be important to note that the land line performance in areas with LTE coverage may be significantly better than the national average used.

</comment><comment><USER16> It's interesting how LTE doesn't always mean fast. Here in New Zealand carriers have only been testing LTE while upgrading their networks to 42mbps DC-HSPA. At home I can average about 30mbps on my iPad and iPhone over 3G. For me, I'd rather have constantly fast 3G rather than spotty LTE, especially with the battery situation. <http://i.imgur.com/7k8LXe1.png>

<comment><USER14> That's true. The fastest 3G speeds can exceed average LTE, so it's semi- defensible for carriers to brand some HSPA+ as 4G. In our tests though, the fastest speeds are always LTE. In the last week of the 50 fastest speeds tests all but 2 (#39 and #40) have been LTE. (Fastest was 69812 Mb/s - Oman Mobile!)

</comment></comment><comment><USER17> Great info! What are you pinging? Is it the default gateway or a specific host on the Internet? Also how do you determine download speed? The numbers for wi- fi are so disappointing. I wonder if you're not really measuring the speed of the DSL connection (or whatever) that the wi-fi router is sitting on.

<comment><USER18> If it's measuring public wifi, then I'm not surprised. I rarely see better than 2-3Mb. My HSPA+ phone easily beats almost every public wifi that I've seen, aside from the issue of data-caps.

<comment><USER2> Yep, it includes public Wi-Fi, though we are trying to distinguish between public and private for the purposes of making hotspot maps, anyway could also be cool to look at the breakdown in speeds between the two.

</comment></comment></comment><comment><USER19> You may be interested in <http://www.mobiperf.com/>. Most of their data is available for research purposes, and there are many researchers who have used this for their tests.

<comment><USER2> That's part of the very cool M:Lab project, other apps running M:Lab <http://measurementlab.net/measurement-lab-tools>

</comment></comment><comment><USER6> Are HSPA+/LTE speeds really that "bad" generally? My HSPA+ phone typically gets 8-10Mbps down and roughly 50ms ping, and I've been led to believe that LTE here (the US) is considerably faster.

<comment><USER20> HSPA+ tends to have latency degrade far faster when you get farther from a tower than LTE, that's the big difference between the two.

LTE speeds are quite good on Verizon[1]. I get around 2-4MB/s normally. LTE pings for me are 50-100ms depending on where I am.

[1]Verizon uses the 700mhz LTE band.

</comment></comment><comment><USER21> I'm quite happy that this article clears up the real meaning of 4G.

<comment><USER22> Well, that's the ITU's definition. Unfortunately they didn't acquire the trademark for the 4G designation before carriers already had started to use it on their "slightly better 3G" networks, so there is no regulation on the use of the term in the market.

I think it's funny that AT&T called one of their earlier networks "4G" so now when I have an LTE signal, it doesn't say 4G and when I don't, it does...

<comment><USER23> Ex-Palm CEO Jon Rubinstein used to dismiss AT&T's "4G" network as "faux G."

</comment></comment></comment><comment><USER24> Is T-Mobile going to have an LTE network in US?

<comment><USER20> Eventually yes. Right now it's just imaginary mostly, like Sprint's. However, both are supposed to have LTE soonish (they keep delaying it so can't be more definite than that).</comment></comment>


Ask HN: Which DNS provider for a startup? - <AUTHOR>

I'm running a startup on a couple slices at Slicehost.com and I really like that they provide a strong API for dynamically controlling things like DNS zones/records. Recently though I was contacted by UltraDNS.com about their services, and I've looked at another similar service in the past as well.<p>My question is whether it's worth it to go with a 3rd party DNS service, or if your host's DNS servers are sufficient as your startup grows? Is this something we should be considering, or is it a waste of time? <comment><USER2> I always use a dedicated DNS provider because if my hosting service implodes or goes rogue I need to be able to move the name.

If you want a recommendation, I use gandi.net. They have a long track record of doing the job well and respecting the customer's IP rights.

<comment><AUTHOR> In my case, I'm not too worried about Slicehost imploding anytime soon since they were just acquired by Rackspace not long ago. As for going rogue, that's been a concern of many as a result of the acquisition (will they suddenly up the prices or cut the quality? etc). Since they were acquired essentially to compete with Amazon, I imagine they'll probably keep the service fairly stable/competitive at least for a while, and from my interactions with their team I trust the sincerity of their desire to do so.

I do use a separate domain name registrar already, for the same reason, so I can always change nameservers and move elsewhere already. Should I really be concerned with total DNS control for the same reason though?</comment></comment>


Best copywriter portfolio/pitch site ever - <AUTHOR> http://getcoleman.com/ <comment><USER2> Best ever?! Nice landing page, but every other link is "Resource Limit Is Reached".</comment>


Dictozo – Stop Forgetting English Words - <AUTHOR> https://chrome.google.com/webstore/detail/dictozo-stop-forgetting-e/amjldpjobjpiflbdejcidlkmhllhnnnm <comment><AUTHOR> Dictozo helps you memorising English words by highlighting them along with their definitions or translations in webpages. It is tough to remember or retain the meaning of a English word you searched some time ago. You have to search the same word again when you see it again and the cycle goes on. Now we have a solution to your problem.

DICTOZO lets you save definitions and translations of English words, and displays them on every next occurrence on web-pages. It saves your time that you put, while looking for the same word again and again; also enhances your vocabulary.

New Features added:

\- Custom Word Replace \- Voting the definitions \- Fast Scanning webpage \- Export list to CSV from dashboard</comment>


Steam Refunds - <AUTHOR> http://store.steampowered.com/steam_refunds/

<comment><USER2> I'm gratified that over time Steam's services seem to have gotten better and not worse. I like watching Dota 2 International games for free. However:

Has it struck no-one else as odd that it took so many years for Steam to comply with what is a bedrock principle of Tort (contract) law - that all goods are returnable for a refund if not "suitable for their normal purpose." [https://www.citizensadvice.org.uk/consumer/common- problems-w...](https://www.citizensadvice.org.uk/consumer/common-problems- with-products/faulty-goods/what-is-meant-by-goods-not-fit-for-purpose/)

</comment><comment><USER3> I'm assuming these refunds are deducted from the earnings paid out to the publishers. This should have a lot of beneficial effects.

Instead of Steam spending resources curating, this pushes the cost of bad games back onto the publishers who put the bad game up to begin with. You game is untested crap? Prepare for the onslaught of refund requests.

<comment><USER4> half of my steam game library qualifies for this.</comment></comment>


Debunking the Stereotype of the Lazy Welfare Recipient - <AUTHOR> http://economics.mit.edu/files/10861 <comment><USER2> [https://news.ycombinator.com/item?id=10606852](https://news.ycombinator.com/item?id=10606852)

<comment><AUTHOR> Thanks! This Vox summary is much more share-friendly.

</comment></comment><comment><USER3> While I don't really believe in the "Stereotype of the Lazy Welfare Recipient" (they exist, in tiny numbers, and are likely irrelevant to economic outcomes due to being rare), I don't think this paper has proved what its title claimed. It's a great piece of research, but it is fundamentally about the situation in developing nations, which are capital-poor and, precisely as we would anticipate, infusions of capital into a capital-poor economy have a strongly positive impact.

To draw any conclusions about "welfare recipients", we would need similar data and research to be done in the wealthy nations. To the best of my knowledge, the reason why this hasn't happened is because nobody's run these experiments at sufficient scale in those nations (a few uncontrolled trials have been run, but on the scale of 10-20 people, and we need thousands). We should run that experiment and find out for sure.

</comment><comment><USER4> One issue is that it can be difficult to be both lazy and a fully engaged welfare recipient. Given the complexity of eligibility proof and maintaining eligibility for various services (social security, medicaid/medicare, food stamp policies, child welfare services, child support...) participation in the Welfare World could come to occupy all of the time and working memory of its users apart from time spent avoiding the other perils of the lower class world (drugs, evictions, crime). In a science fictionesque version, a majority of people are caught slogging through socialist welfare calculus while a select few ayn randian figures rise above and create empires of capitalism to cushion themourselves from the black hole dystopian welfare system sucking down higher and higher socioeconomic ranks. Luckily, I don't think things are that bad.

</comment><comment><USER5> So is it a reasonable conclusion that welfare serves largely as a massive scale corporate subsidy based on this data?

If they've determined that welfare has statistically irrelevant impacts on the # of people participating in the labor force and the # of hours worked that would seem to imply that welfare recipients are still a needed part of the workforce. That would also lead one to believe that welfare is not allowing substantial lifestyle modification or opportunity for self-improvement.

<comment><USER6> Here are some additional factors to consider:

Number of people being irrelevant might mean that a welfare recipient doesn't work but enables someone else to work, or if someone doesn't get welfare, they work, but their support is withdrawn from someone else. It could also mean that the benefit is not enough for them to consider not working. That is to say that their ambitions are greater than merely surviving, the enabling of which is the foundational goal of a reasonable welfare program.

I think I would agree that welfare is a corporate subsidy in some sense, but it covers more people than corporations would without the subsidy, including people unable to work or for whom paid work is less beneficial than some uncompensated task.

</comment></comment><comment><USER7> I mostly view welfare recipients as rational parasites and not as lazy.

The title of the paper is misleading and the entire paper is flawed.

No one claims welfare impacts labor participation without looking at the pre- condition for receiving welfare. Surely send a check to my home every month, I wont leave my job because of that.

However if I am earning $100 and hour and if the pre-condition to get welfare check of $80 is that I should earn less than $150, will I spend time and energy upgrading my skills for a job that pays $160 ? If I am smart I wont.

It is an idiotic exercise to measure labor participation without factoring the pre-conditions for receiving welfare checks.

India's large scale MNREGS did not impact work hours of Individuals in the country. It only drove the rural wages up. The social security for uncared senior citizens in some states however tells a different story. More and more old people were dumped by their children because being uncared was a precondition for receiving welfare.

</comment><comment><USER8> A few additional points:

1) Based on what I've read, some welfare programs originally were designed to encourage poor women to stay home and take care of their kids, as if parenting was a priority for people or our society.

2) The whole meme seems no different than the myth of the 'Welfare Queen' in the 1980s (or thereabouts). I've never seen data supporting it.

3) The premise is an assumption or fear (maybe a paranoia) that people are naturally incredibly lazy, that given the option they will do nothing with their lives, and that they are motivated only or primarily by money. I don't think that's realistic. Would you take more money to be a janitor? To watch soap operas all day? Managers who have some sophistication understand that people have intrinsic motivations unrelated to money, and in fact adding the extrinsic motivations (e.g., monetary incentives) can harm the intrinsic ones and reduce productivity. People have many limitations and motivations unrelated to money.

4) Research I encountered many years ago said that most welfare recipients don't do it for the long-term; instead people end up in the programs for short periods when needed.

5) Other research I saw more recently said a leading cause of people being in welfare programs is loss of their assets due to healthcare costs. Also, I think it's widely accepted that mental illness is a leading cause of homelessness.

6) At least a small body of research says that the most effective charity is to simply give recipients money directly; generally they use it well (and overhead is much less). See GiveDirectly ([https://www.givedirectly.org/](https://www.givedirectly.org/)).

Finally, I don't think people mean it this way, but let's step back and and think: What have we become when we respond to the weakest and poorest by persecuting them and calling them lazy.

<comment><USER9> > Would you take more money to be a janitor?

Yes. There is nothing wrong with being a janitor.

</comment></comment><comment><USER10> This is a dup of a previous HN thread* which originally linked to a Vox article giving a summary of the research.

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

<comment><AUTHOR> Thanks! I hadn't seen Vox article, and it didn't show up in results when I checked for prior submissions.

</comment></comment><comment><USER11> Just read through Businessweek and the Wall Street Journal in 1999 and 2000. Like this article - [http://www.businessweek.com/1999/99_44/b3653163.htm](http://www.businessweek.com/1999/99_44/b3653163.htm) . What were the people who control capital, who control employment worrying about? That too many people who wanted to work were working. It's stated quite openly in that article and others.

What a laugh that when the people who control employment are openly working to make more people unemployed, to then take some nonsensical ideas out of Christian churches about morality and laziness, and try to delude people into thinking this applies to those they just openly worked to cause to be unemployed.

Then there's the heirs who live in mansions, who haven't worked in generations. The "job creators". Or really the parasites who expropriate so much surplus labor time from those who do work, that they spend generation to generation jetting from Aspen to Monte Carlo. These are the real parasites, not those they're openly conspiring to shove out of work, who are using food stamps to buy food.

</comment><comment><USER12> there are two things i think worth pointing out here.

1.) the study focuses on the developing world, which is a very different environment than the developed world. as such i do not believe its conclusions can be considered to say much about that, despite the title of the submission suggesting otherwise. that 'welfare' a phenomenon of the developed world, does not go to lazy recipients.

2.) the nature of the problem of undeserving people receiving state-sponsored benefits. so i am living in the uk and i know people who receive benefits. one person i know who admits to this, imo is deserving, and they represent a small proportion of people i know who admit to receiving state funded benefits.

the people i talk about who are happy to admit to receiving help from the state tend to have more resources and support at their disposal than seems fair. they are better off than me - a single man earning ~£60k a year - /before/ they earn benefits, and these people have no problem telling me that i am /stupid/ for working hard to earn my money.

literally. i have been called /stupid/ multiple times for earning my own survival and lifestyle.

most of these people make money illegally from doing things like drug dealing, loan sharking or illegally renting out the property they own (yes you can receive support if you own £100ks worth of property - disgusting imo when that is enough worth to sell your property and survive for considerably more than a year on the earnings without working.)

they are not representative of the general case though - i think most people who receive help and actually need it would be too ashamed to admit it. but people like the ones i know, in my case, enable me to continue to have the opinion that there are people getting help who simply don't need it.

to sum up, this study does nothing to alter my opinion on the idea that state sponsored benefits are abused. its just another thing telling me that people who need help do not abuse it - but those who do not will.

</comment><comment><USER13> I assume that the authors of the paper want to change minds; if so, they should have titled and approached this topic differently. Research shows pretty conclusively people don't change their minds when directly confronted with a conclusion contrary to their preferred one.

Instead, I would suggest titles like "How much productive work does the government subsidize for welfare recipients?" with the surprising answer inside. Or even "An analysis of lazy welfare recipients" if they're willing to take backlash from more social-aid minded colleagues who only read the title.

<comment><USER14> can you link to any such research? that's a topic I'd love to read more about, but don't know where to start even. thx!

<comment><USER13> Perusing Brendan Nyhan's papers will get you a lot of reading in short order: [http://www.dartmouth.edu/~nyhan/](http://www.dartmouth.edu/~nyhan/).

This is one paper on the topic from another group: [http://pss.sagepub.com/content/early/2010/10/12/095679761038...](http://pss.sagepub.com/content/early/2010/10/12/0956797610385953.abstract)

This paper from Yale is pretty interesting: [http://www.motherjones.com/files/kahan_paper_cultural_cognit...](http://www.motherjones.com/files/kahan_paper_cultural_cognition_of_scientific_consesus.pdf)

</comment></comment></comment><comment><USER8> How many people here have any experience with or expertise with welfare programs?

<comment><USER15> I'm having meetings with local branches of the English Department for Work and Pensions to try to get some clarification around their rules for people claiming out of work disability benefits who also do work of various types.

The out of work disability benefits are currently Employment and Support Allowance (contributions based), Employment and Support Allowance (income related), and Universal Credit.

People on ESA might be in the work related activity group (can work, should work), or the support group (probably could work at some point, or with correct support, but DWP (and probably society) have given up on these people).

The work might be "therapeutic activity" (a regular activity, unpaid, organised by certain approved providers); "voluntary work" (needs to be for a charity, or approved by DWP), "service user participation" (sometimes paid, but not always, and this is the stuff I'm working hardest on to get some clarification about. Many people do it, and they probably should be declaring it in advance (disabled people need to ask permission before they do work!) and then declaring the small amounts of income, although the rules are unclear, or paid work.

If anyone wants to see the rules for this you can have a look at the Decision Makers Guide and the Advice for Decision Makers. (The ADM is for Universal Credit).

I know a bunch of people who do service user participation and they have no idea how to declare it, and the DWP have no idea what it is (even though it's in their rules) and so a bunch of people are inadvertently not in compliance with the rules. That's bad enough, but when DWP change their mind they treat the claimant as a fraudster and stop benefits, when the claimant has only ever done exactly what they were told by DWP.

[https://www.gov.uk/government/collections/decision-makers- gu...](https://www.gov.uk/government/collections/decision-makers-guide-staff- guide)

Any journos: Download the decision makers guide. Then print it all out and stack it up. Then find a handful of real people and try to make a decision about their case.

</comment></comment><comment><USER16> Welfare is really an economic stabilizer, in the same vein as "printing money," lowering interest rates, and raising taxes.

It's a macroeconomic tool government uses to keep the economy stable. It has nothing to do with laziness.

<comment><USER17> We heard you the first time.</comment></comment>


Datasight.io – Machine Learning for the Masses - <AUTHOR> http://datasight.io/

<comment><USER2> The flaw with "machine learning for the masses" is that the data still requires preprocessing in order to derive meaningful statistically significant conclusions. That skill is as difficult and tedious as implementing a machine learning algorithm itself.

More importantly, any valid ML analysis requires that the source data is _good_ , which is impossible to guarantee with this service.

<comment><USER3> That's one of my biggest problems with "any" of the ML as a service. You can't simply claim you can make things simpler for a lay audience when there is still a lot of infrastructure required for handling data, preprocessing/cleaning etc. At that point you will need some sort of data expertise anyways.

I've found most people who need machine learning usually want control of it/hosting it in house.

<comment><USER4> Hi there, founder here. Great point. We actually create a wrapper that allows you once finished to simply cut and paste a line from a CSV to get predictions - preprocessing, scaling, dummy encoding, PCA, etc all included.

We'll also deploy to an HTTP endpoint and you can call it and get JSON response.

Does that address your concerns?

<comment><USER3> It's great that you're doing all of this, there still comes a time when you're making a lot of assumptions, and I believe for most use cases a good default pipeline will work great for most use cases.

I know you guys are only targeting the very simple needs of people which is great. Keep in mind I'm far from your target audience being almost a little too deep in the machine learning side. Best of luck with it!

<comment><USER4> Making preprocessors for creating bag or words vectors from free text, a special IP address feature processor, etc - these are all the ways we're starting to make the automation smarter and more of a value add to experienced folks like yourself.

What value add would you want to see?

<comment><USER3> I usually roll my own.

I've found that certain things, especially NLP pipelines, are usually very tricky to get right.

Let me give you one example from my day to day:

Sentence segmentation/tokenization ---> part of speech tagger ---> filter words by part of speech and then rank by tfidf scores for topic relevance scoring.

Computer vision also has its own problems ---> binarize images for detection of certain kinds of features vs needing colors, so different kinds of image transformations for handling of different kinds of object recognition, or scene detection.

I also do churn prediction, by the time you're done vectorizing users, why should I take time out of my day to then upload all of this to an external service when I could just run logistic regression, random forest or what have you locally? I typically calculate profit curves and the like as well.

Re: your word vectors and deep learning. I do this in my distributed deep learning lib I hand wrote myself[1]. In my word2vec computations, I have found it takes a significant amount of data to tune right, I usually want control over this pipeline as well.

Again, not your target audience ;).

To give you some helpful feed back, don't try being everything to everybody, own a certain niche really well and run with it. If you'd like to take this discussion offline, I'd be more than happy to help, email is in my profile. Again, good luck with the service!

[1] [http://deeplearning4j.org/](http://deeplearning4j.org/)

</comment></comment></comment></comment></comment></comment><comment><USER3> It's not a bad idea, but it just doesn't seem to me that "general purpose" machine learning as a service has any real value for lay users.

I'd love to get others thoughts on this and if they would use a service like this what you would want in something like this.

I would imagine something like churn prediction as a service, face recognition as a service, sentiment analysis,... more concrete needs could be good.

The landscape is mainly APIs (wise.io,algorithms.io,..)

BigML does decision trees as a service which at least allows you to interpret the results with a good visualization.

Ersatz does neural nets as a service with a decent GUI and an API.

</comment><comment><USER5> I like this idea a lot, and I am a potential customer — I'm developing an app that would heavily rely on complicated data analysis, and I planned to find a data scientist after completing first prototypes.

However, there's nothing at this page right now that would convince me about this service. There's no actual examples of what your technology can achieve, there's no programming API, just a promise. I understand that you're still in development, and I'm not asking for full documentation and a page of famous logos under "they use us", but at least a code snippet or something like that would make it easier to visualize.

Right now, I'm lost; my data is a lot more complicated and inter-connected then a mere spreadsheet, will you support it? How will it work? What pricing will be, and how will it be calculated? Yes, I understand that you haven't decided yet on all this things, but that's the problem: there's nothing to show except for the idea yet.

Anyway, I really hope that this service will work great, and I wish you all the luck with it.

<comment><USER6> Datacratic has been doing what you ask for a while now (disclaimer, I work for them). We do ML, audience optimization, segmentation, multivariate and nonlinear models for small clients or for some of the largest shops in the industry. But the algorithms are indeed a small problem compared to building the on-demand infrastructure, managing the dataset, and all the rest of the challenges related to managing other people's data. Trust to handle data that doesn't belong to you is earned with great difficulty, unless it comes from shady sources.

</comment></comment><comment><USER7> doesn't look like solid project right now. One screenshot, few word about the idea. Nothing more. There is prediction.io which looks like much solid implementation, but I still don't like it. I don't like ML software that feels like blackbox. If I can't see learning stats/graphs - I don't trust results. There is also bigml.com, but I haven't played with this yet.

<comment><USER8> You should try [http://www.ersatzlabs.com](http://www.ersatzlabs.com) \-- sign up for the app at [http://api.ersatzlabs.com](http://api.ersatzlabs.com) invite code "ersatzbeta"

It's still in beta, but it's a lot more full featured than it was a few months ago. We're trying to make deep learning easy and we provide a variety of neural network algorithms backed by GPUs. Documentation still sucks... I'm co- founder.

It's a tricky balance w/ all of our products right now (BigML, Ersatz, prediction.io, datasight.io, wise.io, more) -- how to strike the right balance between appealing to Excel power users versus people who are very comfortable in matlab or python but still don't want to build their own if there's a significantly easier option.

<comment><USER4> Founder here. We also do deep learning, and we include hyperparameter optimization which is a very necessary component of training any good DBN. Feel free to contact me at firstname.lastname@example.com if you have questions.

</comment></comment></comment><comment><USER9> That's very interesting. I'm working on a similar concept, [http://www.predictobot.com](http://www.predictobot.com). I'm about two week from launching my beta, so I'm not sure who is further along. If any datasight.io guys are on here, we should talk. I'm in Boston, if you ex-MIT guys are still here.

</comment><comment><USER10> Unfortunate phonetic naming clash. [http://www.datacite.org/](http://www.datacite.org/)

<comment><USER4> Haha, this is great. Thanks for the link.

<comment><USER10> Seriously though. If this is a new thing you're launching you may want to consider re-naming before it becomes painful.

</comment></comment></comment><comment><USER11> How can I get access to this? I tried to email firstname.lastname@example.com but the address bounced</comment>


Man denies turning home into restaurant despite sign above door - <AUTHOR> https://www.theguardian.com/uk-news/2019/jan/11/man-denies-turning-home-into-restaurant-despite-sign-above-door <comment><USER2> It's a restaurant when he needs it to be and just his home when he doesn't. Thanks post truth era!</comment>


Chartist.js – Simple Responsive Charts - <AUTHOR> http://www.code-stuff.com/2014/11/chartistjs-simple-responsive-charts.html

<comment><USER2> The project's actual homepage is better and includes live examples: [http://gionkunz.github.io/chartist-js/](http://gionkunz.github.io/chartist- js/)

</comment><comment><USER3> Why is canvas considered "wrong technology for illustration"?

<comment><USER4> I don't believe it's necessarily the wrong tech for illustration... but SVG is maybe a more natural fit for graphing simple shapes like lines, bars, and circles... Also, Adobe Illustrator exports vector graphics which easily map to SVG and can even be exported directly to SVG. Additionally, the SVG makes it easier to attach event handlers to nodes within a graph so you can support mouse/touch interaction simply using the addEventListener... That said, canvas is closer to the pixel so you could implement vector graphics in canvas.

<comment><USER5> In my experience, SVG is the overall better fit for graphing, but canvas is much faster. I have a use case that requires plotting over 10,000 data points and the only free libraries that I've found that can do this quickly are canvas based ones.

</comment></comment></comment><comment><USER6> I would like to know how it compares to other graphing libraries. I am one of the current main contributers of Morris.js[1]. I really like some of the things this tackles. However, one of the main things I noticed missing is that there is no way to show the actual value of a point in the graph.

[1] [https://morrisjs.github.io/morris.js/](https://morrisjs.github.io/morris.js/)

</comment><comment><USER7> Looks really great. If you've tried to make a responsive chart in D3 then you know why this is useful.

</comment><comment><USER8> While it looks really nice, there is no way I could submit/deploy a project with that kind of licence bundled in the source code.

Guess you could just change the name etc but that's not really the point!

If one of the corporate legal team picked up on this there would probably be a small shit storm following!

                DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                        Version 2, December 2004

      Copyright (C) 2004 Sam Hocevar <email@example.com>

      Everyone is permitted to copy and distribute verbatim or modified
     copies of this license document, and changing it is allowed as long
     as the name is changed.

                DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

      0. You just DO WHAT THE FUCK YOU WANT TO.

<comment><USER9> If that really is the only barrier to using this then I'm sure a simple email to the sole copyright holder asking for an MIT/BSD/etc license to the code would solve your problem.

The author put together what looks like a nice library, let's not make an issue out of something so trivial to solve.

</comment></comment><comment><USER10> Those moving points really got me. Gotta look tonight (Github blocked @ company _sigh_ )

<comment><USER11> Tech company or... Wouldn't be able to imagine not having access to Github

</comment></comment><comment><USER12> Looks good, but I wish we could drag the points :(

<comment><USER13> why does a user need to move points in a chart?

"Actually last quarter's sales were..." <DRAGS POINT>

<comment><USER12> Well, I could point out several use cases but my specific one is: A time x space graph for tracking movement of vehicles where sometimes the user has to change the positioning of a GPS point that is not to his liking in a planning perspective.</comment></comment></comment>


Show HN: Home automation and lighting control with Kinect - <AUTHOR> http://nitrogen.posterous.com/home-automation-and-lighting-control-with-kin <comment><USER2> _For years radios had been operated by means of pressing buttons and turning dials; then as the technology became more sophisticated the controls were made touch-sensitive - you merely had to brush the panels with your fingers; now all you had to do was wave your hand in the general direction of the components and hope. It saved a lot of muscular expenditure of course, but meant that you had to sit infuriatingly still if you wanted to keep listening to the same programme._ \-- Hitchhiker's Guide To the Galaxy

<comment><AUTHOR> Impressive foresight from Douglas Adams there, though I suppose with the Theremin as precedent it's believable.

I confess that I did have exactly this problem in the early stages of development :).

</comment></comment><comment><USER3> Looks like his "automation controller" is a sheevaplug miniature "plug computer".

<http://en.wikipedia.org/wiki/SheevaPlug>

I'd love to know more about all of the steps involved with hooking that up to a Kinect and getting it to process input and perform tasks.

<comment><AUTHOR> It involves a lot of custom software that I will be describing in more detail in the future. Naturally there's also some open source code, like libfreenect and Linux+GNU.

<comment><USER3> You know what'd be awesome? (Just throwing it out here). If the lights smoothly ramp up and down instead of winking on and off. It'd be way more Star Trek and much more impressive looking to the uninitiated. (Although, if you're already using X10 or similar modules to control the lights, ridiculously easy to actually add.)

<comment><AUTHOR> They do fade smoothly, actually, but the limited dynamic range of the camera hides this.

</comment></comment></comment></comment><comment><USER4> Just quickly, do others also pronounce "posterous" as nitrogen does in the video? (post to rhyme with "frost" rather than "post")

I might have it all wrong! Assumed it was because you were "posting" something, not a play on "preposterous."

<comment><AUTHOR> In the Mixergy interview I saw (I think it's this one: <http://mixergy.com/posterous-heyzap-etacts/>), Posterous's founder pronounced it to rhyme with frost and preposterous (as in "preposterously easy" IIRC).

</comment></comment><comment><USER5> It would be nice if it would pause the movie when he gets up to grab a snack

<comment><USER6> Maybe you got up because it's a boring part. I think an autonomous system like this should assume the minimum possible.

<comment><USER7> Of course if you have xbox you can always voice command it to pause if you really want it to pause when you get up.

</comment></comment></comment><comment><USER8> My cat just got more annoying.

Though I wonder how hard it would be to deal with given the kinetic can see outlines . . .

<comment><AUTHOR> You could design your control system so that the cat can't reach the active control area.

</comment></comment><comment><USER9> Very impressive setup he's got. Might have to get him to setup my house.

</comment><comment><USER10> I wonder what happens when there are multiple people in the house, coming in and out of rooms, etc.

<comment><AUTHOR> At present it considers the zone with the highest occupation as the active zone. I will be adding better support for multiple people in the future.

<comment><USER11> This comment made me smile as I thought about how it sounded.

Great work. Looking forward to exploring the code someday.

</comment></comment></comment><comment><USER12> Cool stuff, but I was half-expecting that you would be detecting touching/tapping light fixtures with a finger and using _that_ to turn them on and off. Version 2 perhaps? :)

</comment><comment><USER13> Would this actually save electricity? Wouldn't the power used by the Kinect and the host computer/server outweigh the electricity used by keeping a few unnecessary lamps on?

<comment><USER3> His whole control computer uses around 5 watts. I think a Kinect might take 2 more. It doesn't take much lamp off time to break even and start seeing savings.

But that's not why geeks do such things. If you're going to take over the world, the lights simply _must_ automatically come on when entering your lair, accompanied by a cold, female, disembodied voice intoning " _Wel_ come, _Doc_ tor".

You _are_ planning on doing the voice eventually as well, right Nitro?

<comment><AUTHOR> Heh, there's already a voice, but for now it's just espeak or festival, and it's usually disabled.

And yes, the system uses very, very little power compared to the lights. My light dimmer uses ~4 watts when off, while each single bulb uses 100 (still waiting for dimmable fluorescents to be able to dim smoothly to zero). I've measured the Kinect at ~4W as well. One thing to keep in mind with home automation is that, yes, it usually does save power, but that's not why you do it -- it's about saving time.

<comment><USER13> Thanks for the info, I just wondered about power usage to understand the practicalities of the technology. I understand the other benefits, like the fact it looks awesome and none of your friend's houses can do it!

</comment></comment></comment></comment><comment><USER14> At the heart of the ridiculous, the sublime.</comment>


Job loss due to AI – How bad is it going to be? - <AUTHOR> https://www.skynettoday.com/editorials/ai-automation-job-loss <comment><USER2> There is no "it's going to be". It's been happening for a long time. The article is way too long to describe this simple issue, IMO. Millions of bartenders, cashiers, etc. losing their jobs might not have another "simple" job to find anymore. The question then becomes what are we (or what are the elites, really) going to do with these people.

<comment><USER3> > The question then becomes what are we (or what are the elites, really) going > to do with these people.

Will give them money, drugs and computer games and some other distractions. Because we need their votes to sustain illusion of the republic.

It did already happen in Roman Republic. When conquests delivered unlimited amounts of free labor force small artisans and farmers could not compete but they had been able to vote.

As the autocracy had been anathema to Romans the state provided panem et circa [1]. And the republic survived another few hundred years. We are calling it Roman Empire but formally it had been the republic with voting going on every year on Fields of Mars and SPQR[2] on its banners.

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

[2] [https://pl.wikipedia.org/wiki/Senatus_Populusque_Romanus](https://pl.wikipedia.org/wiki/Senatus_Populusque_Romanus)</comment></comment>