Django 3 - <AUTHOR> https://docs.djangoproject.com/en/3.0/releases/3.0/ <comment><USER3> Zulip has been powered by Django since the very early days of its development with Django 1.4, back in 2012. As a reasonably mature web application with significant scale, we're at the stage in many companies' development where one starts to rip out more and more of the web framework to optimize things or just make them work the way we want. (E.g. while I was at Dropbox in early 2016, we discovered we only had about 600 lines of code left from the original Pylons framework that actually ran).

One of the things that has been really fantastic about Django is that we're still happily using it for the vast majority of code in the project, and every time Django comes out with a new release, I read the changelog and get excited about several improvements that actually make my life better.

Overall I think we've gotten a ton of value out of Python and Django and would recommend it to anyone starting a new full-featured web application project today.

My only frustration with this release announcement is dropping Python 3.5 support now. Because Python 3.5 is not EOL and used in LTS OS releases that have vendor support through 2021, this forces us to choose between our policy of supporting vendor OS releases until they reach EOL, not upgrading to Django 3 for the next year or more, or shipping our own Python on Ubuntu Xenial.

<comment> dylan-m One of my favourite things with Django has been their mature approach to changes. Want to be guaranteed a stable upgrade? Step 1: Fix deprecation notices. Step 2: Upgrade. (If you're upgrading over a few releases, return to step 1). Coming from other frameworks it's a delight :) At least that's been my experience with smaller projects. I'm curious, does that line up with your experience with Zulip, too?

<comment><USER3> Yeah, that matches my experience; their documentation on upgrades is excellent, and there's generally only issues not covered by their deprecation notices in places where you were doing something not supported by the documented API (E.g. monkey-patching, subclassing to override something, etc.), and even then, they often comment if it's a common type of modification.

