Open Source Electronics Lab for $30 - <AUTHOR> https://github.com/EspoTek/Labrador <comment><USER2> This looks like a cool device for people just starting with electronics.

Slight OT: Its really sad to see that even though SDR really took off in the last couple of years, there really is no open source or at least low-cost toolchain for RF Engineering. No Signal Generation Hardware, no VNAs, no SAs... Mostly you have to make do with the still pretty expensive, 90s-Legacy devices of the large brands (Agilent/HP/Keysight or Rohde&Schwartz). Its also really stuff that Makerspaces and FabLabs are completely devoid of. Software is not much better, when you dont want to resort to unlicensed copies of the professional tools. Really hard to work on stuff like that when not either at a university or employed in that field...

<comment><USER3> On the plus side, those legacy devices are orders of magnitude better than anything that a beginner could build and can be bought relatively cheap through surplus stores.

<comment><USER4> Not sure if anyone in here subscribes to The Signal Path [1] on YouTube, but he does tons of teardowns (and repairs!) of RF/signal processing hardware new and old. You'll see precisely what jaquesm is talking about. The marquee specs might not look so great on paper, but you'll find absurd levels of craft and attention to detail in some of that older equipment.

[1] - [https://www.youtube.com/user/TheSignalPathBlog](https://www.youtube.com/user/TheSignalPathBlog)

<comment><USER5> Love watching the signal path, especially the pooch appearances :)

</comment></comment></comment></comment><comment><USER6> For the scope part:

