Europe's Cities Weren't Built for This Kind of Heat - <AUTHOR> https://www.citylab.com/environment/2019/07/europe-heat-wave-temperature-cities-climate-change-plan/594811/ <comment><USER2> I grew up in South Spain, in a European city that goes beyond 40° celsius for 1-2 months in a row during summer and we never had an aircon. How we did it? Just white painted house, with thick walls. Open the windows during the night and keep them closed during the day. It works perfectly.

One of the big problems is paper thin walls of modern buildings and using materials and colors that absorb and retain heat. We have the technical solutions since centuries but there is no willing to do things properly in this crazy captalistic society that we live now.

<comment><USER3> Sorry to burst your bubble, but if you lived in the south of Spain it means you had cool air currents from the sea always blowing and generating ventilation when you opened the windows.

In central Europe, we have no sea, no coast and no winds to bring cool air in summer.

I'm in Austria, and due to the lack of wind, at night the temperature doesn't drop much and even with all the doors and windows of my apartment wide open the air is literally sitting still and we're boiling.

<comment><USER4> In my experience, in towns like Merida or Córdoba, some 400km away for the nearest coastal site, there's not much of a sea breeze whatsoever. Also, most of that part of Spain is in a Mesa well over 2k ft. ASL. Finally, 1st. hand experience as of last summer, temperatures don't drop at all at night, staying in the low thirties (Celsius) for the night. This year seems nicer surprisingly.

</comment></comment></comment><comment><USER5> I just come from Mexico (Monterrey) where it was regularly 35+ degrees. And now I'm in Belgium in this heat (40+ today) and it's unimaginable how bad it is here.

Usually in Belgium things turn horrible when it's just 30+ because we have no decent installation to deal with this heat. Almost no places have airco so the best you can hope for is a fan. And that just doesn't help that much. Really hard to concentrate on work in this heat. Plus biking to work (largely uphill) makes me sweat more in a day than usually in a week. Not that pleasant to arrive at work like that either.

At least in our home in Mexico there is airco in each room and most places you visit have airco as well.

(Though we have the opposite problem in winter. No good heating in our home in Mexico but great heating in Belgium).

EDIT: And tomorrow I have to use public transportation. Imagine that, a bus without airco full of people sweating. Just want to rant about this, because for all the promoting they do for public transportation, you'd at least except to not melt.

<comment><USER6> I don't know how to fix the worlds problems, but I do know that everyone in Europe getting AC isn't going to be the answer to rising temperatures.

In tropical places we deal with heat by having open houses that allow breeze. But I don't know that will work in a place with winter. I offer no solutions but increasing energy consumption across Europe isn't one.

<comment><USER7> Why not? Is the solution that everyone boils? We have technology to tame the hot interior of buildings. To many people, it's like Jehovah's Witnesses and blood transfusions though — irrational religious opposition to a modern tech that solves a problem. Just suffering through the heat is becoming a martyr for no good reason.

It's hot. Get air conditioning. Build some nuclear plants to make more clean electricity. Problem solved.

<comment> maze-le You cannot cool down a building without making the exterior even warmer -- this is the second law of thermodynamics. The Problem is not "solved" by producing even more energy and thus generating entropy (unusable heat).

Certain institutions need air conditioning though -- hospitals, elder care, etc. so I wouldn't forbid it outright -- but using AC everywhere seems excessive (written at 33°C at 20:23 in Germany).

<comment><USER8> Geez, 33 degrees at 20:23? That's absolutely brutal. I hope you and yours are doing okay.

<comment> maze-le Thanks, I am fine, had a hard time concentrating at work today, but except for that I am doing well. I worry about the people with heart or circulatory conditions though -- not everyone is equipped to handle these temperatures.

</comment></comment></comment></comment></comment></comment><comment><USER9> Homes here in the Netherlands rarely have airco and many friends have no airco at work either. (Luckily I have at work but not at home) Today for the first time measured we had temperatures above 40 degrees Celsius.

Last summer we had a drought that made all grass fields look yellow and many trees losing branches and bark. They say with changing climate the current types of trees won't survive. We are again low on water as farmers cannot use water from the canals.

This is becoming the new normal...

<comment><USER10> Time to buy some air conditioning stocks

<comment><USER11> Or start a HVAC company that specialized in AC unit installation/maintenance.

<comment><USER12> Heatpumps are better.

<comment><USER13> I'm curious what you mean by this.

A typical AC in the US is a compressor based heat-pump, though the term "heat pump" is colloquially used to describe a compressor based heat-pump used to heat, rather than cool, a building.

Lastly the term HVAC is a catchall that includes heat pumps.

<comment><USER12> I don't live in the US and we don't use the term HVAC here.

I'm aware of the difference between the colloquial use of the word 'heat-pump' and the technical one, on the off chance that you really did not understand me I meant the ones where you use an in-ground heat source or sink to cool or heat a building by the movement of a working fluid.

The basic idea is that such a device can save you money because it does not need the same amount of energy that you would be using in a more traditional heating and cooling setup.

<comment><USER13> > I'm aware of the difference between the colloquial use of the word 'heat- > pump' and the technical one, on the off chance that you really did not > understand me I meant the ones where you use an in-ground heat source or > sink to cool or heat a building by the movement of a working fluid.

I really did not understand you, thanks for clarifying. I've heard of below- ground heat-pumps but have yet to see one in real life. A friend of mine who lives in a less temperate part of the US investigated it, but it was too long of a payback time due to the much increased installation costs.

<comment><USER12> Here in NL we heat homes typically by burning natural gas. The natural gas reserves are not nearly depleted but the reservoirs are collapsing causing earth quakes that damage houses built on/near the gas fields. This has led to a huge push for alternative ways to heat homes, and one of the few feasible ones for many reasons is heat pumps. So there are quite a few of them deployed and there is talk of subsidies or subsidized loans for people that want to install one.

The goal is to stop building new houses connected to the gas infrastructure soon.

<comment><USER13> My friend is not connected to the natural gas infrastructure (too remote), so it was going to be either electric or liquefied petroleum gas with an on-site tank that was periodically refilled.

