World IPv6 Launch on June 6, 2012, To Bring Permanent IPv6 Deployment - <AUTHOR> http://www.internetsociety.org/deploy360/blog/2012/01/world-ipv6-launch-on-june-6-2012-to-bring-permanent-ipv6-deployment/

<comment><USER3> This is great news, but does anyone have any idea how to get IPv4-over-IPv6 tunnels to work? I'm in an all-IPv6 network, but unless all websites automatically work flawlessly after Jun 6, 2012, I still need to access IPv4 resources.

I have an IPv4/IPv6 dual-stack server which I can access from home via IPv6. I want to setup an IPv4-over-IPv6 tunnel to connect to the server so that all devices in my home network can still operate in a private IPv4 network (for compatibility), and access to public IPv4 network is routed through the IPv4-over-IPv6 tunnel to the dual-stack server.

The only solution that seems feasible right now is DS-Lite, but I couldn't find any helpful tutorial on how to setup it.

Right now I use DNS64/NAT64 on another server to access IPv4-only resources, but this combination doesn't work all the time. For example, Dropbox client doesn't work because (I suspect) it hard-coded the IPv4 addresses of remote servers. DNS64 cannot intercept direct IPv4 addressing so there is no way to translate it into fake IPv6 addresses to be routable via NAT64. In addition, DNS64/NAT64 requires a full /64 subnet on the remote server, which might not always be possible.

What is the general and practical strategy during the transition from IPv4 to IPv6?

