Cooling a house without air conditioning - <AUTHOR> http://www.bbc.com/future/story/20190822-are-there-alternatives-to-air-conditioning <comment><USER2> A lot of the need for AC (and having lights on) is just really, really bad modern house design. I recently finished building a house (my first one) and everyone acted like I was crazy for not building in central air conditioning. (This is in New Hampshire)

I built in an older style, with windows on every side, with a mind towards ventilation and light. Inexplicably most houses in the area, even $500k+ houses do not have these two things. My mom's condo has central air but the system is so feeble and the venting upstairs so poor that two bedrooms in the house remain stuffy anyways. It seems like light and natural ventilation are not even afterthoughts, but non-thoughts, and the designs all rely on electric light and forced air. Its amazing being in an expensive home where you need a light on in the kitchen at 8am. How do they decide what to build?

I built 9 foot ceilings on the first floor and 8.5 on the second. Then I placed the attic (3rd story) door centrally in the upstairs hallway. The result of the design is that airflow moves on the first floor in all directions, and upward, and on the second floor can move _at least_ east-west (bathroom and hallway windows), and also north-south if bedroom doors are open. Finally, air flows upwards to the attic, which has windows north-south. So winds should suck air higher, and out.

If I close windows in the morning and open around 7pm, the result is that the house stays very cool, about(? only tested with temp gun a few times) 74 downstairs and 76 upstairs during these 90 degree days, and then gets cooler at night as I open windows again. So far, I've only bought one fan, though things might work better with more. Note I'm not an expert or an architect, I just included some design features that should be obvious to anyone who's lived in an old house for a summer.

This takes some manual control, but there are far fewer parts to maintain (this was a general design goal beyond AC), and summer electric bills are $50-60/month. With this design, there have been 3 icky-hot days so far this year, when there was no wind and the night did not get very cool.

<comment><USER3> there are two common mistakes in many modern implementations of central air.

the first is the hardest to get done as most hvac companies resist, having the exhaust not be at the exact end of the the pipe. the pipe should end just beyond it.

the second is not having a return or sufficient returns in each room. if you are stuck with a central return then make sure doors are open if the room has no pass through vent to the hall with the central return; at most the master bedroom will have pass through vents to a hall so the door can remain closed.

the only omission from my current home is an attic fan but building codes precluded it at the time but I hear I can do it now if I want.

still I find even with central air a lot of comfort can be found by having a dehumidifier. down in the south it is not uncommon to wake to humidity higher than the temperature which makes it feel sticky and uncomfortable.

with regards to cooling needs and such, we simply have changed what we want and want we are willing to tolerate. its not a bad thing, we just have to find efficient ways to have it.

<comment><USER4> Building very tight house with good insulation is the key. Then of course you need an ERV to keep the air good and a separate dehumidifier is also great.

<comment><USER5> If you have cool nights and your heatwaves don't last too long large thermal mass is also very good and can be enough.

</comment></comment></comment></comment><comment><USER6> Major function of AC is humidity control. If you have humid summers, AC will help your house to stay dryer and prevent mold and other damage. There are climates in which AC is essential and even the most advanced thermal and airflow design can not replace conditioning.

<comment><USER7> I was told many times to go with a slightly undersized AC, precisely for this reason - they're better dehumidifiers because they run for longer periods of time.

<comment><USER8> Why would an undersized air conditioner be more effective? What's the size got to do with the efficacy?

<comment><USER9> Less effective at cooling, more effective at dehumidifying (it seems there is a presumption that dehumidification is roughly linear with operating time.)

<comment><USER10> AC units also last longer if they run continually vs frequent starts and stops.

<comment><USER11> Why not just buy a dehumidifier made specifically for this with collection bucket and all?

<comment><USER12> That bucket can fill in a day and click off the machine sometimes.

<comment><USER13> Some (all? most?) dehumidifiers can accept a hose connection in place to the collection bucket, my parents have one on a raised shelf in their basement and have the hose drain in the laundry sink -- no need to empty the bucket.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Not everyone has the time and energy to build their entire house, but I found that one relatively easy thing that helps a lot is attic insulation and a bit of DYI. It turns out that contractors often do really shoddy work when it comes to insulation because it's exceptionally easy to skimp on materials to save money: they buy the cheap fiberglass stuff and they use too little of it.

You can buy 15-20 bags of cellulose insulation and rent the blower machine from home depot, and you can do the whole attic in a few hours yourself. Including a rental van, that cost me around $600.

This alone made a noticeable difference in my house in Toronto (where it can easily get to 32°C/90°F in sun in the summer)

<comment><USER15> This is next up on my todo list.

Any particular advice/pain points for re-insulating an attic with cellulose?

<comment><USER14> It's actually surprisingly simple to do.

If you've never done it or seen it done before, my only real advice is break up the cellulose into fluff _before_ you put it into the blower machine, and put little bits gradually and slowly rather than stuffing it to the top. My wife thought she could shove a whole bag inside and have the mixing blade break it up, but it clogged the machine instead, and I had to waste a couple of hours unclogging the tube.

In terms of applying the insulation, you just want it to be thick, fluffy and somewhat even.

Other than that, just captain obvious stuff:

\- you need two people (one in the attic and one feeding the blower machine)

\- start from the edges towards the manhole

\- use a respirator mask

\- stay hydrated and take breaks if you need to (the attic is surprisingly hot)

<comment><USER16> The worst mistake I've ever made in an attic was doing cable runs (TV to the bedrooms) on a summer day in Texas. Sure, we started when it was cool at 7am... but we finished around noon.

So, to add to that: do it on a nice day in spring or fall.

</comment></comment></comment></comment><comment><USER17> This article isn't so much "cooling a house without air conditioning" \- it's more "here's some designs for houses that can be cooled without air conditioning".

This has very little to no help for existing homes unless you have a large budget to demo your existing home/yard/surrounding-infrastructure. For a perpetual renter such as myself (bay area lifestyle), this is useless information.

Where I live in the bay area - we live in a greenhouse of an in-law unit. Only solution to cool it without AC would be to tear it down and build something different. I can't even keep the top room below 80F on quite a few days with a window unit I installed. That unit is rated to do over 2x the size of the room too but it can't keep up. On days we know it'll be 95+, we leave the AC on all day. Otherwise, the heat soaks into the walls so much that we can't cool the house down after we get home and it'll still be 85+ in our bedroom past midnight. Opening windows has no effect since we can't get an effective cross- breeze.

I feel bad about it but I don't have much of an option if I want to be somewhat content. I get quite unbearable to be around if I am suffering in the heat.

<comment><USER13> As a renter you can look for a more energy efficient space.