On the time frame he was considering, a heat pump was chaper, the propane was more reliable (when the electricity goes out, it's often winter), and the below ground heat-pump was so expensive to install that it made no sense. Not sure what winters are like in NL, but average low where he is would be -8C in January with anything below about -15C being unusually cold.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I was in Paris earlier this month when it was very hot and it was really amazing just how unprepared everyone is.

No Screens on the windows

No fans

No AC except in the museums

No insulation in any of the places we stayed (France, Germany, Switzerland)

Stuff like Gatorade, Electrolyte drinks, etc.. mostly missing in action

Everyone drinking lots of alcohol in the heat (dehydrating)

The lack of fans & screens was more surprising than the lack of A/C, which I understood as not really needed since they are very far north. Lack of insulation was really weird too since historically those areas get really cold.

I'm from the Boston area we have had temps near 100F/38C since I was a kid, basically every summer.

The weather in Paris was not particularly hot based on growing up in New England, and it was less humid. But it was relentless since there was no way to be prepared for it.

We noticed an awful lot of people seemed to be in denial about wearing appropriate clothes in the heat too.. pants, long sleeve shirts, jackets, etc.. when it was 90F/32C.

<comment><USER15> Not sure what insulation you were expecting, but I've been around Germany and I've always found the insulation good. I.e. no drafts, thick walls, double- pane windows and both the windows and outside doors close properly. Fans were all over though. I'm not sure what you mean by screens.

<comment><USER14> I mean insect screens. If you've got biting/disease-spreading insects you can't open your windows when it's hot if you have no AC.

There were very few biting insects that I saw in France/Germany/Switzerland but with climate change they will probably arrive and compound the heat problems.

I have been told northern Europe (Scandinavia) has plenty of biting insects like the US.

The walls were thick everywhere I saw but they just looked like concrete walls, not walls with modern insulation. Someone mentioned above modern insulation is significantly more effective than concrete.

</comment></comment></comment><comment><USER16> So have we started to do the easiest most obvious things to save energy? Commercial building rooftops that are black in Winter and white in Summer-- this would require little more than a special tarp. Food stores that do Not have wide open refrigerator aisles. Hot water piping insulation--both on domestic HW and heating lines. Use of shades to difuse or block sunlight in Summer and alow it in during Winter. The answer is Nope we have Not... so until we get serious and consider the easy things that will add up to a huge cumulative gain--how can we hope to convince Joe 6 pack that he should plan his trips out to the store for beer in an economical fashion?

I known everyone is swinging for the fences here in terms of getting off fossil fuels--but hey lots of times a single is what is needed to win the game. Just sayin.

</comment><comment><USER17> We require state level (think of war) mobilization to properly combat all aspects of climate change. Streets in city centers should be lined with trees, research is required to find a suitable alternative to asphalt -- or perhaps a way to simply make our streets less black. I'd even support research into ways to artificially construct wind tunnels using tall buildings.

<comment><USER18> In my city they cut down 10 meters of gardens around blocks of flats to make room for parking cars. Nobody bats an eye because parking is a bigger problem for them.

</comment></comment><comment><USER19> Good thread on how railroads in the northern latitudes were designed & built under different climate assumptions, and are now failing in this unprecedented heat

[https://twitter.com/alexwlchan/status/1154122791958040581](https://twitter.com/alexwlchan/status/1154122791958040581)

<comment><USER20> Never thought I would be so enthralled with railway construction.

<comment><USER19> same here - that guy is excellent!

</comment></comment></comment><comment><USER21> Live in an old 19th century cottage in the UK... usually the thick stone walls work well - keep the heat in during the winter months and keep it cool during summer.

It's bloody boiling in here today!

<comment><USER22> My cousin lives up in East Anglia in a house built in the mid 1300s. They have bought box fans for every room otherwise they cannot even sleep. No aircon, obviously. The local council will not allow the house to be retrofitted since it's historical.

<comment><USER23> There are mobile aircons, no drilling holes required.

<comment><USER24> Please make sure your wiring and electric box can support an air conditioner (mobile or not). You don't want to cause a blow out or fire...

A separate circuit for the A/C (window unit, mobile or central) is ideal, if possible.

Peace

<comment><USER25> A mobile AC draws hardly any amps. I tested mine that is rated for 700sqft to pull 6 amps at 110v.

</comment></comment></comment></comment></comment><comment><USER26> Passive house owner here. Outside we had 38 degree today. Inside it's still 25 degree without air conditioning. The house has blinds outside, massive concrete walls and ~25cm of thermal insulation.

</comment><comment> 0-_-0 Sitting on a bus right now in London, trying to get home. The trains are just completely f __*ed and I 'm melting.

</comment><comment><USER27> > Not only are temperatures exceeding pretty much everywhere in the United > States right now

This is a bit misleading. Our big heat wave was last week, temperatures about the same as in this article (and the heat index around 10 F higher).

</comment><comment><USER28> Thank the Lord it's just a matter of buying air conditioners.

I'm sure next year we'll read the same news: "people are boiling!". Okay, why didn't you buy an air conditioner last year, eh?

</comment><comment><USER29> Is it smart to buy property in Scotland/Sweden? Yeah I know "real smart thing would be fighting climate change together" bla-bla-bla.

<comment><USER30> No, those places are quite socialized, they're not far off from nationalizing private real estate when it suites them.

<comment><USER31> I am afraid that characterization is simply not accurate. Scandinavian model countries are not regularly nationalizing individuals property.

Furthermore, they regularly have the highest international rankings in happiness, education, and health.</comment></comment></comment>


Don't Call Yourself a Programmer, and Other Career Advice - kenny-log_ins http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ <comment><AUTHOR> It was posted many times before also discussed many times before. You can check with hn.algolia.com

Don't Call Yourself a Programmer 1006 points jambo 4 years ago 270 comments ([http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/))

Don't Call Yourself A Programmer, And Other Career Advice (2011) 102 points ColinWright a year ago 45 comments ([http://www.kalzumeus.com/2011/10/28/dont- call-yourself-a-pro...](http://www.kalzumeus.com/2011/10/28/dont-call- yourself-a-programmer?HN_20140807))

Don't call yourself a programmer (2011) 80 points jrslv 5 months ago 84 comments ([http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/))

Don't Call Yourself A Programmer, And Other Career Advice (2011) 8 points Katelyn a year ago 1 comment ([http://www.kalzumeus.com/2011/10/28/dont-call- yourself-a-pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- programmer/))

Don't Call Yourself a Programmer, and Other Career Advice 4 points kenny- log_ins 2 hours ago 1 comment ([http://www.kalzumeus.com/2011/10/28/dont-call- yourself-a-pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- programmer/))

Dont call yourself a programmer (2011) 50 points MindTwister 3 years ago 46 comments ([http://www.kalzumeus.com/2011/10/28/](http://www.kalzumeus.com/2011/10/28/))

edit: better formatting

<comment><USER2> Your links lead to the article again ... These ones lead to the comments:

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

<comment><AUTHOR> copy-pasted blindly!

</comment></comment></comment><comment><USER3> > Someone who claims to Lead Efforts To Optimize Production while having the > title Sandwich Artist is overstating their accomplishments.

I'm not so sure of that. Does this guy realize how ridiculously long it takes some sandwich shops to make a sandwich? Any Lead[ing] [of] Efforts to Optimize Production would be a welcome change, and if said candidate really did so in a sandwich shop like Togo's (which is _notorious_ for taking, like, 10 minutes to make a goddamn sandwich when the local Port of Subs or Subway takes, like, 2 for an equivalent sandwich), I'd hire that candidate in an instant.

</comment><comment> kenny-log_ins I posted this because I thought that while most HN readers probably don't think like this, it's a useful exercise to get a different perspective in case you come across people who do.</comment>


Twitter is dead to me - <AUTHOR> http://dendory.net/blog.php?id=4e440954

<comment><USER2> My experience is completely different. I find it a useful source of material from people I don't know directly, but respect, and a great way to interact daily with people I know, respect, and don't get to see often enough.

I don't understand people who complain in this sort of manner - the experience they describe is completely alien to me. I've carefully curated who I follow, and benefit enormously.

So yes, maybe "it's just you."</comment>


Why We Lie So Well - <AUTHOR> http://euraeka.com/articles/6156553-Why-We-Lie-So-Well

<comment><USER2> Lieing has a built in forcing function which serves to motivate a liar to hone their skill. As the article mentions, one lies to make the world easier; to avoid harm or receive undeserved reward. But if one is caught in a lie, there harsh punishment. For obvious lies, this punishment is immediate. Parents send you to your room without supper, removed from class, found in contempt of court. This forcing function serves to teach one to refine deception; using deny-ability, vagueness, omission.</comment>


VentureMap Boston--a visualization of thousands of VC-backed startups - <AUTHOR> https://www.producthunt.com/posts/venturemap-boston <comment><USER2> Here is the actual link to the interactive map. [https://www.ventureapp.com/map/boston- tech/](https://www.ventureapp.com/map/boston-tech/)</comment>


Udacity "Ultimate Data Analyst Skills Checklist" [pdf] - <AUTHOR> http://1onjea25cyhx3uvxgs4vu325.wpengine.netdna-cdn.com/wp-content/uploads/2014/12/UdacityUltimateSkillChecklistForYourFirstDataAnalystJob.pdf <comment><AUTHOR> Udacity announced new hiring partnerships with companies such as Amazon Alexa, Slack, Samsung, and more. They are link to this rather informative document with a checklist for a first time data analyst hire.</comment>


Not My American Dream - <AUTHOR> http://bufr.tumblr.com/post/8133423480/not-my-american-dream

<comment><USER4> _They were getting pregnant, or married, or worse - <USER3>

I find it funny that people can find such beauty in a place like San Fransisco, sing it's praises for openness and tolerance but yet when it comes to religion be as closed minded as the bigots they despise.

Religion is not the problem just as philosophy is not the problem, mans inhumanity to man is the problem and statements like _..or worse - <USER3> are exactly the same inhumanity in a smug nihilistic, hipster, condescending mask.

It's the opposite end of the same coin, it is no different then the rabid anti-gay coalitions quest to morally police the masses bedrooms, by citing a book, as their justification, that clearly states _Let he among you without sin cast the first stone_.

You would be well served to leave out the cometary that could alienate a portion of your readership. Ask yourself, did my jab help further my story. You should respects a persons choice no matter how ill conceived you think it is, because someone will think a choice you have made is just as illogical and use your intolerance as their justification in their intolerance. Intolerance is recursive.

</comment><comment><USER5> Being addicted to travel is probably just a side-effect of staying in a place like Oklahoma for so long.

<comment><USER6> This is my theory as to why we Australians are stereotypically addicted to travel.

</comment></comment><comment><USER6> Welcome to the world. (yes, believe it or not, there actually is something outside middle America)</comment>


Raspberry Pi: Manufacturing Hiccup - <AUTHOR> http://www.raspberrypi.org/archives/781

<comment><USER3> I find fascinating the "open source" view we get into manufacturing here. No "real" real company will throw out there the "oh, we mucked up, your products are coming a week late" and then go on to explain exactly what, and why.

It's nice to see the real side of how things are made, and to develop an understanding that usually nothing ever works out on the first go. It really enforces the lesson of "don't be afraid to fail, and don't get discouraged" As I know many people who have tried, do.

<comment><USER4> Absolutely agree. It's too bad this happened, but they've turned it into something interesting, and by clearly explaining what's going on, one would hope that customers will be understanding.

It reminded me a bit of these guys:

<http://blog.saleae.com/?p=143>

Different problem, but same kind of "small-company" response.

<comment><USER3> yeah, it's nice, isn't it. I've been aware of saleae for awhile, I really like the look of their products. I haven't had a practical reason to buy them yet, but someday I plan on getting their analyzer.

<comment><USER4> I bought a Logic-8 from them a while back - definitely worth the money. And they seem like an awesome company too. I inquired as to whether they were going add a particular feature to the Logic-16, and while the answer was essentially 'not any time soon', the founder who replied was kind enough to add "Let me know what sort of application you have in mind -- maybe I can point you to some other solutions out there that might work, and maybe even be cheaper."

</comment></comment></comment></comment><comment><USER5> Nice to know they care and don't just ship anyways (it would probably work anyways in many cases, but cause lots of frustration).

Since the author didn't mention it in the article, the "magnetics" are actually small transformers that filter noise, DC and make it harder to fry your board via the network port.

<comment><USER6> Tiny versions of these? <http://en.wikipedia.org/wiki/Ferrite_bead>

<comment><USER5> No, they're real transformers, electrically separating board from network. Here's a schematic (first picture from the top, the box labeled _Integrated Ethernet Connector_ ): <http://www.conformity.com/artman/publish/printer_139.shtml>

Alternatively these can be mounted as as separate component[1] on the board in conjunction with the "plain" type of connector that the Raspberry manufacturers used by accident.

[1] Looks like this: <http://www.alliedcomponents.com/lan.php>

<comment><USER7> Interesting. I always wondered what those little black boxes on NICs were - but I never bothered looking them up. It's pretty amazing that modern manufacturing can fit that kind of component into the ethernet port itself.

</comment></comment></comment></comment><comment><USER8> See <http://news.ycombinator.com/item?id=3448677>

This is a pretty standard 'hiccup' in manufacturing. Sadly its more common when your factory is 'remote'[1] than it is when your factory is local. If you read Bunnie's blog [2] about the Chumby he's got a number of fascinating stories about how things can go sideways.

Take notes you budding product designers that requires manufacturing actual widgets, its a whole lot uglier than you might think :-)

[1] yes that is code for 'outsourced to China.'

[2] <http://www.bunniestudios.com/blog/?cat=6>

</comment><comment><USER9> I actually doubt its an accident. One of the problems you have to deal with when manufacturing in China is "substitutions". In China, the contract you sign is just a place to start negotiations and the prototype that they first present to you is considered a loose guide to how they will build the actual product.

As time wears on and numbers increase, you'll find all sorts of tweaks to save a penny or two showing up on your latest batches. They don't _try_ to make your product non-functional, but they might make a mistake on a substitution going after that 1/10th of a penny.

</comment><comment><USER10> Raspberry Pi are acing customer relations by turning a little bit of bad news into something really interesting and engaging. Kudos

</comment><comment><USER11> Glad I'm not the only one who manages to order just _one_ slightly incorrect part for every hardware project I work on.

<comment><USER12> I feel sorry for the person doing the rework.

8 legs to desolder, on a 6 layer board, where the pads are going to be small (because of pin density) and where the component shape means you can't just cut the thing off and take the pins out individually. The click-through legs of the socket make it harder to apply heat to the pads and wobble the component out (which you shouldn't do anyway, but people do.)

And then the new connectors need to be soldered back on.

<comment><USER13> Just curious since I had a hard time doing a simple soldering project.

Would it be difficult even if they had some equipment to precisely maintain temps and suck out the solder? Does such equipment even exist?

<comment><USER12> Yes, you can get soldering irons with hollow tips and vacuum pumps especially for rework work.

(<http://uk.rs-online.com/web/p/soldering-stations/0165396/>)

For a small quantity of items you can get "solder suckers" which are spring loaded pumps with a high temp nozzle. You have that in one with the iron in the other hand. You'd clean the pads with solder wick afterwards.

<comment><USER14> Also solder wicks, for those of us who don't have rework stations.

</comment></comment></comment></comment></comment><comment><USER15> I'd be interested to know what kind of x-ray device they used to get those images? How much does one cost, and are they affordable (and safe) for a hobbyist to use?

<comment><USER5> Something like this: [http://www.nikonmetrology.com/en_EU/Products/X-ray-and- CT-In...](http://www.nikonmetrology.com/en_EU/Products/X-ray-and-CT- Inspection/X-ray-systems-for-electronics-inspection/XT-V-130-Electronics-X- ray-system)

It weighs slightly over a (metric) ton, and despite being marketed as "low cost" model, it's not something the average hobbyist can afford. Or even needs :)

And yes, it's lead-lined, completely enclosed and safe to use as long as you don't put your hamster in it.

<comment><USER15> So nothing on the App store or Android market then?!

<comment><USER16> Not sure if you're serious, but most phones lack an x-ray emitter.

</comment></comment></comment></comment><comment><USER17> This stuff happens, it's not a problem. I just wish that the project was less in a hurry because it's a no profit organization so there are no time-to- market issues.

<comment><USER18> I'm not complaining, it's surely no easy task, but how can you claim they are unduly in a hurry? They were 3 months behind their original plan.

This was a mistake by their manufacturers, and could have happened no matter how long they took.

<comment><USER19> they were only 3 monthsd behind if you took November as their shipping date, that was pretty much the earliest it could have been for a Q4 release, whereas it could have been as late as end Dec.

</comment></comment></comment><comment><USER20> This is totally like that time back in '83 when Acorn couldn't manufacture enough ULA's for the Electron in time for Christmas. Probably some of the same people involved too!

</comment><comment><USER21> Interesting post.

Could someone explain, for a non-hardware guy, why the magnetics are necessary?

If they are necessary, why do jacks without them exist?

<comment><USER12> partly for impedance matching, partly for noise filtering.

(<http://en.wikipedia.org/wiki/Impedance_matching>)

You can use a component on the PCB, or a component built into the socket.

</comment></comment><comment><USER22> As one of the commentors said... Sh*t happens. Not their fault...

<comment><USER23> I don't see it the same way. The article says they spec'ed a certain part on the BOM and the manufacturing house dropped in a different part. I see this all the time from overseas board houses that think they can get away with subbing in a cheaper part and charging the same price.

If this was my vendor and something like this happened, believe me, this would not be "Shit Happens" and a shrug all around from my management.

<comment><USER24> To be fair, the "shit happens" statement is from the POV of a customer - <USER2> that's quite correct. We don't have further insight in to what the Raspberry Pi foundation is doing or communicating to their manufacturer and I doubt it's a "ship happens" attitude there as well - but that's just a guess and that's all either of us really have.

</comment></comment></comment><comment><USER25> When have you ever before seen an apology from a computer supplier about delays in delivery, that actually went as far as including x-rays of the parts involved, just to illustrate to ordinary customers how exactly it all went wrong?

<comment><USER12> This is an excellent post by the foundation. I'm pleased they're showing people the actual parts. (After the launch I have no doubt there are some people vigorously complaining about this too.)

It would be really nice if they now link to some good quality electronic engineering page to explain what "magnetics" are, and how they work, and why they're used in network connectors. Teaching people about computing is great. Teaching people about electronic engineering would also be great.</comment></comment>


Ask HN: Why am I getting asked to review books? - <AUTHOR>

I've been approached to review books a number of times now. I'm curious to know if this is common or not. Has anyone here been approached to do a book review? If yes, have you ever gone through with one? How does it work? Is it worth doing?<p>From my experience, in return for the review you get 2 free copies of the book and a mention. <comment><USER2> I have written several thousand review articles over the last dozen years or so. Reviews of (in descending order) comics, books, films and albums, for diverse print and digital media. It is possible that those who approached you sincerely would like your take specifically. That does happen, but more often, I have found, is the case of reviewing being a cheap effort at adcopy.

Honestly, I feel that aside from family and friends of those responsible for the source work, reviews generally go unread by the bulk of the masses. I really think most PR persons are incredibly lazy, and instead of making efforts to think outside of boxes, rely heavily on the old standbys of reviews, interviews, and press releases (ready for copy and pasting among the blogging elite). If the creator responsible is not "a name", then PR persons are compelled to get someone, anyone, to view the work. And then, more often than not, the PR persons pray that such person will do the selling for them.

I realize this sounds bitter. (I've spent far more efforts on promoting indie creators than I have on developing my own works, to very mixed results.) But ultimately, composing review articles is essentially unpaid adcopy work. I think a strong review should be handled along the lines of a high school book report. The habit can be a neat exercise unto itself, as far as writing in general. But there are many snakes in the grass.

All said, if the work/s in question truly strike you (for good or ill), then by all means have a go at formulating your opinion on the matter for others. If only for the sake of trying something new. But be weary of getting locked into it. You do one review, then the publisher or producer may well send you another soon enough. And as I am fond of saying, inundation only suits dry fields.</comment>


Ask HN: What is your best way to learn a new programming language? - <AUTHOR> I know the good old answer, practice.
But are there any tricks that work for you while learning a New Language or you just get better.
I want to learn Swift as my new language so how do I approach it.
I know a lot of different languages but they have basically same syntax (C, C++, Java, JavaScript) but it takes me a lot of time to get a good grip of it and I am not sure if experienced developers feel the same or do they learn it faster.
So what's the best way to learn it and maybe the fastest? <comment><USER2> Lots of different techniques.

1\. Write a program in the language that I've done before just to get familiar with the tooling. My go to for years was a better Eliza clone. From 1991-2008, I wrote it in AppleSoft Basic, GW Basic,HyperCard, VMS DCL, Visual Basic, C#, PHP, and JavaScript.

2\. On the job. I hate hobby side projects. I'm not creative enough to come up with anything interesting and I feel like it's a waste of my time to build something that will never get used. I would rather just work on a proof of concept related to my job after hours and show it during a lunch and learn. I get real feedback from peers and if it's implemented, I get to "productize it" and see it in the real world.

3\. On the job (part 2), I'm at a point in my career, where companies will hire me if I only have half of the required experience in the technologies they use because I've worked at a lot of small companies where I've led projects either officially as a team lead or unofficially because the team was so small I could take the lead. I can usually get a job based on what I know well and they give me the opportunity to learn what I don't know while doing a project. I'm more than willing to put the time in to get familiar with a technology I don't know.

4\. PluralSight - I'll watch videos to get an overview of a technology usually before I go to work in the morning while working out in my home gym.

5\. Certifications - I don't believe most certifications are worth it from a career standpoint and when I'm hiring, I take many of them -especially developer certifications - as a negative signal. I wanted to learn C# in and out in 2008 when I was transitioning from 12 years of C/C++, did a combination of 1-3 and did the highest level of MS developer certification that required 6 tests. I never put the cert on my resume or talked about it during an interview, but it forced me into an organized learning path.

I'm working on my AWS certifications now for the same reason - to force me into an organized learning path. But I will put these on my resume, they seem to carry weight - especially at consulting companies.

<comment><AUTHOR> Point 2 is spot on. I sometimes make projects that nobody will ever use, not even me. I heard this advice from someone. Make lots of throwaway projects to get familiar with the technology. But I took it too far. I only used it to make throwaway projects. Now will make something that is useful. Thanks for all the insights. Very helpful.

</comment></comment><comment><USER3> All the other answers I've read so far have been good, but do not explicitly mention a key factor that has helped me learn so much.

Do your damndest to find a person more experienced with you in the language that can offer a code review after you create a mini-project or otherwise contributed to a codebase. I've learned alot on my own but having an objective person who understands the language better & can point out things like 'that thing you did in 3 lines of code can be done in 1 with this syntax in this language' has been invaluable to me.

Tap your professional network if you've got one, find a way to get this as part of your learning. I doubt you'll regret it.

<comment><USER4> Do you know of any website doing this? Similar to language tandems where each person brings something to the table.

<comment><USER5> Yes, [http://exercism.io/](http://exercism.io/)

</comment></comment></comment><comment><USER6> First thing I do is look up that language on stackoverflow. There is an info tab which is generally filled out with a ton of resources for that language, for example: [https://stackoverflow.com/tags/go/info](https://stackoverflow.com/tags/go/info)

Then I pick a simple project that will teach me both the basics and use whatever it is I'm interested in with that particular language.

Additionally, I start a new repo with code snippets. When I need to learn something I write a simple program with an example of it and maybe some variations. So I might have a file named equal.rb and compare equality with ==, eq, nils, "", etc... This helps me learn a specific aspect and later becomes my reference when I say "I know I did this before", it's a lot easier to find in my repo than find a location in a book and remember.

</comment><comment><USER7> Yes. I usually do one or several projects to learn how a new language works. The projects I do depend on the language. I hate reading books and even moreso watching videos about a specific programming language, but thats prolly just my ADSD self.

Here's a project I'd do for Swift.

1\. Write a chat server / client. (this will quickly let you see how async/threads/channels works and how good the networking libs are). You can easily go further and add a GUI to see what thats like. Add Sqlite for managing contacts/settings to see how the db layer works.

2\. extract things into libraries/modules/packages i.e.whatever swift calls it, to learn how their pkg and version mgmt system works.

3\. As soon as you have something working push it to a server and get it running. Add a bash script to do this automatically. The goal here is to learn how to actually release and deploy using swift.

It doesnt have to be a chat app, I usually do something thats like a problem I'm currently working on, and its best if you can actually use it to solve some real world problem. It just needs to be something that has a lot of places where you can explore parts of the language i.e. db,networking,async,etc.

<comment><AUTHOR> The problem is it gets really irritating building the same thing again & again in multiple different languages. The only application I have repeated is a Todo App. But nice advice, I will apply it while learning Swift.

</comment></comment><comment><USER8> It helps to have a stock project or two that let you exercise I/O, data structures, standard library, benchmarking and so on.

For me I have a couple:

1) A nonlexical phrase extractor. Read in a lexicon of words, read in a narrative document, subtract words from the lexicon from the document, collect all remaining strings with word length > 2\. Voila, most of them will be names of people.

2) Build an on disk bloom filter. Pretty straightforward, the most complicated part is finding suitable hash functions and figuring out how the local mmap library works and working out the arithmetic for bit flipping amongst a big array of bytes.

Neither of these are very complicated or require lots of work to set up. But when you're done you'll know most of the operators, how to read in and write out things, how to interact with the standard library, control flow and so on. I can usually hammer both of these out in an afternoon.

A few people I know have more advanced "simple" projects, like ones that require figuring out the local threading system, sockets and so on: e.g. write a simple web server. It kind of depends on what kind of work you generally do.

</comment><comment><USER9> I usually write something small that I've written multiple times before. I try to write it exactly like I would in whichever my currently most-used language is. It gets really painful in parts because languages differ. Sometimes the writing is the difficult part. Sometimes writing it in the same way is easy but the runtime performance is bad. Sometimes the tooling just doesn't support what I am trying. Finding these pain points helps me develop an intuitive sense for which of my habits I should steer clear of with the new language. After I consider how the new language would allow or encourage me to write it differently, I re-write it. Then I diff my original and final implementations.

<comment><USER10> Yes, exactly what I do.

I found that using the new language as though it's the familiar one makes you quickly understand the limitations. As you try to bend the new language into supporting your own familiarisation, you accidentally learn the lower level details.

</comment></comment><comment><USER11> I learned Go mostly by doing the Whispering Gophers tutorial over a couple small meetups: [https://github.com/schmichael/whispering- gophers](https://github.com/schmichael/whispering-gophers)

There are lots of aspects of that learning experience that I think are worth repeating:

\- social: we all had to figure out GOPATH together!

\- playful: it's clearly a toy which means you have the freedom to explore, goof off, stretch yourself, and be creative

\- comprehensive: it actually covered a ton of pertinent Go knowledge: goroutine, networking, interfaces, chans, select, etc

</comment><comment><USER12> Usually I'd suggest picking up a small project and shuffling between books and working on that project. Say read about the language fundamentals and then try to build up from there.

However this doesn't really work when you're switching to a different paradigm. When I switched to Haskell, I realized that even the way you think about things must change and diving into a project just isn't the way to do this. You'll keep stumbling the entire time if you bring your imperative mindset with you and attempt to leverage off them to get a quick start.

If you don't have some functional programming experience under your belt, first spend some time familiarizing yourself with the language history and try to figure out why some design choices were made. Try and soak up as much theory as you can by getting the best books on the language. This is much slower but you have to bear in mind that sometimes you have to unlearn several things that may be considered a bad practice in the previous languages you're familiar with.

I try to treat learning a new programming language like learning a new human language. I know quite a few and it's always easy to fool yourself into thinking that once you know the syntax and grammar for a similar language you can port them over to the new language. You'll be surprised to know some languages don't have some words at all based on their culture and have no way to express something that is easy to grasp in English.

So long and short, history and some theory about the language first, then dive into a small project, pick up another book along the way and then more theory.

<comment><AUTHOR> I make this mistake a lot. When learning new language, I think just learning syntax is enough. I had to forget PHP to work with Node, as Node is asynchronous & when I was working with PHP it was synchronous. Just couldn't get my head around async code. Very helpful insights.

</comment></comment><comment><USER13> It's really pretty straight forward, I pick a simpler project from my list I'd like to do that seems like a good fit for the goals of the language, then I write it in that language.

Problems and friction are exposed pretty quickly, but you have to push through those to see if the good parts of the language make up for them. I find that if, after a short while, I don't have to force myself to write the code, and if I can dream up ways to solve any problems I encounter without turning to the documentation, then I've found a really good fit. Sometimes you find that the initial friction was largely just a matter of coming from another language's mindset.

If you find instead that you're not wanting to write code, that you're spending a lot of time fighting it or scowering the documentation or getting the build to work, then my opinion is that the language isn't worth learning anyway so it's best to move on.

</comment><comment><USER14> Opinionated steps:

0\. Do not know a language X.

1\. Want to learn a language X.

2\. Leave your previous experience behind. E.g. know C, forget about it while learning a new language.

3\. Read official docs.

4\. Follow the language rules (as much as possible).

5\. Analyse language parts (e.g. concurrency, error handling, etc).

6\. Synthesize the parts. See how parts combine (e.g. error handling in concurrent code).

7\. Bring back your previous experience (e.g. see how different languages solve problems).

The main point is to know "what tools present and what can be done with those", rather than "what is felt about tools present and why the world sucks".

PS:

A small set of observations:

\- "disliking" parts of a new language while learning returns you back to the step 0.

\- steps 5, 6 and 7 are almost never ending (especially in languages that grow).

\- step 7 requires discipline. It is needed not to "pick the best language", but to understand various ways of solving a problem across different languages (do not forget to identify a problem).

</comment><comment><USER15> I don't seek to learn new languages - they sort of come by when I have a specific problem that I want to solve.

This where I write a few paragraphs about the various languages I learned, realize none of you people have time for reading this and delete it in favor of getting straight to the point:

Not having enough problems(challenges) to solve is usually a major hurdle. Ask yourself _why_ do you want to learn this specific language? Does it solve a specific problem you have? If so, try to solve that problem using this language.

Recent example: I wanted to process audio in realtime and my default approach(JavaScript) just didn't cut it. I stumbled upon Rust and it proved to be a great language for such applications.

</comment><comment><USER16> For me, it's always writing an actual application...no toy or example programs. I suggest rewriting something you've implemented before, rather than new. The reason for this is that you've already solved the problem, you're just left to language semantics. Trying to tackle a new application is fine, too, but may cloud your judgment on the language if it becomes a hard problem to solve, or just plain boring.

</comment><comment><USER17> I usually start by reading either the docs (if they are good quality) or a book (if the official docs aren't great) and then I code something trivial after that.

If I'm using it for work I will likely be reading and trying to understand co- workers pull requests, and then progressively more complicated PRs of my own.

</comment><comment><USER18> I can't read anything and have it stick unless I use it. But the hazard of doing a project is that you'll just recycle skills and strategies from earlier languages, which inhibits your openness to what's distinctive about the new environment.

The only approach that works for me is dialectic: go back and forth between absorbing raw information, then using it hands-on on a genuine problem. Learning moves you forward, and using it locks you in and makes you a dry sponge for absorbing further material. The trick is to notice when you're trying to fit your old ways into the new box, and stay alert for opportunities to change your way of thinking.

...or maybe I'm just saying this because I'm working on learning Clojure after decades of procedural programming.

</comment><comment><USER19> If you're interested in Swift just for Swift, then I would recommend against learning Swift through iOS development (just in case you were thinking about that). You'll spend more time figuring out things specific to iOS (cocoa framework, Xcode) than you will about Swift.

</comment><comment><USER20> Read the docs, read good code, build things, stackoverflow, ship.

<comment><AUTHOR> This is exactly what I do now minus reading the docs. I never read the original docs for anything except React. I don't know what made me do that but I remember I tried reading it but it was too big & I felt intimidated. Although, the docs nowadays are good enough & not scary like Vue, React, etc...

I guess I should start reading the docs because sometimes the answer I find Googling is already present in the docs :)

<comment><USER21> I find reading the docs is the best way to truly understand a language. Reading other tutorials, books or starter manuals kind of gives you a tour of the most popular parts of the language and you have to piece them together yourself (although a good book may explain it in a more friendly way).

Perhaps it comes with experience. My first few languages were learned ad-hoc like most people learn. Only after experience with a few languages did I start reading the manuals and getting an even better understanding of them. You learn a lot even when you previously thought you were already fluent with a particular language.

I find it really helps to write a parser for the language (Assuming the language can be parsed with a LL/LALR Grammar or PEG). It doesn't need to be a robust parser which handles all errors, but just a trivial one which can help you to understand all of the edge-cases in the syntax. A parser you wrote yourself makes a good reference. Depending on the complexity of the language this can take a few hours to a few days to write.

Once you have mastered the syntax, begin to tackle the standard/common libraries bit by bit. Try to write small but useful applications to utilize particular parts of libraries. Name them well so they're easy to refer to again later, so when you come to need a particular library feature you can look up how you done it last time. (Although you'll usually look at these and be like "What the hell was I thinking back then?")

So if I were to be learning Swift, I'd grab the ePub from here: [https://swift.org/documentation/#the-swift-programming- langu...](https://swift.org/documentation/#the-swift-programming-language) and skip directly to page 917 which lists the language's context-free grammar. This is essentially a 42 page cheatsheet for the entire language syntax (could probably be condensed to about 15 pages if split into two columns and whitespace removed). This epub is a great example of well-written documentation. It's broken into groups of production rules with good cohesion, and every terminal and non-terminal symbol in the grammar is hyperlinked to the part of the document which describes it in more detail.

I'd read through the grammar and perhaps even rewrite it side-by-side as I'm going through it. (There are some good tools for writing and testing grammars interactively, which I would definitely make use of). I'd guess since the language borrows from C#, Java, Haskell et al, which I'm already familiar with, that I'll be able to understand the majority of it without looking up details - but when i do encounter something I'm not sure of it's just a click away.

</comment></comment></comment><comment><USER22> start working on some problem / task that's interesting to you. Every time you encounter some aspect of the _language_ you don't understand, or aren't confident about, write a unit test for it that tests how you _think_ it behaves. If you're right, it will pass. if wrong it will fail. modify test until it passes. Then SAVE these tests as reference for how these parts of the language work while you're learning.

</comment><comment> antonio-ramadas I do a tutorial of the language I want to learn, but often I find it is not enough. So, I just browse open-source projects (usually GitHub), check their programming style, learn new tricks (some are not usually mentioned in tutorials) and only then I contribute to the project. Most of the times I get code review for free. This practice has also other positive effects.

</comment><comment><USER23> I had the same question when I wanted to learn C++. I was already quite practiced at Java and had written C and had read books on C++ off and on for years, but I still could not program in C++.

So I got a copy of Stroustrup "The C++ Programming Language" and started to do his exercises, but the author clearly had never done them himself, some were quite long and tedious and did not teach me anything (never put exercises in a book that you have never done), so I gave up on doing his exercises.

In my exasperation I just made up my own exercises: I just started at the beginning of the book and for each feature the book mentioned I wrote a little program that used it. The book said you can throw any kind of object, including, say, an int, so I wrote a program to throw and catch an int. I have never done that before or since, but I did it. I wrote a little program for every feature of the language. It was incredibly tedious, but it worked.

I also compiled every program with two C++ compilers and ran them and compared the difference. Many of my little programs did different things in the two compilers (!). I coded for 10 hours a day for two weeks; when I was done, I could code in C++, I could think in C++. Don't despair if it takes you longer: recall that I was already an experienced programmer.

 __ _SECRET SAUCE HERE_ __: The key here was to actually write the program even if I was _sure_ I had nothing to learn from it because the feature in question was so _conceptually_ simple: you think you know something, but then when you go to actually type it in, you find out whether know it was well as you thought you did. The tiny improvements you make while doing this copy- check-repeat feedback loop is the essence of learning the skill.

Note that no mistake is too small to be worth correcting. It is critical to not say you have passed the exercise until you can produce the result _exactly_ and _reliably_ , as a matter of course. If you just wrote a program and it was easy, then hide it and write it again.

At one point I was embarrassed that I could not write makefiles, so instead of copying them and hacking on them, every time I needed one I wrote it from scratch; now I am a master of gnumake. I repeatedly write fizz-buzz, binary search, heapsort, hashtables, etc. over and over, just to make sure I can do it correctly and without effort.

One of Richard Feynman's wives left him, legally accusing him of spousal abuse because he did too much c1alculus: [https://www.theguardian.com/science/2011/may/15/quantum- man-...](https://www.theguardian.com/science/2011/may/15/quantum-man-richard- feynman-review) '"He begins working calculus problems in his head as soon as he awakens," Bell complained to a divorce judge. "He did calculus while driving, while sitting in the living room and while lying in bed at night."'

Ben Franklin describes using this method in his autobiography of how he taught himself to write. He dropped out of second grade and ended up as one of the best writers in American history (not to mention scientist, statesman, engineer, etc.) He says he found writing he liked and practiced copying it and then checking that he had copied it correctly; see his autobiography for more.

Woz used this method to teach himself how to build computers: he had the designs of computers from Silicon Valley firms and he just practiced rote copying the designs over and over.

I tell you this as a former graduate student in Mathematics at Berkeley: The secret to learning is not reading a bunch of abstract ideas. The secret is just running a huge number of examples through your brain; your brain then abstracts them _for_ you. There is no need to study a bunch of abstract rules. _After_ you have learned the skill this way, doing a "master class" with an expert where you return to what you have learned and examine it, think about it, refactor it, can also be helpful. However do this _after_ you have the skill. The standard advice in Zen practice is the same: "practice first, study later".

If you think that this cannot possibly work, then think of how you learned to speak your native language; did someone explain the rules of the grammar to you as a baby, or did you just rote imitate it? Non-native speakers of English have asked me why a feature of English is the way that it is or what the rule is for a certain situation in English. I tell them I have no idea.

Our school system lies to you completely. LEARNING A SKILL IS NOT ABOUT THE CONCEPTS, IT IS ABOUT ROTE MINDLESS IMITATION UNTIL YOUR BRAIN HAS INTERNALIZED THE IDIOMS. Your brain _cannot_ memorize the massive amount of detail in all of the examples, so it _must_ abstract them into idioms; once it has done that, you simply have the skill and you do not even know how you do it yourself. How exactly do you approach a door and open it? If you think you know, then please explain it to the teams of people at places like MIT who are trying to build a robot that can do that, because it is very complex. You do it and you do not even know how. But you can do it.

<comment><USER2> _LEARNING A SKILL IS NOT ABOUT THE CONCEPTS, IT IS ABOUT ROTE MINDLESS IMITATION UNTIL YOUR BRAIN HAS INTERNALIZED THE IDIOMS._

Technology and languages change. They have definitely changed a lot since my first combination of hobby AppleSoft Basic, 65C02 assembly language programs in the mid 80s. But concepts remain. I've gotten to the point in my career where most interviews don't focus on technical minutae of the language I code in. They focus on high level architectural concepts, best practices, and leadership skills (I'm still a hands on coder but these days I'm usually either officially by title or day to day in reality an architect).

In reality, all of the popular languages in the industry are "C like". I can watch a video while I'm working out to get an overview of the language and then just start coding and know what I don't know.

</comment></comment><comment><USER24> I force myself to read a book about it, from cover to cover; then I start using it. That gives me a helicopter survey of what the language looks like and its main ideas.

Of course I forget all the details, that's what books are for. It does seems more effective than just trying to map what I know from other languages into the new one.

</comment><comment><USER25> I do simple exercises by myself (pastebin clone, fib, file manipulation etc.)

I try to avoid example code snippets, since I want to figure it out myself.

Oftentimes when reading those examples everything seems to make sense, but when I'm faced with repeating what was shown I get stuck.

So now I avoid them completely and try to figure if out myself.

</comment><comment><USER26> I use the new language to write a non-trivial program (several thousands of lines) that I've written before several times, knowing all the algorithmic and design pitfalls so I can be certain that I need to learn the language's own tricks only.

</comment><comment><USER27> Head first.

Open Xcode and start dropping controls over the initial form, then run it, close it and make buttons click, textfields do some calcs and tables show some records. If you can do that there is nothing you won't be able to do.

</comment><comment><USER28> I write a simple address book type app. Basically covers all CRUD operations and allows me to create a nice ui on top. Also handy to have demonstratable code to show your boss or a potential new gig.

</comment><comment><USER29> A good way is to take a mooc (coursera, edx, udacity,...) - you get video lessons, slides, programming exercises, everything to cover the basics

</comment><comment><USER30> IMHO, Hours reading a programming book > hours practicing, in term if knowledge gains.

</comment><comment><USER31> Other than practice? Read a good book on the language. You can also watch Udemy courses.

</comment><comment><USER32> Watch YouTube videos

<comment><AUTHOR> The problem is you don't know what to watch. Earlier there was a problem when there was no YouTube & now it is problem because there are like tons of videos on a same thing & you can't be sure what to watch. Popularity is sometimes a flawed metric too. I have watched few awesome videos but the views for that were very low & I have watched some videos in which the view count is high but the content is mediocre.

</comment></comment><comment><USER33> Type in every line of code from whatever book (dont just read it)</comment>


My Streaming Data - <AUTHOR> http://zoekeating.tumblr.com/post/16086277627/my-treaming-data

<comment><USER2> If artists see streaming only as a way to promote themselves, because they don't get an appreciable amount of money from it, why should I pay for it?

<comment><USER3> Are you then paying for the music or the service hosting the music? Spotify (or other service) puts the effort into making the a lot of music available which you can easily listen to at any time from almost any device. It is easy to see what your friends are listening to. It is easy to find new music. It is just easy.

If by not paying for music, you mean pirate, that is too much effort for me. I can give Rdio money and all the music is just there, ready for me to click play.

If by not paying for music, you mean the artist give it away for free on their website. I have to put effort into finding all the artist that I would care about and then finding their websites, and then try to figure out how to get the music on their website. Again, that is a lot of effort. I am paying to not expend that effort.

All that aside, I am not trying to say music services are better, just how I justify my money on them.

<comment><USER4> Just curious, are you saying that if it wasn't "too much effort" for you then you would pirate music?

</comment></comment></comment><comment><USER5> If anyone has not heard, Zoe's cello performances are layered (built on a loop) and absolutely awesome, definitely worth listening to.

</comment><comment><USER6> This is apples and oranges because she doesn't allow her latest releases to appear on streaming services.</comment>


The beginning of the end of NoSQL - <AUTHOR> http://blogs.the451group.com/information_management/2010/11/12/the-beginning-of-the-end-of-nosql/

<comment><USER2> I have a couple of quibbles with the article, but they pale next to the inaccuracy of the title.

The premise of the article is one vendor of a NoSQL database solution is distancing itself from the _term_ NoSQL because it is not specific enough. The article goes on to explain that "NoSQL" refers to a variety of SQL-less approaches to data management, and that other vendors will de-emphasize the term NoSQL in favour of being more specific about their technology/paradigm.

The title makes it sound like the article claims that everyone in the industry will be going back to SQL, when in fact the article (a) is only discussing commercial vendors, and (b) is only discussing the use of the term NoSQL, not the technologies themselves.

<comment><USER3> Welcome to the wonderful world of buzzwords. Remember the goal is to pick a name that helps you sell stuff not to be technically useful.

You may recall that DHTML became Ajax even though no new technology comes about. NoSQL did not solve everyone's problems so it's time to rename the same idea and start the hype cycle up again. Expect the same thing to happen again and again.

PS: _Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous_ (<http://en.wikipedia.org/wiki/Ajax_(programming)>)

</comment></comment><comment><USER4> The truth is when I spoke about CouchDB at the first NoSQL meetup, I was thinking about "No SQL in HTML5" as that was currently the big debate in the W3C. The term worked for that purpose (it looks like IndexedDB is going to win as the local database spec) but aside from that I don't think it gives us much.</comment>


A New Theory on Why We Haven't Found Aliens Yet - <AUTHOR> http://www.slate.com/articles/technology/future_tense/2017/07/maybe_we_haven_t_found_alien_life_because_it_s_sleeping.html <comment><USER2> Shortcut to full PDF:

[https://arxiv.org/pdf/1705.03394.pdf](https://arxiv.org/pdf/1705.03394.pdf)

On a first reading, and accepting the major premises for the sake of argument, this seemed like the weakest point:

 _The reader might wonder whether starting these computations now is rational since the universe is quickly cooling and will soon (compared to the overall lifespan of the civilization) reach convenient temperatures. The computational gain of doing computations at time t is ∝ exp(Ht): it increases exponentially until the temperature is dominated by the internal heating rather than the outside temperature. Since most of the integrated value accrues within the last e-folding and the energy used early was used exponentially inefficiently, it is not worth starting early even if the wait is a minuscule fraction of the overall lifespan._

Grant that there's an exponential efficiency gap between computing now and computing a trillion+ years from now. There is _also_ an exponential efficiency gap between using the power radiated from stars to power Dyson Swarm computing for the next trillion years and just letting it radiate away without computing anything, like a chump. A coolly rational maximizer isn't going to leave additional gains on the table with the human-like reasoning of "it's _only a very small_ additional gain."

</comment><comment><USER3> Interesting read and not my area of expertise, but it sounds like a bunch of hypotheticals built on top of other hypotheticals. And, of course, I didn't read the scientific paper behind it[0] so I'm sure some of my misgivings on this "research" are due to the filter it's been presented through but it felt like this whole "an advanced alien civilization uploaded itself into a computer in a post-biological move" technology would be a whole lot bigger of a problem to solve than the "cooling down a system to achieve system processing performance required".

I couldn't help but laugh, though, in that the first thing that came to mind was The Hitchhiker's Guide to the Galaxy reference to the inhabitants of the legendary planet of Magrethea who went into hibernation to wait out the galactic economic collapse. Maybe _that 's_ the real reason they're sleeping!

[0] Which means the "telephone game" of this author's interpretation of the paper in order to write a story that will generate clicks is at play here.

</comment><comment><USER4> I first read this theory in the book Calculating God, but it has also appeared in the Hyperion book series. I recently saw it in Black Mirror season 3 (for humanity).

Not exactly a new theory. Still has the problem of the exponential population expansion (in any form like probe or seeding or terraforming or colonization) leaving physical traces everywhere...if they were even marginally successful beyond an origin galaxy. The universe has been around a loooooooooooooooo...ng time.

</comment><comment><USER5> Humans are so cute. The reason you haven't met us yet is simply that you're not ready. How do you expect.to love your galactic neighbour if you can't even love YOUR OWN PLANET.

Please stop killing each other and _make Earth great again_ (sorry). We can help you build the next one.

Signed, Your friendly neighbourhood aliens

<comment><USER6> I have always disliked the assumption that aliens are somehow supposed to be highly more intelligent and peaceful beings. They could be cannibal sloths for all we know.</comment></comment>


Ask HN: iOS dev questions for clients - <AUTHOR>

I just got my first pro iOS dev job.  It's for a pretty simple iPad app for a large corporate customer to use internally.
I was wondering if anyone had any advice as far as what I need to ask with regards to spec.
Is it reasonable to ask that I only need to support iOS 8? <comment><USER2> You will likely have to support back to iOS 6. Depending on how large/spread out the company is.

Be sure to find out who is responsible for distribution of the application. Whether or not its going into the app store or will be directly enterprise distribution.

Will there be a backend? If yes, who is maintaining it?

<comment><AUTHOR> Thanks for the reply!

Thankfully, it could hardly be simpler. As I am a busy web dev, it's the perfect first iOS gig I think. No backend, just a bunch of static views linked to a home view.

</comment></comment><comment><USER3> If you use it internally you get to set the hardware platform and OS version. So just go for iOS 8 as there is no reason to buy iOS 7 based hardware for your customer, unless they have a large amount of iPad 2's already.</comment>


Visual Studio Code 1.14 released - <AUTHOR> https://code.visualstudio.com/updates/v1_14 <comment><USER2> If you happen to be using VS Code for Ruby, [https://code.visualstudio.com/updates/v1_14#_auto-indent- on-...](https://code.visualstudio.com/updates/v1_14#_auto-indent-on-type-move- lines-and-paste) is a game changer.

Basically, when you type "end" it will automatically indent it for you, the same way it does for curly braces on C style languages. Seems like a small thing but it's fairly maddening after a while having to press shift+tab or return after typing "end".

<comment><USER3> No editor seems to handle ruby very well, why do I get an automatic closing bracket but no automatic end? I don't have to write a 1 char closing bracket why do I need to write a 3 char end?

<comment><USER4> You don't have to type "end". Shameless self plug: I wrote an extension that closes everything automatically, inspired by a plugin for vim with the same name: endwise[1]

It's not 100% done yet, support for other languages is still missing. But it works.

[1]: [https://marketplace.visualstudio.com/items?itemName=kaiwood....](https://marketplace.visualstudio.com/items?itemName=kaiwood.endwise)

<comment><USER2> This is great! Really helps fill one of the most annoying gaps in writing Ruby compared to, say, C# in full Visual Studio.

</comment></comment></comment></comment><comment><USER5> If anyone is new to VS Code you can check out one of our most recent videos from the Build 2017 event:

Visual Studio Code: Conquer the cloud with an editor and a CLI [https://channel9.msdn.com/Events/Build/2017/B8094](https://channel9.msdn.com/Events/Build/2017/B8094)

</comment><comment><USER6> Neat issue management / automation nugget in the "Engineering" section: [https://code.visualstudio.com/updates/v1_14#_issue- managemen...](https://code.visualstudio.com/updates/v1_14#_issue-management- automation) ,

 _The Probot we deployed to assist in our issue management now uses a machine learning algorithm to guess the feature area of new issues. When the algorithm estimates a sufficiently high probability of being correct, the bot adds the area label and (in some cases) directly assigns the issue to a developer on the team_

 _For a few days after a new release, the bot labels new issues filed for that release with the new release label. This helps us quickly spot regressions introduced in the release. We remove the label after a few days_

</comment><comment><USER7> Finally: Multi Root Workspaces (insider build so far). Thank you.

<comment><USER8> Does the built in git support multi root workspaces yet? thats the main feature I'm looking forward to.

</comment></comment><comment><USER9> I really like what they've done here with the update notifications. It's much less disruptive than the alert messages at the top they had before.

</comment><comment><USER10> I am very glad that you can now rename Terminal sessions. I will often have several of the same type running.

</comment><comment><USER11> Glad to see Tasks promoted to editor chrome, but I think I'd really love to see it promoted further from a menu to a full Explorer pane or maybe even a co-tab with Debugger.

(Especially because I have the menu off by default and have to accelerator key for it.)

(Aside to the aside: why in every Electron auto-hidden menu does Alt+Key work, but not Alt,Key? Is that a Chromium bug/oddity?)

<comment><USER11> The new Tasks 2.0.0 powers are very good as well: better support for multiple task runners, discover then annotate over configure then run.

</comment></comment><comment><USER12> I really appreciate that they take the time to add screenshots and animations to these posts. It combines a change log and demo in a very efficient way. A lot of software can learn from this.

</comment><comment><USER13> Yay, automatic code indentation. This was sorely needed, especially for CSS.

This editor is great!

</comment><comment><USER14> Did the Twitter feedback icon go away or is there an option to hide it?

<comment><USER15> Doesn't look like it.</comment></comment>


BandsInTown Adds Social Networking to Tracking Service - <AUTHOR> http://mashable.com/2007/08/27/bandsintown-adds-social-networking-to-tracking-service/

<comment><USER2> Congrats guys.

What kind of increase in traffic do you see after a Mashable article?

</comment><comment><USER3> Congrats knewjax, that's an awesome story to have dugg.</comment>