\- This board is 750kSPS, the most well known cheap alternative (not necessarily open source), is something from JYeTech, e.g., DSO-138 [1] (it's 1MSPS)

\- Both 750kSPS and 1MSPS are hopelessly inadequate for serious work

\- In the USB scope arena, the two top contenders are OWON VDS 1022i, or Hantek 6022 variant (I prefer 1022i; it's 100MSPS [2], I think Hantek is 48MSPS).

\- Finally, the best bang for the buck, and open source, is the Haasoscope v9 selling on ebay (directly from the creator, Andy Haas, who's a physicist and wanted to create a cheap but good open source scope). The bundle is $139 [3], but there is an add-on that further increase the frame-rate or something that's $40 or something, though I consider that to be essential not an add-on. (it's 250MSPS)

\- if you wanna get a new and stand-alone scope, Rigol ds1054z $375 [4] is a hot favorite (also watch out for Keysight, they're trying to get into low-cost scope market). 1GSPS.

Disclaimier: No affiliation.

[1] [https://jyetech.com/dso138mini-diy-kit/](https://jyetech.com/dso138mini- diy-kit/)

[2] [https://www.amazon.com/dp/B00HC4KY2G](https://www.amazon.com/dp/B00HC4KY2G)

[3] [https://www.ebay.com/itm/283330921663](https://www.ebay.com/itm/283330921663)

[4] [https://www.amazon.com/dp/B012938E76](https://www.amazon.com/dp/B012938E76)

<comment><USER7> I have a rigol MSO1104 (1 ghz sampling, 100 mhz analog bandwidth, logic analyzer) I bought after I retired for doing some work out of my house. I remember it being about $1000. It's very nice, I would highly recommend it for a home lab. I also bought an analog discovery 2 to bring to the library where I teach Arduino and Raspberry Pi classes. It's 2 channel, I can't remember the bandwidth, I think 60 mhz analog bandwidth and maybe 500 megasamples/second? Anyway I think I bought the pro bundle, a little less than $300. I think it's a very nice setup for someone to get started, it has lots of really cool features like a network analyzer, minijack input for audio, serial decoders etc. The PC software works good, available on linux. It's small runs off USB power. I know the probes don't have the isolation that a normal commercial scope does, but for a lot of hobby/learning type things it doesn't matter. I like the idea of making your own hardware and learning things from it, but for a beginner in electronics or the occasional user I think the analog discovery is a pretty good value. I was never a big fan of National Instruments when I was working, but I think this is a pretty good product. [https://store.digilentinc.com/analog-discovery-2-pro- bundle/](https://store.digilentinc.com/analog-discovery-2-pro-bundle/)

(edit) - actually it's 30mhz with the bnc probes.

</comment></comment><comment><USER8> I am a fan of these types of small multifunctional electronics equipments. I think every hobbyist should have one or more of these to play with. Here are some of them;

ExpEYES - Abbreviation for "Experiments for Young Engineers and Scientists" ([http://expeyes.in/](http://expeyes.in/)) from IUAC, New Delhi, India. It is quite affordable.

Redpitaya - [https://www.redpitaya.com/](https://www.redpitaya.com/) Can also be used to learn FPGA programming.

Analog Discovery 2 & Digital Discovery - [https://store.digilentinc.com/usb- scopes-instruments-circuit...](https://store.digilentinc.com/usb-scopes- instruments-circuits/)

ADALM2000 - [https://www.analog.com/en/design-center/evaluation- hardware-...](https://www.analog.com/en/design-center/evaluation-hardware-and- software/evaluation-boards-kits/adalm2000.html#eb-overview) Can also be used to learn FPGA programming.

</comment><comment><USER9> This looks fantastic for quick and dirty audio work, especially hobbyist pedal building/prototyping.

A teeny feature request for the multimeter would be an easy way to make a spreadsheet out of multiple measurements, and/or transistor parameter measurements. Since the bandwidth is so low, I'd imagine a lot of users will use the scope to hand match transistors.

<comment><USER10> Agreed. I started tinkering in this space over the last year (done loads of software, started trying to make my own synth). The lack of an oscilloscope basically makes it impossible to get anything done - you're kinda just working on hunches.

People kept recommending the RIGOL DS1054Z, but at £300 or so it's too punchy to invest in unless you know you're really going to get a chance to use it. Will definitely try one of these little units.

<comment><USER11> For audio and most 8 bit work you can buy a two channel 10Mhz picoscope for about £120. Really solid piece of kit, and it's designed in the UK (if that has any weight). Has tons of stuff like signal decoding built into the UI which you have to pay for (or hack) on the Rigol. Don't believe the crap about USB scopes being bad. It's really handy for not taking up valuable bench space, and you can take it in the field easily. It also has a basic signal gen, but I've not used it much.

I also have a 1054 which is great - sometimes you just need 4 channels. I would be happy with either.

The trade off is something you can fit in your pocket versus two extra channels and more bandwidth. The 4 channel 50Mhz version is actually quite close to the Rigol price.

[https://www.picotech.com/oscilloscope/2000/picoscope-2000-sp...](https://www.picotech.com/oscilloscope/2000/picoscope-2000-specifications)

<comment><USER12> I have the 2204A and can second the recommendation. Really good bang for the buck (120EUR here in Germany, including two probes), very compact and robust. Of course, with 10MHz you shouldn't expect too much, but for looking at low- speed communication it is perfectly OK. What I really enjoy are the many different trigger options (and they actually work). When buying an USB scope one must remember that it is nothing without the software, and the one from Picotech is well done. They also support Linux although that one is still in Beta and still has less features, but they say they are working on feature parity. It's not (F)OSS, though.

</comment></comment></comment></comment><comment><USER13> Something I would add to this is the functionality of a component tester.

If you don't know what they are for, they are cheap little arduino based devices that you can plug a lot of basic components into, and have them identify the component for you. Plug in a resistor, see the resistance. Also works for mystery transistors as well as caps and inductors plus diodes and other things.

They are fantastic if you're one of those people who has a tendency to collect a lot of components but forget what they are.

Here's an amazon link to a typical one...

[https://www.amazon.com/dp/B071Y5CHPK](https://www.amazon.com/dp/B071Y5CHPK)

<comment><USER14> Here is the original source for the project: [https://www.mikrocontroller.net/articles/AVR_Transistorteste...](https://www.mikrocontroller.net/articles/AVR_Transistortester)

It is not really based on Arduino, but it indeed is pretty nifty little gadget. The documentation goes into great detail on the operating principle, how it detects and measures different components.

<comment><USER13> Ah thank you. I thought they had roots in some open source project.

This thing has been pretty key to a lot of my hobby electronics projects.

</comment></comment></comment><comment><USER15> I was hoping this was an open source alternative for the typical _analog or mixed electronics_ benches.

As a physics student I was quite dissatisfied with these benches for multiple reasons:

1\. They are far from educational, the course notes and lab notes for experimentation classes are much better at demonstrating principles. The books that come with the analog bench "toys" lack the ambition to actually teach, and avoid formulae, at least the books could contain or link to an alternative track of circuits which does have the ambition to teach electronics.

2\. A lot of the circuits simply don't work, I believe this is due to occasionally substituting a part with a cheaper part with slightly different specifications, such that after a while of inevitable sales to parents who don't give feedback, the supplied components don't work in the proposed circuit, the original designer of the circuit would notice that the current parts can't produce the intended effect (chirping birds that give popping sounds instead of chirping sounds etc).

3\. Most of the _analog electronics benches_ use springs as electrical nodes, I believe today stackable jumper wires would be a better choice.

I think if enough electrical engineers with kids band together they could easily design an open source analog / mixed electronic bench, and properly document the required properties for the parts, and design it as a PCB with headers for jumper wires...

</comment><comment><USER16> I was in the process of buying the board when I got the Database Error. Came to check Hacker News and discovered why!

</comment><comment><USER17> This is something I need. What alternatives exist? 30 dollars isn't bad, but communities of support are also nice.

<comment><USER18> The Red Pitaya STEMlab is a considerably more expensive device, but it's more than just a toy. It has two 14-bit, 125MS/s ADCs and DACs, 16 digital GPIOs and gigabit ethernet.

[https://www.redpitaya.com/](https://www.redpitaya.com/)

<comment><USER19> That's nice, but I imagine the use cases are pretty different, the Pitaya's sampling frequency has 3 orders of magnitude on the Labrador (and 2 more bits of sensitivity). I think they're both pretty impressive for their respective prices.

</comment></comment></comment><comment><USER20> But if you actually need a scope you can buy one in a case with a rechargeable battery, display, and 20MS/s, 5 MHz bandwidth, from Banggood for USD 40. [https://www.banggood.com/DANIU-ADS2050H-Handheld- Oscilloscop...](https://www.banggood.com/DANIU-ADS2050H-Handheld-Oscilloscope- High-Precision-5MHz-Bandwidth-20M-Sampling-Rate-2_4-Inch-LCD-Screen-One-Key- Auto-Built-in-Lithium-Battery-Waveform-Store-p-1426883.html?cur_warehouse=CN)

No idea how good it is though.

I don't mean to disparage the Labrador but I suspect it will be more use to people who integrate it into some other project than to those who need a scope.

<comment><USER8> The "All Sun EM125" Multimeter+Oscilloscope ([https://www.aliexpress.com/wholesale?catId=0&initiative_id=S...](https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190608061447&SearchText=all+sun+em125)) is far better for a little bit more money. The specs are very good for the price. On the minus side, the oscilloscope doesn't have storage and the display is monochrome low resolution. However i have found it very convenient and useful in actual usage.

"All Sun" also has a whole range of handheld multi-functional scopes which seem pretty good.

</comment></comment><comment><USER21> A similar 20$ board [http://www.gabotronics.com/oscilloscopes/xprotolab- plain.htm](http://www.gabotronics.com/oscilloscopes/xprotolab-plain.htm)

</comment><comment><USER22> Website[0] is down?

> _Database Error_

> _Error establishing a database connection_

[0] [https://espotek.com/labrador/](https://espotek.com/labrador/)

<comment><USER23> This came out in 2016. Is it gone now?

Reasonable idea. More protection circuitry to prevent blowing out the connected PC might be a good idea.

<comment><USER24> optical isolation, look for highspeed optocouplers for isolation, and something like digital potentiometers are good too for clamping an abitrary analog voltage using a digital mechanism.

</comment></comment></comment><comment><USER25> In the spirit of the discussion of low cost lab electronics - may I throw in the Analog discovery 2[0]:

[0] [https://analogdiscovery.com/](https://analogdiscovery.com/)

<comment><USER26> "low cost" == $279? Sure, if you're a professional.

<comment><USER25> They have discounts for educational institutions if price is really that much of a concern, it's great value for the features they pack in that little thing...and honestly "professionals" use much much more expensive instruments in their labs.

</comment></comment></comment><comment><USER27> This seems too good to be true. Is there any reason an embedded noob would not find this did what they needed for small projects?

I guess you still need a breadboard/uC/programmer/wires, but still

Edit: free shipping? Shipping to Canada might cost as much as the device. The price is too low if it's actually worth using

<comment><USER28> As one who is slightly past the noob stage in embedded systems, my impression is that the device can't run a stored program on board. In other words, it's not an Arduino.

At the same time, an Arduino is not this. An Arduino can make measurements and generate signals, but doesn't come with pre-written support software if you just want to use it for that purpose.

For this reason, you might actually use something like this electronics lab alongside something like an Arduino, and use one to observe and measure the behavior of the other.

</comment></comment><comment><USER29> Does it have both ESR probe and a spectrum analyzer? I just recently bought a RTL-SDR v3 USB software defined radio for 30 bucks and it seems to function as both, in addition to being pretty kick ass SDR for the price.

</comment><comment><USER30> I have been following a promising project[0] for quite long. They haven't yet released the product though.

[0] [https://madresistor.com/box0/](https://madresistor.com/box0/)

</comment><comment><USER31> As a total noob what can I do with this and where should I start

<comment><USER28> This is going to sound really basic, but a good start might be just to reproducibly generate and measure some signals: DC, AC, etc. Make an LED blink. Measure the voltage across the LED as a function of time. Get used to seeing a graph of voltage versus time, and interpreting it. Hook it up to a microphone and talk to it. Measure the headphone output of your PC.

This is all about just learning to think in terms of signals (static and as a function of time) and how they are measured. Try to predict what's going to happen, and see what you get.

</comment></comment><comment><USER32> Sorry to nag. For a project that I am working on:

Does any of this boards have an oscilloscope with four channels?

<comment><USER33> The haasoscope mentioned earlier does [https://www.ebay.com/itm/Haasoscope- open-source-4-channel-ex...](https://www.ebay.com/itm/Haasoscope-open- source-4-channel-expandable-high-speed-USB-oscilloscope-bundle-/282940006639)</comment></comment>


Merits of Lisp vs Python (2006) - <AUTHOR> http://email@example.com/5547743.html

<comment><USER2> Not much to be learned here, except that Python programmers who don't have a clue about Lisp will happily comment on it anyway. The Lisp programmers, on the other hand, don't bother to discuss Python, but just treat this thread like the joke / troll that it is.</comment>


Atomic Clocks Make a Quantum Leap in Accuracy - <AUTHOR> http://www.engineering.com/DesignerEdge/DesignerEdgeArticles/ArticleID/7029/Atomic-Clocks-Make-a-Quantum-Leap-in-Accuracy.aspx <comment><USER2> In a vacuum, you could get GPS accuracy down to 700 nanometers with clocks that accurate [1]. If only that pesky atmosphere didn't get in the way!

[1]: [http://www.wolframalpha.com/input/?i=%281+second+%2F430+tril...](http://www.wolframalpha.com/input/?i=%281+second+%2F430+trillion%29+*+speed+of+light)

<comment><USER3> There are also other problems than atmosphere.

[http://eu.mio.com/en_gb/global-positioning-system_gps- accura...](http://eu.mio.com/en_gb/global-positioning-system_gps-accuracy- error-sources.htm)

</comment></comment><comment><USER4> Hate to be that guy when it comes to being pedantic about headlines, but wouldn't a `quantum leap` in accuracy be rather un-noteworthy?

<comment><USER5> I can here to make that exact comment. It always irks me that a lot of people don't realize 'quantum' == 'small'.

<comment><USER6> It depends heavily on the exact usage: [http://dictionary.reference.com/browse/quantum?s=t](http://dictionary.reference.com/browse/quantum?s=t)

The salient feature here is that quanta are discrete and a transition from one to another is a jump rather than a smooth or continuous shift.

</comment></comment></comment><comment><USER7> At this level of accuracy things are pretty strange. It used to bug me when you had to tune RF circuits at a distance with non-conductive tools because your body capacitance would throw the tuning off. Having a clock that just being near it will change what time it reads, well that is a whole different ballgame of weird is it not?

On a science note, why isn't this a gravity wave detector anyway?

<comment><USER8> Gravity wave detectors get phase accuracy by comparing a photon to itself using an interferometer. SNR is improved by brightening the laser and averaging over more photons. The laser frequency is less important.

It turns out there are some ultraviolet _nuclear_ transitions. The line widths promise to be obscenely narrow. If they can get it working in a clock, they will be able to directly measure gravitational time dilation of small masses.

<comment><USER7> Do you have a reference to the UV transitions? I'm sure the LIGO folks think of themselves as being in a race with advancing clock technology with regards to actually detecting gravity waves.

<comment><USER8> [http://arxiv.org/abs/1110.0741](http://arxiv.org/abs/1110.0741)

[http://www.thorium.at/?page_id=4](http://www.thorium.at/?page_id=4)

I could not find many references, but I think clocks mainly make the instrument cheaper, or possible in the case of long-baseline satellite instruments.

</comment></comment></comment></comment><comment><USER9> The coolest part it that it improves both stability and accuracy. Cesium is often touted as a good clock but it only has good accuracy. The short-term stability has more noise than something like a Rubidium clock that is very stable on the short-term but inaccurate(relative to cesium anyway) on the long term.

This is cool because it is the best in both dimensions.

<comment><USER10> The phase noise (really short term stability) of a rubidium oscillator is rather poor compared to on ovenized quartz oscillator. So what I really want is a strontium disciplined OCXO.

<comment><USER11> Years ago I was involved in some work on clocks that needed very high performance at low cost. We ended up with OCXOs GPS-disciplined over some of their frequency and atomic clock disciplined (cesium, IIRC) over another part of the range.

Telling the time is hard.

<comment><USER10> Cool. I bought a couple of HP Z3801A recently for home lab use. Also have an Arbiter GPS disciplined clock at work as a frequency standard for my RF equipment; they use one of the Wenzel OCXOs that has the lowest phase noise you can buy.

</comment></comment></comment></comment><comment><USER12> One thing I'm really curious about: How can you measure the accuracy of the world's most accurate clock?

By definition there would be no more accurate timing device to benchmark it against so is the accuracy cited in the article only theoretical?

<comment><USER13> They built two of them, and found that they agreed to within their nominal accuracy.

</comment></comment><comment><USER14> <random internet commentator tripe>This could be the basis of a future tricorder or Star Trek-like sensor array. Three ultra-sensitive clocks in an array should be able to infer mass and motion both for the unit and objects in the local area indirectly. Relativistic effects are minuscule, but not non- existent. Extremely-tuned clocks would have some pretty cool capabilities.</random internet commentator tripe>

<comment><USER15> One thing I've spent some time thinking about is whether it would be possible to use atomic clocks to get a better measurement of the gravitational constant G. (G is by far the most poorly known of all the fundamental physical constants.) The idea would be to build a sphere whose mass is very precisely known and place one clock near the mass and one clock far away. By measuring the gravitational time dilation you could infer G. As I recall from my order of magnitude calculations, atomic clocks would have to improve in accuracy by four orders of magnitude or so before this would be feasible. So it would still be a long ways off.

<comment><USER16> How about a wolframalpha link to those calculations? Assuming they're simple enough.

Also, would this require the clocks and mass to be far away from other large masses like the earth?

</comment></comment></comment><comment><USER17> Ask: Such synchronous clocks possible?

Special and general relativity steam-roll over synched digit accuracy, at introducing any object's mass, any object's displacement.

Not gain or lose over five billion years?

How many digits this time?

Tides, quakes, rain on the roof, defeat the possibility of unbounded synched accuracy.

<comment><USER8> Indeed. The best existing atomic clocks need to be recalibrated if they are raised a few centimeters, owing to gravitational time dilation.

</comment></comment><comment><USER18> Can I have a chip-scale one? With zero jitter? On every motherboard? Feeding TSC clock? Please? Pretty pretty pleaase?

<comment><USER19> There are already very accurate clocks on your motherboard. Your problem has more to do with modern multi-processor design.

<comment><USER11> That depends on what you mean by accurate, and even then they pretty much suck. Clocks are "inaccurate" in a few ways. One of these ways is very short- term: variations in exactly when the clock edges arrive at frequencies near the clock frequency. Others of these are long-term: how far the clock is from it's target rate over decades. Between these there's a whole spectrum of different noise frequencies.

The oscillators on your motherboard, with very basic temperature correction, very basic calibration and only very basic quality control don't tend to do very well on any of these measures. They tend to do better on the high- frequency measures of clock badness, and worse on low-frequency measures, but they aren't stellar in any area. The end-to-end time system, including NTP and software-level drift correction, does an OK job in some circumstances. It does a horrible job in others.

If you go through life assuming your computer's local clock isn't literally out to get you, you're going to be disappointed.

</comment></comment></comment><comment><USER20> Does it beat the pulsar clock [1]? And will standing next to clock make it go wrong because of the change of the gravitational field?

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

<comment><USER21> Pulsars are actually pretty noisy. Starquakes, infalling matter and braking due to drag on the magnetic field jink the rotational frequency around a lot, comparable to a good clock (you could probably compensate for the braking effects, but the quakes are another matter).

</comment></comment><comment><USER22> Meanwhile on servers running Windows, keeping sync to within a few seconds is a mighty challenge, esp. with Hyper-V. (Linux guests have no issue with ms or sub-ms accuracy.)

Microsoft's Win32 time is only meant to prevent Kerberos error, so under 5 minutes is "fine".

<comment><USER23> If you're using win32 time for anything that needs accuracy greater than a few seconds, I think you're doing it wrong.

<comment><USER22> Do you know of anything more accurate, especially under Hyper-V? I've tried installing ntpd and even using the most aggressive settings and host time sync off, they drift like mad and the system log is filled with kernel warnings about time changes.

<comment><USER23> If I have something that needs that level of accuracy, and the implied up time to go with it, I don't use Windows. Neither should you.

<comment><USER22> I guess I find it sort of amazing that Windows can ship in 2014 and not have close to ms accuracy.

<comment><USER23> Not at all. I think that kind of thing highlights where Microsoft's priorities are with Windows, and therefore the kinds of things you should be doing with it.

If you buy a civic to take to the racetrack, you shouldn't be amazed it doesn't come with a roll cage. Civics are supposed to be on racetracks, and windows isn't supposed to be a serious-workload OS. It's no problem though, you have plenty of alternatives for both.</comment></comment></comment></comment></comment></comment>


Efficient Air-Conditioning Beams Heat into Space - <AUTHOR> https://spectrum.ieee.org/energywise/green-tech/solar/efficient-airconditioning-by-beaming-heat-into-space <comment><USER2> Huh - I'm always interested in ways to make A/C more energy efficient. Squeezing and un-squeezing gas seems so COMPLICATED compared to how easy it is to heat things up. Entropy is a cruel mistress. Anyways, it sounds like this is the important bit:

-

So Raman and electrical engineering professor Shanhui Fan made panels containing layers of silicon dioxide and hafnium oxide on top of a thin layer of silver. These radiate in a unique way: They send heat directly into space, bypassing the Earth's atmosphere. The panels do this by emitting heat at infrared wavelengths between 8 and 13 micrometers. To these waves, the Earth's atmosphere is transparent. What's more, the panels reflect nearly all the sunlight falling on them.

For the new fluid-cooling system, the researchers made radiative panels that were each one-third of a square meter in area; they attached the panels to an aluminum heat exchanger plate with copper pipes embedded in it. The setup was enclosed in an acrylic box covered with a plastic sheet.

The team tested it on a rootop on the Stanford campus. Over three days of testing, they found that water temperatures went down by between 3- and 5 °C. The only electricity it requires is what's needed to pump water through the copper pipes. Water that flowed more slowly was cooled more.

-

So it sounds like how space stations kick out heat; The ISS uses that sort of thing[1]. You flow coolant through things that heat up, like solar panels or a warm environment, and then you pump it into these bricks that don't absorb heat from light. The coolant warms up the bricks, which emit that heat as infrared radiation. Planetside, I guess that you can't let the infrared radiation be absorbed by the atmosphere, or it won't cool anything.

So, maybe this could take the compression out of our current cooling systems - compress/heat up, expose to outside temp, let cool, decompress/cool, expose to inside temp, repeat.

My main question would be, is it capable of cooling beyond the ambient outside temperature? If so, how? I might be misunderstanding or missing something about how the 'blasting energy away as IR radiation' thing works.

[1]: [http://www.lockheedmartin.com/us/products/HeatRejectionRadia...](http://www.lockheedmartin.com/us/products/HeatRejectionRadiators.html)

<comment><USER3> I'm one of the authors / people working on this. Yep, radiators like the ones on the ISS are pretty much the dominant/only ways to get heat out in space.

In response to your questions: yes, it can in fact cool below the ambient air temperature entirely passively (even during the day! -- which adds real value for cooling applications). We've shown in other recent work that you can use this effect to cool as much as 45-50°C below the ambient air temperature, if you insulate the radiator perfectly.

The reason this works here on Earth is that some upward thermal radiation isn't absorbed and re-emitted back to you. So if you start at the air temperature, looking upwards, you will be sending more heat out than the sky sends back to you. This allows an upward-looking surface to cool itself down until the heat going out and coming back to it balance out.

<comment><USER4> Could you point the beams at something and heat it up? It seems like a waste just sending it into space.

<comment><USER5> I can't think of any scenario where you would be better off recapturing that IR beam instead of installing photovoltaics and capturing the stronger sunlight.

Also, removing heat from the Earth is probably a positive at this point in time.

<comment><USER4> The problem is that the heat is in the wrong place, right? We're not going to stop needing electricity. If you've got an IR beam and you can point it at something you can heat whatever it is and run a generator.

You need to cool the building anyway, so the added energy from displacing the beam to a (presumably turbine) generator would essentially be 'free.'

This is more efficient than the photovoltaic because you don't have to produce install and maintain a photovoltaic (all of which costs some energy), and you were going to cool this building with this method anyway (so there's little downside to harvesting the energy aside from complexity, which is a concern).

I assume you'd need line of sight from the panel to the generator, which it does seem would be tricky, but doesn't seem insurmountable. (Put the collector on a tower for example, in most areas of the country I think it wouldn't have to be higher than a few hundred feet). It just depends on how much heat you're displacing and whether you can collect enough to run the generator.

If it were "I'm just trying to produce energy", I'd agree that the photovoltaic is better, but if this system happened to be dual use and doing two things we already want to do, it seems like it would be a pretty substantial win.

<comment><USER6> My understanding of this is that the amount of heat transmission depends on the temperature of your target. You point it at outer space (cold), and you get a win. You point it at some sort of IR collector (necessarily at ambient temperature, or higher), and you've lost your cooling ability.

<comment><USER7> So if you point it at a satellite, or the ISS, and run a generator? Would that be a good backup power source for solar currently used?

<comment><USER6> That's a great question. The thought of an orbiting IR collector crossed my mind while typing that comment, but I didn't want to think about it hard enough to address that. :)

The "beam" this generates is really more of a floodlight than a spotlight, so only a tiny part of the energy would hit your satellite. If you could focus it down to a narrow beam which hit only your satellite, my gut feeling is that you would simultaneously be focusing the surface heat of the satellite onto your panel. So once again, your panel would only "see" a hot surface, and would lose the benefit of cold space.

Also, as others have calculated in other comments, the amount of energy coming from the sun dwarfs what these panels radiate, so you are better off just pointing your satellite collectors at the sun.

<comment><USER5> > Also, as others have calculated in other comments, the amount of energy > coming from the sun dwarfs what these panels radiate, so you are better off > just pointing your satellite collectors at the sun.

Especially in space! We lose a good amount of irradiation energy from the sun to the atmosphere.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Sky cooling is a super neat phenomena. It's one of the main reasons why sometimes at night, your car can frost even though the ambient temperature of the air is higher than freezing.

<comment><USER9> Sorry to be a pedant, but the singular form is phenomenon. Phenomena is the plural.

</comment></comment><comment><USER10> Wouldn't it be more efficient to just use water run through a coil 6 ft underground? In most areas that have the intense heat that running water over the radiators actually would help, the ground 6 ft below is pretty easily cooler than 5-10 degrees C. The electricity to pump 6 ft down couldn't be that much more either...

And when it isn't as hot out, you can actually use the ground temp to radiate heat out of the house by itself, no need for coils and a fan to run in ambient air temp, right?

<comment><USER11> Better solution: stop _creating_ heat in the home. Instead of using gas or electricity to heat water, use a heat pump joined to the A/C. Store greywater and heat _that_ up, then send it down the sewers. A liter of water has the same heat capacity as 3 cubic meters of air and a person uses 300+ liters of water per day, enough to cool 3200 square feet of house by 10 F.

<comment><USER12> I wish there were viable commercial solutions for this.

The other day, when it was 106F outside and I had to dry some clothes, I found it quite unfortunate that I was spending a bunch of energy to move hot air out of my house, while at the same time spending a bunch of energy creating hot air in my house to dry my clothes.

It would have been so nice if there were a reasonable way for me to take the heat already in my house and push it through the dryer.

(I could have hung them to dry, but I live too close to the freeway to do that -- they would have been dirtier than when I washed them)

<comment><USER13> Your dryer should be in unconditioned space, at least during the summer. That's easy if it's in its own room with a window. Summer: window open, door closed. Winter: window closed, door open, vent inside.

<comment><USER14> venting inside creates significant condensation and lint/dust issues. Not a great idea (and I'm pretty sure against relevant building codes)

<comment><USER15> There is such a thing as ventless clothes dryers, from major brands such as Whirlpool, LG, etc. [1] We had an older one in an apartment we rented; it had a water reservoir that collected the moisture which you had to empty into the sink regularly.

[1] [https://duckduckgo.com/?q=ventless+clothes+dryer](https://duckduckgo.com/?q=ventless+clothes+dryer)

<comment><USER16> A large number of clothes dryers in Europe (save for the UK, which still uses a lot of hotboxes) are condensation dryers. Some countries (Sweden I believe) actually don't allow vented hotbox dryers for new construction due to building codes explicitly barring them. Heat pump dryers have been around for about 3-4 years now, but condensation dryers have been around for decades.

In the US, but have been running Bosch condensation dryers for over a decade. Previous rental had one and the immediate difference I noticed was how much longer my clothes lasted from the cooler temps, so when I moved I bought my own W/D. No regrets.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I am super excited they built a practical demonstration system out of this technology. I would love it if more 'breakthrough' research took it to this sort of proof of concept (I know it is hard to get funding for that sort of project but it is so useful).

I would love to see self contained shade structures that would both shade and lightly cool the air underneath them.

</comment><comment><USER18> Question - could one theoretically build a big enough array of this to counter-act globally warming? Any back of the envelope math for what it would take would be very interesting.

<comment><USER11> Radiative forcing from global warming will be somewhere between 2.6 and 6.0 Watts/m^2 by the end of the century[1]. Currently it is around 1.75 W/m^2[2], which translates to a total increase in absorption of 223 terawatts. That's about 3x the total energy produced by all photosynthesis[3][citation needed], and over 12x the energy in all forms consumed by humanity.

So, to a first estimate, no. It's absolutely beyond what we're capable of. To a second estimate: these panels reject 70 W/m^2, so to counteract current warming we would need to cover .625% of the earth's surface in them, which is 3.2 million square kilometers, which is over 6x the area you'd need to replace all of humanity's energy use with solar power.

All in all, it doesn't make much sense.

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

[2]: [https://en.wikipedia.org/wiki/Radiative_forcing#/media/File:...](https://en.wikipedia.org/wiki/Radiative_forcing#/media/File:Radiative- forcings.svg)

[3]: [https://en.wikipedia.org/wiki/Orders_of_magnitude_(power)#Te...](https://en.wikipedia.org/wiki/Orders_of_magnitude_\(power\)#Terawatt_.281012_watts.29)

<comment><USER19> _these panels reject 70 W /m^2_

What about plain mirrors? How efficiently do they reflect photons back into space? Presumably they're highly efficient for visible light; how easy is it to reflect infrared passively?

<comment><USER20> The problem with using mirrors as radiators is that they're terrible radiators. They might be great at reflecting the sky-photons away, but they won't launch their own photons away either.

Shiny things are great at reflecting incident radiation (which is why they're good mirrors) but bad at radiating their own heat. Dull black things are bad at reflecting but good at radiating. The technical terms are reflectance, absorptance, and emissivity.

[http://www.optotherm.com/emiss-physics.htm](http://www.optotherm.com/emiss- physics.htm)

</comment></comment></comment></comment><comment><USER21> I think the biggest question here is what saves more dirty energy. Obviously, these units will compete with solar for roof space. The sun beats down in the summer, where these panels would be most useful, but also where solar would hit peak power generation. As long as solar can supply at least 20% of the power required to cool the building, it seems like it will be a better option, as solar is also useful for other things like charging electric cars during the winter, when A/C is not required.

<comment><USER22> Even on a flat roof, there is room to add radiator panels without compromising solar space. The solar panels will be tipped up to the south some amount based on their latitude, but you don't want to shade the low end of a panel with the high end of the next one, so there is a gap between rows. A shaded gap. Precisely the best spot to put radiator panels.

You could even imagine a combined product which would be a corrugated panel alternating "uphill" solar and "downhill" radiator segments with the dimensions tailored to the latitude. This could be installed flat on the roof.

<comment><USER23> 180 degree flip panels. Solar cells during the day, IR radiators at night.

<comment><USER24> Plus it would look super cool if you got them to flip in a wave pattern across your roof.

<comment><USER25> I can see it now: malware communicating across air-gapped systems by way of flipping radiator panels on roofs.

<comment><USER26> After the CRISPR malware transmitted via actual genes, I'd barely be surprised.

<comment><USER25> That was a lot of hype and not much else. They modified the machines that were reading the specially crafted DNA.

<comment><USER27> Life always finds a way.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> Simply putting your outside AC Condenser Unit on the shady side of a house or have a Tree or Bush shade it can significantly reduce your energy usage. They units themselves are at least 20 Degrees cooler than being in direct sunlight.

There are also misting units that use approx 1-2 gallons of water a day (equivalent to a toilet flush) that can also reduce energy consumption by up to 30%.

Simple solutions for big savings.

<comment><USER29> I disagree. There isn't much difference in the _air temperature_ of air "in the shade" versus air not in the shade.

<comment><AUTHOR> Air temperature isn't the only thing that heats a condenser. Solar radiation does that too.

</comment></comment></comment><comment><USER30> For a better scaling version of this technology (roll-to-roll manufacture), see: [http://science.sciencemag.org/content/355/6329/1062](http://science.sciencemag.org/content/355/6329/1062)

</comment><comment><USER31> Atmosphere is only transparent for thermal infrared without clouds. Clouds emits and reflects ambient heat back to these panels heating them. But then one does not need typically air-conditioning on a cloudy day :)

<comment><USER32> Depends on where you live. :) Where I am, clouds do nothing.

<comment><USER33> Interesting! Do you know some examples of places where clouds influence temperature a lot and where it doesn't? And what causes this?

<comment><USER34> Maybe it's typical cloud base height?

</comment></comment></comment></comment><comment><USER35> I'd be curious if we could build a floating patch of these in the ocean and put them in front of hurricanes to rob them of the hot water they need to grow?

Anyone able to do the math? Keep in mind all the billions we spend on hurricane damage.

<comment><USER36> It would be a lot cheaper to do some cloud seeding or SRM ahead of the storm to reflect away solar radiation into space.

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

</comment></comment><comment><USER37> Professor Fan has a few incredible, highly technical lectures about the subject on YouTube if anyone's interested.[0] His work centers on nanophotonics, which goes hand in hand with research surrounding photovoltaic cell efficiency as well.

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

</comment><comment><USER38> Howis this "20% energy savings" product different from their original "all passive" pitch[1] from 2014?

[https://spectrum.ieee.org/tech-talk/green- tech/solar/passive...](https://spectrum.ieee.org/tech-talk/green- tech/solar/passive-radiators-cool-by-sending-heat-straight-to-outer-space)

</comment><comment><USER39> Couldn't beaming heat into space also buffer against global warming, as long as the amount of heat transmitted > the energy spent to beam it? Especially if we use renewable energy.

<comment><USER40> I think that's kind of just applying a bandaid to a wound that already has an infection. If you don't treat the underlying cause, (greenhouse gases) it's still going to get worse. Still, a massive planetary array of space radiators sounds badass.

<comment><USER41> At the risk over over-utilizing your metaphore... you still put on bandaids on infections -- even if you're taking antibiotics or applying antiseptic ointment.

</comment></comment></comment><comment><USER42> Pretty neat idea.

This reminds me of sun free photovoltaics. Somehow people managed to transform heat into coherent IR waves that could be converted by the usual PV cells.

<comment><USER43> Thermophotovoltaics :) [https://en.wikipedia.org/wiki/Thermophotovoltaic](https://en.wikipedia.org/wiki/Thermophotovoltaic)

<comment><USER42> Yes this. For a reason I remember an article "sun free photovoltaics" hence my comment. But I can't find it again on this page.. odd. [https://en.wikipedia.org/wiki/Sun- free_photovoltaics](https://en.wikipedia.org/wiki/Sun-free_photovoltaics)

</comment></comment></comment><comment><USER44> Is there any material that readily absorbs heat at wavelengths between 8 and 13 micrometers? Instead of beaming the heat to space, could you instead put that special coating on a parabolic reflector and use it to heat up an absorbing material at the focal point? And then put a frying pan on top of that and cook an egg?

<comment><USER45> There's a statement of the 2nd law of thermodynamics, that forbids you from passively transferring heat from a cold body to a hot body.

<comment><USER44> Ah of course. So best case it can accelerate warming cold things to ambient temperature

</comment></comment></comment><comment><USER46> How much does this save vs. replacing these panels with solar panels?

</comment><comment><USER47> Does that mean we can cover the deserts with these plates that run purely on solar energy and release energy as infrared radiation to combat Global Heating?

<comment><USER47> Ah, sorry, duplicate question (see below). Well, even if it does not do much, it's a start, and it shouldn't require putting in extra energy from power plants.

</comment></comment><comment><USER48> If this system is scalable area-wise wouldn't it be a good idea to shield the ice caps with this? A 3C to 5C degree difference could mean quite a bit in preventing further ice melting, no?

<comment><USER49> But that's just it -- it is NOT scaleable to any measure that would make a difference. The manufacturing effort alone would require quantities of raw material that would dwarf all construction efforts ever undertaken combined. There is the issue of mining, refining, manufacturing, transporation... not to mention the installation and maintenance of a hundred thousand square miles of reflective shields in an incredibly hostile (to life) environment. Even if the whole of humanity could agree this is the most pressing issue of civilization, we would wreck the earth to save the ice. It would be easier to build a shopping mall at the bottom of the ocean.

And the sun will just get warmer anyway. It is folly to think we can play God. Climate change is normal, and natural. It has been happening since the beginning of time, and will continue long after all traces of life on Earth are gone. Who are we to attempt to interfere?

<comment><USER50> We already did play God by increasing CO2 in atmosphere. There is nothing wrong in efforts to mitigate its effect.

<comment><USER49> If the efforts are effective, perhaps not. If. But just doing something/anything isn't the same as solving the problem. Building an umbrella over the ice caps is 1) not technologically possible and 2) the secondary effects of the attempt would be extreme, making the original problem much worse if one accepts the premise that human activity releasing CO2 causes global warming.

Again, imagine the amount of fossil fuel needed for mining, manufacturing, transportation, of a reflective panel that can cover 10% of the earth's surface. If indeed CO2 is at the root of this problem, ask yourself if the shade given by this sun shield would offset the manufacturing costs in terms of CO2 release.

It would be more effective to simply plant more trees, or protect the Amazon from logging or somehow convince China to stop building coal-fired power plants, or the whole world to convert to nuclear power. etc.

Or just build a ladder to the moon. This is silly.

<comment><USER44> > or somehow convince China to stop building coal-fired power plants

They are already convinced: [https://www.csmonitor.com/World/Asia- Pacific/2017/0303/China...](https://www.csmonitor.com/World/Asia- Pacific/2017/0303/China-s-coal-consumption-drops-again-boosting-its- leadership-on-climate-change)

<comment><USER51> [https://www.nytimes.com/2017/07/01/climate/china-energy- comp...](https://www.nytimes.com/2017/07/01/climate/china-energy-companies- coal-plants-climate-change.html?mcubz=0)

I don't think so. There's not a lot of evidence "they" (meaning the CPC) are convinced of global consequence to stop. The desire for growth outweighs any actual concern for the future of the planet from their perspective. Without direct evidence of outcome, a tyrannical social structure operates from the top, expecting to deal with the future by sacrificing the bottom. The Aztecs, the Pharaohs, the Romans, USSR etc all fell when they external sources overwhelmed the existing mitigation methods (insidiously or violently) and China will probably travel the same route. One might hope it's not the final lasting dynasty 100 years from now.

</comment></comment></comment></comment></comment></comment><comment><USER52> If these become popular, maybe you could create a new solar panel that absorbs the wavelengths emitted by these air conditioners in order to create electricity

...or better yet...

<comment><USER11> These panels reject heat at a rate of up to 70 W/m^2. A good solar panel absorbs 20% of incoming light, which typically peaks at about 1000 W, so a solar panel reduces temperature by 3x as much.

So... you could just do that.

<comment><USER53> Furthermore, air conditioning isn't lowering the temperature of a system by the energy consumed. Rather, it acts like a heat pump which usually pumps more energy that is used. So 200 J/s of electric power running a typical AC unit would likely reject more than 200 J/s from a building.

</comment></comment></comment><comment><USER54> I thought such a system already existed.

</comment><comment><USER55> A temperature drop of 3-5 degrees C is meaningless unless other variables are supplied. For example, how much water was cooled? They tell you how long (3 days) but they don't let you how many panels they used either. Too many 'science' articles these days don't add up.

<comment><USER56> This is just a press release about the actual scientific publication. The abstract provides more information:

[https://www.nature.com/articles/nenergy2017143](https://www.nature.com/articles/nenergy2017143)

 _Cooling systems consume 15% of electricity generated globally and account for 10% of global greenhouse gas emissions. With demand for cooling expected to grow tenfold by 2050, improving the efficiency of cooling systems is a critical part of the twenty-first-century energy challenge. Building upon recent demonstrations of daytime radiative sky cooling, here we demonstrate fluid cooling panels that harness radiative sky cooling to cool fluids below the air temperature with zero evaporative losses, and use almost no electricity. Over three days of testing, we show that the panels cool water up to 5 ∘C below the ambient air temperature at water flow rates of 0.2 l min−1 m−2, corresponding to an effective heat rejection flux of up to 70 W m−2. We further show through modelling that, when integrated on the condenser side of the cooling system of a two-storey office building in a hot dry climate (Las Vegas, USA), electricity consumption for cooling during the summer could be reduced by 21% (14.3 MWh)._

And you can read the full article via sci-hub to get all the experimental details.

<comment><USER57> > the panels cool water up to 5 ∘C below the ambient air temperature at water > flow rates of 0.2 l min−1 m−2, corresponding to an effective heat rejection > flux of up to 70 W m−2.

Can someone translate that into layman terms? The chained negative exponents are somewhat confusing. I would think 70 W m^2 would me square meters, but what's 70 W m^-2? I assume it's not really mappable to dimensions at that point...

<comment><USER3> Sorry, that's the convention of the journal. It's W/m^2 -- heat rejection per unit area.

<comment><USER57> Oh, I get it now. I totally missed that there wasn't a division there. That makes complete sense now that it was pointed out, I'm just not used to seeing stuff in that format apparently. :)

</comment></comment></comment></comment></comment><comment><USER58> Meh. Get rid of the big cow farms and you have removed the biggest threat to the climate. This solution here is nice, but it's just a small amount compared to the big players.

<comment><USER59> Agriculture only contributes 10% or so in the US. Hardly the "biggest threat".

</comment></comment><comment><USER60>
      into space

Hmmm, that seems like a click-bait statement. Between the air conditioner and even low earth orbit, there's plenty of atmosphere that will soak up some of the beam's heat, no?

<comment><USER61> No offense, but did you read the article? It's directly addressed:

> _So Raman and electrical engineering professor Shanhui Fan made panels > containing layers of silicon dioxide and hafnium oxide on top of a thin > layer of silver. These radiate in a unique way: They send heat directly into > space, bypassing the Earth's atmosphere. The panels do this by emitting heat > at infrared wavelengths between 8 and 13 micrometers. To these waves, the > Earth's atmosphere is transparent. What's more, the panels reflect nearly > all the sunlight falling on them._

A little further research shows that the atmosphere is opaque at numerous wavelengths and it's probably safe to assume that they intentionally targeted the opaque ones: [https://i.imgur.com/eUmTltm.png](https://i.imgur.com/eUmTltm.png)

<comment><USER62> While i understand you both.

A title is a title. And the title claims 'heat' not reflecting infrared wavelengths between 8 and 13 micrometers. And imho 'heat' is more then certain ranges of infrared wavelengths. So in that sense i can see why somebody uses the word clickbait in regards to this title.

edit joke While i'm just afraid the moon will start to condensate /edit

<comment><USER57> It's removing heat from a system by radiating it into space. That it's radiated using infrared is irrelevant, since it does cool the system it is attached to. Even "beam" is appropriate in this instance. There's no "bait" in the "click-bait", it's exactly as advertised.

<comment><USER60> Listen, a little tl;dr is not too much to ask for around here, especially when the salient point is buried 7 paragraphs in, when it should be present in the leading sentence. Forgive me for not locating the relevant passage, while quickly skimming this and 100 other articles, while at work.

Furthermore, regarding cloud cover, I am dubious of the premise that even the specified wavelengths penetrate otherwise opaque cloud cover. Sure, maybe that portion of the spectrum penetrates the typical atmospheric mix, including light water vapor, on an otherwise clear day, but, color me unsurprised if it fails to penetrate smog, diesel and particulate pollution, and other common dust constituents in cloud nuclei. I mean, even radar can be blinded by dense storm clouds.

But hey, maybe I'm wrong, maybe it's a 100% miracle cure. Maybe it's that awesome. I hope I really am just a big dummy, too lazy to read a blurb more than three sentences long.

<comment><USER57> > Listen, a little tl;dr is not too much to ask for around here

Then ask for a summary, or point out that it's not well written for easy dissemination of facts.. There's no need to call a title out as click bait when it isn't. There's plenty of click-bait titles to go around, we don't need to malign accurate titles without cause. A click-bait title isn't just wrong or unclear, it's purpose is to _intentionally_ mislead people for views. An accusation of click-bait is similar to an accusation of lying, which is different than being unclear or incorrect. As such it should be reserved for cases where there's evidence to back it up, otherwise discourse breaks down, in the same way accusing someone of lying when they are unclear (or you are unclear on their meaning) doesn't lead to useful discussion.

You have questions regarding the veracity of the statement? Sure, figure that out, and _then_ make a statement about how accurate it is. If you aren't part of the signal, you're part of the noise.

<comment><USER62> apparently you don't really know what clickbait is, though i do know what you mean, and i think thats correct, though not more correct then to say the title has a clickbait factor.

And if you think this title wasn't thought of to maximise clickthroughs (again, regardless of the content of the article as clickbait ONLY applies to the title) ... you are very naive..

Other titles could be, getting rid of excess heat via infrared into space. Which would be less interesting to majority of people, as people read it, and think 'oh airconditioning, i got that... oh a new unit that beams into space ... neato...'</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Don't show points? - <AUTHOR> I was thinking about group think and how to keep it out of HN. And I ran into a fundamental problem/cause:
Psychologically, people naturally follow groupthink. No matter how much you stress not following it, they'll still be inclined to follow the herd.
So just saying "try not to follow groupthink" isn't good enough. Instead, why not make it less possible to follow groupthink?
So here's my suggestion: stop displaying the points. Maybe still gray out downvoted comments, but I think even that is unnecessary. They'll float down to the bottom of the thread anyway. And I know that when I see a downvoted thread, I read it differently. I don't say "maybe a couple people just didn't like what they said, and it was actually ok" coming into it, I say "what did this person do wrong? What stupid thing did they say?" I come into it biased because of the points it has.
Same goes for a comment with a lot of points. I say, "what great wisdom does this person have for me?" and thus am naturally more inclined to upvote it or at least like it.
The rankings would still work the same, so the good comments would still float to the top, but there wouldn't be an absolute number to tell you "this is amazing" or "this sucks." High posts might just be very new. Low posts might just have gone unnoticed or been overshadowed by more amazing ones.
I realize that the points serve many positive purposes too, and it's just an idea, but I think if individual, unprejudiced discussions are what we want, eliminating the display of points would help a lot. <comment><USER2> The way it works on Perlmonks(.org) is that you don't see points on a comment/submission until after you've voted. If you want to see the score you can do a "null vote". I definitely think this is a better way to handle it. I really can't think of any reason why you'd _want_ to show score before voting.

<comment><USER3> >> I really can't think of any reason why you'd want to show score before voting.

When I vote (here), I'm pushing a comment towards an idealized score. To make the decisions "do I think this is rated too highly" and "do I think this is rated too lowly" requires knowledge of the current score.

<comment><USER4> This closely matches the way I mod comments as well.

</comment></comment></comment><comment><USER5> I'd much rather deal with the ramifications of "groupthink" than wade through dozens of banal comments.

Vote counts give me more information. While that may affect my understanding of an idea, it's for the better.

Points may have an inherent bias towards older posts or well known authors, but I value what they represent.

<comment><AUTHOR> But part of what groupthink does is make the points mean less. The opinions of a few can start a groupthink snowball burying good comments and raising mediocre comments to high scores.

So as of now, that information you're using is unreliable because it is affected by groupthink.

<comment><USER6> Which is exactly what happened on Reddit, where you have to wade through all the up-modded pun threads to get to the real comments.

</comment></comment></comment><comment><USER7> Completely agree, and said as much not long ago:

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

 _I tend to find myself influenced by the karma count more than anything else. I have to log myself out after commenting to increase the cost of checking the change to my net karma.

I'm a strong advocate of hiding the karma counts entirely (for users, submissions, and comments). That greatly reduces the conditioning effect, not to mention karma-related drama and groupthink (as Surowiecki argues, crowd wisdom is best procured when evaluations are performed independently). Submissions and comments can still be ordered by net karma over time, as they are now.

Whatever you choose to do, I think there's a strong argument in favor of experimentalism. Especially since the site isn't a commercial undertaking and can deal with the occasional disruption._

(Um, and yes, that user is me. I locked myself out of my account to keep myself from compulsively commenting and visiting the site. Apparently I still wanted back in.)

<comment><USER5> You are not good at locking yourself out of your account. While I appreciate the struggle with compulsion, I'm not sure you're fit to dictate guidelines.

<comment><USER8> Why do you think he is not good at locking himself out of his account? (He is now posting from a new account)

In what way do you think he is "dictating" guidelines?

</comment></comment></comment><comment><USER9> Sometimes I'll just upvote a submission on the 'new' page with 0 points to trigger group think because I might think the article will spark interesting debate, or to help prevent an 'ask hn' or 'rate my startup' submission from falling, which keeps other users here from seeking advice from the community.

</comment><comment><USER8> Seeing the scores doesn't affect my opinion! I'm impartial!

... except that a few times, I've _observed_ my attitude towards a comment change when its score changed. What is a little frightening is I have also witnessed a struggle within me between what seems to be true to me, and fitting in with the group's opinion.

This psychological phenomenon has been confirmed experimentally (though I have met one extremely detached person (borderline autistic?) who I would bet would be above it). <http://en.wikipedia.org/wiki/Asch_conformity_experiments>

A struggle for perception of reality is a struggle for reality.

</comment><comment><USER10> I would think that people should be able to handle the truth (either way) - painful as it may be. I mean if the Internet stands for one thing, it's transparency. Hiding stuff is not something we should strive for.

<comment><USER11> I'm not sure adherence to simplistic ideals is something we should strive for either. The goal of HN, as I understand it, is to generate thoughtful discussion. If transparency is counterproductive to achieving that goal than we should abandon it.

As far as "handling the truth" I don't think that speaks to his point. When we use that phrase we are talking about someone controlling their reaction to a change they can perceive. Such as someone preventing themselves from emotionally falling apart when something bad happens.

But group think, and the desire for acceptance which is its root cause, is something people don't perceive is happening to them. They therefore can't consciously control their reaction to it.

His suggestion is that we remove the root stimuli so as to not provoke the reaction to begin with. So your point doesn't really apply.

</comment></comment><comment><USER12> The points provide information about what others think about the submission, which is useful in guaging the status of the comment. It does not have to affect your opinion, unless you let it.

<comment><USER13> I think people are much less in control of what influences them than what we'd like to admit.

<comment><USER14> I can confirm this. Halfway through reading his post, I noticed that you had more points than him, stopped to read yours, then read his with skepticism. Possibly it's because you do make a legitimate point, but I'd suspect that your score disrupted the flow of my reading.

<comment><USER15> Read _Influence: The Psychology of Persuasion_ by Robert Cialdini. Anchoring, framing, and sex are _very_ powerful.

</comment></comment></comment></comment><comment><USER16> I think this is a very good idea, but for a slightly different reason. The whole points-for-posts thing creates a meta-game of accumulating points above the normal game of participating in discussion. This leads to those annoying meta-disucssions where people complain about being down modded and all that goes with that.

The modding system is useful for ranking comments so that when I read a massive thread the most interesting ones tend to be around the top.

It may also be useful for users as a feedback mechanism to figure out when they're doing something that's not cool (like the things we've been discussing in the guidelines thread today) but I don't think you need a precise numerical score for that. And I think it's the precise score that gets people in the karma-game mindset. It certainly does that for me.

</comment><comment><USER17> I'm honestly not being cheeky, I suppose I'm just slow: Wouldn't it be easier to just not think about the points? I've found the points useful when looking for a summary, takeaway, or rebuttal that earned attention.

<comment><AUTHOR> Theoretically, that's the optimal solution. They have advantages for situations like what you listed.

The problem is that pretty much _everyone_ is in some way influenced by them just by seeing them.

Do you really approach a comment at -10 points with the same open mind as one with +30?

<comment><USER18> I think the more important question is should you? If 10 other people before have expended the mental energy to figure out that this comment isn't worth reading, why should I expend mine to determine the same thing? I like where you're going with this, but it uses our group mental capacity much less efficiently. There is probably a better solution... looking at a number is a pretty efficient filter and I don't think we should lose it.

<comment><USER11> In most cases you're probably right. But not always.

The problem is you don't know the moral character or intelligence level of the people who first stumbled on to a comment. If two ignorant people happen to see a quality comment first and both vote it down that comment is essentially lost to the group. I think we can all agree there are at least a few fools running around here so the idea isn't farfetched.

So the question is do you want to trust what might be insightful comments to the randomness of timing?

<comment><USER5> But 10 people's moral character? 30?

If the comment was really sparkling, it seems unlikely that the first two ignoramuses would drown out the larger cast of HN. It's not all about timing.

<comment><USER11> But the whole premise is that once a comment gets a negative score people don't read it anymore. 2 or 3 people could easily do that.

Also, 10 people on a site that gets in the area of 200,000 uniques isn't that significant.

<comment><USER18> What if we don't assume every vote is equal. What about weighting a user's vote by some factor of their karma? And/or capping the threshold that a user can vote. i.e A user with 0 karma can vote on comments with 0-3 points. A person with 100 karma can vote on comments -3-6 points. A person with 500 karma can vote on comments -9-9 points, etc... This implies that a comment with ridiculous votes (either positive or negative) has been decided by members of the community that the community has already shown approval for.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Points have their uses in making it easier to zoom in on the important parts of a discussion (or the best contributions), it's helpful if you have a limited amount of time to spend and you want to make the most of that.

Unfortunately they tend to turn in to a goal by themselves.

Points are the root of all evil ;)

It's a classic case of influencing the system that you are measuring, same with google pagerank or a volt meter with a low internal resistance.

</comment><comment><USER20> I'm not so sure. How do you know that groupthink is the problem? Perhaps the problem is instead that the new users fit in a different groupthink pattern than the old users. In that case, you want to encourage groupthink when it leads to the correct behaviours.

</comment><comment><USER21> Maybe we could do an experiment with randomly upvoted/downvoted new posts and see how much more likely the posts are to be upvoted/downvoted?

</comment><comment><USER22> And what about hiding karma points too ? Imo, the problem with karma is that people try to get more karma, per se.

<comment><USER23> It serves a purpose, though. When you see a user with high karma, you can easily tell that he has contributed a lot to the conversation.

<comment><USER6> This is important, because it helps defend the site against trolls.

But perhaps it would be better not to be confronted with your score every time you log in.

</comment></comment></comment><comment><USER24> Good idea, that could be an easy way to prevent the absurd up- or down-voting phenomenon.</comment>


Show HN: Styled-components – Use the best of ES6 to style React apps - <AUTHOR> https://styled-components.com <comment><USER2> I want to mention my styling library here: [https://www.npmjs.com/package/react-native-style- tachyons](https://www.npmjs.com/package/react-native-style-tachyons)

The best part: it gives you a consistent spacing [0] and a consistent font scale [1] which is relative to rem. No more magic values, just use classes:

        ma0 ... ma7            margin: 0|0.25|0.5|1|2|4|8|16 rem
        ml|mr|mb|mt [0-7]      marginLeft, marginRight, marginBottom, marginTop
        mh [0-7]               marginHorizontal
        mv [0-7]               marginVertical

        /* Same with p for padding */

No more stylesheets, everything is there at a glance and easily fixable:

        <View cls="bt bb jcfs pa2">           /* border at top and bottom, justifyContent: stretch, padding: 0.5rem */
           <Text cls="white tc">           /* white color, text-align: center */
               Something
           </Text>
        </View>

[0] [http://tachyons.io/docs/layout/spacing/](http://tachyons.io/docs/layout/spacing/)

[1] [http://tachyons.io/docs/typography/scale/](http://tachyons.io/docs/typography/scale/)

<comment><AUTHOR> That's awesome, I love tachyons!

styled-components is on a slightly "lower" level in a certain sense, you would build components like yours with styled-components:

        const TachyonsText = styled.Text`
          ${props => props.bt ? 'some: styles;' : 'other: styles;'}
        `;

Those functions could then be extracted and reused across your components:

        const bt = (props) => props.bt ? 'some: styles;' : 'other: styles;';

        const TachyonsText = styled.Text`
          ${bt} ${bb} ${jcfs}
        `;

And then you can use your component like any other tachyons component:

        <TachyonsText bt bb>Text here</TachyonsText>

<comment><AUTHOR> To elaborate on this just a tiny bit, you can use tachyons-js[0] by the amazing jongold to automate even more of this:

        import tachyons from 'tachyons-js';

        const tachyonsHelperFunc(props) => Object.keys(props).map(prop => tachyons[prop])

        const MyTachyonsComp = styled.div`${tachyonsHelperFunc}`;

This way, MyTachyonsComp can now has all the benefits of styled-components (easy theming and overriding, power of JS for styling, ReactNative, nesting,…) while also being able to use tachyons really easily:

        <MyTachyonsComp ma2 ph2 bb />

In fact, you could probably even wrap the above helper to make it really easy to use:

        const styledTachyonsComponent = (...args) = styled(..args)`${tachyonsHelperFunction}`;

Now you can created styled-tachyons-components really easily:

        const MyTachyonsStyledDiv = styledTachyonsComponent('div');

:tada:

Note: I just coded this in this comment, might be some typos in there.

[0]: [https://github.com/jongold/tachyons- js](https://github.com/jongold/tachyons-js)

</comment></comment></comment><comment><USER3> For anyone unfamiliar with the syntax used to achieve this, it's called Tagged Template Literals [0] and it's part of ES2015. You have a function that receives the static strings and interpolations and can return anything you want.

[0] [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Template_literals)

<comment><USER4> One of my favorite uses of tagged template literals is for HTML-encoding variables into an HTML string with (my module) [https://www.npmjs.com/package/auto-html](https://www.npmjs.com/package/auto- html).

</comment></comment><comment><USER5> I think using strings as an API is a step in the wrong direction. I like that it produces a React component directly though.

We experimented with styling approaches for React a while ago and produced our solution — React Stylesheet[1], which we used for over an year in different React applications.

It also produces components out of style definitions directly:

        let GreenBox = style('div', {
          base: {
            background: 'green'
          }
        })

Which you can use like any other React component later:

        <GreenBox />

As you can see the API is kinda similar but uses JS instead of CSS string. What are advantages? The following:

* Consistent syntax: you can use functions, variabls, mixins, w/o the need for interpolation `${...}`.

* Tooling. This is big one. You can make your stylesheets linted with ESLint and typesafe (!!!) with FlowType or TypeScript.

FlowType is supported out of the box, see [2]. Typesafe stylesheets is a huge win for productivity, I constantly catch typos and invalid values via Flow.

[1]: [https://github.com/prometheusresearch/react- stylesheet/blob/...](https://github.com/prometheusresearch/react- stylesheet/blob/next/README.md) [2]: [https://github.com/prometheusresearch/react- stylesheet/blob/...](https://github.com/prometheusresearch/react- stylesheet/blob/next/README.md#type-safety)

EDIT: additions

Styles are compiled into CSS so :hover and friends work here.

<comment><AUTHOR> Hey Andrey! :wave:

If you reading this are interested in a discussion about this, read this tweet by Andrey and the following replies: [https://twitter.com/andreypopp/status/786524437843615744](https://twitter.com/andreypopp/status/786524437843615744) :)

</comment></comment><comment><USER6> What is the performance penalty of using generated styles on every render?

As far as I can see from the source code, React will have to modify `<style>` tag every time a component is being rendered.

I still think the best way to handle stylesheets is with external css file ( doesn't matter how it's generated. I use CSSModules ) and then add static class names for those components.

<comment><AUTHOR> We've tried styled-components in medium-size projects (50-500 components) and haven't noticed any performance-hit yet. That being said, it's definitely something we're conscious about.

That's why we will be writing a babel transform that grabs all the _static_ styles and extracts them into a separate stylesheet! (just didn't have time to do it until ReactNL where I just announced it)

See this issue for more information, and if anybody reading this has experience with babel transforms please holla since we can definitely use your help! [https://github.com/styled-components/styled- components/issue...](https://github.com/styled-components/styled- components/issues/59)

<comment><USER7> You mean extract into a separate stylesheet file?

Wouldn't that lead to [https://en.wikipedia.org/wiki/Flash_of_unstyled_content](https://en.wikipedia.org/wiki/Flash_of_unstyled_content) issues?

Maybe some memoization could help if there are performance issues with regenerating `document.styleSheets`...

</comment></comment></comment><comment><USER8> After Reagent + Hiccup, I'm ruined. Nothing feels as natural as a full, general-purpose language (Clojure) combined with a natural keyword-based DSL for styling:

      (defn right-cell [& body]
        [:td.right.aligned body])  ;; renders {...body}

      (defn person-row [{:keys [name age] :as p}]
        [:tr
          [:td name]
          [right-cell age]])

      (defn person-table [font-size people]
        (let [heading-size (* font-size 1.6)]
          [:div
            [:h1 {:style {:font-size (str heading-size "em")}
              "People List"]
            [:table.ui.basic.table
              [:tbody (map person-row people)]]]))

      (defn main []
        [person-table 2 [{:name "John" :age 21} {:name "Sally" :age 22}])

</comment><comment><USER9> With components I think we are taking a step back from semantic HTML elements, where style is applied by a separate template. And business logic is also separated from the layout elements.

<comment><USER10> The cutting edge of front-end development has been arriving at ways to split business logic from layout elements for some time now.

Redux, Om, Reframe, Elm, etc. They all amount to hooking up components to a state transactor where the business logic lives separately.

Semantic HTML seems like a trade-off where you clean your markup at the expense of indirection, not a universal aspiration. And components don't dictate where your styling should live.

<comment><USER9> In classic HTML you use id attributes for the JavaScript, and class attributes for the style-sheet.

<comment> King-Aaron I agree, I still don't see the benefit here.

</comment></comment></comment></comment><comment><USER11> I'm probably missing something but what's the advantage of this over usual way of defining styles in React?

<comment><AUTHOR> What do you mean with "the usual way"? ;)

There is vanilla CSS, Sass, CSS modules, Aphrodite, Radium, JSS,…

This image from the talk I just gave about it sums the differences up quite well: [http://imgur.com/dmiROz6.jpg](http://imgur.com/dmiROz6.jpg)

You can also see a comparison with other styling methods here: [https://github.com/styled-components/comparison](https://github.com/styled- components/comparison) (this is where the checklists are from)

<comment><USER12> Interesting. What warrants a for CSS Modules co-location? Is it just because you can't write it in the same JS file as your component?

I'm also super duper skeptical of style interoperability between React Native and the browser. From experience styling in React Native suffers from the uncanny valley - its so close to browser CSS, but ends up failing in rather significant ways (mainly layout) that would prevent style reuse.

<comment><AUTHOR> Yes exactly.

It's less about interoperability and more about using the same styling system for_all_ parts of your application. Styling on ReactNative is different enough to have to be careful when doing it, though theoretically it's very possible.

</comment></comment></comment></comment><comment><USER13> How do you do pseudo classes like :focus?

<comment><AUTHOR> Like this:

        const FocusInput = styled.input`
          &:focus {
            focus-styles: here;
          }
        `;

</comment></comment><comment><USER14> glamor is another option for React apps, if inline styling is your thing. [https://github.com/threepointone/glamor](https://github.com/threepointone/glamor)

<comment><AUTHOR> glamor is amazing, Sunil really outdid himself with it. In fact, his injection mechanism is so good we blatantly copied it for styled-components!

On the other side, Sunil is looking into stealing some of the general ideas from styled-components which I'm really looking forward to: [https://github.com/threepointone/glamor/issues/70](https://github.com/threepointone/glamor/issues/70)

</comment></comment><comment><USER15> Neat. Now, why not actual CSS?

<comment><AUTHOR> Can I forward you to these four resources? (I realize this might sound like a cop-out answer, but these people have summed up the benefits of CSS-in-JS so much better than I could in two minutes!)

[0]: Rendering Khan Academy's Learn Menu Wherever I Please: Documenting the move from the handlebars + less combo to react and css-in-js, and why KhanAcademy did it

[1]: My thoughts on Inline Styles: A great collection of both pros and cons about styles in javascript. Most of those doubts we've tried to solve with styled-components

[2]: "Scale" FUD and Style Components: Using components as low-level styling constructs

[3]: Ryan's random thoughts about inline styles: Explaining some benefits of using styles in js

BONUS

[4] The Future of Reusable CSS: How component libraries should be styled, and why they're not yet

\----

[0]: [https://medium.com/@jdan/rendering-khan-academys-learn- menu-...](https://medium.com/@jdan/rendering-khan-academys-learn-menu- wherever-i-please-4b58d4a9432d#.w9nshye05)

[1]: [https://medium.com/@andrewingram/my-thoughts-on-inline- style...](https://medium.com/@andrewingram/my-thoughts-on-inline-styles- da94682b5e35#.trbnpmcn9)

[2]: [https://medium.com/learnreact/scale-fud-and-style- components...](https://medium.com/learnreact/scale-fud-and-style- components-c0ce87ec9772#.kzjba8lcg)

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

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

<comment><USER16> Neat. Thanks!

</comment></comment></comment><comment><USER17> What's the font in the code-editor screenshot? The italics look good!

<comment><AUTHOR> It's Operator Mono by Hoefler & Co! [http://www.typography.com/fonts/operator/overview/](http://www.typography.com/fonts/operator/overview/)

<comment><USER18> Hooking onto this, what's the colorscheme?

<comment><AUTHOR> Syntax Theme: Base16 Ocean Dark Spacegray! (and UI Theme: One Dark)

</comment></comment></comment></comment><comment><USER19> Great one! Would love to do this in my side projects.

<comment><AUTHOR> Let us know how it goes, we'd love to know what you think!

Note: You can also use this in real projects ;)

<comment><USER19> Real projects in the future may be! Because the current one involves a lot of components and I don't think this would be scaling well as it's gonna rerender the styles multiple times.

<comment><AUTHOR> Sorry, how do you mean "rerender the styles multiple times"? The only time any styles ever change is if one of your interpolations changes, but otherwise we don't do much calculation at all!

That being said, there might be a performance impact in massive (1000+ components) applications. We've tried it in medium apps, and haven't seen any performance impact yet. We're also going to build a babel transform to extract the static styles to get even better performance. (see [https://news.ycombinator.com/item?id=12700280](https://news.ycombinator.com/item?id=12700280))

<comment><USER19> Hmm yup I mistyped that. I was a bit worried about the performance because the app is a multi tab grafana like dashboard with real time data. I'll try by modifying components that dont change often. Will measure and go up from there.

</comment></comment></comment></comment></comment><comment><USER20> Saw your talk this morning at reactnl, cool stuff!

<comment><AUTHOR> Hah, small world! (if you want to call HN small)

Glad you liked it :)

</comment></comment><comment><USER21> What about media queries?

<comment><AUTHOR> Just like any other media query, except without the selector!

        const AdjustsAt360px = styled.div`
          @media screen and (max-width: 360px) {
            this-is-applied-under: 360px;
          }
        `;

<comment><USER22> How is this implemented? And how is the :hover pseudo class implemented? Awesome work by the way!

<comment><AUTHOR> It isn't "implemented" – it's just CSS! Literally!

(Note: Almost the sole thing we do to that CSS before injecting it into the DOM is adding a hash of the contents as the selector. Not sure if that counts as "implemented"?)

<comment><USER22> Thank you, that's what I wanted to know, since projects like Radium implement e.g. hover in JS using onMouseEnter() etc, which sounds slow.

See [https://github.com/FormidableLabs/radium#how-does-radium- wor...](https://github.com/FormidableLabs/radium#how-does-radium-work)

<comment><AUTHOR> Exactly, they use inline styles, we use CSS. :)

(that's the difference between _inline styles_ (
) and CSS- in-JS (
) libs)

<comment><USER22> I don't think everyone uses that distinction, see this list for example. Radium is included among others:

[https://github.com/MicheleBertoli/css-in- js](https://github.com/MicheleBertoli/css-in-js)

Or this influential talk:

[https://speakerdeck.com/vjeux/react-css-in- js](https://speakerdeck.com/vjeux/react-css-in-js)

<comment><AUTHOR> I very much realize that, which is why I've been pushing towards people recognizing this because it _does_ make a huge difference! (as seen by the OC that kicked off this discussion)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Emoji as CSS classes. Never thought of that one...

</comment><comment><USER24> Very cool, I have been playing around with this idea for a little bit now and your implementation looks solid.

Looking forward to giving this a shot on my next side project.

</comment><comment><USER25> Site is a blank page for me.

<comment><AUTHOR> Which browser/OS?

(Feel free to dig into the code and submit a PR if you're so inclined! [https://github.com/styled-components/styled- components.githu...](https://github.com/styled-components/styled- components.github.io))

<comment><USER25> Apologies, didn't see your reply until now. IE11 behind the company firewall, I can see a rather short set of complete HTML in the source but nothing is rendered. Sorry I can't offer more information.</comment></comment></comment>


Lessons I Learned Starting (and Failing At) a Cybersecurity Company - <AUTHOR> https://thaddeusdiamond.com/2018/03/12/smartercloud-is-shutting-down/ <comment><USER2> Great Insight, Shitty Platform For Blogging Though. The multiple adds for the Same product gives the whole site the feel of a Facebook clickbate site.</comment>


AirFiber -- game changing last mile? - <AUTHOR> http://www.ubnt.com/airfiber Seriously interesting technology -- 1.4Gbit/s LOS PTP throughput using 24ghz unlicensed spectrum. If it functions as well as they claim, we could see serious benefits to communication deployments in rural areas. <comment><USER2> This is $3,000, so it's not a last mile technology. It's great for the "second mile" from the tower to the backbone, though.</comment>


Hacker Café – the best cafes for hackers in the world - <AUTHOR> https://docs.google.com/spreadsheets/d/1NardNM91hmTj_5witKiIqTPT5FRMJ5JHUHUOdn7gWyo/edit?usp=docslist_api

<comment><USER2> this has been done: [https://workfrom.co/](https://workfrom.co/)

<comment><AUTHOR> That is awesome! Thanks for sharing. It would be great to have a better European list than the one they have.

<comment><USER2> You can join and start rec'ing places. I think I recommended places around columbus, OH months ago, and they've finally put them live.

</comment></comment></comment><comment><AUTHOR> Starting out with Berlin. Let's work together to create a list of the best cafes in the world

</comment><comment><AUTHOR> Does anyone know cafes in Italy??</comment>