</comment></comment></comment><comment><USER4> I have been using FastAPI for the last two months (which also is an ASGI server and makes full use of annotations and type hints with mypy) and the experience has been incredible. ([https://fastapi.tiangolo.com/](https://fastapi.tiangolo.com/))

If Django can now also support annotations and async code I dream of an scenario where apis can be built using this two elements.

Does anybody know a good resource to learn/catch up with this release?

<comment><USER5> It's worth pointing out that the ASGI support in this release is very low level, and doesn't let you write async views or anything yet. We're still working on that.

<comment><USER6> Thanks for your work on this.

If I am willing to hack a bit, is it possible?

What is the main obstacle? Is it all middleware?

<comment><USER7> If you're in the hacking mode - what do you think of taking the Django orm and grafting it onto fast api - sort of like a stand-alone sqlalchemy but with all the ease and power or django's querysets...

<comment><USER8> Django ORM is not async so using it with FastAPI would block the event loop. I guess you could wrap the calls in sync_to_async from asgiref but it wouldn't be pretty.

Another option is using something like Tom Christie's orm project ([https://github.com/encode/orm](https://github.com/encode/orm)), which is a wrapper on top of sqlachemy with a django like interface.

<comment><USER9> FastAPI runs blocking IO/sync functions in a separate thread pool to work around this issue.

</comment></comment></comment></comment></comment></comment><comment><USER10> The community built around Django, coupled with the sheer amount of documentation and the stability of their APIs has done enough to forever ruin my expectations for any other coding project out there. Ostensibly everything else feels disorganized, poorly documented or rushly released.

But the most commendable value of the DSF – which I believe is a model to be replicated – is how effectively it has managed to both attract new developers and also mentor them so well that they have gone on to become core developers who maintain the framework later on.

I'm still subscribed to the django-developers mailing list, even if I have had no free time to contribute with more than a couple patches over many years, simply because I enjoy watching how incredibly smart and efficient developers collaborate.

Kudos to all of you guys, and congrats on achieving this big milestone!

<comment><USER11> I echo this sentiment exactly. I don't feel like OSS projects achieve this kind of success by accident. I'd love to see some write-up of some kind on how they do it. They're definitely the gold standard in my mind.

<comment><USER12> That's a damn good idea!

</comment></comment></comment><comment><USER13> If you can convince your company to keep Django up-to-date with every release, I have found this to be easy and pain-free (Django has been pretty API stable since ~1.8), compared with waiting for each LTS and then being forced to jump ahead three versions each time.

You also gain access to new features as they come out, this way.

<comment><USER14> But you have to be careful that all dependencies are up-to-date as well.

<comment><USER15> No to mention each new release have many incompatibility that you need to read the release note to find out

<comment><USER16> Django is very good at being backwards compatible. Deprecated functions emit warnings for a few releases before being removed. They are also documented.

Do you have some examples? Are you sure you are not confused with dependencies?

The release notes mention less than ten deprecations related to django. Other stuff which is not supported anymore is mostly non supported database versions.

[https://docs.djangoproject.com/en/3.0/releases/3.0/#backward...](https://docs.djangoproject.com/en/3.0/releases/3.0/#backwards- incompatible-3-0)

</comment></comment></comment></comment><comment><USER17> Just want to say thank you to the Django core team. I was privileged to use Django full time for over 6 years. Both the project and the community are a joy.

There's a few times I had to dive into Django's internals, and every time it was logical and straight forward to understand and modify.

Thanks guys!

</comment><comment><USER8> Was really excited to upgrade but the async safety check makes the ORM unusable in a Jupyter Notebook.

[https://stackoverflow.com/questions/59119396/how-to-use- djan...](https://stackoverflow.com/questions/59119396/how-to-use- django-3-0-orm-in-a-jupyter-notebook-without-triggering-the-async-con)

[https://forum.djangoproject.com/t/is-there-a-way-to- disable-...](https://forum.djangoproject.com/t/is-there-a-way-to-disable-the- synchronousonlyoperation-check-when-using-the-orm-in-a-jupyter-notebook/548)

<comment><USER18> please tell me that python did not adopt the javascript async hell. async should be an optional keyword on the CALLER side, not an invisible trait of the function. go figure()

<comment><USER8> It didn't, async await is just syntactic sugar on top of coroutines/futures. You can define an sync function and get a coroutine back if you call it without await.

It's still kind of a mess though because you have two universes that are not really compatible, forcing you to rewrite everything that touches IO. For django that probably means a rewrite of the ORM, caching and middlewares.

<comment><USER19> JS async/await is also just syntactic sugar on top of Promises (which are basically just futures with the ability to write as well).

</comment></comment></comment></comment><comment><USER20> I've been building some fun side projects with Django lately and it's really a breath of fresh air. Normal, old, boring web applications with server side rendered html and basic forms. Sure, I can't add some super fast interactivity on my forms as easily without some json endpoints, but for most of my projects it's totally fine.

</comment><comment><USER21> [https://www.aeracode.org/2018/06/04/django-async- roadmap/](https://www.aeracode.org/2018/06/04/django-async-roadmap/)

[https://github.com/django/deps/blob/master/accepted/0009-asy...](https://github.com/django/deps/blob/master/accepted/0009-async.rst)

</comment><comment><USER22> Groovy. I am excited to try out the new ASGI goodness. Last time I used Django Channels it was a constant struggle to tune it, prevent it from becoming deadlocked, etc. And the transition from Channels 1.x to 2.x was also not pleasant. I hope that Django proper did things better/differently.

<comment><USER5> Well there's no actual async support for views in 3.0 - we missed the cutoff due to performance concerns! Hopefully it'll be in 3.1.

<comment><USER23> Thanks for the info & for your work!

</comment></comment></comment><comment><USER24> Django and Python have made me a much better developer.

Using it for more than 10 years professionally, full time with no stop.

It helped me to pay my bills, bring food to the table and build my ideas and get one step closer to my dreams.

Thank you Django and everyone around or behind or even remotely related to it.

<comment><USER25> Can you explain lil bit more like what exactly you do with django (freelancing or job??) and your journey with django. I am sensing their is a great story which can inspire newbies like me! Thank you very much sir!

<comment><USER24> Prior to working with Django, I worked with ASP.NET/C# and later PHP with various web framework CakePHP, Zend, Symfony) and then worked Ruby on Rails for 2 years until I found Django (version 1.0.x I think) and from there in less than week, without even having a knowledge in Python, just by following tutorials and reading the source code I become productive and made production- ready apps.

Almost all of my work with Django is through full time and once a while contracting gig here and there (very short ones.)

Not just my day time job, I also implement all my side/personal/commercial projects with Django (gonevis.com is my latest project).

Django never gave me a tough time to understand anything, for almost everything there's a well-maintained library and properly tested with enough community around it, it's ORM is crazy easy to work with, optimize, tweak and change when needed.

Every new release is easy to upgrade, you may have some problem with third party libraries to catch up if something is not compatible with them but in my experience with medium-size code base (~300k LOC) the whole upgrade would take 2-3 hours and that was just changing code and running the tests, all in all, in 2-3 week most of the other third parties would have upgraded as well.

It's mature framework, doesn't get crazy with new shiny things (NoSQL, MongoDB, WebSocket, etc), it might be late to some technology but it's because it stays in the corner until all these shiny things have worked out their problem and issues, then those things will become part of the official code base, otherwise if you're in hurry, there's always another third party that bring those for you, either NoSQL, WebSocket, push notifications, OTP, etc.

For me, the most fascinating thing in Django is the ORM, Authentication, Admin, Views and template engine and the crazy support of PostgreSQL (almost the same applies to other database backends in Django), sessions, caching and every other single thing in that carefully have been layered upon each other and work in harmony. The database migration (formerly South migration then part of official) is something you can't easily find in other frameworks (Rails migration is great as well).

Now, DRF is something else, since starting to work with DRF, I've become an API monster :D

The framework that lets you implement your idea without getting in your way and allows you to bring ideas from zero to production very quickly, is the one I look forward to using (I use Java Spring once a while as well).

For me, Django and it's surrounding makes sense, it's logical and it's not magical, maybe it's just me and it may not be something tasteful for others, if you find a framework you're comfortable with it, then use it, if you get into Django, I hope you feel the same.

</comment></comment></comment><comment><USER26> Congrats to Django's contributors and community! It's been a while since I've actively worked in Django but I found the people in the Django ecosystem to be generally very helpful.

</comment><comment><USER27> Interested in reading about agencies that used to (mostly) build web applications in Rails but then switched to (mostly) Django.

I find the productivity somewhat higher from a business point of view, to turn around projects for customers when using Rails instead - largely due to the gem ecosystem and the way community libraries tend to play well with one another.

<comment><USER8> I think it really comes down to the type of project that you're working on. For data science / machine learning projects python is a much better choice and that spills over to django.

REST APIs are also incredibly easy to throw together using DRF.

<comment><USER27> I feel like you could just unload the data science + ML stuff to a separate process though.

</comment></comment></comment><comment><USER28> This looks neat. Does anyone have experience with using type hints and mypy with Django? Any gotchas?

<comment><USER29> I gave 'django-stubs' a spin on a Django 2.2 project. The ORM typings and mypy plug-in worked great. '.filter().first()' and similar all returned the correct types.

Ran into a couple issues with the typing of 'client.force_login()' where the 'user' parameter was typed as the 'get_django_user()' which wasn't the same as the custom user model I defined in the 'models.py'. I also had issues with 'from django.conf import settings' not being the correct type so I'd suggest changing that to 'Any'.

You might be able to override the few types that don't work for your given setup or you can just fork the repo.

Overall, I think the pain is worth the benefits.

<comment><USER30> Hi, I'm a primary maintainer of 'django-stubs'. We're going to release new version with mypy==0.750 and Django 3.0 support soon. Could you create an issue for your 'client.force_login' problem?

> I also had issues with 'from django.conf import settings' not being the > correct type so I'd suggest changing that to 'Any'.

This one also has plugin support, and should be working mostly correct. Fill the issue if you can reproduce, I'd love to help with that.

What's your experience with that whole "plugin has to actually run django.setup() before typecheck" thing?

</comment></comment></comment><comment><USER31> Having worked with Asynchronous python since the days of twisted, tornado - <USER2> haven't really found any real reason to switch to asyncio. Generally speaking the old forms of async syntax (@coroutine, @inline_callback) make it incredibly clear that you are executing code well outside of a sequential paradigm - they force you to think a little more about what is going on.

The idea of Django throwing errors when you try and run async unsafe code within an event loop gives me cause for concern. I can just imagine folks who don't understand adding 'yield', 'await', 'yield from' until the errors go away - while being confused with the resulting execution. I think there is always a place for synchronous code in Python - I think Django should lean in to the simplicity afforded by it.

Last note - I also am very weary to mix asynchronous code with other primitives like threading, multiprocessing. If I am going the route of async programming - I usually just intend to optimize a single thread - and then I leave it up to the OS to optimize across multiple processes.

<comment><USER32> I'm a really big fan of using aiohttp + aiopg + some light wrapping for CRUD APIs

</comment></comment><comment><USER33> I learned, in this order:

bottle

flask

falcon

django

Django is incredible. It was useful to start with the minimalist frameworks to understand the true value of Django when I got there.

Django is amongst my software top 10. Maybe top 5.

<comment><USER34> Curious as to what your top 10 is.

</comment></comment><comment><USER35> Right as I was just about to start a new Django project...

The thought going through my mind right now is "I wonder if there is some way of creating a Django project and make it resilient to future Django updates and releases with minimum fuss?"

I've had to deal with ongoing and inherited legacy projects which run on Python 2.7, use the long-deprecated Pylons, for which there is no easy upgrade path other than a total re-write in less deprecated technologies. No practical way to convert that Pylons project to Pyramid, for example.

I guess the answer to my thought above is to "Not do/use anything /too exciting/ when creating your Django project" \- i.e. only use the most basic and generic Django features, but even then what's to say those won't get deprecated in favour of some new exciting replacement?

I guess that's one of the dilemmas developers have day to day?

<comment><USER36> I work as a contractor and have codebases in python, f#, delphi, swift, obj-c and now rust.

> "I wonder if there is some way of creating a ???? project and make it > resilient to future??? updates and releases with minimum fuss?"

\- Use control version (mercurial, git, ...) in everything, including utils and side projects.

\- Record all dependencies somewhere in the project.

\- Automate the builds, so you also have how reconstruct the project

\- Use VM or containers or virtual envs or similar

\- Rely in a small "core" of solid dependencies (in my case: PostgreSQL, sqlite3, nginx, ubuntu LTS) that could cross across projects and versions.

\- Reduce dependencies (but each day is HARDER and HARDER) or better, NOT USE VERY FANCY STUFF (rely on PAAS or kool-aid kind of tech.) For example, If I rely in a http client library it can be dead years after I need to upgrade. That sucks, but, a "http client library" is so "normal" to have that I can rely in found a alternative easily. However, if I base everything on top of Firebase or other cloud stuff, if it die... good luck with that!

<comment><USER37> >NOT USE VERY FANCY STUFF

They said "with minimum fuss". Write every non-trivial functionality yourself from scratch is the opposite of minimum fuss.

When you use something fancy, and the devs stop supporting it, worst case is you have to write it from scratch yourself at that point, or hope that an alternative exists.

Your suggestion is acting like they don't exist in the first place and write stuff yourself like fancy stuff disappeared - it is a huge hassle and investment all the same.

<comment><USER36> I mean VERY fancy stuff. Things nearly "experimental" or that rely in a huge black box. Like "not chance in hell I could replicate it" instead of "very hard, but doable".

I know everything have "but..." somewhere (for example: We rely in operating system and the browser, 2 things too hard to recreate) but the idea is always about minimization.

Sometimes you NEED to rely in VERY fancy stuff... but then you are walking on luck...

</comment></comment></comment></comment><comment><AUTHOR> Release announcement: [https://www.djangoproject.com/weblog/2019/dec/02/django-3-re...](https://www.djangoproject.com/weblog/2019/dec/02/django-3-released/)

(The release note erroneously still show the "Under Development" banner.)

</comment><comment><USER38> OT, but what do you use to validate JSON posts without DRF? We mangled django form fields to validate a list of ids, but can I use forms to validate nested JSON? I now use Marshmallow for that use case but would love to stick with Django forms.

</comment><comment><USER39> For those on the 1.11 LTS release, and considering getting off the LTS train, I wonder whether it's a feasible upgrade path to go straight to 3.0, or if it would be smarter to go to 2.2 first.

<comment><USER40> My experience has been that the easiest method is to to upgrade one minor release at once (e.g. in your case I'd do 1.11 -> 2.0 -> 2.1 -> 2.2 -> 3.0). This has almost always gone quite smoothly, but it is somewhat tedious.

That said, jumping a bunch of releases (e.g. 1.11 -> 3.0) actually often works out just fine, especially if I've got good test coverage. It's just that when it doesn't work, it can be tricky to find out what's going wrong. That's because the release notes are typically written with just a single step in mind, so with a bunch of releases I find myself scrambling to figure out which set of notes I need to read.

<comment><USER41> I recently went from 1.11 -> 2.0 -> 2.1 -> 2.2 over the course of about a week, deploying to production each time we had all test passing to ensure there wasn't anything amiss. There were actually relatively few changes to get there, the upgrade to Python 3 was a bigger (albeit still manageable) change. I'm expecting very few changes to get onto Django 3.0, will probably wait till the first bug fix release though as it tends to catch a few things.

The best thing to go is run the dev server with `python -Wd` to get the depreciation warnings, and fix them before each upgrade. Worked perfectly!

</comment></comment></comment><comment><USER42> > Django is now aware of asynchronous event loops and will block you calling > code marked as "async unsafe" - such as ORM operations - from an > asynchronous context.

So DB calls aren't async?

<comment><USER13> Correct - the Django ORM is not (yet) async.

The asyncpg library[1][2] could be used for direct, asynchronous database access, from within a Django 3.x app.

The asyncpg library is a low-level async Postgres adaptor, similar to psycopg2, except that it provides much better abstractions and automatic encoding / decoding (vs just piping bytes back and forth like psycopg2), not to mention it is much faster than anything else out there. IOW, asyncpg would serve as a much better foundation for a future ORM. My best guess is that, in the future, Django's ORM will be refactored to optionally support async and will supply an adaptor for asyncpg.

1\. [https://github.com/MagicStack/asyncpg](https://github.com/MagicStack/asyncpg)

2\. [https://magicstack.github.io/asyncpg/current/](https://magicstack.github.io/asyncpg/current/)

<comment><USER9> Asyncpg is amazing, I'm writing a thin dataclass-style semi-orm-layer ontop is asyncpg. Still very early but I'm considering cleaning it up and extracting it to a stand-alone library if I see any demand for it.

</comment></comment></comment><comment><USER43> OT: Are there any backend JSON/REST open source applications* that allow declarative configuration for your storage (eg. set SQL statements in config files) instead of needing compilation?

</comment><comment><USER44> I have been learning flask for development. Can someone describe advantages of using Django over flask?

<comment><USER45> Please check out the following posts: 1) [https://devel.tech/features/django- vs-flask;](https://devel.tech/features/django-vs-flask;) 2) [https://www.airpair.com/python/posts/django-flask- pyramid](https://www.airpair.com/python/posts/django-flask-pyramid). Hope this helps.

</comment></comment><comment><USER46> Is substituting the Django ORM for SQLAlchemy doable in V3?

</comment><comment><USER47> i <3 django. thank you to all the people involved!

</comment><comment><USER48> The last time I used django was for one piece of a capstone related project back in college, and for what I was doing, it was dead simple (to get up and running, that is).

I've seen python used extensively for data science work, but I'm not sure how well dynamic typing works (in terms of support ability/maintenance) in a larger code base, especially as some trivial knowledge gets lost and newer folks are introduced to an older code base. Do you just set break points to trace? I digress, but open to hearing folks thoughts.

</comment><comment><USER49> Does Python still have performance issues? That's always been my concern when considering its adoption.

<comment><USER50> Yes. If you can afford the CPU power, by all means go with Python. Otherwise just don't.

Instagram can afford it so it works fine for them. Reddit can't, so their site is always slow or down.

<comment><USER51> I think reddits issues are more related to database IO than cpu time.

</comment></comment></comment><comment><USER52> > ASGI support

> Django 3.0 begins our journey to making Django fully async-capable by > providing support for running as an ASGI application.

Bleh. ASGI is probably the worst implementation I can think of for a common async interface. Stringly-typed callbacks? async generators exist for a good reason. It's also very asyncio-centric, and asyncio is Not Good.

<comment><USER5> I'd love to hear your suggestions for changes we could make while keeping it somewhat WSGI-compatible. It took a few years to refine it to where it is now, so it's not like we just threw something at the wall.

<comment><USER52> > while keeping it somewhat WSGI-compatible

There's the problem. WSGI is fundamentally flawed too - it could also be using generators for a two-way communication channel instead of stringly typed callbacks.

In a world where Python has optional static type hints, it would be nice to have concrete objects passed too.

<comment><USER53> Can you expand on the stringly typed callbacks? Where are they required? Are you referring to string keys in a callback dictionary, in which case stringly- typed seems a bit of an odd choice of words.

<comment><USER52> Calling the receive async function gets you a dictionary with a string type key, which defines the layout of the dictionary. It's not nice.</comment></comment></comment></comment></comment>


WTF is operations? #serverless - <AUTHOR> https://charity.wtf/2016/05/31/wtf-is-operations-serverless/ <comment><USER2> the second part was more interesting [https://charity.wtf/2016/05/31/operational-best-practices- se...](https://charity.wtf/2016/05/31/operational-best-practices-serverless/)

</comment><comment><USER3> Good discussion. Thought it was going to be yet another "Lambda has killed ops", but it was a much more interesting and nuanced discussion of operations skills and why they matter, even if all you use is Lambda and its ilk.

</comment><comment><USER4> .wtf is a valid tld. Neat.</comment>


My first proper demo of Titanoboa (an open-source alternative to Zapier) - <AUTHOR> https://www.titanoboa.io/demo.html?resubmit=true <comment><AUTHOR> I have just put together my first "proper" demo of Titanoboa. Feel free to share any constructive criticism - after all, it is my first demo :)</comment>


IRB on Android - <AUTHOR> http://blog.headius.com/2009/08/return-of-ruboto.html <comment><USER2> Charles and the team are doing a fantastic job bringing Ruby to new platforms and enabling the language to flourish in Java-centric organizations.

It's hard to underestimate the significance of their effort in enabling Ruby applications to run anywhere the JVM does, be it App Engine, Android, or inside a major corporation strapped by IT policy. Along with that, they've brought many new ideas to the language, such as single-file deployment to an application server such as Glassfish using Warble - I like capistrano, but that's brilliant. All of this really is a tremendous amount of work.

Glad to see Robuto in action, and excited to think about what might happen on the platform (especially once the "next steps" features he mentions are implemented).

Kudos!

</comment><comment><USER3> This is indeed super bad.

When I have time I try to hack more on JRuby + Android, but have come up against assorted anomalies. I'm fortunate that someone with a far greater understanding of Java internals them me is blazing a path.

My attempt at sticking the JRuby jar into the app libs _almost_ worked, so I'm anxious to go try out this code with the current JRuby.</comment>


Ask HN: How do you explain something complex in simple terms? - <AUTHOR> We've all faced that situation in which someone asks us to explain a complicated topic in ways that someone such as a child could understand. What is the magical recipe for doing that? Imagine this as an interview question: finding a general method or set of steps to simplify material in a way that doesn't lose the core ideas. Even better, find a way to simplify it into the fewest number of words.<p>How would you answer this question? <comment><USER2> I would answer it:

Find the most complex way to give a full and complete explanation, then for each bit assign a necessity value for how important it is.

Anything less than a complete explanation is obviously going to leave stuff out, so then you can decide where you want to make the tradeoff by looking at all information above a certain necessity threshold (how ruthlessly you want to cut down the explanation).

The quantification of each element of the explanation is going to be relative and arbitrary, but it's still easier to decide how far you're willing to go if you have numbers to base it on, even if they're made-up numbers.

</comment><comment><USER3> The same way you pick up girls: become Richard Feynman. <http://xkcd.com/182/>

More seriously, I find that when I think I can't explain something I know to someone in simple-enough terms it is because I'm underestimating the audience. Explaining things slowly without resorting to undefined jargon usually does the trick.

</comment><comment><USER4> Consider a similar question which is frequently discussed on HN -- how to describe a business concept as easily as possible. One technique is to make comparisons to existing businesses that are fairly well understood. For example, YouTube was described as "the flickr of video" (see <http://slashdot.org/articles/05/08/14/1320217.shtml> \- from 2005) in its early days.

</comment><comment><USER5> It depends deeply on the audience, and the level of understanding you're targeting.

What does the 'child' already know that can be leveraged?

Do you want them to have a fuzzy, perhaps-intuitive understanding... or bring them up (however many long steps it takes) to a complicated understanding?

Can the explanation be delivered interactively, confirming understanding of explained (or assumed) bases along the way?

</comment><comment><USER6> First, you need to understand it thoroughly. The roots of complicated topics are often simpler than it would seem at first glance.

Second, you need practice explaining things to people for whom this is pretty alien.

Third, you need to treat the audience like it has a brain and respect them. Simplifying does not mean "dumbing down".

Fourth, use image-rich language. It makes things more tangible.

</comment><comment><USER7> I think Richard Feynman does this exceptionally well. He always explains it in terms that the audience can understand. You should check out some of his videos on Youtube..

</comment><comment><USER8> Analogies!

</comment><comment><USER9> Learning to explain something complex in simple terms to yourself is even more important. The rest follows.

</comment><comment><USER10> Metaphors!</comment>


Go 1.8 Beta 1 is released - <AUTHOR> https://beta.golang.org/doc/go1.8 <comment><AUTHOR> Golang-announce [https://groups.google.com/forum/#!topic/golang- announce/Wgv6...](https://groups.google.com/forum/#!topic/golang- announce/Wgv6NGcntlQ)

"It is important that we find bugs _before_ issuing a release candidate. The release candidate is planned for the first week of January. Your help in testing this beta is invaluable."

Download: [https://golang.org/dl/#go1.8beta1](https://golang.org/dl/#go1.8beta1)

</comment><comment><USER2> The most impressive change is:

"Garbage collection pauses should be significantly shorter than they were in Go 1.7, usually under 100 microseconds and often as low as 10 microseconds. [...] More work remains for Go 1.9.".</comment>


Show HN: Localname – Secure Access to Your Local Development Server - <AUTHOR> https://localname.io/ <comment><USER2> Seems very good.

What is the difference between that and [https://ngrok.com/](https://ngrok.com/)? I imagine there is basically none.

<comment><USER3> "It's a beautiful and simple to use macOS app that just works out of the box."

"Localname doesn't require any configurations and you don't have to fiddle with cryptic command line parameters."

That seems to be the main difference.

<comment><USER2> ngrok is a simple Unix CLI app that just works out of the box. It also doesn't require any configurations.

The main difference is just the cryptic command line parameters, which most users wouldn't find cryptic, I guess. But maybe non-dev designers will like Localname better.</comment></comment></comment>


Rushing Too Fast to Online Learning?  - <AUTHOR> http://www.northwestern.edu/newscenter/stories/2010/06/figlio.html <comment><USER2> _"Prior to the Spring 2007 semester, the instructor of the class offered students the opportunity to participate in the experiment. Of nearly 1,600 registered students, 327 volunteered to take part and, in return, were given a half letter boost in their grade at the end of the semester.

The volunteers were randomly assigned to watching the lecture live or to watching the lecture online. Measures were taken to ensure that instruction delivery was made only in the manner in which students were randomly assigned. _"

This experiment, by its very design, precludes many of the largest benefits of online education. By reducing it to a matter of watching a lecture in person, or watching essentially the same lecture online, it's not surprising that the students actually in the lecture were more engaged and did better.

Where online education really shines is when it enables students to get more supplementary material or more interesting material (such as podcasts for language students), or where it allows students to solidify fundamentals without embarrassment (e.g. Khan academy).</comment>


Tumblr is hiring a Weapons Engineer.. wtf does that even mean? - <AUTHOR> https://boards.greenhouse.io/tumblr/jobs/32646?gh_jid=32646

<comment><USER2> Welcome to link bait, may I take your order?</comment>


Introducing the new compose in Gmail - <AUTHOR> http://gmailblog.blogspot.com/2012/10/introducing-new-compose-in-gmail.html <comment><USER2> The big appeal seems to be that I can now navigate my inbox and switch between emails while composing. Isn't that what additional browser tabs are for?

<comment><USER3> The Compose button is hard to open in a new tab. And frankly, their handling of drafts is a little confusing to me most of the time. So I think this is a welcome change.

Actually, your whole argument is basically that windowing systems within windowing systems are pointless. Why have tabs when you can open a new window? Why have windows when you can buy more screens?

<comment><USER2> No, new windows are different than new tabs. Tabbed browsing is a windowing system within a windowing system already.

The new compose, if anything, is a windowing system within a windowing system within a windowing system.

<comment><USER3> This is kind of necessary, though, because of the nature of sandboxing. It would be awesome if every windowing system could expose it's API to random websites securely, but the compromise we live with is that every system produces a smaller sandbox, and people work to add as much functionality as they can within whatever box they're given. It'd be cool to see the Gmail team leverage some cross-window communication within the new framework they're creating.

</comment></comment></comment></comment><comment><USER4> Lots more discussion on the prior submission for this story:

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

</comment><comment><USER5> This is great! I always have to save a draft and go back to my inbox.</comment>


Answers from 2017 Common Lisp experts - <AUTHOR> https://blog.teknik.io/phoe/p/365 <comment><USER3> Wow, that is great, thanks for putting it together! I have been using CL since the mid 1980s, but cumulatively have just used the language for perhaps five years.

While I find myself using Python a lot because it wraps so many machine learning libraries and Java because of the ecosystem, there are other languages like CL, Ruby, and Haskell that all just make me feel good when I use them.

<comment> aaron-lebo I really wish I could use CL more. It's just that in almost every domain, the new libraries are elsewhere. You could use lisp for scientific computing, for example, but it'd be crazy to do so because you'd be reinventing so much that's getting built elsewhere. Similarly with games, C++ just has a lot more libraries available (you could FFI I guess, but that's never as bulletproof).

Not sure lisp is better at any one thing than being a lisp, which is great but I want to be able to justify reaching for it. 10 years ago PG had me believing that there'd be a lisp revival one day, but despite getting more and more polished, there's so much going on in other ecosystems.

Sorry for the rant, I know the lisp community has been building great stuff for decades, lisp is great.

<comment><USER4> You don't have to reinvent a thing, just use some ffi (foreign function interface) implementation and call into whatever you want.

<comment><USER5> To add to this reply, interfacing in C with Common Lisp is pretty easy today. There are at least two portable libraries to do this.

Also, you can also interface with Java libraries on the JVM by using the ABCL lisp implementation.

<comment><USER6> >There are at least two portable libraries to do this.

What are they?

<comment><USER5> One is CFFI, widely known and well documented, with tutorial and tooling:

[https://common-lisp.net/project/cffi/](https://common-lisp.net/project/cffi/)

The other was UFFI, older; but then there are others. In fact, there are a ton of other projects for doing FFI in Common Lisp!

[http://www.cliki.net/FFI](http://www.cliki.net/FFI)

And then you can also use the FFI functionalities provided by the particular Lisp implementation (i.e. SBCL, LispWorks, ABCL, etc.)

However, the use of a _portable_ library like CFFI means that you can take your code that runs correctly in SBCL, and then run the very same code in CLISP (other Lisp implementation) with no change at all.

CFFI works for the following Lisp implementations or "compilers": ABCL, Allegro CL, Clasp, CLISP, Clozure CL, CMUCL, Corman CL, ECL, GCL, LispWorks, MCL, SBCL and the Scieneer CL.

That's a lot of implementations!

<comment><USER6> Sure is a lot. Thanks!

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Lots of interesting stuff in here.

Feel like some people could probably say things with a bit less sass though... Replying to "I have a hard time finding good resources" with "everything is terrible" isn't super useful

<comment><USER8> The teknik.io gang is not known to be lacking in sass.

<comment> phoe-krk Who's the gang you're speaking of? I'd like to get to know them. The aforementioned quote is AFAIR from Reddit, not Teknik, so the credit goes there; you can trace the answers to individual comments inside the Reddit thread linked in the article.

Personally, I use teknik.io as a blogging service and Git hosting.

<comment><USER8> Can you reach out to me via email? I don't necessarily want to post their haunts in public without their permission.

</comment></comment></comment></comment><comment><USER9> That's a lot of Lisp experts

<comment> phoe-krk It's a play on the title of the original blogpost. Quoting myself from there:

 _It 's somewhat baffling to say that "experts", whoever they are, have gathered to respond to this question - I simply assume that the people who have voiced their opinion on the topic - regardless of who they are - <USER2> what they are talking of, and therefore their comments should be, and have been, included here._

But, on the other hand, correct, Lisp ain't dead yet. At least not any deader than the usual.

</comment></comment><comment><USER10> I really don't get the lispm's answer about cl21. What are the hidden treasures of the genuine Common Lisp we are ignorant of?

In my humble opinion Common Lisp is the classic example of the kitchen sink syndrome, where many pieces taken from various dialects were put together in a hurry. The results is not that bad (like, say, C++) but we know, arguably, a much more refined versions of Lisp, such as the dialect from Symbolics and Arc.

So, honestly, what are these hidden gems?

cl21, it seems, was an attempt to unify some syntactic forms rather than re- define what a Common Lisp is or should be. In that respect it is very remarkable effort. It is also a package - don't use if don't like.

The fair point that Common Lisp is a truly multi-paradigm language, so it includes mutating primitives alongside with "pure" functions and supports lexical and dynamic scooping, is rather difficult to grasp, but there is a lot of possibilities at the level of syntactic forms and embedded specialized DSLs, which, arguably, is what makes a Lisp Lisp.

It is never too much of embedded DSLs and syntactic sugar.

<comment><USER11> > What are the hidden treasures of the genuine Common Lisp we are ignorant of?

Actually Common Lisp is in many places a very well documented and designed language. Other languages have copied its numeric tower, its macros, its object-system, its error handling, ...

>In my humble opinion Common Lisp is the classic example of the kitchen sink syndrome, where many pieces taken from various dialects were put together in a hurry

The 'hurry' took place from 1981 (when the work on Common Lisp started) until 1994 when the ANSI CL standard finally was published. 13 years where hundred+ persons helped to design the language and provided comments, improvements, designs, prototypical implementations, alternative designs, ...

Also the 'various dialects' were mainly only Maclisp successors and Common Lisp was designed to be successor to them, not a summary of various dialects.

CL21 has more problems than lines of code, including security problems. As an experiment, fine. As a library that should be used? Please don't.

Edit: this thread gives a bit more detail discussing a COERCE method of CL21:

[https://www.reddit.com/r/lisp/comments/6snw5d/questions_for_...](https://www.reddit.com/r/lisp/comments/6snw5d/questions_for_2017_common_lisp_experts/dlfi78d/)

<comment><USER10> I remember reading the Symbolics manuals from bitsavers and how I have been impressed by clarity and unity of the language, and how they incorporated CL into Zetalisp just by moving their own stuff into packages.

At least in the documentation everything looks wonderful. Compared to Symbolics CL looks like a mess at least from reading the books.

<comment><USER5> > Compared to Symbolics CL looks like a mess at least from reading the books.

Which books, may I know?

The Common Lisp Hyperspec is one of the best reference manuals for a programming language, ever. But it is not a tutorial nor a how-to guide!

Try "Pratical Common Lisp". Or "Land of Lisp" if you want to have lots of fun.

 _simple but refined, guaranteed to blow your mind..._

[https://youtu.be/HM1Zb3xmvMc](https://youtu.be/HM1Zb3xmvMc)

<comment><USER10> > Which books

Symbolics Common Lisp - Language Concepts (volume 2A)

It also covers parts of Zetalisp.

I am also big fan of pg's On Lisp and ANSI Common Lisp.

</comment></comment></comment></comment></comment><comment> phoe-krk Author of the compilation here.

Sweet lords, I have made the front page of the Hacker News for the first time of my life! I had no idea that this would generate so much traction, especially as my own submission at [https://news.ycombinator.com/item?id=15012678](https://news.ycombinator.com/item?id=15012678) went across HN rather unnoticed.

<comment><USER12> It's somewhat hit-and-miss which submissions make the front page. A submission has only a few minutes to get several upvotes before it's pushed off the front "new" page, after which it's unlikely to recover.

Since you're here I'll add a little to my previous comment [0], which was very short because I didn't think many people would see it.

I don't advocate completely pure functional programming as one would do in Haskell, but I do think there are lots of places in most code where the functional style would be clearer and easier to understand and debug than the fully imperative style more common in Lisp. That's why I created FSet [1], a functional collections library. It has been my observation that having high- quality functional collections is often the most important missing piece to make it possible to write more code functionally.

[0] [https://news.ycombinator.com/item?id=15077088](https://news.ycombinator.com/item?id=15077088)

[1] [https://github.com/slburson/fset](https://github.com/slburson/fset)

</comment></comment><comment><USER13> > It's not some axiom of the universe that "thou shalt use GitHub

Love it!

</comment><comment><USER5> Alternate Link for people who can't open the URL due to it being marked as "malicious" by some software:

[https://gist.github.com/phoe/d93f968f22bbcc87070cdc583176202...](https://gist.github.com/phoe/d93f968f22bbcc87070cdc5831762021)

</comment><comment><USER12> • Are there any functional programming advocates in the Common Lisp open source community?

Yo! [https://github.com/slburson/fset](https://github.com/slburson/fset)</comment>


Are robots and aging demographics self-cancelling problems? - <AUTHOR> http://marginalrevolution.com/marginalrevolution/2012/12/are-robots-and-aging-demographics-self-cancelling-problems.html <comment><USER2> The Japanese sure hope so.</comment>


Microsoft Working on Swift Compiler for Windows 10 - <AUTHOR> http://www.windowscentral.com/microsoft-also-working-towards-swift-compiler-ios-developers-come-windows-10 <comment><USER2> Unless they are going to mimic Cocoa I'm not really sure what this really gains them in terms of luring iOS developers with the promise of cross- platform builds.

<comment><USER3> Listen to the presentation around the 37 minute mark. They have an IOS compatibility layer.

They claimed elsewhere in the video that Candy Crush for IOS was moved to their platform with "minimal code changes", whatever that means.</comment></comment>


Death on Mars - <AUTHOR> https://blogs.scientificamerican.com/life-unbounded/death-on-mars1/ <comment><AUTHOR> This is via Katie Mack, who has a good supplementary thread on the article: [https://twitter.com/AstroKatie/status/1219333171969503238](https://twitter.com/AstroKatie/status/1219333171969503238)

<comment><USER2> This is a powerful argument from Katie Mack, true for the next few billion years:

There is virtually nothing we — or the Universe — could do to Earth that would make it less habitable than Mars. Global warming, nuclear winter, extinction- level asteroid... still easier to live in caves here than there.</comment></comment>


Number Theory and Cryptography Distance Learning Course for High School Students - <AUTHOR> http://blogs.ams.org/matheducation/2015/07/01/number-theory-and-cryptography-a-distance-learning-course-for-high-school-students/

<comment><USER2> Matt Baker (who teaches the course) was my first math professor in college years ago. In fact, my first class on my first day as a freshman at Georgia Tech was his class. It contributed to my becoming a mathematician (and even a number theorist, although not the same field of number theory). In that, I'm happy.

But I wonder whether or not his charisma carries through whatever formats in which he interacts with the students. It seems like some of that would be lost. I've never seen a professor teach both in person and through some sort of distance learning before.</comment>


Elon Musk Says Robots Could Be More Dangerous Than Nukes - <AUTHOR> http://www.defenseone.com/technology/2014/08/elon-musk-says-robots-could-be-more-dangerous-nukes/90521/

<comment><USER2> "Hope we're not just the biological boot loader for digital superintelligence."

With digital intelligence and immortality on one hand, and human flaws limitations on the other, how can you side with humans?</comment>


The Revenge of the Circulating Fan - <AUTHOR> http://www.lowtechmagazine.com/2014/09/circulating-fans-air-conditioning.html <comment><USER2> Apart from a few isolated statements that suggest using fans together with ACs (which, of course, is a totally reasonable thing to do), the overall tone of the article is very much "AC = evil, fan = cool."

Unfortunately, fan-only cooling only works in a narrow range of climates.

> _For instance, instead of cooling down a space to 24°C (75°F), the aircon > can cool it to 29°C (84°F), which is a comfortable temperature if combined > with fans._

Whether or not 29°C can be considered a "comfortable temperature", even with fans, depends a lot on other factors, the most important of which is humidity. 29°C at 30% humidity is very different from 29°C at 90% humidity. The former is common in Europe and the American West. The latter is much more common in the Southeast, as well as the majority of newly industrialized countries such as China and India.

Try installing a radiant cooling system in one of those hot & humid places. See all that condensation on the walls? That's a recipe for explosive mold growth. All the fans in the world will not make that pesky H2O go away, since the air is already oversaturated with it. People can tolerate a lot of heat with nothing but a paper fan, but there's no alternative to a good ol' electron-guzzling compressor when it comes to humidity control.

You might feel totally comfortable with a fan in your cool and dry Northern California summers, but be very careful before you try to generalize your energy-saving hack to different climates. There's a reason why millions of people won't give up their AC's for fans, and it's not because they don't know how to stay cool.

<comment><USER3> I've lived in India for years, generally my experience has been that fans work much better in humid air than dry air. So 29 degrees with 90% humidity and fan would be much more comfortable than 29 degrees with 30% humidity and fan.

In Delhi (45 degrees in summer) we would manage with desert coolers + fan, which specifically work by increasing the humidity of the air and then using a fan.

I believe though that, AC vs. coolers vs. fans vs. any combination of them is really not at all as important as the way cities and the buildings within them are built. In Delhi it is estimated that 3-5 degrees local heating is caused by bad urban design. As an anecdote, I've been in mud-huts where despite 45 degree temperatures outside, insides felt like they were AC. Sure, mud-huts do have problems with mould and require a lot of maintenance, but it's illustrative that we've dug ourselves into a hole where AC is required because we build buildings of inappropriate materials.

<comment><USER4> > In Delhi (45 degrees in summer) ...

That's 113 degrees Fahrenheit for American readers. The rest of the world has wisely adopted more rational measurement units. Even Canada, a stone's throw away from the U.S., uses the Metric system.

<comment><USER5> Both temperature scales are (thankfully) rational. Some physicists have been dabbling in complex temperatures, but thankfully most of us don't need to know anything about them.

Sorry, mathematician joke.

<comment><USER6> Celsius used two very reproducible tresholds (freezing and boiling points of water), associated them to two very easy to remember values (0 and 100), and defined his scale according to them.

The way Farenheit got to his scale seems really less practical to me, from Wikipedia :

"Fahrenheit proposed his temperature scale in 1724, basing it on three reference points of temperature.[9] In his initial scale (which is not the final Fahrenheit scale), the zero point is determined by placing the thermometer in brine: he used a mixture of ice, water, and ammonium chloride, a salt, at a 1÷1÷1 ratio. This is a frigorific mixture which stabilizes its temperature automatically: that stable temperature was defined as 0 °F (−17.78 °C). The second point, at 32 degrees, was a mixture of ice and water without the ammonium chloride at a 1÷1 ratio. The third point, 96 degrees, was approximately the human body temperature, then called "blood-heat".[12]"

<comment><USER7> > two very reproducible tresholds (freezing and boiling points of water)

Reproducible if you happen to be near sea level.

<comment><USER8> And have the appropriate "water".

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I live on the first floor of a house in Boston, and this summer made it through without AC. By keeping heavy curtains drawn and closing both layers of the double windows during the day, then opening windows at night and using fans to draw cooler air through the apartment, I was able to keep the apartment relatively cool throughout the summer.

Sure, there were nights my apartment still hit 87F indoors by the time I was going to bed -- a week of nights that don't dip below 80 will do that -- but it doesn't take that long to get used to it and the breeze from open windows and running fans made it much more tolerable.

There are a lot of places in the US that benefit tremendously from AC -- I grew up in the Mojave desert and there is little arguing with AC at 110F -- nonetheless the the machines are overused. If more people decided to tolerate 80F as room temperature, even without active measures to _replace_ AC in their homes, we'd see a precipitous decline in energy usage. Add to that careful control of airflow and insulation and many regions simply don't need AC.

Meanwhile, I am at my office, and the AC is run so high in the summer that many people wear jackets indoors year round here. Lovely.

<comment><USER10> _the machines are overused. If more people decided to tolerate 80F as room temperature...we 'd see a precipitous decline in energy usage_

When I first moved into my current house I was setting the air conditioning at 78 degrees. Then I had my central AC unit serviced and the tech showed me little dots of mold throughout the inside of the unit in the basement. He told me not to set the thermostat above 75 degrees in the summer time because it doesn't get enough humidity out of the air. He also said to make sure I kept a dehumidifier running in the basement.

Now I keep the thermostat on 75 and keep the basement at 50% relative humidity using a dehumidifier in the summer. I also ended up installing a UV light inside the basement unit myself to kill microorganisms.

So it's easy to say to just tolerate higher temperature but the unfortunate thing is that high humidity levels inside a home can lead to serious issues.

</comment></comment><comment><USER11> No question ceiling (and other) fans are useful for cooling, also for heating by distributing warm air that otherwise pools overhead, especially in high- ceiling rooms.

A cool water radiant system certainly seems it would save electric power. But I wonder if such use of water is potentially a problem in regions where water is a precious commodity.

Growing up in the desert of Arizona in the era before air conditioning became widespread, there were interesting approaches to dealing with summer heat. Relevant here, the "swamp cooler" was a fixture in most homes.

Sort of a combination of moving air and water methods, the cooler worked by running a squirrel cage fan in a slatted metal box and water dripped through material mounted on the interior box surface. Air flowed through the openings in the box, evaporating water and cooling the stream of air which was piped into the house though metal ducting.

This worked great when the air is dry. The later summer monsoon season was its ruin: high humidity did not favor evaporation, or much cooling at all. It was enough to make people think air conditioning would be a really good thing.

</comment><comment><USER12> I think another solution that is often overlooked in the US is the passive flow caused by open windows. I've been to so many buildings in the US where it's impossible to have windows wide open and in some cases open at all.

I tend to think this is a bit like suburbia: a design choice made when energy was much cheaper.

<comment><USER13> I've heard some fascinating stuff about passive airflow architecture. The floor plans of old buildings were often laid out in very specific and sophisticated arrangements designed to take advantage of local prevailing winds and weather patterns so that opening certain pairs of windows at certain times of day would effectively ventilate the entire structure. It's interesting to also think of the secondary effects we've lost by effectively sealing out the outside world and living in a closed box.

<comment><USER14> I would love to read a book on this: How far can you get relying purely on design and structure, not technology. "Passive" solutions, as you say. A fascinating topic.

<comment><USER15> 100% passive is possible today.

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

</comment></comment></comment></comment><comment><USER16> The five ceiling fans in my Southern California house are on virtually nonstop, night and day, from July through September. I haven't done analysis, but anecdotally they make rooms feel a lot cooler. If you get quality fans, they are inaudible (at low speed) and seem to be trouble-free (i.e., no problems after ~10 years of this level of activity).

<comment><USER15> Brushless AC motors (short circuit cage type) are extremely reliable, there are only two things that can happen: eventually the bearings will run out or the coils will short due to the mechanical friction resulting from the changing flux which tries to push the wire around. The stators are usually cast into a resin to counteract this as much as possible but in spite of that some freedom of movement usually remains.

</comment></comment><comment><USER17> I don't know, I can't say I agree with the article. I grew up (and still live) in a small apartment in Greece. My family had fans (because air-conditioning was expensive back in the day) all around the house. We "managed", but it was definitely not comfortable when ambient temperature increased above 32C. After installing air-conditioning (3 12000 BTU ductless mini-splits) everything changed. Summers were finally comfortable afterwards and today I would never think of decommissioning the A/C units, regardless of electricity costs.

<comment><USER18> Article says the limit of this is 30C. I don't think the argument here is that fans can replace all uses of AC, but rather can supplement them.

</comment></comment><comment><USER19> The Bonelli house in Kingman, Arizona was built before central air conditioning became common in homes. Temperatures in Kingman regularly reach > 110F (43C) in the summer, yet the Bonelli house was comfortable without air conditioning or fans. To cool the house, a trap door in the center of the first floor was opened, drafting cool air from the deep, unfinished basement, through the intervening floors, and out a roof cupola. The system was passive and still functions today.

[http://kingmanhistoricdistrict.com/homes/bonelli- house/index...](http://kingmanhistoricdistrict.com/homes/bonelli- house/index.htm)

Other locals would hang burlap or bedsheets over open windows, periodically dampening the material with a hose. The hot breezes would blow through the wet material, evaporating the moisture, and cooling the air. Many older homes still have the blanket hooks above windows, though residents have long since switched to air conditioners or swamp coolers for cooling.

</comment><comment><USER20> The article mentions that fans don't work when air temperature is higher than that of the skin(35C).

This actually is not correct as increased air flow facilitates evaporation (making sweating more effective).

<comment><USER2> Only if humidity is low enough.

Otherwise, moisture from the air will condense on your skin (making sweating completely ineffective).

<comment><USER21> Helloooo Japanese summers.

</comment></comment></comment><comment><USER22>
        "AC accounts for approximately 20% of year-round electricity consumption
        by American households, and 15% of total electricity use. [1] The widespread
        use of AC explains in large part why Americans use so much more electricity
        than Europeans: AC electricity use by an American household equals 60% of
        all electricity used by the average European household. [2]"

That math with that statment does not realy work.

<comment><USER23> I think it means..

      American Household : [XXXXXX</comment></comment><comment></comment><comment></comment><comment></comment><comment>]

      European Household : [</comment><comment>----]

Where the X's are electricity usage by American households on air conditioning (20% of total electricity use), which is equal to 60% of all electricity used by a European household.

<comment><USER24> Europe is also much cooler then most of the USA in the summer. You all are welcome to come and hangout in the south any summer you want, then you will have a better understanding of the AC usage here. If I lived in Europe I probably wouldn't need AC either.

<comment><USER25> And you are welcome to try and stay in any of the southern countries of EU in summer and survive without AC - Portugal, Italy, Spain, Greece are all unbearable without AC.

<comment><USER24> I did say _most_ of the USA. I also am quite confident that the average temperature in the south is much higher then even those countries.

A quick search shows that in Texas the average is 36 degrees while Greece is 28 degrees and 28 degrees in Barcelona. Also that doesn't even include our lovely humidity!

</comment></comment></comment></comment><comment><USER26> _> [Fans] can only provide cooling at air temperatures below the mean skin temperature, which is about 35°C (95°F). Fans cannot cool people above that treshold, because moving air cannot reduce the skin temperature below the ambient temperature – no matter how high the air speed._

The statement applies to passive heat sinks. If a device's heat sink has a surface temperature of 35°C, then blowing 40°C air across it faster will not only help, but it will be counterproductive: the warmer air heats the heat- sink, and moving air does it faster.

In 40°C relatively dry air, your skin is 35°C only because of active heat removal: evaporation. This changes the picture. Moving air can speed this up even though it is warmer. If the air doesn't move, then evaporation wraps you in a blanket of humid air. Ventilation displaces the humid air, replacing it with dry air that can take up moisture.

</comment><comment><USER27> I've lived with box fans for _years_. This is our second summer in the Pacific Northwest, and our current apartment has _no_ air movement. I.e., you can have box fans in the windows all night, and the kitchen is this mass of warm air when you get up. The apartment heats up very quickly and loses heat slowly for some reason. The apartment quickly reaches 78-80 degrees and is really unpleasant. So this summer indicated an AC purchase for the bedroom was a good idea. It's been extremely nice to sleep in a cool & dry room.

I'd be quite happy to have a residence that had decent air movement design, along with ceiling fans, but I don't think I'm giving up the bedroom AC.

</comment><comment><USER28> If anyone is looking for a product recommendation, permit me to suggest the Fanimation Landan [0]. My wife and I have one in the living room and love it. 6 speeds, remote control, LED lights built in (dimmable using the remote), efficient DC motor.

[0] [http://www.fanimation.com/products/landan/](http://www.fanimation.com/products/landan/)

</comment><comment><USER29> As someone that lives in a house built in 1860 (so windows open to allow passive airflow) that has been retrofitted with ceiling fans and AC I can tell you that if you're in a region with any sort of humidity that AC is unbeatable. The ceiling fan is great if its slightly warm, not humid, and you have the windows open.

</comment><comment><USER30> The first fan pic in the article - the Big Ass Fan Haiku - awesome fan with lots of tech

</comment><comment><USER31> Has anyone installed a whole house fan? I've heard they can rapidly cool your house to the outside temp at night?

I can't decide if it would hurt resale value too much to have a giant fan vent in the middle of the ceiling though.

<comment><USER32> My apartment has one, but it's too loud to run it overnight. The vent itself doesn't seem like a big deal though. It falls shut when the fan isn't in use.

<comment><USER31> Can it cool down your place really fast? For example in my house, when it's 80 degrees inside and 65 outside, I can open all the windows, and it gets down to 75 overnight :-(

<comment><USER32> I don't know. We don't run it overnight. I just use a pair of box fans (≈ intake + exhaust) to push cool night air through my room.

</comment></comment></comment></comment><comment><USER33> Other option is to go underground. On continental climate it also saves winter heating costs

<comment><USER14> Why isn't this considered as a solution more often? Is it just because construction costs go up, or for reasons of culture and habit? It seems like this is absolutely the best approach for stabilizing temperatures in both hot and cold climates. Might not work well in a place with a lot of ground water, I guess, but in general it seems like a win. Reduces building profiles, as well.

<comment><USER34> While I've read enough Asimov to believe that the future is underground, I'll also be the first to admit that the lack of windows is a major problem with the system. You both lose natural light and the cooling air currents provided by the wind.

<comment><USER14> Well I didn't mean _all the way_ underground -- I think you'd get substantial benefits from going three-quarters down on the ground floor. If there's only one floor, skylights do the trick. For multiple stories, high windows, and then fans circulating air between floors. Hmm, I guess this is getting a little expensive after all...</comment></comment></comment></comment>


How to implement a reflexive OO model in 140 lines of C (pdf) - <AUTHOR> http://piumarta.com/software/id-objmodel/objmodel2.pdf

<comment><USER2> The paper is very interesting and I'm interested in where Ian is headed with this.</comment>


Trump Was Right: Obama's NSA Recorded All Trump's Communications - <AUTHOR> https://www.usnews.com/news/national-news/articles/2017-03-07/nsa-whistleblower-bill-binney-says-trump-is-absolutely-right-about-wiretap-claims <comment><USER2> Dennis Kucinich, a Democrat, said that a phone call he had was secretly recorded and played back to him by a reporter 2 years later [0]

Who in the intelligence community gets to decide what phone calls are leaked?

[0] [http://thehill.com/media/323846-dennis-kucinich-on-trumps- wi...](http://thehill.com/media/323846-dennis-kucinich-on-trumps-wiretap- charge-it-happened-to-me)

</comment><comment><AUTHOR> Any NSA contractor with Snowden-level access (or even much less) could make millions, even billions, given sufficient time and a modicum of care.

CIA or NSA staff could (and I therefore assume, undoubtedly _do_) use surveillance information to their own personal advantage. For example, investments could be made on the basis of overheard conversations between financial analysts or corporate executives. In turn, funds gained could be used to finance personal or quasi-official projects.

The possibilities were once the stuff of spy novels, but far too real today yet too tantalizing to resist. They are also far too little examined, and necessarily must be scrutinized in depth by an army of civilian prosecutors with power of full disclosure and investigation.

The NSA, CIA and other intelligence agencies must be dismantled and only the "good" parts put back together. The "bad" parts must be destroyed permanently, the "bad" staff emprisoned and then barred from future employment in the fields of government and finance.

</comment><comment><USER3> A more appropriate headline, from another news source: "NSA Whistleblower Binney: Trump No Exception to Surveillance State". Might be perfect if you point out Binney has been talking about this for almost two decades now somewhere in the headline, but that one is long as it is.

</comment><comment><USER4> This 'whistleblower' resigned from the NSA in 2001. Yawn.</comment>


America's dreadful Internet - <AUTHOR> http://harry-lewis.blogspot.com/2013/01/americas-dreadful-internet.html <comment><AUTHOR> I'm surprised at Prof. Lewis's surprise that people stop at McD's specifically to use the wifi. I'd have thought that everyone had done this on occasion, although of course for many people that is a matter of convenience while out and about rather than being their only connectivity.

Sure, Starbucks would be cooler but there aren't many of those in most rural areas.</comment>


How Reserve Bank of India is screwing up foreign investment in India - <AUTHOR> http://anopenlettr.com/finance/2015/02/17/the-price-of-being-honest/

<comment><USER2> To REALLY decentralize governance each state in India should have separate currency;

[http://en.wikipedia.org/wiki/Chiemgauer](http://en.wikipedia.org/wiki/Chiemgauer)</comment>


How Pinterest Will Transform the Web in 2012 - <AUTHOR> http://blog.eladgil.com/2011/12/how-pinterest-will-transform-web-in.html

<comment><USER3> I think we need to be careful about writing off Pinterest too quickly. Pinterest is probably the first social network to take off with "normal" people before it took off with alpha geeks. (e.g. over the holidays family/friends/parents were all talking about Pinterest. I'm not the only one: [1]).

This isn't merely about the long-form writing becoming dumbed down to button- pushing.

Once you get past the pictures of shirtless Ryan Gosling there is something really powerful: similar to how Google captured the link graph, Pinterest is capturing the interest graph [2].

[1] [https://twitter.com/#!/josephflaherty/status/150961041751289...](https://twitter.com/#!/josephflaherty/status/150961041751289857)

[2] [https://twitter.com/#!/josephflaherty/status/142235130872868...](https://twitter.com/#!/josephflaherty/status/142235130872868865)

<comment><USER4> Thanks for the citations ;)

I think people are getting way to focused on creating a broader theme around Pinterest's success from a technical implementation POV and not focusing on some of the bigger drivers. I see Pinterest being successful because of:

\- Content: Foods, Crafts, Home, Babies: How many web services address these market as their primary focus? I'm only really up to speed on the craft industry and that alone is worth $30B a year. You'd have to combine the video game and music industries together to match that. Now think about how many companies are focusing on Music/Games vs. crafts and Pinterest's success isn't that crazy. They basically have a monopoly of...

\- Women aged 15-55: I'm a heavy user, but from what I've seen ~98% of users are women. The site has a "feminine" aesthetic and a design first layout. Its a pleasure to browse on any screen.

\- Fun: The collecting instinct is strong, the site makes it easy to collect, and I can build up a collection quickly. It is "Gamified" without any of the overplayed tropes of badges or leaderboards. It also is very "pretty" like a magazine.

It is useful (helps me collect recipes), Targeted (No boys allowed), fun (games/cool layout), and as johnnyn said "Real World Social". Users collect recipes and cook together, or talk about ideas while looking at an ipad together. It utilizes real social networks for distribution.

I may be wrong, but look at this list of "Social Curation" websites which behave very similarly to Pinterest and think about why they have not experienced the rocket ship growth:

[http://pieratt.tumblr.com/post/10452105095/who-svpply-is- com...](http://pieratt.tumblr.com/post/10452105095/who-svpply-is-competing- with-sort-of)

</comment></comment><comment><USER5> I think Pinterest is a game changer because of the physical social interactions it creates outside of the site. My wife has been to multiple Pinterest "parties", where they pick a craft or recipe and make it together. If someone comes over and sees something she created from a Pinterest finding, a conversation starts and all of a sudden, Pinterest has a new user. This physical interaction to me is what makes Pinterest stand out.

<comment><USER6> That's a great point (and probably something Pinterest should devote effort to encouraging down the road).

Pinterest seems to connect a lot with "real people", not just the techies. Every mention I've heard of it from the former group is relating to some portion of their regular daily lives.

</comment></comment><comment><USER7> so basically, people are getting dumber and lazier. writing a thoughtful weblog post took too much time and effort, so twitter dumbed it down to 140 characters. that is apparently still too much effort, so pinterest wants to enable people to use "push button content generation" to just duplicate stuff they see ("generate content") onto a stream that others can see and duplicate themselves.

maybe they could make a browser plugin that lets users grunt at things to "generate content".

<comment><USER8> No. People are using a tool that helps them share and collect ideas to improve their lives, particularly people who aren't geeks. I've seen numerous examples of women enjoying content on Pinterest (content backed by blog posts, comments, curated collections, etc.) and using the ideas they see there to create new things... a hell of a lot of new things. I love it. I love seeing my wife enjoying herself while she creates something new and unique for our family.

</comment></comment><comment><USER9> What a depressing vision of the future.

I tried four square for a few days before forgetting it existed. I ignore facebook feeds. A tweet occasionally get my attention because some aggregation site highlights it. StumbleUpon entertained me for a while. None of these sites contain original content.

I don't agree with Blogger being included in that group. Blogger, and blogs in general, focus on creating content rather than merely leeching someone else's creation.

I would like to see a breakdown of popular content. Strip out the one hit wonders and see just how many people truly and consistently contribute content.

<comment><USER8> You've posted a comment on a site that aggregates links to content. Pinterest is essentially the same thing. It's pictures, not so much text... but the pictures are augmented with user comments, curated into collections that people find useful, and generally the pictures are backed by more detailed content. My experience with users of Pinterest has been that they are frequently inspired to create new things from the ideas they find on Pinterest.

</comment></comment><comment><USER10> Curating sets is not creating content, it's organising content - just like re- tweeting, or link-sharing. That people think they've genuinely created something at the end of this process is kind of sad, though I bet it makes for some interesting data sets if you're doing a bit of mining.

<comment><USER11> Would you say that museums are not original content? Can the sum not be greater than the parts?

<comment><USER12> A museum isn't original content. That's not even a question. Museums are collections of content, not content, they may have metadata about their content, but that doesn't constitute it as original content.

</comment></comment></comment><comment><USER12> I'm not too excited for this shift. Tumblr is terrible because it's just reblogging without any conversation or communication. Pinterest is just more of the same. I really dislike this kind of social media because it's really stepping away from socializing. Everyone I know on Tumblr just reblogs, it's like the FWD: from the past made into its own service and I'm not digging it.

</comment><comment><USER13> For anyone who doesn't want to wait for an invite via email signup, the WSJ recently offered this code in a review of the service:

pinterest.com/invited/?invite=wsj

</comment><comment><USER14> There are lots of posts on here disparaging content curation and ways of doing it that don't invite original content. I don't see the problem - Pinterest and other similar sites wouldn't exist without original content to be shared in the first place. The people that create original content aren't going anywhere, and I don't think it's imperative that every person or every site needs to contribute original content. Is it bad that the web is enabling new ways of organizing and sharing what's out there and helping people find it? If you are a content creator, wouldn't you like to see your work reach audiences on Pinterest and other similar sites, copyright concerns aside?

<comment><USER10> I think that most posts are complaining that what is being called "content creation" has been reduced to simply organising others' content, which isn't without value but is minimally "creative".

<comment><USER8> It may be minimally creative, but might be an essential ingredient for efficiently linking a person's interests with content related to those interests.

Some of these comments show a heavy bias towards creating consumable content over actually creating something new and physical. My experience with users of Pinterest is that they increase their actual output of creative physical things. I think that's good. If they don't blog about their experience creating a new Christmas card holder or batch of cookies that's fine by me (I liked eating the cookies).

<comment><USER14> Those cookies sound pretty consumable to me :)

This is a good insight, and I echo it. My wife loves Pinterest and she gets new cooking and decorating ideas from it all the time.

</comment></comment></comment></comment><comment><USER15> Interesting points. As curation becomes simpler/easier/faster and the tools to do so become more ubiquitous, it will increasingly become a defining feature of our web experience.

</comment><comment><USER16> The graphic at the top of the article is interesting; it suggests a trend of creating real articles to just short one-liners to just linking to others. What comes after this? Perhaps this is a reaction to the growth in mobile where creating content is more tiresome in favour of just clicking share on someone else's picture or article. It's empowering to those who create - <USER2> content will be shared more and there will be more curating than producing.

<comment><AUTHOR> I think TripAdvisor experimented with this back in the day. E.g. they changed the size of the text entry box and saw that: (a) smaller text boxes got them a larger number of lower quality reviews. (b) larger text entry boxes got them a smaller number of high quality reviews. Even the size of the text entry box changes user perception of how hard it is to contribute, and how much to actually write. So I am guessing there is still lots of interesting UI innovation in these areas...

</comment></comment><comment><USER16> I have to admit that I thought this was something akin to Instagram until I looked closer. To be honest I felt a bit confused and overwhelmed looking at the 'most popular' page - I know these are boards and as such curated collections of content but they look random; I just can't see the theme of each board. Would it have killed them to put a title to tie them together?

<comment><USER6> Interesting. The Pinterest fans in my life spend all their Pinterest time on the front page it seems.

</comment></comment><comment><USER17> The "dumbing down" argument almost seems to assume that a web of curated/unoriginal content can not coexist with a web of content creators.

Creating new ways to interact with content on the web doesn't seem to me to be a bad thing, especially when it's usable enough for anyone to participate.

Creating and leeching are not mutually exclusive.

</comment><comment><USER18> I really don't find Yelp as a place where people rant about their date before they go on to reviewing food. I find it to be indispensable when I am in new cities. Does it capture everything? No, but it doesn't have to. When I know nothing more in a city than the hotel I'm staying at, it makes finding a great meal easy.

</comment><comment><USER19> An interesting, but technology-focused perspective. Another, glaringly obvious, difference is that Pinterest and Fab both appeal to a neglected market with a neglected content, namely, women and their "interests" (obvious stereotypes here, but the point still stands). Etsy has been killing it for the same reason.

</comment><comment><USER20> I simply dislike the idea that I join a new social network based on my activities on older social networks. This strategy is like a ponzi scheme.

They sent me an invite and I refused to give them my Facebook/Twitter credentials.

</comment><comment><USER21> This is the direction ecommerce sites need to go down. Think of how much more fun pinterest is to browse compared to something like zappos.

<comment><AUTHOR> Fab.com is one site that is already heading down this route. I think this will be part of the evolution of the socially-curated web in 2012...

</comment></comment><comment><USER22> Meh. I've noticed most regular people don't give a shit about the internet and it's time-wasting ability. Yes, they enjoy google for finding things, facebook for catching up with friends and the odd app (tv guide), and maybe some shopping on ebay and amazon too, but other than that, and outside of tech hub cities, few are spending their spare hours on sites like these.

It's why I stopped creating them, and went into product. Much more "spiritually" fulfilling too.

</comment><comment><USER23> love this! go Elad! go Pinterest! :-)

</comment><comment><USER24> interesting article</comment>


Desmos Graphing Calculator – HTML5 with LaTeX editor - <AUTHOR> https://www.desmos.com/calculator <comment><USER2> Lead calculator engineer here. I'm happy and a little surprised to see our work on the HN front page this morning. We've been at it since 2011.

Our biggest goal with the calculator has been to make it easy to immediately see the consequences of changing part of an expression, or changing a parameter in an expression. When you remove the friction, this feels like exploring.

Happy to answer any questions.

Edit: For the tech crowd, I'll play the "what happens when you type a key on google.com?" game, only for Desmos:

1\. Your keystroke is interpreted and typeset by the awesome, open source math typesetting library MathQuill: [http://mathquill.com/](http://mathquill.com/)

2\. Mathquill notifies us that an expression has changed, and gives us a new LaTeX representation of it.

3\. We send this new expression to a webworker, where we do all of our math processing. This lets us avoid blocking the UI thread, even if the user asks us to do something like a sum from one to a billion.

4\. In the webworker, the expression LaTeX is parsed and analyzed for dependencies, variable assignments, and function definitions. We mark any other expressions that depend on symbols it exports as dirty, so that we can also reanalyze and replot them.

5\. We compile the parsed expression (and any other expressions that need to be updated) to javascript by calling "new Function()" on a string representation. Since we need to evaluate these functions at thousands of points for plotting, we've found this to be much more efficient than an interpreter.

6\. We plot all plottable functions (explicit functions of one variable, implicit functions of two variables, parametric equations, polar equations, inequalities, etc.), and analyze them for discontinuities and points of interest like minima, maxima, and zeros.

7\. We send a representation of the plotted curves back from the webworker to the frontend, and they are plotted on the graph paper using the HTML5 canvas API.

<comment><USER3> This is really cool. Two things, though:

1\. Is there a way to do integrals? Are there plans to add that support?

2\. Though the UI doesn't block up when you do a large calculation, the calculations do. e.g. I try to sum from 0 to 10^20, then realize I just wanted to sum 0 to 20. If I change the equation, it seems like it has to complete the first calculation to get to the new calculation.

<comment><USER2> > 1\. Is there a way to do integrals? Are there plans to add that support?

We don't do integrals right now, but I hope we'll be able to add them at some point. It can be pretty tricky to do integrals accurately for non-smooth or highly oscillatory functions. Here's a graph I made recently exploring an interesting numerical integration technique called tanh-sinh quadrature:

[https://www.desmos.com/calculator/jg4wamuwde](https://www.desmos.com/calculator/jg4wamuwde)

2\. ... If I change the equation, it seems like it has to complete the first calculation to get to the new calculation.

Right, we currently wait for existing calculations to finish before starting new ones. We've experimented with strategies for killing calculations that look like they're hung, but we don't do anything like that right now. Killing and respawning webworkers is expensive and has been crashy in various browsers at various times, and short of that, it's hard to stop calculations midway through.

<comment><USER4> It's possible to compile the calculation code to work in batches -- for example, [http://wry.me/hacking/Turing- Drawings/](http://wry.me/hacking/Turing-Drawings/) which compiles a 2d Turing machine into an asm.js function parameterized by how many steps to take in an uninterruptible batch. Another example of batching for responsiveness: [http://wry.me/hacking/powersp.html](http://wry.me/hacking/powersp.html)

It's also easy for me to suggest more work for you!

</comment></comment></comment></comment><comment><USER5> Hope this doesn't get you banned in Germany:

\sin \left(x^2+y^2\right)\cdot \left(y^{32}\ -\ x^{32}\ -x\cdot y\right)\ \ =\ 0

EDIT: also

\sin \left(x^2\ \ +y^2\right)\left(y^{32}\ -\ x^{32}\ -x\cdot y\right)\cdot \left(\frac{\left(x-y\right)}{\left(x-y\right)^2}\cdot \frac{\left(y+x\right)}{\left(y+x\right)^2}\ \right)\ =\ 0

<comment><USER6> You have a lot of spare time pliny. Desmos renders it well, although zoomed out, it looks like bacteria under a microscope.

</comment></comment><comment><USER7> See the staff-selected art (created with the Desmos Graphing Calculator) for some examples of what robust input looks like: [https://www.desmos.com/art](https://www.desmos.com/art)

</comment><comment><USER8> I'm actually amazed that this is news to the HN crowd. Desmos is in the standard vocabulary of many students.

</comment><comment><USER9> This looks great. I've been using fooplot.com but Desmos is much more polished, so will consider switching.

Initial things I like:

\- Latex representation

\- Ability to save expressions

\- Pretty UI

Initial issues:

\- Keyboard shortcuts. I cannot jump to start/end of line.

\- Copy/paste. I get something like this when copying an expression: "\sqrt{\left(x\right)}"

All in all: great job!

<comment><USER10> Augh yeah I'm annoyed every time I try Ctrl-E to jump to the end of the line and it doesn't work.

\sqrt{\left(x\right)} is LaTeX. What would you prefer it to copy-paste as?

</comment></comment><comment><USER11> Really awesome. I wonder which JS library is used for the plotting itself ? Is it made by you guys ? Is it open source ? Thanks and keep on with the good work !

<comment><USER2> We just use canvas for drawing. SVG is tempting because it would help with things like figuring out which curve a user clicked on, but we've been disappointed by SVG performance and cross browser differences every time we've tried it.

</comment></comment><comment><USER12> Awesome. I created a HN account just to upvote this.

</comment><comment><USER13> iPhone app:

Desmos Graphing Calculator by Desmos [https://appsto.re/us/Kl-8M.i](https://appsto.re/us/Kl-8M.i)</comment>


Scoble: I'll go down with the ship - <AUTHOR> http://www.wired.com/epicenter/2012/02/commentary-winer-scobleweb/?intcid=postnav oliverdamian

<comment><USER2> This article is helping me validate my theory about someone's opinion about Facebook as a litmus test for how disconnected from regular people they are.

Dave Winer doesn't like Facebook (totally valid opinion).

Dave Winer doesn't like how centralized Facebook has become for people and events (also a totally valid opinion).

But according to Dave Winer, he can't even understand why someone would use Facebook: _"So Scoble, you can go enjoy whatever it is you like about Facebook. I can't imagine what that might be."_

This strikes me as someone with a complete lack of understanding for how people use the internet. I see this increasingly, as people not only harbor negative opinions about certain aspects of technology, but can't even comprehend a world in which users actually like using these services.

I'm frightened that people ostensibly involved in the technology industry can possess a chasm this deep between their own model of how things should be and reality.

<comment><USER3> A great thought, there.

I've had too many conversations with people who seem determined to _not_ see value in Facebook. Suggesting that sending out a group e-mail is just as good as a Facebook event. Or that e-mailing out a link to your private photo web site is as good as uploading to Facebook.

It isn't. And these are sensible people. They just seem utterly unwilling to even try out a web site they've already decided that they hate.

<comment><USER2> Yeah, I wasn't being facetious, I do actually find it concerning.

I worry that as the internet continues to expand out into society, and more and more muggles make up the userbase; technology people will become more and more confused by what the internet is becoming. And I see that blind spot becoming dangerous as it relates to people's ideas for startups or technology improvements. We'll be designing the technology to power a world we don't understand, and that isn't good for us.

And make no mistake, we absolutely won't be able to keep the internet in the shape we've become accustomed, no matter how much we might wish to.

<comment><USER4> So you think the direction the world will take should be decided by the masses? This is a valid wish, but don't you think people should try to educate and persuade the masses? Point out something that they might have overlooked in their infinite wisdom :) ?

<comment><USER2> No, no. What I find troubling is our belief that the internet will progress in the way it "should" (based on our beliefs) rather than the way it absolutely will (based on a way of increasingly replacing higher friction interactions/services with ones of lower friction in an effort to make a crap- ton of whatever arbitrarily agreed upon currency we're all using at that point).

I cringe at the thought of anything being decided by the masses, with their existing track record of music, movies, food, art, social mores, etc. I just think we need to realize that at some point the internet will outgrow the terrarium we've created for it, and at that point it won't be ours anymore. And in the grand scheme of things, that's probably a good thing.

But if your entire belief system is predicated around the idea that you'll be able to keep it inside that terrarium forever, I'm going to be really hesitant to put much weight in your thoughts on technology.

<comment><USER4> So a technologist should always go with the flow? Accept the inevitable? If Western society is in desperate need of anyone, it's not someone who can see where we're headed (we have plenty of those), but someone who's not willing to accept the inevitable (if it is indeed so). We need more rebels!

Though I must confess my ignorance here as I have no clue whatsoever as to who this Winer person is, or who's Scoble for that matter, so I'm not quite sure who it is that I'm defending, but I guess I'm defending the principle.

<comment><USER2> I have no disagreement with your position. What I'm trying to articulate (and I think I might be failing at), is that there's a difference between arguing against something incredibly successful because you have a bunch of valid reasons why it's a bad idea, and not being able to understand how anyone could possibly like using the thing you dislike.

The latter position will almost certainly lead you down a path of ruin as you try to make your living with technology.

If you worked for a book publisher who couldn't even conceive that people might like ebooks, couldn't fathom why anyone would ever want to read a book on a digital screen, for any reason, you'd quit (I hope).

Not someone who thinks paper books are superior because of the way they feel, or that they don't have DRM, or that you can share them, lend them, resell them, collect them. Those are valid reasons to prefer paper books.

But if you work in the book industry, and honestly can't understand why anybody would ever want an ebook, you're not someone whose opinion about the nature of the book industry I value.

As to who these people are, Dave Winer is a technologist who played a very important roll in making RSS a thing (and he wants to make sure you remember it...for all of eternity), and Robert Scoble is a technoloblogger (he writes about a lot of services/apps from a user perspective) who never met a social networking site/iPhone app/ that let him promote that he didn't like.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Hear, hear! ([http://unbecominglevity.blogharbor.com/blog/_archives/2008/1...](http://unbecominglevity.blogharbor.com/blog/_archives/2008/11/10/3970914.html))</comment>


BGP super-blunder: How Verizon sparked a 'cascading catastrophic failure' - <AUTHOR> https://www.theregister.co.uk/2019/06/24/verizon_bgp_misconfiguration_cloudflare/ <comment><USER2> I was interested to find out which steel mill, since they are almost non- existent in Pittsburgh these days, but this is about Allegheny Technologies, headquartered downtown, which owns a number of mills and specialty metals businesses scattered around.

There is some steel produced around here still but it's nothing like the old days. The gigantic J&L plant was still in operation when we drove my brother to Carnegie Mellon.

<comment><USER3> I was also interested to find out which one, given that I'm from Pittsburgh. Turns out that that this is what Allegheny Ludlum is called these days; they pay my grandpa's pension, and several other relatives worked for them for a very long time as well. And today, I work for Cloudflare, though not on any of the stuff that was involved here. It's a small world.

</comment></comment><comment><USER4> Related HN discussion about the incident from June [https://news.ycombinator.com/item?id=20267790](https://news.ycombinator.com/item?id=20267790)

</comment><comment><USER5> Tangentially related to Verizon: I lost Verizon cell and cell data service (along with my cable internet through a different provider) this weekend when a construction crew accidentally cut a fiber line.

I had not realized that literally all modern communications were flowing through a single point of failure. It was a surreal experience.

<comment><USER6> Yeah, redundant lines are expensive.

Even multiple lines to the same DSLAM were considered expensive back in the day... so if you sliced a single line, you're SOL.

</comment></comment><comment><USER7> If you were the sys admin at that stell mill and you come into the office on that day. What would be different?

<comment><USER8> You'd essentially be DDoSed. The internet wouldn't work, and your firewall logs would show that you're being flooded with inbound traffic. The firewall would probably be dropping the unsolicited inbound traffic, so internally you shouldn't see any impact.

Unless as part of the misconfiguration that caused this, the firewall also thinks it knows how to route traffic to the affected prefixes, in which case it would be accepting the traffic and routing it, in which case segments of the internal LANs could be flooded too.

<comment><USER9> More than likely this wouldn't even hit their firewall. BGP misconfigurations generally occur on the router(s), in front of their firewalls, that connect to the upstream providers. Packets come in one connection and go out the other because you're now the shortest path from A to B.

</comment></comment></comment><comment><USER10> Odd how often Verizon's name comes up in these periodic stories about mass mis-routing of internet traffic.

<comment><USER11> Part of this is Verizon's poor practices, and part of it is Verizon is a major transit provider; if a routing leak affects a large amount of the internet, it's almost certainly because a major transit provider accepted the announcement and propagated it.

</comment></comment><comment><USER12> BGP filters fix this. Only accept routes from customers for IP space that they control.

I imagine Verizon has some sort of webUI with bad defaults (no filter) so that their helpdesk can setup new customers - Hanlon's razor being what it is.

<comment><USER13> easier explanation is that they were doing troubleshooting and had removed the filter to do that.

<comment><USER9> In the early days, some upstream ISPs did _no_ filtering. You could announce anything.

</comment></comment></comment><comment><USER14> Thanks, this is why I'll never know if I actually fixed the WiFi. My girlfriend says I haven't.

</comment><comment><USER15> Steeling internet. Neat.

<comment><USER16> Forging the internet?

<comment><USER17> Metaling with the internet!

</comment></comment></comment><comment><USER18> not the first time and won't be the last time...

</comment><comment><USER19> so, who's going to get fined?</comment>


The United States of Mind: Researchers Identify Regional Personality Traits Across America - <AUTHOR> http://online.wsj.com/article/SB122211987961064719.html?mod=yhoofront#articleTabs_interactive-PERSONALITY08%26project%3DPERSONALITY08 <comment><USER2> Alaskans have no personality at all, it seems.</comment>