Edited: here is the relavent link on serverfault.com where I posted the original question [http://serverfault.com/questions/326132/ipv6-only-client- to-...](http://serverfault.com/questions/326132/ipv6-only-client-to- ipv6-ipv4-dual-stack-server-tunnel)

<comment><USER4> Your ISP should provide DS-Lite for you; I suspect that's why there aren't any tutorials.

<comment><USER5> Not sure where the OP is getting ipv6 from, but DS-lite is not actually common, because most ISPs are still providing ipv6 as an extra not exclusive, or people are using tunnel brokers. So most do not provide ipv6 only. However if you have a lot of ipv6 machines behind one ip provided and you want to know what to do the OP's question is sensible. The answer alas seems to be to just run your own NAT alongside ipv6. DS-lite is just getting someone else to do your NAT.

</comment></comment></comment><comment><USER6> Here is the press release:

WASHINGTON & GENEVA, Jan 17, 2012 (BUSINESS WIRE) -- Major Internet service providers (ISPs), home networking equipment manufacturers, and web companies around the world are coming together to permanently enable IPv6 for their products and services by 6 June 2012.

Organized by the Internet Society, and building on the successful one-day World IPv6 Day event held on 8 June 2011, World IPv6 Launch represents a major milestone in the global deployment of IPv6. As the successor to the current Internet Protocol, IPv4, IPv6 is critical to the Internet's continued growth as a platform for innovation and economic development.

"The fact that leading companies across several industries are making significant commitments to participate in World IPv6 Launch is yet another indication that IPv6 is no longer a lab experiment; it's here and is an important next step in the Internet's evolution," commented Leslie Daigle, the Internet Society's Chief Internet Technology Officer. "And, as there are more IPv6 services, it becomes increasingly important for companies to accelerate their own deployment plans."

ISPs participating in World IPv6 Launch will enable IPv6 for enough users so that at least 1% of their wireline residential subscribers who visit participating websites will do so using IPv6 by 6 June 2012. These ISPs have committed that IPv6 will be available automatically as the normal course of business for a significant portion of their subscribers. Committed ISPs are:

\-- AT&T

\-- Comcast

\-- Free Telecom

\-- Internode

\-- KDDI

\-- Time Warner Cable

\-- XS4ALL

Participating home networking equipment manufacturers will enable IPv6 by default through the range of their home router products by 6 June 2012. Committed equipment manufacturers are:

\-- Cisco

\-- D-Link

Web companies participating in World IPv6 Launch will enable IPv6 on their main websites permanently beginning 6 June 2012. Inaugural participants are:

\-- Facebook ( www.facebook.com )

\-- Google ( www.google.com )

\-- Microsoft Bing ( www.bing.com )

\-- Yahoo! ( www.yahoo.com )

Content delivery network providers Akamai and Limelight will be enabling their customers to join this list of participating websites by enabling IPv6 throughout their infrastructure.

As IPv4 addresses become increasingly scarce, every segment of the industry must act quickly to accelerate full IPv6 adoption or risk increased costs and limited functionality online for Internet users everywhere. World IPv6 Launch participants are leading the way in this effort.

For more information about World IPv6 Launch, products and services covered, as well as links to useful information for users and information about how other companies may participate, visit:

<http://www.worldipv6launch.org>

About the need for IPv6

IPv4 has approximately four billion IP addresses (the sequence of numbers assigned to each Internet-connected device). The explosion in the number of people, devices, and web services on the Internet means that IPv4 is running out of space. IPv6, the next-generation Internet protocol which provides more than 340 trillion, trillion, trillion addresses, will connect the billions of people not connected today and will help ensure the Internet can continue its current growth rate indefinitely.

About the Internet Society

The Internet Society is the world's trusted independent source of leadership for Internet policy, technology standards and future development. Based on its principled vision and substantial technological foundation, the Internet Society works with its members and Chapters around the world to promote the continued evolution and growth of the open Internet through dialog among companies, governments, and other organizations around the world. For more information, see: www.internetsociety.org

<comment><USER6> Supporting Quotes from World IPv6 Launch Participants

Akamai "Web-enabled businesses will need to ensure their applications are available over IPv6 in order to keep pace with the Internet's ever-expanding audience. Akamai is committed to helping our customers with a smooth transition to IPv6 without impacting performance or requiring disruptive changes to their origin networking infrastructure. The global breadth of our IPv6 deployment helped enable a seamless experience for content providers during World IPv6 Day last year, and we stand ready to support this next important, and permanent, step in the evolution of the Internet." -- Tom Leighton, Co-Founder & Chief Scientist, Akamai

AT&T "We've seen unprecedented growth in network traffic over the past several years, and IPv6 is critical to the continuation of that growth. AT&T has been a leader in the transition to IPv6 for many years, and we're excited to participate in World IPv6 Launch by enabling IPv6 services for new and existing residential customers, in addition to the enterprise customers we support with IPv6 today." -- John Donovan, CTO, AT&T

Cisco "IPv6 is important to all of us. It is critical to the continued growth of the Internet, bringing together people and devices around the globe. As a leader in the development of IPv6 since its inception, Cisco is excited to be an integral part of the industry working together toward the World IPv6 Launch organized by the Internet Society. In addition to the continued support for IPv6 we have in our products today, we will be joining other websites around the world by permanently enabling IPv6 on www.cisco.com , as well as enabling IPv6 by default on our new line of E-series home routers." -- John Chambers, Chairman and CEO, Cisco

Comcast "IPv6 deployment is a key priority for Comcast in 2012, and we're excited to participate in this Internet Society event that will help catalyze action around the world on this important transition." -- John Schanz, EVP and Chief Network Officer, Comcast

D-Link "D-Link recently completed a new round of IPv6 interoperability testing, underscoring our commitment to customers when the transition from IPv4 takes place. As we continue to develop new and innovative networking products, D-Link will provide support across all of our solutions to ensure a smooth transition to IPv6 for service providers and end users." -- William Brown, associate vice president of product development, D-Link North America

Facebook "Last year's industry-wide test of IPv6 successfully showed that the global adoption of IPv6 is the best way to keep web devices communicating in the future. Permanently enabling IPv6 is vital to keeping the Internet open and ensuring people stay connected online as the number of web users and devices continues to grow." -- Jay Parikh, VP of Infrastructure Engineering at Facebook

Free Telecom "Free began offering IPv6 service available to its broadband customers via 6rd in 2007, and in 2011 took the bold step of enabling IPv6 for new subscribers by default. Today we have the largest IPv6 user base in the world with over two million subscribers using our award-winning Freebox version 6. Free is thrilled that with the World IPv6 Launch, more and more content is going to be made available to our users over IPv6, and that other ISPs worldwide are committing to enable IPv6 for their users." -- Alexandre Cassen, Network Software Engineer, Free Telecom

Google "World IPv6 Launch marks a watershed moment in Internet history. It breaks the limits of the original address space to open a vast new territory, trillions upon trillions of times larger, and reinforces the end-to-end architecture that made the Internet so powerful at the beginning. Google strongly supports this upgrade. We're happy to see that everyone is moving to the 21st-century Internet!" -- Vint Cerf, Chief Internet Evangelist at Google

Internode "We are at the stage in IPv6 deployment where it's time for major Internet Service Providers to make it a transparent part of their customers' experience. Internode has enabled native IPv6 by default for all new customers, and all the routers we sell all come with 'IPv6 Inside'. Our experience shows us that IPv6 is now fully capable of providing seamless, uninterrupted and efficient access to the Internet, dual-stacked with IPv4. It's time to jump in - the water is fine." -- Simon Hackett, Managing Director at Internode

KDDI "Last year, in the event of the World IPv6 Day, KDDI's IPv6 networks worked well when the major websites around the world had IPv6 enabled. KDDI is now operating the networks accommodating more than 600,000 dual stack users. We are promoting the launch of IPv6, in order that the Internet may continue to maintain its key role in society." -- Mr.Yoshiharu Shimatani, Senior Vice President of KDDI

Limelight Networks "We are proud to participate in the transition towards IPv6, as one of the first fully IPv6-enabled content delivery networks. IPv6 is a crucial step in facilitating the continued growth and improved performance of IP networks globally. The success of last year's World IPv6 Day motivated many participants to permanently IPv6 enable their sites. Limelight Networks is committed to working with the industry to increase the level of preparation so that we can accelerate our move to a more scalable, flexible and interoperable Internet." -- Todd Braning, VP of Network Architecture and Engineering for Limelight Networks

Microsoft Bing "Bing is excited to bring the next-generation search to the next generation of the Internet. Microsoft has been pleased to partner with so many industry leading technology companies to usher in the next evolution of the Internet." -- Derrick Connell, corporate vice president of Bing at Microsoft Corporation

Time Warner Cable "The time to permanently enable IPv6 has arrived. Time Warner Cable is committed to the World IPv6 Launch in June, our customers should be reassured that the platform is ready and our partners should be including IPv6 in all their products and services." -- Mike Lajoie, CTO of Time Warner Cable

Yahoo! "The Internet has grown to be an essential part of our daily lives. It connects our devices to our apps; more importantly, it connects us to each other. Yahoo! is proud to be a part of the World IPv6 Launch - an event that marks the next chapter of our Internet. IPv6 enables the Internet to grow, while remaining open and accessible to new applications and new ideas." -- Jason Fesler, Distinguished Architect and IPv6 Evangelist, Yahoo!

[Media Contacts snipped]

</comment></comment><comment><USER7> Good news, but looks like the site is down currently.

In summary: Facebook, Google, Yahoo and Bing will permanently turn on IPv6 on June 6. Some ISP's also joined, but it's not yet clear what they do at that date -- it may be as little as allowing users to opt-in for IPv6 testing in restricted areas.

<comment><USER8> It seems that Verizon's 4G LTE service already has IPv6 in production - I was issued an IPv6 address without having to do anything in particular. I wouldn't be surprised if other ISPs followed suit by just flipping the switch to enable it for everyone.

<comment><USER5> Thats unusual. A real IP? What is it?

<comment><USER8> 2600:100f:b002:96cf:54e1:a288:bb8:8424, currently. Incoming ICMP and SYN packets seem to be filtered, but that's reasonable for an ostensibly mobile service.

<comment><USER5> Cool have been waiting for the promised ipv6 on mobile but never seen it actually shipping before. Do you get an ipv4 nat address too or not?

<comment><USER8> Yeah, I get NAT'd IPv4 as well.

</comment></comment></comment></comment></comment></comment><comment><USER9> It's a shame that <http://www.worldipv6launch.org/> appears to be broken.

[http://www.downforeveryoneorjustme.com/www.worldipv6launch.o...](http://www.downforeveryoneorjustme.com/www.worldipv6launch.org)

<comment><AUTHOR> yep, they're working on it: [https://twitter.com/#!/WorldIPv6Launch/status/15932845731310...](https://twitter.com/#!/WorldIPv6Launch/status/159328457313107969)

</comment></comment><comment><USER10> I hope it works. My experience with IPv6 has been hit or miss because my service provider, Cogent, doesn't peer with everyone. So while I can access Facebook's IPv6 address and every international IPv6 service I've tried, I can't access visit ipv6.google.com.

<comment><USER11> Cogent de-peered Google about half a year ago:

<http://www.gossamer-threads.com/lists/nsp/ipv6/29238>

If you're single-homed to Cogent and want global IPv6 connectivity, you should look for another provider.

<comment><USER5> Surely they can't just not route to part of the internet?

<comment><USER12> They have done this in the past to many others; look up the Sprint - <USER2> fight a few years ago.

Cogent want peering (i.e. free traffic) with as many providers as possible, but it usually doesn't work out for their peering partners because Cogent's traffic is unbalanced (up / down aren't roughly the same).

Usually when you don't have a direct peering arrangement, you route there through other providers, but Cogent specifically blackhole other networks to try and force them to peer.

</comment></comment></comment></comment><comment> mike-cardwell Page timed out for me. Found an alternative article about it:

[http://www.reuters.com/article/2012/01/17/idUS149045+17-Jan-...](http://www.reuters.com/article/2012/01/17/idUS149045+17-Jan-2012+BW20120117)

</comment><comment> mike-cardwell I wonder if they selected the 6th day of the 6th month for this because it's IPv _6_ , or if it's just a coincidence.

<comment><USER7> They probably chose the 6th because it's on a wednesday; they chose June 8th last year, which was also on a wednesday.

<comment><USER13> At the risk of sounding ignorant... what's special about Wednesdays?

<comment><USER14> Wild guess: Two days of frantic last-minute preparation, one day of rollout, and two days of frantic hotfixes before most folks go home for the weekend.

</comment></comment></comment></comment><comment><USER15> Any hints from Amazon on whether they intend to provide Elastic IPv6 addresses?

<comment><USER16> All Elastic Load Balancers in US-East and EU already have a publicly-routable IPv6 address

<comment><USER17> I'm running a bunch of t1.micros for different websites, now I have to pay twice as much to get an ELB for each to use v6? And I still can't SSH over v6. Amazon needs to stop pretending that ELB is the final solution for v6 and give each instance their own v6 address.

<comment><USER16> It's disingenuous to believe Amazon is pretending anything or won't eventually offer IPv6 IPs. They have a massive, global, proprietary internal routing infrastructure -- it takes time, resources and lots of testing before rolling out new services on that infrastructure.

<comment><USER4> The problem is having no roadmap. We know they're working to make AWS better... somehow. And you can't assume anything; there are EC2 feature requests that have been open for five years.

</comment></comment></comment></comment></comment><comment><USER18> If this catches on it'll have a big impact on web site analytics.

<comment><USER16> How so?

<comment><USER19> One way would be that it would help identify individuals better since giant NATs will not be as popular. For example, I believe some IBM campuses are often all behind a single IP address.

<comment><USER7> Not really; most OSes now enable ipv6 privacy extensions by default, which means a client will connect with a different IP every hour or so.

</comment></comment></comment></comment><comment><USER20> One might think of it as "D-Day"?</comment>


A Refrigerator that Runs Without Electricity - <AUTHOR> http://www.celsias.com/article/a-refrigerator-that-runs-without-electricity/ <comment><USER2> Not a new concept, see:

<http://en.wikipedia.org/wiki/Pot-in-pot_refrigerator>

and

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

<comment><USER3> It's also similar to old Australian meat keepers. Australia was, historically, one of the world leaders at refrigeration development.

<comment><USER4> It's also a common sight to see canvas water bags hanging from the front of a 4WD in Australia. The bag is porous causing some of the water to evaporate slowly as you drive. Hey presto, beautiful cold water when stop to take a break.

</comment></comment></comment><comment><USER5> This only works in dry climates, no?

In humid, tropical climates this will not work.

MotherEarth had an article on building a solar-powered freezer that uses ammonia gas. Use that to make ice, and then use the ice in an ice-box like storage device.

[http://www.scribd.com/doc/6599651/How-to-Build-a-Solar- Icema...](http://www.scribd.com/doc/6599651/How-to-Build-a-Solar-Icemaker)

Yeah, clay is easier to find than the other materials, but the ammonia freezer does work without any moving parts.

<comment><USER6> My grandparents lived, until the early '90s, on a farm with no running water, no plumbing and no electricity. Lighting was provided by kerosene lanterns hanging in each room, and they had a number (three, from memory) of kerosene powered fridges for keeping things cold.

My google-fu is failing me this evening, and this is about the best I can come up with <http://www.earthgarden.com.au/kerosene.html>

<comment><USER7> IIRC, natural gas -- or propane -- powered refrigerators are not all that uncommon, either. This pre-supposes more infrastructure, but it's still not electricity.

<comment><USER8> Propane refrigerators are extremely common in the RV/camper world, likely because most of them already have a propane tank for cooking.

</comment></comment></comment></comment><comment><USER9> Greeks used a twin pot system to cool (or keep cool?) their wine. They would have a _psykter_ ("cooler") and a _krater_. The psykter is filled with water or ice and floated in the krater holding the wine.

It's been long known that wet terracota on a windy day keeps the insides cool.

[http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:19...](http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0004:id=psykter) page also describes a double walled amphora where the space was filled with water, no mention of external glazing (or its lack). These are apparently known as _psykter amphora_ , [http://books.google.co.uk/books?id=L-DYdyXXMy8C&lpg=PA22...](http://books.google.co.uk/books?id=L-DYdyXXMy8C&lpg=PA221&dq=double- walled%20amphora%20~cool&pg=PA221#v=onepage&q&f=false). Such amphora are known since 6th Century BC.

</comment><comment><USER8> A technology that I haven't seen mentioned yet is the thermoacoustic generator. <http://en.wikipedia.org/wiki/Thermoacoustic_hot_air_engine> These are basically a resonator driven by a heat differential. Very simple, no moving parts. With the proper arrangements you can get out heat for cooking (obviously), refrigeration, or with a piezoelectric module, electricity. They're still more or less experimental, but very cool nonetheless.

</comment><comment><USER10> A friend from Albuquerque, New Mexico was just telling us about _swamp coolers_ which are commonly used instead of AC to cool homes, and works on the same principle.

I'd never heard of it before.

<comment><USER11> Yes, I lived there and we had swamp coolers, aka evaporative coolers. They're adequate, but not as deluxe feeling as refrigerated air.

It's basically a 3 foot wide wheel that spins in a metal box, blowing air. Water is misted through the air that comes through the box, cooling it and making it more humid. This works quite well in a dry place like Abq, but you can imagine what it would be like somewhere like Houston that is already very humid.

<comment><USER12> AFAIK, evaporative coolers are more energy efficient than AC, as they just power a small pump instead of a compressor.

<comment><USER11> Yes, they're far less expensive to operate than refrigerated air, since it's pretty much just a fan with a bunch of water.

</comment></comment></comment></comment><comment><USER13> We Spanish people had been using evaporative cooling since dogs bark.

Botijo(spanish version is more complete): <http://en.wikipedia.org/wiki/Botijo>

Other methods that people used was making deep holes on the ground( > 30feet 10meters under ground level). Old houses in Madrid have (now sealed) passages and cellars under ground. They were used as pantries(in some cases they had snow with straw that lasted for months, now some are used for winery, but most are closed and owners only realize they exist when they remodelate their homes.

</comment><comment><USER14> Ammonia cycle refrigerators like the classic Frigidaire of the 1930s operated on a small flame from natural gas, propane, or kerosene. See <http://en.wikipedia.org/wiki/Ammonia_Refrigeration> for an overview of this and other similar processes. Ammonia is toxic at the levels used for refrigerators and was phased out in home refrigeration units for safety reasons.

<comment><USER15> You can still buy ammonia-absorption refrigerators today. A quick Google search finds [http://www.warehouseappliance.com/propane_gas_refrigerators....](http://www.warehouseappliance.com/propane_gas_refrigerators.htm#danby). I had one in my Vanagon in 2006. It's certainly true that they're more dangerous than compressor refrigerators.

Presumably you could easily operate a refrigerator like this with a solar concentrator instead of a flame providing the heat.

A thermoacoustic cooler like the one in the SCORE project <http://www.score.uk.com/research/default.aspx> could also refrigerate using only a heat source, without a source of electricity. (The SCORE stove also produces electricity.) I don't know what the state of the art in this technology is right now.

</comment></comment><comment><USER16> The developer of this solution won an award for building and distributing this to rural areas in Nigeria - see the cooler working in a video profile here: <http://www.youtube.com/watch?v=SsH7dp2MB2c>

</comment><comment><USER17> The guy in the doc "No Impact Man" tried using one of these in NYC and I recall it didn't work too well and he ditched it.

<comment><USER18> NYC isn't dry enough. This device operates through the evaporation of water. Using a humidity delta to create a temperature delta.

</comment></comment><comment><USER19> This double pot evaporation system is not new, it's ancient. I can clearly recall seeing antique market photos from the 19th C clearly showing the double pot cooler throughout the middle east. (can't find reference sorry.) It works especially well in hot dry climates where you can have extensive evaporation. It doesn't work in humid or cold climates. What's needed in North America is a return to the root cellar, and external cold sheds or window boxes for climates that fall below freezing. Again this is not new technology, but was widespread in the 19c. (again, it is amazing that I can't find any image references for window box cold storage.)

</comment><comment><USER20> But won't work where it's humid, right?

Because there would be little or much slower evaporation?

</comment><comment><USER21> Tomatos can last three weeks in this thing? My electricity-powered fridge can't even do that!

</comment><comment><USER22> Creative and Intuitive. The same way our body keeps us cool by sweating.

</comment><comment><USER23> Does this scale? How large can the pot be before you run into problems?

<comment><USER18> The problem you run into with evap cooling is that you only get the benefit once for a given volume of air. Once you humidify the air you can't humidify that same air again. So its all about how much dry air you can bring in and how quickly you can eliminate the already moist air.

I'd imagine that this pot in pot method wouldn't scale very far. Your cooling a volume but your evaporation rate is governed by surface area.

<comment><USER24> I think it would scale fairly well, just buy a second set of pots.

The thing I think lost in the discussion is that the solution is not a great one in the general case and thats a given, so what. What it is is a way for lots of very poor people to have a better quality of life. Also they can do it on there own. This just might spark other very good local applications of existing knowledge to existing problems. There is plenty of knowledge out there that would improve the local living conditions, especially if that knowledge is in the hands of people who really know what the local problems are. Hopefully this will lead to other people boot strapping/rediscovering/stealing simple solution to local problems.

To the people who are saying that this would not work in a rain forest, or high humidity in general. A heavy winter coat is useless in the amazon, but I am rather glad to have it in NYC during the winter.

<comment><USER12> > I think it would scale fairly well, just buy a second set of pots.

He's saying that you couldn't scale the individual size of the pots that much. The ratio of surface-to-volume changes dramatically as the pots get larger (squared-polynomial for surface vs cubed-polynomial for volume).

Realistically, unless you are storing something which generates its own heat, the only thing affected would be the amount of time to lower the internal temperature to equilibrium, at which point the added thermal inertia of everything in the pot would help keep things at temperature. With a system like this, what you're fighting is the thermal exchange with the surrounding air, which is of the same magnitude as the vapor exchange (both are a squared- polynomial).

(Anybody with a less hand-wavy understanding of thermodynamics, feel free to step in!)

<comment><USER24> I knew that, I was trying to say "So What" in a more polite way. My point was this is better then what was available before. It is a real improvement in the peoples lives who use it: more fresh food consumed, food costs go down and probably less food poisoning by trying to stretch one more day from what we have bought for dinner. It is cheap enough to be purchased and simple enough to be maintained by untrained people. This is a solid step in the better direction.

</comment></comment></comment></comment></comment><comment><USER25> That sounds perfect for camping in the southwest US during warmer months.

</comment><comment><USER26> Anyone know the typical internal temperature?

<comment><USER12> Possibly a differential proportional to both the outside temperature and the difference of humidity? I'd love some links to the physics behind this system.

</comment></comment><comment><USER27> Rather I would find radiative cooling cool.

</comment><comment><USER28> Anyone do this at Burning Man?

<comment><USER29> Unlikely. There is massive use of evaporative cooling techniques (We cool our domes with a pair of Essick 3301 coolers) - but the preponderance of (A) Electricity, and (B) ice at BRC would make it unlikely that anyone would futz around with this technology to cool food instead of air, particularly as all you would be doing is preventing food from spoiling, not particularly cooling it that much.

I've often wondering if the critical ingredient that makes BM so popular (they won't even sell tickets at the gate this year they are so oversubscribed - might even sell out for the first time) - is that they sell ice at a number of distribution points on the Playa.

Far more likely they put that energy into figuring out how to evaporate / dispose of their grey water.

<comment><USER30> People at BM unwilling to futz around? Huh? Isn't that the point?

</comment></comment></comment><comment><USER31> See Also: Chotukool in India. Example of large conglomerate making products for the base of the pyramid and succeeding: [http://www.gizmag.com/refridgerator-rural-india- chotukool/13...](http://www.gizmag.com/refridgerator-rural-india- chotukool/13680/)

And Mitticool - this one is similar to the nigerian one in that it uses evaporative cooling. [http://www.sankalpindia.net/drupal/know-india/mitticool- cool...](http://www.sankalpindia.net/drupal/know-india/mitticool-cool-indian- innovation)

</comment><comment><USER32> I'm somehow very doubtful that this works effectively. If it is so effective, then why is it so rare? Probably it keeps the goods somewhat cool, but not particularly cool.

<comment><USER18> The operating principle isn't rare. We use swamp coolers here in Arizona all the time. But I wouldn't use them to store food.

There are a number of limitations to them. The maximum cooling you'll get is 20F less than ambient, and that is entirely dependent upon humidity. So these only work in places that are extremely dry (yet also have plentiful water to run these coolers).

With the "pot in pot" method I wonder how they circulate air. You need a fairly constant supply of dry air for evap cooling to work. I'd imagine a porous exterior pot (think whiffle ball) filled with a spongelike material.

<comment><USER12> > The maximum cooling you'll get is 20F less than ambient, and that is > entirely dependent upon humidity.

Any idea about the specific physics here? I'd love to see some equations to help explain this system (and the swamp coolers we use here in rural CA too).

<comment><USER15> Equations: [http://en.wikipedia.org/wiki/Wet- bulb_temperature#Temperatur...](http://en.wikipedia.org/wiki/Wet- bulb_temperature#Temperature_reading_of_wet-bulb_thermometer)

<comment><USER12> Ka- _zaa_!</comment></comment></comment></comment></comment>


Ask HN: Contemporary Book on Packrat Parsing - <AUTHOR> I am largely a self-taught programmer and I would like to try and understand parsers better. I am looking for something that can give a good theory and technical overview, as well as some actual implementation examples.
I'd like to try and implement the parser in Julia, but I am flexible enough to use another language that might be more common in teaching.
Any suggestions would be greatly appreciated. <comment><USER2> This discourse post seems useful [https://discourse.julialang.org/t/writing-a- parser-in-julia/...](https://discourse.julialang.org/t/writing-a-parser-in- julia/13769)

Not sure about what kind of parser you're thinking about. If you like to do it in Julia, I suggest that you get on Julia Slack and Julia Discourse and get some help there.

See [https://julialang.org/community/#official_channels](https://julialang.org/community/#official_channels)</comment>


The Aesthetics of Data Storage - <AUTHOR> http://hyperallergic.com/58330/the-aesthetics-of-data-storage/ <comment><USER2> I've often wondered, though, how much of the "blinking lights" factor is useful and how much is just to impress clients (or to entertain us geek sysadmin types :D ).</comment>


How to destroy the Earth (completely) - <AUTHOR> http://qntm.org/destroy <comment><USER3> Already discussed here: <http://news.ycombinator.com/item?id=998734>

<comment><USER4> This is an amazing topic for getting scientific misconceptions out in the open. Unfortunately, it does nothing for allaying them. People keep on insisting on ridiculous things like dropping the Earth into the Sun, even though there are far more efficient ways to reduce the whole planet to a featureless, lifeless molten glob. Most of the people who have the capacity to learn from such a thread have already learned and the people left haven't the inclination.

This particular article can't hold a candle to rec.arts.sf.science discussions of the same topic from the early 90's.

</comment></comment><comment><USER5> One point of note is that is that a small-enough black hole would be essentially harmless.

See <http://www.aip.org/pnu/2008/split/871-1.html>

Obviously, there is a tipping point where a black hole becomes dangerous - <USER2> it's worth remembering that gravity is the _weakest_ of the major forces. Any physics geeks care to calculate how long it would take an Everest-sized black hole to eat the earth?

<comment><USER6> The calculations are impossible without lots more details, but do you mean Everest volume, or Everest mass?

<comment><USER5> Given this is entirely for entertainment purposes, any back-of-envelope speculation will do.

The article does mention Everest mass.

Everest volume would, of course, not be a "small" black hole at all.

<comment><USER6> Oh. I read this article years ago, so I didn't re-read it.

Everest mass would be a very tiny black hole.

As it oscillated back and forth it's picking up momentum from the earth, which slows down the oscillation. It would end up right in the center, but not moving.

After that it will wait for the pressure of the earth to feed it mass.

<comment><USER7> The inner core of the earth is solid. It's conceivable that the black hole, after it has settled down, will simply carve out a little cave and sit there in the center without accreting any more mass. In fact, I don't think you can completely rule out the possibility that this has already happened.

<comment><USER8> Wouldn't that be an unstable position? Even if the earth was a perfect ball and the cave was a perfect ball exactly in the middle then the gravity everywhere inside the cave is zero, so if you gave the black hole a little push it would crash into the earth again.

<comment><USER6> The center of the earth is the position that is "lowest" if you moved away from it gravity would cause it to "fall down" back into the center.

<comment><USER9> That is completely false. Modelling the inside of the earth as a hollow spherical shell, the force inside at all points due to the gravity of the surrounding shell is 0.

<comment><USER6> But it's not actually a shell.

In a solid sphere there is always force, and it always points to, and is lowest, at the center.

<comment><USER9> I assumed the black hole carved out a spherical hole in the center of the Earth. If it was inside it, then it would be inside a spherical shell (a very thick one at that).

<comment><USER6> But, you said it would be unstable, while actually if it crashed into the wall the resultant forces would put it back somewhere in the middle.

Or more accurately oscillating back and forth in the middle, but not touching the wall.

If there was any vapor in the middle (which seems likely to me, considering it would be a perfect vacuum at pretty extreme temperatures), then the gas would eventually slow down the oscillations and it would end up exactly in the middle.

<comment><USER5> Well, it would be sucking up the matter on the walls as well..

BTW, Sci fans of yesteryear were disappointed when it was discovered that Dyson Spheres and Ring Worlds gravitationally unstable...

<comment><USER6> > it would be sucking up the matter on the walls as well

It won't. The first time it touches (or comes near) the wall it will take what it can get, but it will never go farther than that. There is nothing that will "push" it closer to the walls.

<comment><USER8> You are missing the crucial point. The force in a cave in the middle of the earth is ZERO, there is NO force directed to the center of the cave. This is not an intuitively correct statement, but if you carry out the calculation you will see that it is true. If you take a solid sphere and carve out a spherical cave in the center, then everywhere (not just in the center) inside this cave all the little forces from all the atoms of the big solid sphere cancel out.

So this means that inside the cave the black hole will just move in one direction, until it hits the wall. Then it will suck up some mass and be pulled back to the center. Then it will suck up some mass on the other side, etc.

The only way the black hole will remain in the cave is if you put it in the cave with exactly zero velocity to begin with. As soon as one atom falls into it it will start to eat up the earth.

<comment><USER6> No, I am not missing that point.

You are missing a point.

Yes, inside the cave there is no force. But the black hole can hit the wall just once. After that it can not go any farther.

If passes thought/inside the wall it will be pulled back to the center, and the momentum exchange with the earth will slow it down (so next time it won't go as far). If it was just touching the wall, then that is as far as it can possibly go.

So once it's inside it's little cave, it's done. It can't eat anymore. (Unless of course there is no cave and the earth feeds it, but we are assuming a cave.)

You are missing three points: one is that if there is no cave, and it's oscillating through the earth, it will be pulled to the center. Two is that it looses momentum each time through the earth. And three is that once it's inside it's hollow cave it can no longer reach the wall.

<comment><USER8> I don't know what to say. On one hand you seem to agree that there is no force to slow the black hole down inside the cave, but on the other hand you claim that the black hole will remain inside the cave.

> You are missing three points: one is that if there is no cave, and it's > oscillating through the earth, it will be pulled to the center.

Agreed.

> Two is that it looses momentum each time through the earth.

I'm not so sure about that. Mass is added to the black hole, and perhaps this causes the total momentum to increase.

> And three is that once it's inside it's hollow cave it can no longer reach > the wall.

If it is stopped inside the cave. But there is no force to stop it.

<comment><USER6> Well we agree on the basics, that's good.

Imagine a tiny black hole arriving on earth. It grabs some mass. The black hole is moving, but the mass it ate is not. So rather than free falling, it looses momentum. As it falls through the earth it keeps doing that.

So it will not rebound back up to the top at the same height it fell. It will be lower. The second time through the same thing will happen.

Each time it oscillates it will get lower and lower.

Next. Say the black hole is a bit bigger. And it eats some mass on one side of the earth - now there is an imbalance. There is more mass on the other side. So the forces will cause it to slow down more than it otherwise would.

When it finally settles down enough to make a cave, it will "swing" as much as it can. But each swing can not be any higher than the one before. Over time, with random atoms falling into the cave it, it will come to rest at the exact center.

<comment><USER8> Assuming the cave is spherical, each swing will reach the other side, because inside the cave the black hole will not be slowed down, do you agree? So in this perfect situation, it is impossible that the black hole will come to stop exactly in the center. Even _if_ it was stopped exactly in the center, if one atom hits it from one side, the black hole will crash into the other side (but slowly of course).

<comment><USER6> I see your point (I didn't before).

There is no force on the black hole, so if it moved at all it would crash into the wall. Only when it actually ate some of the wall would it turn around. So each swing would eat more and more.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> That article is a good demonstration of scientific entertainment. I liked that method: \--- "What you need to do is to point our most powerful radio- telescope transmitters at likely solar systems and taunt them. 'The girly- beings in your miserable solar system could never destroy a planet as cool as this one...'" \---

<comment><USER4> Many think that all we have to do is show:

1) we are here

2) that we're savages who have nuclear weapons and who are perfectly willing to use them on _each other_.

3) we're going to develop interstellar spacecraft

I think many civilizations worthy of the name would want to bomb us before we get out of Earth's gravity well en masse.

<comment><USER11> In the grand scheme of things, I have come to realize nuclear warheads are not that fearsome. Thus far they have caused less damage to the surface of the earth than a pimple causes to your face. And the earth is insignificantly small.

They are definitely scalable, but they are certainly no Dr. Device

<comment><USER4> Interstellar drives are the dangerous bit. The point is that we have a history of being willing to use weapons of mass destruction on our own species. This should make other species a bit nervous.

</comment></comment></comment></comment><comment><USER12> There are a couple of comments here about the phrase "destroy the world" normally referring to life on earth.

In that vein I'd like to say that killing all life currently within 6500 kilometers of the Earth's center of mass is, in some ways, harder than simply destroying the Earth.

Take for instance the humble Water Bear they range from microscopic to a millimeter in size and can survive being frozen to within a degree of 0k and have survived 10 days in hard vacuum, during which time eggs were laid and hatched. It seems likely that any of the various "disassemble Earth" methods would fail to kill them. Similarly any chunk of Earth with a sealed ecosystem, like some caves, might continue to keep going indefinitely.

Killing everything might _require_ vaporizing the planet in the sun or eating it with a black hole.

<comment><USER4> Heating the biosphere and the crust to a depth of 5 miles to 500 degrees and keeping it there for at least a couple of hours would likely do it, even for the Water Bears and _radiolarens_. That could be accomplished with asteroid/comet bombardment. The energy budget for that is many orders of magnitude smaller than most of the proposals in the article.

<comment><USER12> Well you'd probably want to go deeper than 5 miles to be sure. But a massive comet strike doesn't guarantee the sterilization of ejected material which is really the difficult part. Because there is life that can handle vacuum you have to not only heat the world to 200C (we think) but you have do it in a way that nothing larger than individuals molecules escape due to heating. which is also tricky because at some altitude in the atmosphere evaporative cooling might allow for something to survive indefinite periods of superheated crust.

EDIT: really what it comes down to is how many 9s of biocide do you want. Ramming Luna into the Earth might accomplish 7 or 8 9s, but if you want to kill _everything, 100% of life from LEO down_ not just _practically everything_ it's going to take more finesse than that.

<comment><USER4> Heating the biosphere by using a large cloud of orbital mirrors and inducing runaway greenhouse might accomplish your goal of 100% containment and sterilization, but if a few mites and microorganisms escape, that's close enough for me.

<comment><USER12> slacker

<comment><USER4> It's called GTD. Getting Things Destroyed!

</comment></comment></comment></comment></comment></comment><comment><USER13> They left out one possible solution: create a time machine to traveled back to a minute before 4.54 billion years ago. Equipment needed: high-pressured suction vacuum machine preferably solar-powered with a dustbag hard enough to store around 1.08321 × 1012 km3 mass volume of solar's dust and gas left over. Contrary to popular believe, it is actually easy to shop for a decent time- traveled machine: imdb.com Feasibility: 1/10

</comment><comment><USER14> "Give me the place to stand, and I shall move the earth." Archimedes. Said to be his assertion in demonstrating the principle of the lever.

<comment><USER15> Moving the Earth is dealt with in some (err, much) depth here: <http://qntm.org/moving>

In terms of Archimedes:

 _"Give me a place to stand, and I will move the Earth", proclaimed Archimedes upon discovering the principles of leverage. Unfortunately, that place needs to be immovable, which is impossible. Also, what he didn't specify is that he also needs an equally immovable fulcrum - equally impossible - and a lever of stunning length which is unbreakable. Hah! Nice try, Archimedes._

<comment><USER16> "Unfortunately, that place needs to be immovable"

No, it merely needs to be of sufficient mass. As a practical strategy for moving the earth, this would clearly be infeasible, but, strictly speaking, I don't think that it is impossible.

<comment><USER17> When Newton came along we realized that all we needed to do was jump. Granted, we don't move the earth very much, and it comes right back, but still...

</comment></comment></comment></comment><comment><USER18> Destroying the Earth is kind of overkill. Unless you're making way for a hyperspace bypass, most supervillains' needs could be served by destroying what makes it different from any other planet. Burn off the atmosphere, melt the crust, release a metagenic virus that kills the biosphere, dump 130 million gallons of oil into the Gulf of Mexico...

<comment><USER6> And?

Did you read the article?

<comment><USER18> And what?

I read it the last couple times it was posted here.

<comment><USER6> And so what if destroying the earth is overkill.

That isn't what the article is about.

</comment></comment></comment></comment><comment><USER19> This is fun and all, but my question is: what happens when all the honeybees die out?

<comment><USER20> Let them eat cake.

</comment></comment><comment><USER21> This is completely old, but so funny every time, I have to up it. :)

</comment><comment><USER22> An Illudium Q-36 Explosive Space Modulator will not suffice?

<comment><USER4> Wabbits. (Admittedly, not the best reference, since there was no FUD in that episode.)

</comment></comment><comment><USER23> Hilarious.

</comment><comment><USER24> Talk about exactly the kind of article title I wouldn't want to be easy to find by bad guys.

<comment><USER11> If they have the kind of time, money and resources to pull these things off, I think their discovery of this article is the least of our problems.

I mean, if you've got 25,000,000,000,000 tonnes of antimatter just laying around in a warehouse somewhere, I don't care if you want to kill me and destroy the earth- I want to shake your hand.

</comment></comment><comment><USER25> This is somewhat entertaining, but it's a giant strawman. When someone talks about destroying earth, they don't mean literally making the planet cease to be a such, they don't even mean annihilating humanity. They mean permanently making earth a significantly less pleasant place to live for a significant portion of its population. Such as, cutting down the rain forest, disrupting the CO2 pump (or whatever) and lowering the air quality with more disease to follow (or some variation - either way, it's still a planet, and it's still very much populated by humans).

<comment><USER26> When a writer chooses a definition, as long as the definition is not insane ("When I say 'brutal murder', I actually mean the color purple"), you really have to go along with it. English is not a sufficiently precise language to be immediately suitable to the expression of all ideas.

I don't know what the original title was, but I do know the contents of the article, in which the author makes it abundantly (and if you read everything in that section, repeatedly) clear that he is aware of the usual use of the phrase "destroy the Earth". It is not a "strawman", it is the _topic of the essay_. If anyone is erecting a strawman, it is those who refuse to deal with the text on its own terms and insist on forcing their personal definitions of various terms onto the text, despite clear, repeated disclaimers, and the obvious fact that the entire idea of the essay is predicated on the author's definition.

Maybe you were just reacting to this title, but this has been linked in a few places and every time it seems this reminder needs to be given, so even if you are now satisfied by the new title, this still needs saying. An author is free to choose their topic and the precise meaning of some of the terms they are using; nothing else makes any sense.

<comment><USER4> Insane? How about nonsensical? The "blow up the earth real good" goal is of the mentality of someone who watches Star Wars and decides the movie portrays real physics. Vaporizing the oceans and turning the crust into molten lava is plenty of destruction. It's also many orders of magnitude less energy than a lot of the patently unphysical proposals in the article. Equivalent mass of antimatter? You'd need a lot less than that to exceed the gravitational binding energy of planet Earth, and even that is ridiculously inefficient.

That's like the proposal to achieve AI by simulating a whole human body down to the molecules. It sounds clever to college freshmen, but it really just shows people are ignorant of the orders of magnitude of what they're discussing.</comment></comment></comment>


Uber for MBAs is a worrying sign - <AUTHOR> http://www.bostonglobe.com/business/technology/2016/04/15/uber-for-mbas-worrying-sign-for-knowledge-workers-everywhere/BJqxdFyeoM4f4giMzmSZSO/story.html <comment><AUTHOR> I was just wondering - has anybody worked as a "nerd" for HourlyNerd or related services? Has anyone hired one of these services to do work for them?

Wondering what the experience was like on either side?</comment>


Ask HN: Information Security vs. Software Engineer - <AUTHOR> Career Advice,
This seems a little weird asking for career advice to a bunch of strangers on the net, yet I spend most of my time in-front of a computer. Creating this from a dummy account because I am somewhat nervous about this. I am in my late 20s that is currently working in a stable InfoSec job doing mostly threat-tracking. While its interesting, I feel as if my technical skills are leaving me. Some background, I started off in IT doing HelpDesk then progressed to System Administrator work then to InfoSec. I am have done mostly Information Assurance, from validating software that is being introduced to our environment and  security testing but never done pen-testing. I understand at a certain point you must take off the tech-hat and put on the management hat, but I think I have gotten to the "middle-management, I NEED A PORSCHE" way to soon. I truly miss doing my work on a terminal, climbing under desk/fixing issues and helping to build projects. That's why I kind of think that Software Engineer would allow me a new challenge while also staying within the Tech realm.
I guess my question is, does it make sense to switch over to become a Software engineer? Or does it make more sense to go the Cyber Security Engineering route. I would like to stay in "Tech" but I don't want to live and die via emails and dashboard alerts. Has anyone moved from Cyber Security/InfoSec to Software Engineering? I have mostly seen people switching from other career fields within IT over to Cyber.
I have no formal education in IT/CS but have taken a python course and Java course previously. I am planning to take a Calculus course this fall to brush up on my math skills. <comment><USER2> It absolutely makes sense. If you're not doing math or writing code, then you're compiling reports and ticking boxes in checklists. Get out of infosec, and start building things.

You can jump to networking, systems automation, data science, product development... Anything else. If you return to security later, you'll be better equipped. If you pick up some theory whilst developing your chops, then so much the better.

Good luck!

</comment><comment><USER3> I can't help out much, but I will give you this. If you enjoy making stuff, software engineering can be GREAT, and it sounds like you want to be making stuff again.</comment>


Using SaltStack to Create an Ubuntu Linode Cloud VM - <AUTHOR> http://eon01.com/blog/using-saltstack-with-linode-cloud/ <comment><USER2> Something that always kept me from even trying to learn Salt is the fact that it seems that you do almost all "role" developments out of /etc files and need root, etc to check it. Is it really the case or is there a way to develop and test your roles/"playbooks" as a user?</comment>


How Big Business Is Hedging Against the Apocalypse - <AUTHOR> https://www.nytimes.com/interactive/2019/04/11/magazine/climate-change-exxon-renewable-energy.html <comment><USER2> Sigh, another misleading title from a publication that should know better.

This isn't about "Big Business". It's about the energy sector, specifically and exclusively. It's basically a story about how Exxon is now using renewables to make it more cost-effective to extract hydrocarbons to burn.</comment>


Prof Bumps Female Students' STEM Grades to Encourage Female Students - <AUTHOR> https://reason.com/archives/2018/05/23/prof-bumps-female-students-stem-grades-b <comment><USER2> Ultimately its the knowledge that counts. Although it would be interesting to see a school that gives tuition rebates for good scores instead of grades.

</comment><comment><USER3> Grading of exams should be done anonymously.</comment>


HodlFeed – a Cryptocurrency Newsfeed - <AUTHOR> https://hodlfeed.com/ <comment><USER2> Hodling is the worst thing about cryptoccurencies most people don't realise. Deflating currencies act as value holders, not as currencies, they don't promote trading or commerce, buying and selling it for physical things. It promotes holding and not selling. This is the opposite of what a currency is.

The more people hold, the less chances there are that Bitcoin or other protocols will be ever used to buy a burger from local shop.

Look at this, even Bitcoin conference doesn't want to accept BTC in payments for tickets, so where can you use use BTC if not on a BTC conference?

[https://news.bitcoin.com/miami-bitcoin-conference-stops- acce...](https://news.bitcoin.com/miami-bitcoin-conference-stops-accepting- bitcoin-due-to-fees-and-congestion/)

<comment><USER3> > Deflating currencies act as value holders, not as currencies, they don't > promote trading or commerce, buying and selling it for physical things.

I know this is the commonly accepted reason why inflation is good and deflation is bad. But isn't this just coercion? Here's your paycheck. You better go out spend it like a good consumer because we're going to ensure its value is going to slowly erode over time.

Modern man already needs to buy and sell things to survive. It's not clear to me why his currency needs to further promote this behavior.

<comment><USER4> Yes, that's exactly what it is, but with one crucial additional factor: investment.

Mild inflation does not discourage saving, it discourages _saving the actual currency_ , which does nothing for the economy. It encourages saving in the form of investment, which stimulates the economy.

If my dollars were guaranteed to get more and more valuable over time, why would I spend them (more than absolutely necessary) or invest them in economic ventures? This is why deflationary currency is bad.

<comment><USER3> It might be bad for the economy/GDP but what about for the individual? Consider a blue collar worker just making enough to get by and saving a little cash on the side. Why are you forcing this person to learn about inflation, interest rates, the SP500, etc.

<comment><USER4> If they are saving a little bit on the side for the short term, inflation will not noticeably hurt them (I am speaking of a well-managed monetary system with mild inflation such as the US). If they want to save for the long term, then they _should_ invest it if they want to maximize gains. That's what's best for the individual.

<comment><USER3> What if they're not interested in maximizing gains? What if they don't want to learn about investing? What if they just want their hard earned money to not evaporate on them?

<comment><USER5> target funds [https://www.schwabfunds.com/public/file/P-9430864](https://www.schwabfunds.com/public/file/P-9430864)

<comment><USER3> My uncle told me these cryptocurrencies are an even better investment!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> The sentiment section filters out "blocks" and "block" as negative words. I feel like you should block it from doing that, considering the subject matter.

<comment><AUTHOR> Thanks, we will add these to the excluded words

<comment><USER7> Can you make an API available to paying customers? I'm trying to contact you directly but there is no contact information on the website.

<comment><USER8> Yes we will make it available shortly as well as a way to contact. In the meantime firstname.lastname@example.com will go direct to us.

</comment></comment></comment></comment><comment><USER9> I like this feed - a more centralized collection of cryptocurrency news, however it is unfortunate that left sidebar does not show currency. At the moment of writing this comment it BTC is worth 13081.8 of something.. is it USD, EUR, LTL?

<comment><USER8> Currently its in USD, but good point. I will show it in USD and add the ability to change the currency of your choice.

<comment><USER10> The first thing I went looking for, was a way to set this to EUR, because I am european. There is no such setting.

A small word of unwanted advice for anyone developing anything related to crypto-currency tickers: don't add "multi currency" as an afterthought. E.g. coinmarketcap's API, or the CoinCap interface have hacked this in. It's ugly, inconsistent and feels amateurish. Nothing wrong with adding "mutli-currency" in a later phase, but this is certainly not a "YANGI" thing: There are far, far more people out there, who will want to use your product, but who don't use USD than there are that use USD.

<comment><USER8> Multi-currency selector is live.

<comment><USER10> I tried it, but somehow it does not store my setting. It looses it after every state change (page navigation).

This is on Firefox, latest stable. I cannot see any session, cookie or local- storage that would've stored my setting, nor do I see any network activity that would've stored the setting in my account.

It looks like a bug of some sort.

<comment><USER8> Ah yes, thanks for catching that. Will fix.

</comment></comment></comment></comment></comment></comment><comment><USER11> Takes about 6 secs or more to fully load the feed on my work desktop.

Looks like this API request is to blame: [https://api.hodlfeed.com/coin- types](https://api.hodlfeed.com/coin-types)?

<comment><USER12> cryptocurrency types are used to long transaction times.

<comment><USER13> I can send you an XRB in < 1 sec

<comment><USER14> Oh, just let someone make a joke without doing an "um actually." Jeez.

<comment><USER13> It's either a worthless joke post, or I can respond to it with real information. Some people might think that cryptocurrency by it's very nature has this latency problem.

</comment></comment></comment></comment></comment><comment><USER15> Just from a frontend perspective, it's a great-looking site/webapp. I would be curious to learn more about your tech choices and the application architecture.

<comment><USER16> Looks like a React (maybe create-react-app) and Redux job, with:

\- lodash

\- JSS (cssinjs.org)

\- Material-UI (mui.org)

\- Highcharts.js

\- Popper.js

\- Moment.js

\- React-select

\- Redux-form

judging from the bundled main.js file. [0]

[0]: [https://hodlfeed.com/static/js/main.3593bf21.js](https://hodlfeed.com/static/js/main.3593bf21.js)

</comment></comment><comment><USER17> Compare with [https://cryptopanic.com](https://cryptopanic.com)

<comment><USER18> They don't compete, they compliment each other. Cryptopanic gives you manual user ratings, Hodlfeed gives you text sentiment ratings. It's a perfect combo, especially if you add in another site like [http://solume.io](http://solume.io)

</comment></comment><comment><USER19> Seems that the sentiment analysis speedometer graphic can go "too positive" and the needle disappears.

<comment><USER8> Nice catch, will be fixing.

</comment></comment><comment><USER20> any details to methodology, which news sites are being used?

also, any plans to add analysis from medium / twitter?

<comment><USER8> Yes medium and twitter are in the pipeline. Sites are being selected based quality of articles.

<comment><USER20> cool - i find a lot of useful analysis from medium and twitter.

how is quality of articles determined? is there a working list of sites currently included / excluded?

<comment><USER8> Right now its crypto focused sites, but I find some of them to be positive leaning. Likewise the traditional finance sites seem to be negative leaning. My goal is to add source sentiment so you can see all the sources and which way they lean for all articles. You will also be able to filter the sources you wish to see. Quality of sources/articles are based on reading though the articles, comparing them to similar articles from other sources and making a determination whether or not its a unique article or a spin off another one.

<comment><USER18> Awesome! I think it's important to segregate social media, blog and news media sentiment data. The differences are important, for example, news media will usually run a story on something that already has social buzz. People who post on Medium are probably already invested (in the financial and effort sense) in some side of the conversation. Twitter posts might be fleeting thoughts on a project.

To help beginner's, you might consider some combined number that weighs each rating differently according to what you think is important.

<comment><USER8> Great points. I think showing all of them on a graph separated will allow you to see how each is affecting the overall sentiment. Being able to make custom feeds will also empower you to make your own weights.

</comment></comment></comment></comment></comment></comment><comment><USER21> Can't sign in after registration.

<comment><USER22> Try again, working on my side.

</comment></comment><comment><USER23> The website needs comments!

<comment><USER8> Agreed, will get working on that.

</comment></comment><comment><USER24> great site! all in one</comment>


The dangerous gap between those who make software, and those who use it - <AUTHOR> http://www.elezea.com/2012/07/digitial-usability-divide/ <comment><USER2> This sort of thing is hard to believe when you are a bit tech-minded yourself, but its totally true. I was helping someone out the other day who wanted to install Chrome (and remove IE6). He didn't understand the fundamental concept that web applications (e.g. online banking) store data on their servers, and not on his laptop. After installing Chrome, he thought he would need to transfer all the 'apps' from inside IE6 over to Chrome. He'd used computers for the past 20+ years, so wasn't a noob by any measure.</comment>


Alphabet Announces Third Quarter 2019 Results - <AUTHOR> https://abc.xyz/investor/static/pdf/2019Q3_alphabet_earnings_release.pdf?cache=d41c776 <comment><USER2> Haven't posted one of these in a while

Numbers:

\- 3Q Operating Income $9.18B, Est. $9.45B

\- 3Q Revenue $33.01B, Est. $32.72B

\- 3Q EPS $10.12, Est. $12.35, pretty darn big miss, Porat dropped a pretty big ball here

\- CapEx up 26% yoy

\- headcount up to 114K from 94K a yaer ago

\- Other Bets revenue is $155 million, up 6%

\- Other Bets losses is $941 million, up 29%

Adds:

\- paid clicks are up 18% vs 32% last year

\- Porat pointed to two main issues on revenue

      - legal settlement with France

      - losses from venture investments, not stated what and why, did clarify that the loss is unrealized and they gave back $227 in performance fees!!!!!!

\- Porat didnt' talk about fitbit rumors, though given that FIT is up 30% I don't think she needs to say anything

\- nothing on China

\- Google is now one of the largest spenders on lobbying goverment, They must take Warren seriously

<comment><USER3> Headcount up 21% in 1 year. Can we get a breakdown of which roles they are in? Or which cities/countries?

<comment><USER4> Moving protobufs.

<comment><USER5> Not the first time I've heard this joke. Is this a real task commonly done on teams at Google? Is it due to monorepo particulars?

<comment><USER6> It's because Google has lots of internal services (sorta like microservices) and that's how services communicate with their neighbors. In some cases, persistent data is in protobufs too.

The point is probably doing some kind of storage, calculation, or aggregation of data, but "moving protobufs" sounds funnier.

</comment></comment></comment></comment></comment><comment><USER7> Not sure of the breakdown by their subsidiaries, but they added about 20,000 employees in a year (~55/day), from 94,372 to 114,096. That seems huge to me.

<comment><USER8> Presumably that's more like 80 new hires per work day, unless they onboard new people on the weekends too (which they might, given this scale!)

<comment><USER9> 20,000 hires * times what, 6 interviews each = 120,000 interviews

94,372 employees

Each employee gave 1.27 interviews to people who were hired.

But cripes, how many did they interview and not hire?

That sounds like an enormous burden.

</comment></comment></comment><comment><USER10> With 29% in "other" expenses, I believe is relatively crossed with the numbers of headcount numbers. Another factor, GCP cloud provider is a big allocator. Honestly, they're unstoppable. With that ammount of $Bi in multiple resources, they have close to big moonshot programs.

</comment><comment><USER11> Think about $1 million.. Alphabet made 33,740 x 1 million.

<comment><USER12> We should use "economical figures" instead of "astronomical figures" when talking about large numbers.

<comment><USER11> What do you mean?

</comment></comment></comment><comment><USER13> Wonder if it would be better for Google to focus on something else then GCP as future growth area?</comment>


How to get hired by a remote-first company - <AUTHOR> https://dev.to/willemwijnans/how-to-get-hired-by-a-remote-first-company-2h0n <comment><USER2> You can also check out 6nomads ([https://6nomads.com](https://6nomads.com)). It's a platform for engineers who are looking for a full-time remote job in a tech company. We select the best talents around the world and match them with fast-growing tech startups.</comment>


The Future of High-Speed Rail in California - <AUTHOR> http://www.youtube.com/watch?v=fQlUM9ClUeA&feature=player_embedded

<comment><USER2> "The largest public works project undertaken in the state in 50 years"

The sheer size and scope of the thing will make it vulnerable to corruption. The costs are probably understated.

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

It's sad that you can't really have public works without that sort of overhead.</comment>


IA Writer 5.0 - <AUTHOR> https://ia.net/writer/blog/a-new-document-library <comment><USER2> Overpriced hipsterware from a marketing company.</comment>


The pendulum swings - <AUTHOR> http://www.economist.com/books/displaystory.cfm?story_id=10797600

<comment><USER2> Sudden reactions to unusual events make bad policy.

That being said, an asset whose price is growing at 20%/year is safe to lend against. If there was no asset bubble, there would be no credit crisis. It's hard to think of which institutions are appropriate to defend against excesses in an asset price bubble without harming the credit market in more normal environments.

</comment><comment> patrickg-zill Factors contributing to subprime crisis: Deval Patrick as DOJ lawyer suing over alleged "redlining"; repeal of Glass-Steagall Act in 1999; large number of illegal aliens driving up demand for housing. Add to this a huge amount of restrictions on when and where new houses can be built.</comment>


Why Language-Oriented Programming? Why Racket? - <AUTHOR> https://beautifulracket.com/appendix/why-lop-why-racket.html <comment><USER2> I was thinking recently about why I find programming languages so interesting. The answer I came up with was that programming languages allow you to create your own reality. You get to define how things work in this reality. Want functions to be values that can be arguments and return values? Sure! Want a lot of crazy symbols to do complicated math? Go for it! Want everything to be dynamic? Why not.

The caveat that comes with this description is that sometimes people shouldn't create their own reality. Whether it's making decisions that ultimately lead to really screwy universes or just not being prepared to deal with the power that comes with changing the very fabric of reality, some people will not mesh well with LOP. And there's nothing wrong with that.

<comment><USER3> The problem is that people often create languages that are basically the same as existing languages; no new concepts. New languages are usually a grab-bag of features found in C, Java, Lisp and/or Haskell.

<comment><USER4> There's a quote on the whiteboard in my lab that is (perhaps falsely) attributed to Larry Wall that says something like:

> Programming languages are distinguished not by what they make possible, but > by what they make easy.

Practically all programming languages are computationally equivalent. The design of a new language simply seeks to answer the question: what should be _easy_ for the programmer? Various languages are just different answers to this question.

<comment><USER5> This seems unsatisfying. Most of the modern languages are choosing pretty much the same sets of features. I've been using them for years (decades?), and I couldn't tell you significant differences between most of these languages.

There's maybe 3 major islands of languages today. Within each island, they make essentially the same things easy.

The answer to a question like "Python or Ruby?", "C# or Java?", or "Rust or Go or C++?" mostly boils down to historical accident: what system did the original designer pick, which usually means which one just happened to have a good library for the primary goal of the first prototype.

<comment><USER6> I'd add some caveats to GP's comment, but I think it's mostly spot on.

>"Rust or Go or C++?"

Does one of these make memory problems easier to avoid?

>"Python or Ruby?"

One of these prioritises having a single way to do most tasks, while the other prioritises programmer expressiveness (simple example: "unless" is absent in Python). Thus one is easier to onboard newbies with and have them relatively quickly be able to read the code in their ecosystem, while the other allows skilled programmers to convey semantics more efficiently.

I'll admit being mostly ignorant about the differences between Java and C#, but at least in general the languages you contrasted do make different things easier.

Edit: grammar.

<comment><USER7> >the differences between Java and C#

Not much.

<comment><USER8> Are you primarily targeting Microsoft platforms? If so, then C# might have the edge. Otherwise, you might prefer Java.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I bought two of the author's books and also enjoy his newsletter. That said, I still have not drank the LOP coolaid, yet.

I almost always start Lisp development projects in a repl, getting low level things I need working. Initially I don't worry at all about making things tidy. I keep this process going until I have something that works. Then I start cleaning up code, perhaps factoring out common code, etc. If I see enough value in the new code and if it makes sense, then I move parts out to a separate library.

It is at this point, after experimenting with a problem and having good code, that I think in some cases it would be good to step back and decide whether to design a new language for the type of problem you just solved.

</comment><comment><USER10> As a Clojure programmer I find Racket's "#lang" feature fascinating, all the more so it seems to be doing exactly the opposite of what's recommended in Clojure: favor data over functions over macros.

Personally most of the DSLs I write in Clojure are "private" (i.e. I write them for myself to help me develop a library or an app) and thus they tend to be small. This is why I favor functions over data: it allows me to reuse common function combinators (e.g (fn or-fn [f g] (fn [& args] (or (apply f args) (apply g args))))) so that I do not have to reimplement them which is something you have to do if you approach the problem with a data-first mindset. Instead, if I really want to prettify such function-based DSLs by bringing forth the use of data to express the problem at hand, I write a DSL- as-data parser and implement it as one or multiple DSL-fns.

More @ [https://gist.github.com/TristeFigure/20dd01b0d3415f34075cfc0...](https://gist.github.com/TristeFigure/20dd01b0d3415f34075cfc02a1918106)

How does this compare to Racket DSLs ?

<comment><USER11> Some notes on Data > Functions > Macros in Clojure: [https://lispcast.com/data-functions-macros-why/](https://lispcast.com/data- functions-macros-why/)

</comment></comment><comment><USER12> An interesting tangent I think about sometimes:

I think when people think about "programmers/developers" vs "computer scientists", this is where the difference could really show up in the future. A developer who knows how to code and hack may not have the skill/design knowledge to properly create a language/DSL, perhaps making a monster in the process. A well trained computer scientist (academic, self taught, doesn't matter) should have those tools and more importantly the design know how. A lot of teaching (again in both academia and not) really lacks on teaching good design for programming generally.

I think we're already starting to see this difference show up with libraries and frameworks (somewhat already DSL's themselves), and if we keep moving towards the direction of DSL's I think you will find many of the bright programmers of tomorrow going away from writing code to make things but instead code to make languages to make things. The final step of code to thing (from a technical perspective) seems to become increasingly boilerplate more than ever before as tooling keeps expanding. You still need to know the deep internals for large scale things, but it's never been easier to spin up a quick project that "just works" and does quite a lot. If library/framework/language creators do their job, this should only get easier.

At a certain point I wonder if the actual programming ever becomes a "lower tier" of the software world.

<comment><USER13> > A developer who knows how to code and hack may not have the skill/design > knowledge to properly create a language/DSL, perhaps making a monster in the > process. A well trained computer scientist (academic, self taught, doesn't > matter) should have those tools and more importantly the design know how.

The author of Beautiful Racket, Matthew Butterick, is a lawyer and a typographer. He is not a computer scientist. And yet, he designed a DSL called Pollen for creating web-based books. Pollen has been quite successful within the Racket community.

My understanding is that Racket is predicated on the idea that people like Matthew, as much as people like your computer scientists, are the best authors of DSLs. They are the ones who understand the domains they're working in. If the division you predict ever does exist, it is because the tools have failed to make people who are not computer scientists capable of creating the DSLs they need to solve their problems. It's not because languages are inherently better designed by experts in the domain of programming languages.

<comment><USER12> Why wouldn't the author qualify as a self taught computer scientist though? To me your point more of a statement on the accessibility of computer science first, and I do completely agree that the accessibility is important, which the Racket/HtDP ecosystem does pretty well with.

That said, there's many ways to write code and learn to code, and I think of the web programming bootcamp style or the cookie cutter college grads who go through four years learning how to program in X language to work at fancy company Y. My point is that many routes are just not focusing on the higher level design skills that I think are needed to make good libraries/frameworks/DSL's.

To clarify, I'm not saying you have to be a PL expert, simply good at program and language design, which I think is what lacks in many places and could create such a division. That skill is/should be accessible to everyone.

<comment><USER13> Ok, I think I read more into your first comment than you actually said.

>many routes are just not focusing on the higher level design skills that I think are needed to make good libraries/frameworks/DSL's.

I have observed that too. But I don't think this is about who is and isn't a computer scientist, whether self-taught or formally trained. I think it's more a change in the way people relate to programming languages. Perhaps programming languages were commonly assumed to be principally an academic topic. Perhaps it's not that more people are becoming computer scientists but that more people are finding non-academic ways to relate to programming language design. I think what Butterick did was to build the tool he needed to do a job (write a book). So language design becomes just like any other form of hacking.

>Why wouldn't the author qualify as a self taught computer scientist though?

Butterick himself is adamant that he is a lay person. He compares himself to a "squirrel in a ferrari": [https://www.youtube.com/watch?v=IMz09jYOgoc](https://www.youtube.com/watch?v=IMz09jYOgoc) And that's his point in that talk - Racket makes it possible for even the lay person to build the language they need.

<comment><USER14> He can view himself however he wants, but the man just wrote an article that competently covers Turing completeness, regular expressions, and Lindemeyer trees, among other things! He's definitely earned his comp sci merit badge, so to speak.

<comment><USER13> Computer science is a specific treatment of these topics that is based in formalism. Compare John McCarthy's "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" and Paul Graham's "The Roots of Lisp". These papers cover exactly the same material. But only the first is computer science because it uses a formal language to express the ideas.

<comment><USER12> If that's the definition of CS we're using then my original post is a very egregious misnomer. I feel like that definition is way too restrictive though. CS can be formalized and informal, but both are still CS IMO.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I'm currently browsing the list of languages made with racket (here [http://docs.racket-lang.org/search/index.html?q=H%3A](http://docs.racket- lang.org/search/index.html?q=H%3A)) and it seems like most languages are just lisp variants. I suppose they were made for educational or fun purposes, but i wonder if i haven't missed something more deep as to why someone would want to reimplement a lisp in a lisp language.

<comment><USER16> That was my impression as well: you can have any language, as long as it's LISP.

Some of the more specialised languages are different, though.

<comment><USER17> > you can have any language, as long as it's LISP.

Let's be fair, many lisp programmers would be perfectly fine with that.

<comment><USER15> ok but then since lisp already has an extremely small syntax, why not simply define functions in the language rather than using the macro system ?

Unless your goal is to be source compatible with another lisp variant, of course.

<comment><USER17> >why not simply define functions in the language rather than using the macro system?

I don't know. Most examples I've seen from people extolling the virtues of lisp macros and metaprogramming wind up just generating more lisp code in the same language with the same syntax and semantics, so I don't know why you couldn't just use functions in that case.

To be fair, I only have a surface understanding of one lisp variant (Arc) so it's entirely likely I just don't get it.

<comment><USER18> A nice example is `match` that is one of the macros that comes by default in Racket.

      #lang racket

      (define (show x)
        (match x
          [(vector a b c)
           (display "It's a vector, total = ")
           (displayln (+ a b c))]
          [(list p q)
           (display "I's a list, average = ")
           (displayln (/ (+ p q) 2))]))

      (show (list 8 2))
      (show (vector 1 2 3))

(Playable version [http://pasterack.org/pastes/75154](http://pasterack.org/pastes/75154) )

The idea is that `match` can analyze the value of the first argument (`x` in this case) and then it binds the variables (a,b,c or p,q in this case).

In this case I'm matching only a vector with 3 values or a list with 2 values, but you can match more complicated and nested pattern.

The interesting part is that inside match you have the full power of the language, you are not restricted to a few special hardcoded cases (like `display`). You can send an hppt request, play a sound, save a value to disk, calculate the prime factorization, transform the text to uppercase, anything that is available in the language is available inside match.

But `match is just a normal macro. Racket is implemented in layers. The bottom layer is implemented currently in C, but it doesn't define `match`. The bottom layer is almost hidden and it is used to define some libraries and an intermediate language that it is used to define some libraries and an intermediate language, ..., and after a few steps you get the official Racket language.

But if you like you can reimplement a macro like `match`, or a variant, or your own macro, with all the magic to define local variables and use all the power of the language inside it.

</comment></comment></comment></comment></comment></comment><comment><USER19> I like his style of writing and how elegant and powerful LOP is. The _jsonic_ snippet is insane (in a good way). In the wrong hands or for the wrong job it could lead to a security disaster though. Still pretty cool to be able to think out of the box like this. Makes me rethink totally the way we do things and why.

      #lang jsonic
      // a line comment
      [
        @$ 'null $@,
        @$ (* 6 7) $@,
        @$ (= 2 (+ 1 1)) $@,
        @$ (list "array" "of" "strings") $@,
        @$ (hash 'key-1 'null
                 'key-2 (even? 3)
                 'key-3 (hash 'subkey 21)) $@
      ]

<comment><USER20> methinks a lot of the programming world at the interface (semantics/syntactic/ergonomic) is .. implicit tree processing.

see html encoding through functions, or kotlin builders, or json dsl ..

</comment></comment><comment><USER21> If you create whole new languages, i.e. external languages, not really embedded DSLs, with their own syntax, how is Racket better than other languages at implementing those?

Neither the sntax object, nor hygiene are of concern when you build external DSLs, which the author's examples seem to be.

I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework.

I might just be missing the point. Either way the author's convincing seemed to have failed for me.

<comment><USER22> In LISP-like languages like Racket, the code is a list. That is, a program is just a list of tokens (a b c), the same data structure one would use for storing any other kind of data (the equivalent of Python's [a b c]). When programs are themselves just lists, they are easy to manipulate with code. So, in LISP-like languages, it is easy to write code that writes code. That makes them especially suitable for domain-specific languages or LOP. You can write functions that write code, making a new language.

I think PG has some writings on this topic, but I don't remember if it is online or in his LISP textbooks. His company Viaweb did this, IIRC, using a DSL written in LISP to generate HTML.

<comment><USER3> > In LISP-like languages like Racket, the code is a list.

This is nothing special. In all languages, code is a list: a list of characters, that is.

Just saying.

<comment><USER17> What the parent likely means is that Lisps, structurally, are akin to the AST many other languages generate as an intermediate step to compilation.

</comment></comment></comment></comment><comment><USER23> I hear this alot about Racket as if this is the value proposition and Racket stands alone with these features. Languages like Ruby are routinely used to build DSLs (RSpec, Rails, ServerSpec, Chef...etc). I would like to hear somebody address why Racket is superior to languages like Ruby for creating DSLs, because it for sure doesn't stand alone. Metaprogramming is a feature in a LOT of languages. I'm not arguing for those languages, I'm arguing Lisp languages aren't the only ones capable of creating other languages and a comparison would be more useful than repeated emphasis on unique ability for the task which I don't think is necessarily true.

<comment><USER24> In practice most Ruby "DSL"s are just regular libraries that you happen to be able to use without the familiar foo(bar) function call syntax. It's the difference between "Domain Specific Language" and "A Domain Specific Language", or embedded vs. hosted/standalone DSL's [0]. The value that Racket provides is facility in developing standalone languages, as opposed to the embedded DSL's that people make in Ruby.

To address the examples you gave, RSpec, Chef, etc., those literally ARE just using Ruby, no new syntax, no new semantics.

[0] [https://www.quora.com/What-is-an-embedded-domain-specific- la...](https://www.quora.com/What-is-an-embedded-domain-specific-language)

</comment></comment><comment><USER25> If I'm understanding the article correctly, it should be possible to create a Racket language that compiles to any other language. A quick google does reveal work has been done on C and Python, although it appears there are bugs and various work-arounds that precludes a full and clean integration. The Javascript integration appears dead (in terms of using the latest version of Racket)

Although using Racket for this wholesale integration appears impractical, it does suggests a killer-app: extending general programming languages. In other words, using Racket as a transpiler. I.e., a better Babel.js, but for any language.

I routinely use Python for machine learning tasks, but frequently am frustrated by the inflexibility of the language. Instead of solving the problem itself I have to first solve how to make the language do what I want (usually resulting in code that lacks expressiveness and brevity, and thus extensibility).

I'd love to use lisp to leverage ML work that can only be done effectively in Python (Tensorflow, PyTorch, etc).

Can Racket be an effective transpiler?

<comment><USER26> IIUC Babel.js is essentially a fancy preprocessor for JS. So if by that analogy, you mean "can I use Racket to design my own notation that compiles to Python", yes of course.

</comment></comment><comment><USER27> I find it a pretty amazing feat that the author has created a programming language (Racket), then used it to create another language called Pollen[1] for book publishing, then went ahead and used Pollen to publish three books. Oh and the fonts are designed by him too[2].

[1] [https://docs.racket-lang.org/pollen/](https://docs.racket- lang.org/pollen/)

[2] [https://mbtype.com/](https://mbtype.com/)

<comment><USER28> No, the author hasn't created Racket. The author is the lawyer [https://en.wikipedia.org/wiki/Matthew_Butterick](https://en.wikipedia.org/wiki/Matthew_Butterick).

Racket was developed by PLT Inc.

<comment><USER4> > Racket was developed by PLT Inc.

There's not a lot of information on PLT Inc. these days, so: Racket was developed under direction of Matthias Felleisen, with his students Matthew Flatt, Shriram Krishnamurthi, and Robby Findler serving as the core development team. They also published the book "How to Design Programs" [0], and Krishnamurthi published "Programming Languages: Application and Interpretation" [1], which are both books that rely on Racket. (PLAI actually uses its own language which is developed in Racket, called plai-typed, but which relies on the DrRacket environment.)

[0] [https://htdp.org](https://htdp.org) [1] [http://www.plai.org](http://www.plai.org)

</comment></comment></comment><comment><USER16> About a decade ago, I would have agreed with this 100%, and I still am fascinated and, quite frankly, awed by Racket and LOP (and looking forward to Racket Fest 2019 here in Berlin[1]).

But.

(You knew there was a "but").

While I don't quite agree with the assertion that with the right tooling (so: _this_ tooling), creating a language is as easy as creating a library, I don't think it would solve our problems even if it were true.

Language _design_ is much harder than library design, even if the tooling is perfect and transparent. In the extreme we're going to end up with what Alan Kay calls _inverse vandalism_ [2] aka the Mount Everest Effect: making things because we can, not because we should or they're good.

In essence, designing a (domain specific) language should be your _last_ resort, not your first resort. At least one that requires a parser or macro system to implement. After all, when we create a library, we _are_ in fact creating a domain specific language, or at least a domain specific vocabulary. A framework goes a little further towards the idea of language. In fact, the first version of Simula was a simulation DSL. It was the second version that made the language into an OO language and the simulation "DSL" into a framework. The advantage being that you can use the same language with different frameworks for other domains.

If we look at natural language, it is very much the same: we use the same language to talk about any number of domains, the most we tend to add is some domain-specific vocabulary. Imagine the tower of babel we would suffer under if every domain had a completely new and different language!

That effect was very much encountered and later described by the LRG at PARC when they started using Smalltalk 72, which allowed every object to defined its own language[3]. It was chaos! Turns out we are not very good language designers in the heat of the programming battle. So they very consciously made the language more restrictive later. However, the Smalltalk message syntax is specifically designed to give you something akin to DSL, but without most of the problems[4].

A similar effect was documented by Bonnie Nardi for end users. Here as well, the expectation was that users would prefer domain-specific tools that were tailored exactly to their needs. This, surprisingly, turned out not to be the case. End users apparently vastly prefer general tools, even if the effort to adapt them to specific tasks is greater (see also: people writing documents in Excel...)

That said, current general purpose programming languages are probably not quite flexible enough. I think there is a sweet spot to be found somewhere between Smalltalk-80 and something like Racket.

[1] [https://racketfest.com](https://racketfest.com)

[2] [http://worrydream.com/EarlyHistoryOfSmalltalk/](http://worrydream.com/EarlyHistoryOfSmalltalk/)

[3] [http://stephane.ducasse.free.fr/FreeBooks/BitsOfHistory/Bits...](http://stephane.ducasse.free.fr/FreeBooks/BitsOfHistory/BitsOfHistory.pdf)

[4] [https://youtu.be/Ao9W93OxQ7U?t=627](https://youtu.be/Ao9W93OxQ7U?t=627)

<comment><USER29> I largely agree but then I enter the modern ops stack where templated yaml is the lingua franca.

It's incomprehensible and for each system you are operating you have to learn some arcane yaml incantations that have dramatic impact on your production systems. It's a world crying out for a set of well factored dsl.

<comment><USER16> Or a general purpose language with the ability do describe architectural configurations?

<comment><USER30> I think this is what Pulumi ([https://www.pulumi.com](https://www.pulumi.com)) is trying to achieve.

</comment></comment></comment></comment><comment><USER14> This is tangential to the article, but. Scheme was one of my first languages and I would love to pick it/Racket up again. But the Racket IDE (like DrScheme before it) is _painful_ to use. Especially compared to a more "native" Mac editor.

Has anyone used Racket with success in another IDE or programmer's editor?

<comment><USER31> Try `racket-mode` for Emacs. It has many of the features that DrRacket has.

[https://github.com/greghendershott/racket- mode/blob/master/R...](https://github.com/greghendershott/racket- mode/blob/master/Reference.md)

<comment><USER14> I'll give it a go, thanks!

</comment></comment></comment><comment><USER32> Definitely interesting, and the examples look nice, but biased in that absolutely no evidence is given to support that LOP makes anyone more productive.

</comment><comment><USER33> > maximum precision

Sometimes maximum precision means having a first-class typechecker & type inference. (You could build some of that too in Racket if you really need to. Of course, _that_ code itself will not be verified or typechecked.)

> Why aren't these languages DSLs?

They aren't DSL's because they need statically-linked binaries, and good error messages, and then your task is not as easy as desugaring to a LISP/dynlang.

<comment><USER12> > Of course, that code itself will not be verified or typechecked.

Easy, just used typed Racket :)

<comment><USER33> Ok, so now you have Typed Racket (that last point was a relatively minor comment on the larger argument). Does implementing the above then correspond to the strengths as described in LOP?

<comment><USER12> I'm not sure I'm fully following what you're getting at due to the terseness and my first comment was more of a fun note that you can always build on language features, but generally speaking you could inherit and use the types and checking of Typed Racket in your DSL and still add the syntax you want for increased precision.

</comment></comment></comment></comment><comment><USER34> so many programming languages... i wonder if there is someone that knows them all

</comment><comment><USER35> I'm sorry to nitpick on a good article, but this article lost me when it proved that HTML is a programming language by showing that it can be output by a Python program. This seems to be a case of proving too much [0].

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

<comment><USER36> It may be proving too much, but it is also arguing the general point. Your objection would be that this example would prove that _all_ strings are programs, which might seem absurd. But in fact, all strings _are_ programs if you haven't specify which interpreter they are supposed to be programs for.

Either way, that seems like a silly approach, IMO.

</comment></comment><comment><USER37> "Before you leave, please know: I'm hedged either way. LOP and Racket have been an incredible force multiplier on my programming productivity"

Well, wouldn't we expect that the author of a particular programming language to be mad productive in it because, you know, they designed all the mental models and assumptions that are baked into it?

You would never once stumble on syntactic ambuigity because, to you, there is no ambuigity...or perhaps there is but you slyly added that bit just to fuck with programmers heads...or who knows the reason.

I'm just postulating that for an author to boast about their productivity _with the language they designed_ is somewhat self-serving.

<comment><USER29> The author of this article is not the author of Racket.

Racket is built by a team and has been around a long time.</comment></comment>