If your in-law unit was built without permits (which seems likely since it's apparently below-standard for insulation), you can probably get out of your lease early if you wanted to.

Putting in more insulation doesn't require a full teardown, but it's not cheap if you had to, say, build false walls to add insulation.

<comment><USER17> More energy efficient space -> remodeled recently -> $$$$$.

I'm not able to afford such a thing. Most apartments/in-laws in my price range (<$2500/month) were remodeled no later than 1970.

Putting in insulation means you have to take down the dry wall (if it is even drywall - might not be). That's pretty extensive for most people.

<comment><USER18> In most European countries building energy efficiency is required by law and anything under a certain rating cannot be rented forcing owners to renovate with energy efficiency in mind

</comment></comment></comment></comment><comment><USER19> The funny thing about solar panels is that just having panels above your ceiling cool your house a ton.

It makes me wonder if people in hot climates that can't afford solar shouldn't just put white glossy panels a foot above their roof.

There are a lot of other obvious, non-exotic things we can do, like require a certain amount of tree coverage and reduce the spread of concrete surfaces. We could also use shade sails a ton more than we do (which are nice because they can be removed in the winter).

<comment><USER20> Honestly, when we re-roof our home when the shingles go, we're putting on a white roof. I'm sure it will tank the resale value because it will be the only white roofed home in my county or even region, but the cost savings on cooling has to make up for that, to me.

<comment><USER21> You can get light grey shingles. Might look fine if it works with the paint color of the walls.

<comment><USER5> I'm thinking about the non-visible wavelength ranges. Changing the IR properties might be very helpful as well.

<comment><USER21> Is there a particular brand you are considering? I'm planning to change our own roof in a year or so.

</comment></comment></comment></comment></comment><comment><USER22> I was in Phoenix last summer in what (to my poor Canadian body) was the hottest day ever, anywhere. I think it was like 111F / 44C. While my friends and I were over at an outdoor mall looking for dinner, we entered a spot that was more than 10C lower than the ambient temperature. Just instantly colder. I honestly stopped in my tracks.

Above us, a mister was spraying water. None of the water was coming within 10 feet of the ground as it all instantly evaporated- Phoenix is a desert- but in doing so, the air was chilled. The cold air dropped, cooling this small area.

I cannot believe just how effective this means was. Now, granted, to do this they had to waste clean fresh water in the middle of a desert, which isn't great. But it does go to show the potential of some of these tricks. May not work in 99% humidity, mind you, but there are other tricks up the sleeve of the clever engineer.

<comment><USER23> It's called evaporative cooling, and until recently the principle was the way the vast majority of Arizonans cooled their houses. (They are called swamp coolers down there.)

It only works in dry climates, but it makes such a difference.

<comment><USER24> Also - it only works for part of the summer; we're in our so-called "monsoon season" right now, and humidity is highly variable, but is generally above what most evap coolers will help with.

However, if there is some evaporation that can takes place (that is, the evap gradient is large enough to let it happen, but directly using that cooler air would make it uncomfortably humid), you can instead do what is called "evaporative chilling" (or something like that), where you run the water over a radiator, and the water evaporates, cooling the radiator (actually, removing the heat), and inside the radiator, you run coolant/water mix - that's your outdoor side. Inside you have another radiator, with a fan circulating air over it. It's something like an A/C system, with water/coolant as the "working fluid" and no compressor, just a pump. Think of it like a "dry evaporative cooler".

This kind of system does work - it's actually used for industrial A/C systems as some kind of "pre-chiller" or something, but it isn't something you can buy for a home that I know of - but you can build it. But like all evap systems, once the humidity gets too high, it stops working.

Another kind of system that can be used here in Arizona, but few do because it is ugly, big, and works only so well - are something called "solar chimneys".

The simplest is just a large 2-3 story structure painted mostly white at the bottom and mostly black toward the top; the idea is that the sun warms it, sucking air thru it and out the top - the bottom end is connected to the house, to make a "forced draft" through the house.

The better way is to make a similar "chimney" on the opposite side of the house and add cooling pads and a fan at the top (basically a large diy swamp cooler). Misting can also be used. So you evap cool the air, which falls, enters the house, then is sucked up and out the other side by the "hot" chimney.

Another "hot climate" design for cooling is something that used to be found all over the middle east:

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

Sometimes used in combination with:

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

As you can see, this is basically the ancient form of "solar chimneys" \- if we instead used these in Arizona, coupled with either monolithic dome construction and/or rammed earth, and below-grade construction (to take advantage of earth insulation and cooling) - it'd be so much better for energy use here in Arizona.

<comment><USER23> Oh, this irritated me so much growing up in Tucson. I would read about something like passive water heating, or all of the ways we could reduce our need for AC (even back growing up where climate change was more theoretical) and saw that people didn't care.

</comment></comment></comment></comment><comment><USER25> I only use air conditioning once or twice a year (in DC). This article was very interesting, but if you can't rebuild your home you have fewer options. Here's how I deal with it to make it not miserable.

1\. You don't need to cool "a house" \- just the room you're in. If I _do_ run the air conditioning for 20 minutes before bed, I'll block under my door to keep that cold air in.

2\. If there's no reason for you to be in a hot house, then don't be. If I'm teleworking, I end up not just being cooler, but also happier, if I find a nice quiet spot somewhere else. I'm lucky enough that I have a free museum not far from me that has an indoor courtyard I can work at.

3\. Air circulation and window fans that expel heat from the room can do a lot. Fan quality and fan placement is tremendously important for circulation.

4\. At least the last two minutes of your shower should be cold.

5\. Blinds should be closed during the day.

6\. Drink lots of water, of course.

I think there's more I can probably do. For example, I've been meaning to research reflective blinds to see if they do more than normal blinds at keeping out heat. (Shutters aren't an option for my building.) Dehumidifiers are also something I want to look into.

I haven't personally found that bed sheets make much of a difference, outside the way too obvious things like I don't use my winter (flannel) sheets. But this might reflect that I only buy nice ones.

<comment><USER26> Come to Atlanta and try it. My upstairs will get 80 degrees in the morning easily. My wife and my offices are upstairs. Luckily I have 2 units so I can balance it. Even if I didn't use AC I would have mold problems due to humidity. Dehumidifiers also warm up the room they are in. The only plus is I have lots of tree cover in the afternoon.

<comment><USER27> I'm in Atlanta. We live in a house built in the 20s just south of I-20. Thick brick walls on all sides, windows laid out so you can create a relatively strong breeze by opening the front and the back windows.

Most days we can leave the AC off. Temps will climb to about 75-76 by mid- afternoon, but rarely get too far above that.

The only part of the house that absolutely needs the AC is the upstairs converted attic. It was renovated in the 80s with no thought to air flow, and no way to get a cross breeze from the windows. So we have a mini-split we can run for that floor.

The house is going to feel warm if you're used to running AC 24/7, but 2 weeks in and 76 with a breeze feels fine.

I understand where you're coming from, the last place we lived was a more modern ranch house near Morningside, with bad layout for airflow and it was MISERABLE in the summer (routinely 90+ by 11am if the AC was off).

I'm just saying design matters a lot here, and makes a big difference. There's nothing special about Atlanta that makes that any less true.

<comment><USER26> Ranch has better cooling but I actually pay less in my new house compared to the ranch I was in. The ranch I was renting had roof issues. My new place is a 2 story house with half basement and garage underneath. 3 sided brick. Bought a place in Roswell to be closer to work and family.

My wife is almost 9 months pregnant and AC is mandatory!

</comment></comment></comment></comment><comment><USER28> If you live in a dry climate (I'm in Colorado), consider a swamp cooler. It's an amazingly simple and efficient machine: just a water pump and a fan, and peanuts in electrical costs compared to a full air conditioner. As long as you can establish airflow throughout the home, it feels just like A/C on days below 95F; you won't feel chilly on 95F+ days, but it's still quite livable.

<comment><USER29> I have a swamp cooler in Reno NV, and on 95+ days if I leave it on all day on max the house will be 60-70 degrees. It works so well I rarely run it on max settings as it just gets too cold. Of course there are some draw backs like swelling due to the humidity, and if there is smoke in the air I can't run it.

<comment><USER30> curious why can't you run it if there's smoke?

<comment><USER29> It pulls in air from outside. So if their is smoke in the air from a wild fire then it will just fill your whole house with smoke. So you can run it, just highly ill advised.

<comment><USER31> What about dust storms? Seems like some areas in the American Southwest (AZ, NM, West Texas) are dry enough for swamp coolers, but they also can have these insane dust storms that are so intense you can't see to drive on the highway.

</comment></comment></comment></comment></comment><comment><USER32> The Earthship[1] were designed to solve this problem (among others).

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

<comment><USER33> Fun factoid: Joey Hess (Debian developer & creator of git-annex) lives/lived in one: [https://joeyh.name/blog/entry/hackerholler/](https://joeyh.name/blog/entry/hackerholler/)

His blog has occasional experiments with off-grid and low-power living.

</comment></comment><comment> saiya-jin Persians know for millenia how to store _ice_ in scorching desert [1] and have in places like Yazd 'windcatchers' [2]

I've seen through Islamic world and India buildings at least 500 years old that were constructed around constant air flow through buildings, having patterned stone mesh windows. It can be done with low tech approach.

[1] [https://en.wikipedia.org/wiki/Yakhch%C4%81l](https://en.wikipedia.org/wiki/Yakhch%C4%81l) [2] [https://en.wikipedia.org/wiki/Windcatcher](https://en.wikipedia.org/wiki/Windcatcher)

</comment><comment><USER34> Thick stone walls (well brick). I live in Hungary EU, lot of old houses (early XXth/late XIXth century or earlier) has really thick stone walls. In the summer it keeps the house cool (as long as you close the windows and shades) and in the winter it keeps the warm inside. Even if the temp outside is +35c the inside is between 23-25c (or even less)

<comment><USER35> As I understand it, the difficulty with this approach is that it depends on the night being significantly cooler than the day. Heat from the day can radiate away during the cooler night, preventing cumulative heat buildup in the stone, which acts as an insulator. But one of the effects we're seeing from climate change, even in Europe, is that nights are warmer as well.

(This was discussed recently on an HN thread, but I can't find it.)

<comment><USER36> Just got back from Rhodes in Greece and their architecture is interesting (given that day time temps where 32-35C and night time temps 27-29C) - everything was built thick and massive with overhangs on any windows that get sun, shutters on every window during the day (and AC but often off) and everything was painted white (or very pale shades of blue, yellow or pink).

It was interesting to see how they've built to adapt to their environment.

We had a north face hotel room and with the massively thick walls and double glazing (plus no direct sun) the room was just about bearable at night even without the AC (which was actually outputting much less cold air than the AC I had in a hotel in Manchester this year).

<comment><USER24> My wife and I a couple of decades ago took a camping road trip down the middle of New Mexico, starting near the top of the state. One of our first stops was to visit the Acoma community, which is a pueblo built on top of a mesa; very few people still live up there. The various "apartments" are passed down matrilineally, which was an interesting thing to learn.

It was August, and very hot outside - well over 100F. Inside one of the apartments on the tour, someone was selling snowcones - a welcome relief. We went inside (had to duck under the doorway, as it was only 4-5 feet tall) and it was easily 20-30 cooler than the outside. The only thing we could figure was that being on top of the mesa, plus night temperatures, and the thick adobe construction, all acted as a thermal-mass barrier system or something. It was really amazing to experience. I honestly wish that kind of construction was more common here in the southwest.

<comment><USER36> Partially the curse of cheap energy - throw up a cheap shitbox and then use vast amounts of power keeping it cool.

Be interesting to see if that changes in a warming world, I hope so.

</comment></comment></comment></comment></comment><comment><USER37> I have found (in mild but sometimes warm South Africa) that the best bet is to prevent the sun from getting through the windows.

Curtains/blinds are not nearly as effective as external shutters or some kind of external blind.

I make my own frames with light coloured textile stretched across it that I attach over the sun-facing windows, which has a dramatic effect without completely blocking out light.

<comment><USER24> One thing my wife and I have done to our house, which is a regular "ranch style" 1970s home - here in Phoenix, Arizona - is to add on our back porch "house curtains".

Our porch faces toward the west. We have a huge mesquite tree back there that shades the house during latter part of the day (plus our patio is covered), but in the later afternoon, sun will shine in as the sun sets, and heat the house up. So we strung aircraft cable with small turnbuckles and hung up colorful polyester fabric shower curtains (this was a recent change, originally we had used canvas dropcloths, which worked well too - but were difficult to keep clean). We can slide the curtains "closed" to block out the sun in the evening.

Between that, plus having double-glazed windows installed, extra insulation in the attic, roof ventilators, and the fact that our house is of concrete block construction (not stick frame) - while we still have to use AC, we find that we can keep it set higher most of the time, and during the early summer/spring and late summer/fall times - not at all (opening the windows at night and using fans to bring in cooler air - then closing things up in the morning before it gets too hot). It's noticeably reduced our bills, considering how old our house is (and we have two heat pump AC units on the roof - that has it's own interesting story, but not relevant here).

</comment></comment><comment><USER38> Yes, a building in San Francisco doesn't need air conditioning in the summer, what a surprise. Make the same design work in Phoenix Arizona and we'll have something.

<comment><USER39> This is a weird critique.

Even in Phoenix, the need for air conditioning can be _reduced_ by designing houses well. As the article notes:

> Even in exposed, hot and arid climates, cooler temperatures are never too > far away. In Jaipur, the capital of Rajasthan state in northern India, > daytime temperatures regularly reach upwards of 40C in the summer months. > But just a few metres below ground, the temperature of the earth in the > region remains a much gentler 25C, even through the fiercest summer heat.

<comment><USER40> I'm skeptical. Jaipur, right now during the day, has 60% humidity at 90F. If you lower your temperature with transfer into the ground then you're not lowering humidity but only temperature. That means relative humidity will go UP. I suspect even 80F at 90+% humidity will feel really unpleasant.

<comment><USER39> > I suspect even 80F at 90+% humidity will feel really unpleasant.

That's hardly likely in _Phoenix_.

<comment><USER40> Your quote is about Jaipur and not Phoenix. I am responding to your quote.

<comment><USER39> The article specifically indicates it (and other techniques in concert) works in Jaipur. It's not going to work 100% of the time in all places, but even in hot, humid areas _improvements_ can be made.

> This allows air conditioning to be used very modestly, when it is necessary > at all.

I'm not sure why every thread about energy efficiency improvements has people come in and do the "it's not a _perfect_ solution for these edge cases" thing. Everyone _knows_ that already, and it's totally beside the point.

</comment></comment></comment></comment></comment></comment><comment><USER41> I visited Savannah, GA this summer. In the 19th century houses were designed to have tall ceilings to capture heat, and large doors to verandas to capture wind. It was actually tolerable inside when touring these old houses.

<comment><USER41> Also, windcatchers are pretty cool too: [https://en.wikipedia.org/wiki/Windcatcher](https://en.wikipedia.org/wiki/Windcatcher)

</comment></comment><comment><USER42> I thought the obvious solution is solar powered run AC. What am I missing?

<comment><USER43> That doesn't solve the problem of the refrigerants.

<comment><USER44> 1234yf is the new refrigerant in cars. It has a global warming impact of 1, R-134a for example has a GWP of 1430. If we move to that it won't be much of a problem.

</comment></comment></comment><comment><USER45> Why not have solar panels on the roof absorb all the sunlight and keep the house cooler via an air gap?

Furthermore, I would love to have water heating this way. Solar panels heating a water container in the winter, that is mixed into showers and even small pools on demand.

Any observant Jews here who don't want to use water heating on Shabbat? This may be a great idea.

PS: Heating a house is the only application of Proof of Work Mining that I approve of. But even then, I would rather it be useful work like SETI or protein folding:

[http://www.cleantechconcepts.com/2018/06/home-heating- with-c...](http://www.cleantechconcepts.com/2018/06/home-heating-with-crypto- mining/)

</comment><comment><USER46> There are also air conditioners that don't use refrigerated air. The principles of it are similar to the evaporative cooling mentioned in the article but with a fan and water pump. If your climate is dry enough to use it, it can be a great option and much cheaper than refrigerated air. You'll see one on the roof of almost every home driving through certain neighborhoods of El Paso.

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

</comment><comment><USER47> This reminded me of zero electricity air-con made of plastic bottles: [https://www.straitstimes.com/world/zero-electricity-air- con-...](https://www.straitstimes.com/world/zero-electricity-air-con-made-of- plastic-bottles)

The hot air flowing from outside through your windows could be compressed making it cool.

I wonder if there are existing, not so ugly commercial products providing that. This could be a green alternative for air-conditioning.

<comment><USER48> > The hot air flowing from outside through your windows could be compressed > making it cool.

Compressing air actually makes it hotter, but that's not what's happening. Forcing air through a smaller space makes it flow faster, which ironically makes it less dense -- and hence colder.

It's the same effect that people claim holds airplanes up. (But doesn't. That's mostly the angle of attack.)

<comment><USER49> I don't understand this heat engine yet, one it exits the bottles it contracts again, heating up? it cools the window but heats up the air?

</comment></comment></comment><comment><USER50> Granted, I live 'up north' but it still gets hot in my new house. I mounted some exhaust fans in the ceiling to pull the hot air from where it naturally rises too. Combined with the forced air furnace fan to circulate cool air (pulled from floor level). Finds the inside of my house 9C cooler on the hottest days of the year.

This is especially important as the brick gets heat soaked and releases its heat well into the night.

</comment><comment><USER51> Maybe one of you smart people can solve this "mystery": The old farmhouses here in the region (Flanders) were all built with their length axis on the north-south line, no matter where the road was.

An old farmer here claims that such a house is cold in summer and warm in winter. I once saw an architect on TV claim the same thing. But I was not able to find any explanation for this anywhere.

</comment><comment><USER52> Ceiling fans are ridiculously effective. I'd seriously consider installing one in the bedroom after the past few years of heatwaves.

<comment><USER53> You do need ceilings of a certain height. I live in an old farmhouse and the ceilings are just too low.

I agree that they're great if ceiling height supports them.

<comment><USER54> Even if you have 8-9 foot ceilings, consider a low profile ceiling fan rather than the sort that hangs down a foot or more.

Sincerely,

The fingers of the next tall person to stretch his or her arms near your fan

<comment><USER53> My bedroom's just over 7 feet. Old New England farmhouse :-) So a ceiling fan doesn't really work even above the bed because I'm the tall person who will get nicked by it.

</comment></comment></comment></comment><comment><USER55> This guy grows oranges in Nebraska using very little electricity. He mentions in the video the same principals can be used for cooling.

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

</comment><comment><USER56> I live in the southwestern USA, and have no air conditioning. I do have a solid brick house that is an awesome insulator. So we open up all windows and doors at night, and close the house up tight when the sun rises, putting heavy curtains over the windows. It still gets warm - up to 85 degrees inside on a 100+ degree day, but you get used to it.

It wouldn't work on all the suburban homes around us. The walls aren't insulated enough, there are so many windows that you'd never get them all covered.

<comment><USER57> > you get used to [85 degrees inside]

I sincerely hope that my future places of work and residence will not regularly subject me to 85 degree interior temperatures on the assumption that I will "get used to it" \-- which I strongly suspect actually means "live with it."

<comment><USER56> > actually means "live with it."

No, it means the human body acclimates to its environment. You really do get used it.

<comment><USER57> I spent a summer at those interior temperatures without AC. I stopped "noticing" it, but my subjective ability to focus and objective running & flash-card-app performance did not recover until the temperatures did. How long does it take to "get used to it?"

<comment><USER56> A couple weeks, according to folk wisdom, which matches my anecdotal experience.

I'm curious if you went home to cooler temperatures, or if your whole summer was spent in warmth? I definitely have experienced harder times going back and forth vs. always being in the warm environments.

<comment><USER57> I spent the whole summer in warmth, days and nights. A couple weeks is what it took me not to notice it anymore, except insofar as it affected my performance. That's what I meant by "live with it."

</comment></comment></comment></comment></comment></comment><comment><USER58> we've been living in our current house for 11 years. it is a little over a km from the beach in Denmark, it has big doors that open onto the front porch and in a direct line with those doors are the windows in the bathroom, in the summer if we had both open we never experienced the house getting hot. That has actually stopped this year - now we sweat inside. But until this year we had a pretty good way to keep the house cool.

</comment><comment><USER59> Interesting that this article is posted on the eve of Burning Man. This year should be especially hot. Every year I bring a simple swamp cooler, this year I'm going a step farther and bringing 2, plus an active ventilation fan and ducting. My total power consumption is about 18w, not too shabby to bring down the temps about 15f in ~1000ft^3 space and well within my modest solar panel setup.

</comment><comment><USER60> The article focuses on strategies effective in arid climates. In California, evaporative coolers worked really well for us except on the hottest days. No way they'd work for us here on the US East Coast.

OTOH, I'm pretty enthusiastic about the exchange systems that circulate fluids to exchange heat with soil beneath home. That's a really reasonable approach.

<comment><USER12> The best part about southern california is even if its 100 during the day, it will be a brisk and breezy 70 once the sun sets.

</comment></comment><comment><USER61> Funny that this article doesn't talk about keeping warmth out. Whatever you can keep out you don't need to cool. So invest in:

\- Insulated glazing

\- Sunscreens in front of windows

\- Wall and roof isolation

The nice thing about this is that these measures also keep you warm in the winter (lower energy bill), it's a double-edged sword.

</comment><comment><USER62> UV reflective film on the windows seems to be helping one room in my house which was consistently 10 degrees fahrenheit warmer than the others. Alternately, but a little uglier, taping white kitchen paper towels to the window solved the problem as a temporary solution.

</comment><comment><USER16> I really wish I could have a well-designed (for electricity use) house. Unfortunately, they don't seem to exist unless you build it yourself, and I can't even dream of doing that (although to be fair I can hardly dream of buying a house at all).

</comment><comment><USER63> My house has an attic, and an attic fan or vent helps a lot.

I have cheap asphalt roof shingles (even so, $10K to replace them)- I did look into reflective shingles, but they were much more expensive, plus I had to consider resale value..

<comment><USER64> Attic fans are great for cooling at night, but I've found they make a difference only at cooler latitudes like Michigan where night temps fall 15 or 20 degrees below daytime highs of ~85F, reducing the house to 65 or 70 after sunset.

In the mid-Atlantic where I live now, night temps don't drop more than maybe 10 degrees below daytime highs of ~90F. So bringing in the evening air via an attic fan puts the house at no less than a toasty 80 (with 70% humidity) -- still uncomfortable.

<comment><USER65> Attic fans are great anytime the air temperature difference between the attic and the outside is great. In the hotter regions (such as the southeast US) they're great for venting hot air out rather than pulling cool air in. Attics will often get 20 degrees hotter than the outside air, so forcing that out helps to insulate the cooler indoor spaces.

Of course in older, not-well-sealed housing the venting poses the risk of drawing cooler air from the house to the attic, negating much (or all) of the benefit. So their efficacy is very situational.

<comment><USER64> Attic fans aren't for cooling attics. Ridge vents, and passive and powered roof vents, and turbines mounted in the roof surface can cool attics far more efficiently than attic fans which consume over 100 watts and must run continuously on summer days -- a very costly way to air out an attic.

Though old houses often have attic fans, they weren't there to cool attics. That was the purpose of widowed attic gables or breathing slats under wood shingled roofs. Attic fans are there to cool the house interior, especially the hottest rooms on uppermost floors. That's why the intake of an attic fan is the highest point inside the house and not the lowest point inside the attic. Even then attic fans aren't intended to run for more than perhaps 30 minutes a day after sundown -- just long enough to replace the hot air inside the home with cool air from outside.

To vent an attic, the ideal air flow is to intake cool dry outside air from along the attic soffet, pass it along the underside of the hot roof sheathing, and have it exit high where attic heat is at its peak. And do this passively without a powered fan if at all possible.

</comment></comment></comment></comment><comment><USER66> In Houston? No. Next question.

<comment><USER67> I thought Houston is dry enough that you can use swamp coolers? (They work by evaporation.)

<comment><USER68> Houston is beside the ocean and in generally swampy areas. Its average humidity range is between 60 and 90 percent depending on time of day. Hard to evaporate in those conditions.

<comment><USER67> Shows how little I know about Texas!

<comment><USER69> Texas weather isn't uniform because it's a very large place

</comment></comment></comment></comment></comment><comment><USER70> Whole house fans are one possible solution to reduce (not eliminate) the need for air conditioning - I'm using a quiet cool right now which works fairly well (haven't tried it during the spring or fall yet)

<comment><USER71> My last house didn't have AC but did have a basement (like many homes in Canada, although less common in the States I understand). I would just run the furnace fan which circulates the cooler air in the basement throughout the house.

</comment></comment><comment> lota-putty Water, so precious.

[https://en.wikipedia.org/wiki/Pot-in- pot_refrigerator](https://en.wikipedia.org/wiki/Pot-in-pot_refrigerator) rocks.

</comment><comment><USER72> You can spray water on your roof with a garden hose and cool your house. Of course water isn't free either.

<comment><USER73> I might actually try this during our next heat wave. All the other tips and tricks do absolutely nothing for the upstairs in many UK properties in my experience (I'm talking indoor temps of 23-29c at midnight, when the outside has cooled to 20c, from a daytime peak of 35c). It's like the whole house is turned in to a radiator and there is nothing you can do

<comment><USER72> Hello, I tried the experiment a few years ago briefly and it did work. Some back of the envelope calculations show that it is cheaper and more energy effiecient. However there is a risk that lichens and or moss will thrive on a moist roof. So could be more trouble than it is worth.

<comment><USER73> I'm rather confused by your reply and the reply to it. It rains a lot in England. Why would spraying it with water be any different from night upon night of heavy rain ?!

<comment><USER72> I don't know actually. I had not thought of about places with constant rain. Anyway does it work? If you spray your roof on a super hot day does it feel any better indoors?

</comment></comment></comment></comment></comment><comment><USER74> Anyone else browse www.hvac-talk.com from time to time?

</comment><comment><USER75> The Earthship people called. They want their cool-hunters back.

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

</comment><comment><USER76> Solar powered AC

</comment><comment> non-entity My question: Is it healthy or safe to live in a house or apartment that has no working AC in areas like the southeastern US. I know AC is a modern luxury and that people survived for years without it, but I wonder if the design and construction of later houses or apartments affects anything. My AC ritualistically dies every summer and while I wait for maintenance to drag its feet, I often find myself waking up in pools of sweat

<comment><USER77> When really bad heat waves hit Europe where home AC is rare, they can kill thousands (mostly elderly).

The 2003 heatwave killed upwards of 70,000 people (in France, 8 consecutive days of 40°C [104 °F], in the Netherlands it reached 37.8°C) [https://en.wikipedia.org/wiki/2003_European_heat_wave](https://en.wikipedia.org/wiki/2003_European_heat_wave)

<comment><USER78> This is what really scares me about cities like Phoenix, that can get so hot, have a high elderly population, and are increasingly vulnerable to blackouts. What is going to happen if the city loses power on a 110 degree day?

<comment><USER79> Some of them will die.

It's that brutal. It's also something people used to do a lot of, especially if they were working outdoors.

I've seen house designs for the South which have an open central corridor. It catches and channels any wind and helps cools the rooms on either side.

I'm sure there are other tricks, but builders don't seem to know them any more, and architects build more with a view to looks than practicality.

Modern architecture - whether it's McMansion design, concrete box design, glass tower design, or suburban vernacular design - can be almost criminally stupid about environmental issues.

There are exceptions, especially in the occasional environmentally controlled low-energy office block.

The reality is that it's possible to manage heating and cooling far more intelligently and effectively in most kinds of buildings. But it's considered a fringe eco-hippy interest and not something most of the population needs to care about.

<comment><USER24> > But it's considered a fringe eco-hippy interest and not something most of > the population needs to care about.

Here in Arizona, if we built things for cooling more like in the middle east (windcatchers/solar chimneys/qanats + thick walled rammed earth and/or monolithic domes), it would probably be more energy efficient.

But I can't imagine that style would go over well with our current (overall) political climate here...

</comment></comment></comment></comment></comment><comment><USER80> Obligatory reading: The Revenge of the Circulating Fan [https://www.lowtechmagazine.com/2014/09/circulating-fans- air...](https://www.lowtechmagazine.com/2014/09/circulating-fans-air- conditioning.html)

</comment><comment><USER81> > installing energy-hungry air conditioners – a major contributor to climate > change

Is this a fact?

<comment><USER82> It's a bit hyperbolic. Home heating in colder areas uses significantly more energy and fossil fuels than AC in warmer areas.</comment></comment>


The Return of Niche Communities - <AUTHOR> https://www.nicholasjrobinson.com/blog/culture-2-0/the-return-of-niche-communities <comment><USER2> I enjoyed this piece, but it's almost as if the title should be something more of a rediscovery more than a return. Small communities never really left.

<comment><AUTHOR> Agreed that they never left, but they were relegated to the sidelines to be smaller bootstrapped communities.

<comment><USER2> I do not know that is true either.

What happened is some really big groups formed. The vast majority of smaller communities continued right on.

Many grew by posting in the big places.

Now that big places may be found toxic, or out of favor, the smaller ones will get new attention.

The big places got hype and attention. That is all an addition, and a somewhat unwelcome one just like many smaller communities said it would be.

<comment><AUTHOR> > Some really big groups formed

IE Reddit? Or do you mean something else?

<comment><USER2> The usual shiny names. I used the word group because community is somewhat of a stretch.</comment></comment></comment></comment></comment>


Gallery: Battle Bots Reign Triumphant at Robogames - <AUTHOR> http://www.wired.com/gadgetlab/2010/04/gallery-robogames/

<comment><USER2> "Battle bots"? I was massively disappointed to learn no explosives, flammables, projectiles are permitted. If they want this sport to go mainstream they need to completely change their direction.

<comment><AUTHOR> It would be cool, but surely allowing those would only serve to accelerate the eventual ROTM?!</comment></comment>


Total relay bandwidth in the Tor network - <AUTHOR> https://metrics.torproject.org/network.html?graph=bandwidth&start=2012-06-12&end=2013-12-11#bandwidth For more historical perspective: https://metrics.torproject.org/network.html?graph=bandwidth&start=2008-06-12&end=2013-12-11#bandwidth <comment><USER2> According to the "Full Disclosure - The Internet Dark Age" paper (1) the N.S.A. can route a target who is using Tor into their "own" Tor network where they control all the nodes, thus compromising the security of the target. Does anybody knows how one can be sure that he is in the legitimate Tor network and not a fake one?

(1) [http://cryptome.org/2013/12/Full- Disclosure.pdf](http://cryptome.org/2013/12/Full-Disclosure.pdf)

<comment><USER3> >Does anybody knows how one can be sure that he is in the legitimate Tor network and not a fake one?

I'm a bit uncertain that document is completely credible - it makes some claims that appear to be very wild, even given what we've seen so far.

But let's assume they're right about their Tor claim. Even if the NSA places you on a controlled Tor network, I could still read my gmail because the NSA would have to try to get around Google's SSL.

Some bad endpoints have been known to try and MITM SSL before, but always with self signed certificates, so if the user messed up it was down to them.

Of course, if our endpoints are run by the NSA, and the NSA have pressured other CAs to sign *.google.com, we can only depend on cert pinning. But it's the NSA, so how do we know that they haven't already backdoored my browser to change the pinned fingerprints...

But at the end of the day, the latest I'd heard from the Snowden revelations is that Tor is a major thorn in the NSA's side, so I'm inclined to believe that over this breathless PDF that makes all sorts of outlandish claims.

EDIT: From that PDF:

> When the DSL connection is established a covert DHCP request is sent to a > secret military network owned by the U.S. Government D.O.D. You are then > part of that U.S. D.O.D. military network, this happens even before you have > been assigned your public IP address from your actual ISP.

That stretches the bounds of credulity - it assumes that a giant government- mandated conspiracy exists between ISPs, device manufacturers, networking developers... even with what we've seen so far it's impossible to swallow.

<comment><USER4> You can read your Gmail over HTTPS, but Tor hidden services generally do not use SSL/TLS (since they _are_ the exit node for that connection).

<comment><USER3> Ah, that seems sensible - because if the chain is me -> a -> b -> badsite.onion, and the NSA owns a & b, I'm encrypting to each of those node's keys; and in the absence of a central Torland CA, I can't trust anything but what's visible.

So even if badsite.onion used TLS, I'd be forced to verify their certificate offline or risk

me -> a -> b -> badsite.onion (NSA fakery) <=> torchain -> badsite.onion (real)

Am I tracking? That's tricky.

<comment><USER5> Remember that the URL acts as the public key. If you got the URL from a reputable source then there's no way that you could manage tot get into that situation. Just like SSL you're assured that the destination is who you think it is.

</comment></comment></comment></comment></comment><comment><USER6> There was a good overview of how the network is actively managed, and who is providing new relays and the most bandwidth, at Defcon 21:

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

<comment><AUTHOR> Yes, I have been considering i2p, the 'garlic router' which seems to have hedged against a lot of attacks that could be possible on tor.

<comment><USER6> I agree, I2P is interesting. I don't know why it doesn't get more press or support. According to the website some reps of the I2P team will be at 30C3 in 2 weeks time btw.

<comment><AUTHOR> I have a theory,

There are 7 directory authorities in Tor, if they don't function then the tor network is dead. So that is just seven people you would need to abduct and torture (to take over the tor network) or 7 drone strikes to kill all tor traffic. I am unsure but I think this is not the case for i2p.

EDIT: So that might be a reason for NSA to support Tor over i2p.

</comment></comment></comment></comment><comment><USER7> I don't like how this title oversimplifies the causes of growth to be the NSA scandal. I guess Silk Road also played an important role in this increase and it is not mentioned.

<comment><AUTHOR> How did silk road add more bandwidth to the network? Also, SR was way before Snowden.

<comment><USER8> The only way to access Silk road was through TOR

<comment><USER9> Yes, but that means SR users were using up Tor bandwidth, they weren't necessarily supplying any.

</comment></comment></comment></comment><comment> john-p loading speed is still too slow for daily use really.

<comment><USER10> Have you done your part to improve that by contributing a relay?</comment></comment>


How China is using QR codes - <AUTHOR> https://a16z.com/2019/10/30/the-power-of-qr-codes/ <comment><USER2> I think WeChat's dominance is what makes QR codes possible. The U.S. seemed to go the route of distributing these services across official apps for each of the products.

</comment><comment><USER3> _users can do a QR code or facial recognition scan to receive up to 31 inches of toilet paper_

 _The introduction of these smart toilet paper dispensers has reduced toilet paper use in Suzhou's public restrooms by 80 percent_

A valid use-case, though made me chuckle.

Would you want the public restroom to scan your face to get toilet paper?

<comment><USER4> Whenever a new technology matures, people would create a bunch of nonsense products anyway. Remember radium condoms? [https://gizmodo.com/once-upon-a- time-we-used-radium-condoms-...](https://gizmodo.com/once-upon-a-time-we-used- radium-condoms-for-glow-in-th-5869753)

</comment></comment><comment><USER4> Another good use case of QR codes is to log in or sign up services on TVs and laptops. Scan once, then it's done. You don't need to enter the activation URL on another device or use any password manager.

<comment> m-p-3 I use a QR code in a photo frame to connect guests to my guest network at home. Works well enough.

</comment></comment><comment><USER5> This article really seems to view China through rose-tinted glasses.</comment>


Open Letter to XSLT Fans - <AUTHOR> http://www.snoyman.com/blog/2012/04/xslt-rant.html <comment><USER2> A master of XSLT once explained me that if your XSLT files are longer than 100 lines, you are doing something wrong.

For years I struggled to create 100-line XSLT files; it looked impossible. Then I realised what the problem was: I was trying to convert the source tree into the result tree in one big step. XSLT can do that, but it is not meant to do that and it is just bad software engineering. What I should have done (and I started to do) is to divide the transformation in smaller uniform transformation steps: for example, in one case I ended up with this series of XSTL files, each one taking care of a single step in the transformation pipeline:

* cleaning (remove duplicated and empty nodes);

* completion of partial data (where I go, fetch missing data and use it to make the original data more homogeneous);

* grouping and reordering (twist the data around to make it more similar to the destination format);

* data transformation (where the individual pieces of data are transformed into separate nodes in the destination format);

* layout integration (fill the holes in the layout template with the missing data).

Each file ended up being very small, readable and easily maintainable. The much shorter xpaths used in the templates are a clear indicator of how much better that project has become. Before the split I was doing things like fetching the missing data while putting the already transformed data in the layout template; that was forcing me to transform the newly retrieved data in place before being able to use it. It was a mess. It was a mess because I was not following one of the underlying and unspoken assumption of XSLT. Isn't it the same with any other language? Will an Haskell-based tree transformation language prevent me from writing huge single-file many-purposes-in-a-single- function spaghetti code?

That said, I do not like articles like this that do not explain _why_ they do not like something and do not give examples of what is wrong and how it should be instead.

</comment><comment><USER3> XML, and surrounding technologies like XPath, XSLT, Schematron, RelaxNG, etc. by extension, are extremely useful as data storage and validation languages. If I was planning to keep structured data around for a long time on disk, and want to make sure that I didn't have garbage stored, I'd definitely want it in XML, with a fairly strict schema to validate that data.

If you're writing an API that works with files (not an over the wire format), and you don't want to be locked into any one language or toolset, XML is pretty hard to beat. Being able to write just one XSLT file, and have it processed by any compliant processor is pretty impressive - no other templateing format works that way.

The problem for most people is that they never touch those other technologies that make XML great, because they're looking at basic data serialization, and don't care so much about validation and transform. Most web technologies fall into this category. Any tool can and will be abused - how many of us have seen a monstrous unmaintainable Excel file that performs a task that would be much better done in a scripting language?

TL;DR: XML tech has it's uses, but it's very frequently abused.

<comment><USER4> Although I find XML to be much too cumbersome and bloated for any practical situation I can still understand the technical arguments in favor of using it. What I don't understand is why anyone would choose XSLT over a full featured scripting language like PHP, ASP, JSP or similar. As you obviously have much more experience than I in this field can you provide an example where XSLT would be the preferred choice?

<comment><USER5> [http://www.khronos.org/registry/webgl/extensions/OES_texture...](http://www.khronos.org/registry/webgl/extensions/OES_texture_float/extension.xml)

No dynamic server-side templating language, easily transformable to other XML formats (docbook, atom (see front page of registry)). If the user/client has libxml, the processor command is already installed. The specifications are now provided in an application specific format that is language-agnostic instead of manually maintained ad hoc HTML. The extension registry index page is now automatically generated into static HTML instead of manual HTML+JavaScript for sorting the lists.

Finally, the restricted power of XSLT is an advantage for this application vs PHP, ASP, or JSP. If browsers actually implemented web technologies like XSLT, sending XML specs and generating HTML on the client side with cached XSLT would save bandwidth.

<comment><USER6> How is XML + XSLT better than JSON + JavaScript for generating the view in the browser?

Note: You can generate HTML using JavaScript but it is not needed. You can manipulate the DOM to change what the user sees.

<comment><USER5> It is easier for crawlers to ingest.

<comment><USER7> Can you prove this?

</comment></comment></comment></comment></comment></comment><comment><USER8> This post starts with a legitimate gripe about XSLT being classified as a "functional" language but then it devolves into a merit-less rant. It makes me wonder what the author uses XSLT for. It sounds to me like he's trying to use it as a general-purpose language. It is not. It's an incredibly single-purpose language for translating one XML document into another, and it makes no pretense of being otherwise. I've been using XSLT in large, multi-file projects for years (so I'm exactly the kind of programmer who "likely knows [he's] right"), and there is absolutely no substitute for what it does.

<comment><USER9> > It's an incredibly single-purpose language for translating one XML document > into another,

In the same way ColdFusion is "an incredible single-purpose language for translating databases into web pages": it's not, the difference is that XSLT has no alternative whereas CF has a billion.

> and there is absolutely no substitute for what it does.

That's the issue, XSLT is not "incredible", there's just very little alternative.

<comment><USER10> The parent post does not describe XSLT as "incredible," but rather as "incredibly single-purpose."

</comment></comment></comment><comment><USER11> Wow, I wasn't aware there were any XSLT "fans" out there. I wonder where the author has been hanging out to find them.

<comment><USER12> The BBC used to use XSLT a lot for templating web pages, and had a small cluster of XSLT adherents working for them. I believe they've mostly switched to PHP templates now.

<comment> guard-of-terra "I believe they've mostly switched to PHP templates now." Oh my god make me unknow this.

(XSLT does actually have a standard, syntax checking and built-in context- sensitive quoting)

<comment><USER13> Reminded me of <https://xkcd.com/224/>: "honestly, we hacked most of it together with perl"

<comment><USER14> _> My god, it's full of car's!_

lmao. Thanks, hadn't seen that one.

</comment></comment></comment></comment></comment><comment><USER15> Weird, I nominated XSLT as my "most hated language" in the "What's your most hated language" poll a few days ago and got a few down votes. Now, this rant against XSLT is on the front page... Go figure!

<comment><USER16> In a world where RPG/III, RPG/400, RPG/IV, etc. exist, _how_ can XSLT be anyone's "most hated language?" :-)

All joking aside, I like XSLT just fine, as long as it's use is limited to exactly what it's good at: transforming XML documents from one schema to another. Yes, it's verbose if you write it by hand, and yes it would be nice to have something with all the power of XSLT and with a lighter syntax, but XSLT is hardly the worst thing around.

<comment><USER17> I think it's probably the worst language I've had the misfortune of having to write anything in. Certainly it was the one I enjoyed the least (even slightly less than Fortran 90 which was somewhat of an achievement), and I think it wins my "most hated language" because of the intersection of awfulness and the nonzero chance that I'd have to program in it. While there are almost certainly worse languages - COBOL certainly appears to be one - there's effectively zero chance that I'll ever write anything in them, hence they're more of an amusing curiosity than something I can hate. Whereas I've had to spend interminable days on XSLT in the past and unfortunately I can't say for sure that I'll never have to again.

<comment><USER18> Your only argument is "I had to use it and I hated it". Hardly an argument.

<comment><USER19> We're talking about hate. Do they need an argument? Considering we're talking about hypothetical answers to an _opinion_ poll, I think not.

<comment><USER18> _> We're talking about hate. Do they need an argument?_

Blind hate is hardly something desirable. I'd say, yes, even hate needs an argument.

<comment><USER17> I would at least like to claim that it wasn't blind hate; I have used XSLT before so it's partially sighted at least. And really, it's tongue in cheek. XSLT is a programming language, "hate" for such a thing only really goes as far as "I don't like working with it and hope I don't have to again".

<comment><USER19> Right. For our purposes, you no more need an argument to hate XSLT than you need one to hate chocolate. You tried it and didn't like it. Case closed. ;)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> This guy is hilarious:

"Oh, and the fact that you can call a language functional when it lacks first class functions makes my eye twitch. I'm tempted to upload a video of my eye twitching just to prove it."

Anyway, he's the initiator of Yesod, a screaming fast, type-safe web framework in Haskell. Some one called him the 'type safe version of DHH' last month :)

</comment><comment><USER21> XSLT is miserable, but isn't this old news? My issue is that most real-world transformations require look-up tables, calls to other systems for derived data, etc. The XSLT extension format is no fun at all. Sadly, I have yet to have seen a good, general-purpose framework-y library for sort-of declarative transformations. I suspect that, because most transformation code exists to achieve interoperability between systems, the problems at hand involve impedance mis-matches which are inherently yucky problems.

Anyone seen any good schemes?

<comment><USER9> > Anyone seen any good schemes?

I've been meaning to look at HXT, I've read it had something like that, but I have not needed to transform XML in a long time so it's fallen by the wayside. On the other hand, TFAA qualifies himself of "Haskell programmer" and does not use HXT so maybe it's not that good.

An alternative I've thought about (but not implemented on grounds of having absolutely no need for it these days, as noted above) is implementing what I consider the good part of XSLT (tree transformation via template matching through XPath selectors) in Python on top of lxml. Something akin to Flask, where the app would be a group of templates, and the routing would be a sequence of XPath assertions (instead of http PATHs + methods). Along with a few helper functions or methods (to easily recurse into the rest of the tree), this ought materialize most of XSLT's strengths in a general-purpose language (making extensibility trivial), and template groups would improve modularity significantly.

<comment><USER22> You could call it "xslt the good parts".

<comment><USER9> Pretty much.

</comment></comment></comment></comment><comment><USER23> Some time ago, I thought XSLT was quite interesting and potentially powerful with regards to its browser integration. XSLT, to me, represented the first attempt at truly separating data from layout. Even to this day, with all the 'div' based layouts and such, nothing completely and totally separates the data and view tiers in a web layout quite the way that XML with an XSLT stylesheet did.

Early browser bugs probably caused more harm than good for XSLT adoption. XSLT was available in browsers almost from the beginning, more powerful (at the time) than any other client side (javascript) solution. Too bad it didn't get off the ground some more, it might have actually changed the way we work today.

Yes, it's too verbose, and probably doesn't deserve the title of "programming language." But, it's a pretty powerful idea if kept in the scope for what it was invented; transforming one schema to another, with options for transformations occurring on the client or server side.

</comment><comment><USER24> Back 8 or 9 years ago I architected and worked on a team to write a very large and feature-rich application that depended on XSLT for a ton of UI-deriving functionality.

I found it extremely powerful.

I have never used it again, because the power it afforded me was not worth the heartache.

<comment><USER25> Just prior to .NET I worked on a classic ASP project that did this - the view models were basically SQL queries with 'FOR XML AUTO' and the 'views' were XSLT stylesheets.

For getting simple data up on a web page it was fantastic. But for more complex stuff it got wickedly complicated to maintain at an exponential rate. XSLT just didn't scale (and/or we just weren't good enough at it to make it scale).

<comment><USER26> I still have to work on a classic ASP thing that does this. It's taken 5 years to get 50% of it over to .Net.

PAIN. That's what it is. Just PAIN.

</comment></comment></comment><comment><USER27> The spec of XSLT2 was actually going to work this angle and move XSLT more into a space of a general purpose language. However, lots of people in the XSLT community realized that XSLT is made to do one thing and that's XML tranformation. XSLT(1) did that pretty well to a certain extend. The spec for XSLT2 never really took off and I don't think there are notable implementations and support out there other than from the spec's leading author's (Michael Kay) and his tool Saxon.

</comment><comment><USER28> I started using XSLT about a year ago and had exactly the same initial reaction - it looks ugly and verbose, it's difficult to debug, and badly written code is almost impossible to understand.

A (difficult!) year of daily use behind me, I've found that all the above problems disappear. People come to XSLT expecting a procedural DSL for modifying an XML file which they can pick up in a day or two, and very quickly their code spirals out of control as they try to twist XSLT into what they expect. It very clearly isn't a procedural language, which is why I think it gets labelled as functional, because it doesn't accurately fit either model.

Once you develop good code style and know the pitfalls to avoid, it's perfectly pleasant to use. It's also significantly easier to get along with if you use a full blown XSLT IDE like oXygen, which allows you to breakpoint, see the call stack, and trace back which template generated a specific part of the output.

</comment><comment><USER29> It is important that a developer is able to capitalize on each programing language. XSLT is not a language for writing a kernel, it is only to make transformations between XML files (more or less). If the writer of the "Open Letter to XSLT Fans" is frustrated by your current job, maybe he has to find another job. Is the equivalent that a ANSI C programmer critize the language because all days are fixing bugs related to the pointers. PLEASE, BE COHERENT!!!

</comment><comment><USER30> Without going onto the merits or otherwise of XSLT, there is another observation...

For some reason, even on teams with good engineering practice, all discipline goes out of the window when people write XSLT. So a dev who might write beautiful maintainable code in any other language suddenly reverts to the worst spaghetti style on XSLT with 1000 line functions, impenetrable naming, nary a comment to be seen.

I know. I've been that dev.

<comment><USER31> Is that because most people can "see" the solution in most programming languages, but most people can't see solutions in XSLT except by experimenting?

<comment><USER30> There may be some of that, especially at the beginning, but with a little experience that phase seems to pass, it helps to be working in an environment with a good XSLT debugger of course...

I think the fundamental issue may be more to do with a flawed distinction between read "code" and just a "stylesheet / data transform"

</comment></comment></comment><comment><USER32> Dear Michael, please don't insist on calling program languages bastard childs.

Sincerly, someone who understood that programming lanugages are tools.

</comment><comment><USER33> I used to use XSLT for a lot of things. I switched off it because it's just too damn slow and can be a total brain melt to do complicated stuff in that's fairly easy in just about any other programming language. The few things I liked about XSLT can be done fairly easily with Scala's pattern matching.

</comment><comment> X-Istence I've used XSLT in the past, mainly to do client side transformations, so send the browser XML, with a XML stylesheet tag and have the browser use the XSL to do the transformation.

At the time the only browser that didn't support it correctly was IE, but after some small work arounds it worked pretty well. The downside being that inserting ad networks didn't work because there is no document to .write() to being XML, and the fact that you had to host a valid DTD and your document would get verified against it each and every time.

The other big issue was that you have to write a lot of boiler plate code to get it to do what you want it to do, with a lot of recursion and the like.

</comment><comment><USER34> I remember when I found XSLT. I fell in love with it... until I started using it in real world situations. Unless I wanted to pass page content with paragraph or line break tags already added I had to use a 50+ line recursive nightmare.

I do not miss it.

</comment><comment><USER35> Many higher-education open source software utilize a Java / XSLT stack (e.g. JA-SIG uPortal, Sakai) and I agree that XSL can be quite tedious and verbose. It's definitely the type of language that, if you work with it just "once in while", is very frustrating. If an XSL file it's not broken down into manageable templates it becomes very hard to follow. If you're not so lucky and have to deal with extremely large XSL files, it's easier to just give in and purchase one of the available XML/XSL IDE's. There are a few good ones and they do save a lot of time. No need to struggle through it with a plain text editor.

</comment><comment><USER36> i don't get the anger or argument. xslt is a templating language, nothing more, nothing less.

it is awesome as a cross platform solution for transforming xml into some other stuff. for anything else - why on earth would you use it?!

i really enjoy playing with it, generating complex html out of xml. things like grouping with the muenchian method are the defintion of nerdy fun for me. to this day i have no idea what went on in steve muench's head to come up with that small snippet of code. i just love him to death for it. i pretty much build a career on top of it, as a lot of other coders never groked it.

</comment><comment><USER37> It's only programming language I know and is completely useless (since there are better choices) and totaly enoying. I see I'm not alone. :D

<comment><USER38> I feel that "completely useless" is a bit harsh. For one thing, it is damn near ubiquitous (when one has a system that is already trafficking in XML).

<comment><USER37> I think I can create much easier to create and much more readable code in any flexible language with nice XML support like perl or PHP. I think it'd be more powerful since as far as I remember XSL lacks some stuff.

</comment></comment></comment><comment><USER39> I'm supposed to not call XSLT functional because some dude just called me a bastard for being an XSLT fan? Yea, screw you to buddy, I hope you eye keeps twitching.</comment>


What's wrong with make? - <AUTHOR> http://blog.well-typed.com/2008/08/whats-wrong-with-make/ <comment><AUTHOR> Does anyone here use scons (<http://www.scons.org>)?

<comment><USER2> SCons is fine for working with builtin rules. It's kind of a mess for writing elaborate custom rules, for the same reason that python is a poor command line tool integration language when compared with the shell (of which make is, essentially, a superset). The same is true for cmake, or the GNU autotools, or ant, etc...

I happen to like make. It's true that as a programming language it's pretty weak. And it doesn't do anything for the "C portability" problems that the other tools try (with varying degrees of success) to solve. But as a way to wrap a bunch of short shell scripts together with some dependency management in an easy to maintain way, it's better than anything else I've seen.</comment></comment>


Ask HN: What is best application to monitor your personal productivity? - <AUTHOR> I'm interested in finding an application that monitors my day to day productivity at work. I am constrained to work done on my desktop.<p>Thanks! <comment><USER2> I use a combination of RescueTime (for on computer tracking) and toggl for offline tracking.

</comment><comment><USER3> RescueTime is a great option</comment>


iOS Apps Using Private APIs - <AUTHOR> https://sourcedna.com/blog/20151018/ios-apps-using-private-apis.html <comment><USER2> Hey all, I'm the founder of SourceDNA and happy to answer any questions about how we found this or about binary code search in general.

We take a different approach to understanding code than the traditional antivirus world. Rather than try to hunt for a needle in a haystack, we've created a system for finding anomalies in code that's already published. For example, you can build a set of signatures for "bad apps" and then repeatedly search for them (AV model) or you can profile what makes an app "good" and then look for clusters of apps that deviate from it (SourceDNA).

Consider an ad SDK like Youmi here. They weren't always scraping this private data from your phone. There are some apps that have this library but that version is a typical, only sorta intrusive, ad network.

But, over time, they began adding in these private API calls and obfuscating them. This change sticks out when you track the history of this code and compare to other libraries. There was more and more usage of dlopen/dlsym with string prep functions beforehand. This is quite different from other libraries, where they stick to more common syscalls.

By looking for anomalies, we can be alerted to new trends, whatever the underlying cause. Then we dig into the code to try to figure out what it means, which is still often the hardest part. Still, being able to test our ideas against this huge collection of indexed apps makes it much easier to figure out what's really going on.

<comment><USER3> One concern I have is that they'll just move this one step further down the road. For example, I believe that you can get the address of a function like dlopen() by manually loading the bundle and looking up the function name (via something like CFBundleGetFunctionPointerForName()), constructing the name "dlopen()" through some obfuscated method as they do with Objective-C symbols. Then it becomes harder to detect that they're even using dlopen(). Any plans on how to detect that? It seems like an arms race that can't easily be won.

<comment><USER2> You're exactly right. You can go even further in gathering environmental data from syscalls and using it to construct strings at runtime. At some point, you have to include dynamic analysis in addition to static analysis.

The iRiS paper we mentioned in the blog post describes a really great approach to doing this. They do "forced execution" using a port of Valgrind to iOS. They also do the exact right thing by resolving as many call targets as possible statically, then using dynamic analysis only for the call sites that can't be resolved. This saves on runtime and complexity, though you might notice that even this approach didn't resolve 100% of them.

Ultimately, you're dealing with a variant of the halting problem, where the app uses a specific value only on a full moon, on iOS 4.1, where the username is "sjobs". And that's why computers are still fun.

PDF: [http://www.cse.buffalo.edu/~mohaisen/classes/fall2015/cse709...](http://www.cse.buffalo.edu/~mohaisen/classes/fall2015/cse709/docs/deng- ccs15.pdf)

</comment></comment></comment><comment><USER4> I'm actually very surprised this hasn't happened years ago. The power of Objective-C's runtime has always made this pretty straightforward.

Apple can defend against unauthorized calls to even runtime-composed method names though. I can think of a few ways.

They could move as much "private" functionality as possible outside of Objective-C objects entirely, which requires that you know the C function name and makes it obvious when you've linked to it. This should probably be done for at least the really big things like obtaining a device ID or listing processes.

Even if they stick with Objective-C, they could have an obfuscation process internal to Apple that generates names for private methods. Their own developers could use something stable and sane to refer to the methods but each minor iOS update could aggressively change the names. If the methods are regularly breaking with each release and they're much harder to find in the first place, that may be a sufficient deterrent to other developers.

They could make it so that the methods are not even callable outside of certain framework binaries, or they could examine the call stack to require certain parent APIs. At least that way, if you want to call a private API, you have to somehow trick a public API into doing it for you.

And, I think Apple does say somewhere that developers shouldn't use leading underscores for their own APIs. They could hack NSSelectorFromString(), etc. to refuse to return selectors that match certain Apple-reserved patterns in all circumstances.

<comment><USER5> What's so magical about Obj-C's runtime that this cannot be detected by Apple? If a third-party can scan for them, why can't Apple? If you're going to have a walled garden, by all means please ensure the walls can't be scaled or dug under.

<comment><USER6> AFAIK the combination of NSSelectorFromString and NSClassFromString would allow you to build and make calls from obfuscated strings during runtime. Since Objective-C uses message passing this is non trivial to catch. Compared to C were you must explicitly reference symbols that are easy to automatically check for detecting the use of third party APIs is more difficult.

I am not sure if you have to explicitly link against certain frameworks/dylibs though, someone with more knowledge feel free to correct me

<comment><USER7> The article touches on how to dynamically link into a framework/dylib at runtime with dlopen(3) and dlsym(3) to resolve it's symbols address space.

I've always wondered why Apple doesn't run all apps against a "debug" build of iOS that asserts that the caller of private APIs is itself internal/private to Apple, but instead relies on something akin to grepping the output of strings(1)

<comment><USER6> This seems like a good approach, but you can still get around it by detecting apple reviews and not doing anything with private APIs during them

<comment><USER8> It's quite trivial to setup a method that implements "NSSelectorFromString" [1] etc.. and have it read from a Json payload send from a server. It's very hard for Apple to check for that unless they have active monitoring on apps after the review process.

[1] [https://developer.apple.com/library/ios/documentation/Genera...](https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia- CocoaCore/Selector.html)

<comment><USER2> Right. Any runtime behavior can be altered by observed state from outside the phone.

There's even a paper on intentionally inserting security flaws into your code and then exploiting them from your own server to change execution patterns:

[https://www.usenix.org/conference/usenixsecurity13/technical...](https://www.usenix.org/conference/usenixsecurity13/technical- sessions/presentation/wang_tielei)

Ultimately, you need to enforce access control instead of just trying to detect problems a priori. Apple's sandbox is a great start to that, and I expect they'll keep improving it to block apps like these.

<comment><USER9> The state doesn't even have to be from outside the phone. You could have an internal timer that kicks off 2 weeks after you've submitted to the App Store (to allow for unexpected delays) and switches on the evil behavior.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Seems like a lot of the things they're putting behind private APIs should instead/also be behind a user permission. Getting the list of installed apps, device serial number, and the users email address shouldn't be protected simply with obfuscation.

<comment><USER11> Yeah, the user's email address is a surprise. It's pretty easy to bypass a simple scan with objc_msgSend.

Conversely, it would be nice if the user could grant access to email and iMessage sandboxes. This would allow us to apply machine learning to personalize services. Ironically, by allowing opt-in, Android is an easier platform for creating private services.

</comment></comment><comment><USER12> I'm not an iOS developer (well, not really; I don't know what I'm doing) but this seems like it would be a really easy thing for Apple to detect. Does Apple simply not care about access to these to the degree of adding in better checking or is there something fundamental about their platform that makes checking for Apple seriously difficult?

<comment><USER13> Objectiv-C works by sending a message to an object. If that object responds to the message, it does something. The message is essentially just a string and in fact you can use strings to build selectors.

Normally, these private API selectors would show up in a class dump and Apple will reject you app. But, if you're clever, you can hide them from a class dump. You could encrypt the strings, then decrypt them at runtime and Apple could no longer find your private API usage in a static scan.

At runtime they _could_ detect you calling private APIs, but it would be easy enough to code it so that you don't call any private APIs for a few days after first launch or make them so they're turned on with a server side flag. That way Apple would never notice the private api usage during an App Store review.

<comment><USER14> The question is why don't these APIs require authorization in the first place? Obfuscation is a terrible security practice.

<comment><USER15> Because as soon as Apple publish something as an API, they can't change the method because third party apps could now be depending on it. As long as the API is private and undocumented, Apple can change the method from release to release as they see fit.

<comment><USER16> But what about making them private APIs that also require authorisation.

</comment></comment></comment></comment></comment><comment><USER17> > Since we also identify SDKs by their binary signatures, we noticed that > these functions were all part of a common codebase, the Youmi advertising > SDK from China.

> We believe the developers of these apps aren't aware of this since the SDK > is delivered in binary form, obfuscated, and user info is uploaded to > Youmi's server, not the app's.

Know your binaries?

<comment><USER18> Which is impossible with any app of reasonable size that uses third party SDKs (which are often required for business reasons). Apple didn't catch it, how can we expect hundreds of small developers to catch it?

<comment><USER19> Apple spends a few minutes reviewing any given app. The developers have much more time to examine this stuff.

<comment><USER2> I disagree that developers can be expected to find this kind of thing on their own, say by digging in with a debugger. It's simply not a scalable solution.

I think you need a appstore-wide view of the entire software world and the ability to query it for arbitrary behavior. But I'm biased since that's what we've spent years building. :-)

<comment><USER17> In the case of the SDK in question, how much due diligence on the developers' part would you say is appropriate? Not _necessarily_ binary analysis, but more along the lines of knowing who you're getting your tools from, reputation, whatever, etc.

Because as far as I, a user is concerned, that developer put that software on my phone.

Maybe I as a user have a similar due diligence burden. One thing I might do is never download an app from the affected developers again. But that doesn't seem like a desired outcome. Nevertheless, I don't see how a user could do anything more fine-grained and nuanced than that.

<comment><USER2> Really great question. Certainly, there are "too good to be true" offers out there you might want to be concerned about, such as ad networks that pay crazy high CPMs.

I'm biased, but I think developers should be using our service to track the code that they're putting in apps (including their own code) for security, quality, and app review problems. We watch third-party code for them, which is how we found this issue. I think it's unreasonable to expect developers to reverse-engineer every library they include.

I agree users really can't do as much about this. We are considering ways to distribute the list of vulnerable apps/versions to help users find if they have them.

</comment></comment></comment></comment></comment></comment><comment><USER11> This is not new. Check out "Microsoft AARD code" \-- an inverted example of surreptitious analytics, in 1992. TL;DR: the beta version of Windows 3.1 showed a warning if user was using DR-DOS, a competing OS. The payload was encrypted and could be triggered in the production version of Win 3.1 by changing a flag.

<comment><USER20> Yea, there was a reason why I mentioned DR-DOS when I was discussing the OS/2 2.0 fiasco.

</comment></comment><comment><USER21> "The apps using Youmi's SDK have been removed from the App Store and any new apps submitted to the App Store using this SDK will be rejected." I'll be interested to see what happens to Youmi now that they're blocked from iOS. SDK developers: Consider yourselves warned.

<comment><USER22> I imagine that new versions with the private API stuff removed will be allowed. I don't believe that this is some sort of lifetime ban on Youmi.

</comment></comment><comment><USER23> How did SourceDNA have access to millions of iOS app binaries? Can anyone just download all the apps in the App Store?

<comment><USER24> I think you can download .ipa file using iTunes. Alternatively, using iFunbox to backup apps.

<comment><USER25> AFAIK you still have to run those on a jailbroken device, letting the kernel decrypt the __TEXT segment for you, then dumping the decrypted binary from memory to disk. Though every binary is encrypted the same, no matter the device, so supposedly there may be some key that you can extract to enable decryption off-device.

</comment></comment></comment><comment><USER26> Blog about 2 groups discovering the bad apps and reporting it to Apple, but then: "Apple has issued the following statement. "We've identified a group of apps that..." Stay classy Apple - great attribution.

</comment><comment><USER27> Is it just me or are they totally ripping off the research done by the Iris team and making it sound like they came up with these vulnerabilities themselves? I know they give the researchers a cursory mention, but it's buried at the bottom of the article.

<comment><AUTHOR> No, that's not at all what they did. They discovered the issue independently and, as you can see if you read the whole article, in a manner very different from that of the other team.

(Fair warning: I am not just a disinterested observer of SourceDNA).</comment></comment>


Citi Bike Pulls New Electric Bikes Off Streets, Citing Safety Concerns - <AUTHOR> https://www.nytimes.com/2019/04/15/nyregion/citi-bike-electric.html <comment><USER2> Public bike scheme bikes are always built like tanks with lowest common denominator gearing, lowered further for the heft. I dread riding them and was looking forward to electrified versions when I can't use my low-end 10sp 70s "daily driver" bike.

It's sad they couldn't restrict electrics to speeds of an average cyclist on an average bike instead of removing them entirely.

It's actually impressive to read about their brakes working well enough to flip a rider: they're bottom heavy bikes with lowest common denominator ride heights.

But I'm the kind of person to do a brake test when faced with new-to-me vehicles or road conditions.

I preferred the Chinese drop bikes when I was in places that had them - lighter and more visible.

<comment><USER3> Unexpectedly powerful front brakes are a problem with low speed pedal power, too. I flipped myself over the handlebars that way (rear brake had worn, front brake hadn't).

</comment></comment><comment><USER4> Those electric Citi Bikes are a lot of fun.</comment>


How to Avoid the Emacs Pinky Problem - <AUTHOR> http://ergoemacs.org/emacs/emacs_pinky.html <comment><USER2> On Macs, I remap command to control using ns-command-modifier so I use my thumbs like you might on a space cadet keyboard.</comment>


Before Google, Sergey Brin tried to let us order pizza by fax - <AUTHOR> http://www.theverge.com/2013/2/21/4012786/sergey-brin-failed-pre-google-plan-to-order-pizza-by-fax

<comment><AUTHOR> "It's very lucky for me. Back then it was quite possible that that fax would have been picked up."

I love how this story represents the semi-random nature of success. In some parallel universe Sergey Brin is the founder of a wildly successful food delivery service instead of Google.</comment>


Why I Left the Best Job in the World - <AUTHOR> https://medium.com/swlh/why-i-left-the-best-job-in-the-world-3689a5a4649a#.lkmc5uwbv <comment><USER2> Wow! This is my life story.</comment>


Should Work Be Passion, or Duty? - <AUTHOR> https://www.nytimes.com/2019/09/02/opinion/should-work-be-passion-or-duty.html <comment><AUTHOR> The stoic principle described in the article is akin to "renounce the fruits of action" (karma-phala) in the Bhagavad Gita:

You have the right to work, but never to the fruit of work. You should never engage in action for the sake of reward, nor should you long for inaction. (2.47)

Perform work in this world, Arjuna as a man established within himself with- out selfish attachments, and alike in success and defeat. For yoga is perfect evenness of mind (2.48)</comment>