Serverless Docker Beta - <AUTHOR> https://zeit.co/blog/serverless-docker <comment><USER2> And so ZEIT, my favorite serverless provider, keeps getting better. Highlights:

\- "sub-second cold boot (full round trip) for most workloads"

\- HTTP/2.0 and websocket support

\- Tune CPU and memory usage, which means even smoother scaling

And all that for any service you can fit in a Docker container - which is also how you get near-perfect dev/prod parity, an often overlooked issue with other serverless deployment techniques.

On top of all that, ZEIT has one of the best developer experiences out there today. Highly recommend trying it out.

And for the perpetual serverless haters out there: this is not a product for you, FANG developer. I think people underestimate how well serverless fits for the majority of web applications in the world today. Most small-medium businesses would be better off exploring serverless than standing up their own k8s cluster to run effectively one or two websites.

<comment><USER3> I'm not a "serverless hater", but every company I've ever worked with had backend processes that were not tied to HTTP requests. I still keep actual servers around because the HTTP gateway is not the pain point. It's long- running processes, message systems, stream processing, and reporting.

That said, I look forward to the company (or side project) where "serverless" can save me from also assuming the "devops" role.

<comment><USER4> I think all that is still possible in Serverless. I'm not a serverless architect or anything, but that's typically handled by various serverless queues and related event systems.

<comment><USER5> Don't most serverless calls have a time limit?

<comment><USER6> Yes, but you typically build your functions to split up the work if necessary. (Create additional queued events)

</comment></comment></comment></comment></comment><comment><USER7> Am I the only one having problems to follow .gif "demos"?

When I get to the image, it is in the middle of everything and I don't really have an idea what is going on. Even watching it multiple times, I am not sure where it starts, ends, what the individual steps are.

Or is it because I just don't know enough about this stuff?

<comment><USER7> Oh, and to make this more than a simple rant/whine, some constructive suggestions that could possibly solve the problem:

\- Normal video with playback controls?

\- Add a clearly distinguishable "this is where it starts" screen.

\- Is there maybe a way to control playback of a gif via JS/HTML? Add a "restart" button.

\- Add a timeline into the .gif that shows where I am (similar to usual video player).

<comment><USER8> Make it a webm. Then you can right click from pretty much any browser and click "show controls". See Gyfcat.

<comment><USER9> You can view controls on GIFs in many cases as well, I believe.

Also, nobody seems to make use of these features, but GIFs do not have to loop, nor do they have to loop by going back to the very beginning of the animation as well. In particular, I find it extremely ineffective where there are GIFs that only show a "final product/scene" for like 1 frame before looping back to the beginning.

<comment><USER10> > You can view controls on GIFs in many cases as well, I believe

I don't think that's true.

Twitter and imgur do convert gifs to mp4, and you can see controls there, but that's because they're not gifs.

Do you have a citation or example of controls on actual gifs in any commonly used web browser?

<comment><USER9> Yea I am probably mistaken, this is likely gifv

</comment></comment></comment></comment></comment></comment><comment><USER11> Yep. Pretty soon. You write code. You create a docker file. You find a place to run the docker file with your code [cheapest!]. Run it through your tests. Monitor it. The end. No vpcs,salts, puppets, sshs,chefs, horses,anisbles, cats,ec2s,devops,noops, sysadmins, kubernetes or chaos monkeys required.

<comment><USER12> Until you discover that the thing you are building requires more than a single application running in a single container and you end up building an entire "Operating System" around your containers and the circle starts all over again.

Complexity is hardly ever in the solution, but mostly in the problem. Single solutions to complex problems often ignore/forget important parts of the problem and they come back to bite you, hard.

<comment><USER13> I don't know... My experience is the other extreme - tech teams that make everything super complicated to support everything that can possibly happen. As a consequence, the it environment requires six months of experience to even understand. It's really not very fun to work in those environments. Lots of unnecessary complexity.

<comment><USER14> Yup. I've seen this

\- customers who insist every package has to be installed in some special place because /opt is 'reserved'

\- have to have non-standard ports for everything because it might slow down attackers

\- have to have an Apache proxy in front of everything, always - even internal components. 'Cos.

\- won't invest in trusted SSL certificates for internal services.

\- every sql query has to be wrapped in a stored procedure - no exceptions.

... list goes on

<comment><USER15> There is actually a reasonable arguement for the stored procedure one. It means you can have different permissions for tables as you do for stored procedures so your application doesn't have permission to directly query your passwords. The benefit there is if an attacker gains access to your application and/or the DB authentication credentials they cannot then export users passwords or other sensitive information.

<comment><USER16> Seems more efficient to me to use column-based permissions in this case, and create stored procedures for the queries you need to interact with the "sensitive" columns.

That of course does increase (dba) administration overhead, but it seems on it's face simpler and far more "programmer efficient" than storing every single query as a stored procedure.

<comment><USER15> It's a difficult thing to generalise but if you have a pretty large or complex application and DBA (or several) then it does sometimes pay to have your DBAs write the SQL because it's a different enough paradigm from normal backend development that not all backend developers are skilled at writing perfomant SQL. However few applications are that complex, not all businesses can afford a dedicated DBA team, and there are clearly a lot of very talented developers who can turn their hand to multiple different stacks. So it's a difficult thing to generalise.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Looks great for basic websites but it's missing the biggest and most difficult piece of cloud infrastructure. The DATABASE!

Today you'd have to open up your cloud DB provider to the world since Zeit can't provide a list of IPs to whitelist. This is a showstopper for me unfortunately.

<comment><AUTHOR> Most databases are quite unfit for the serverless world that's becoming a reality, where the needs shift towards global replication, flexible horizontal scalability (sharding) and vertical (provisioned QPS).

We like and use CosmosDB because it fits this criteria. We anticipate that Google Spanner, CockroachDB and similar databases will become the go-tos in combination with ZEIT Now.

<comment><USER18> So what do most of your current customers do for data storage? I mean, I doubt they all use CosmosDB? (simply because it's not particularly mainstream)

<comment><USER19> We don't have insight on what our customer's use mostly.

We use existing technologies. Anyone can use any cloud Database service. We've datacenters on San Fransisco and in Belgium. So, based on those users can choose where they need to deploy their DBs.

Usually we recommend to configure databases via env variables. Users can also use our [now secrets]([https://zeit.co/docs/getting- started/secrets](https://zeit.co/docs/getting-started/secrets)) service as well to avoid hard-coding secrets.

</comment></comment></comment></comment><comment><USER20> Shout out to the RCE I found in the zeit.now deploy button:

[https://github.com/zpnk/deploy.now/issues/27](https://github.com/zpnk/deploy.now/issues/27)

Hopefully someone from Zeit reading this can get my fix merged, it seems to be quite a popular service

<comment><AUTHOR> This is not supported nor maintained by us. Thanks a lot for bringing it to our attention. We will do our best to reach out!

<comment><USER20> Sure, but I reached out nearly a year ago to the maintainers with no reply. It seems anyone can now execute anything on your infrastructure (for free!), which isn't great.

<comment><USER21> That's the case already: anyone can sign up for a free Zeit account and deploy code (wrapped in a Docker container) that then executes on Zeit's infrastructure.

<comment><USER20> And now someone can do it without signing up, using someone else's account, possobly disabling a widely used and quite cool service.

</comment></comment></comment></comment></comment><comment><USER22> > "A very common category of failure of software applications is associated > with failures that occur after programs get into states that the developers > didn't anticipate, usually arising after many cycles. In other words, > programs can fail unexpectedly from accumulating state over a long lifespan > of operation. Perhaps the most common example of this is a memory leak: the > unanticipated growth of irreclaimable memory that ultimately concludes in a > faulty application.

> _Serverless means never having to "try turning it off and back on again"_

> Serverless models completely remove this category of issues, ensuring that > no request goes unserviced during the recycling, upgrading or scaling of an > application, even when it encounters runtime errors.

> How Does Now Ensure This?

> Your deployment instances are constantly recycling and rotating. Because of > the request-driven nature of scheduling execution, combined with limits such > as maximum execution length, you avoid many common operational errors > completely.

Somehow this sounds very expensive to me (like restarting Windows 2000 every hour just to avoid a BSoD, except that here it's not that time consuming a process) and seems to leave aside caching, state management and other related requirements on the wayside for someone else to handle or recover from.

Or it's likely that I've understood this wrong and that this can actually scale well for large, distributed apps of any kind. Sounds like magic if it's that way.

<comment><USER23> Really brings to mind that Rasmus Lerdorf quote:

> I'm not a real programmer. I throw together things until it works then I > move on. The real programmers will say "Yeah it works but you're leaking > memory everywhere. Perhaps we should fix that." I'll just restart Apache > every 10 requests.

<comment><USER24> It's funny when I was reading this part of the article I thought "that sounds exactly like how PHP works!"

</comment></comment></comment><comment><USER25> Awesome! While I was at AWS Summit in NY, I asked a round circle of AWS ECS/EKS users (Container orchestration products) about thoughts on a Docker container service that could execute like a FaaS product and there seemed to be none anyone knew of. I have a portion of a legacy application that's used infrequently and too costly to decompose but works fine Dockerized.

Looking forward to using your product!

<comment><USER10> I'm amazed no one knew of one. Off the top of my head, services which let you run docker containers without dealing with any servers yourself:

1\. AWS Fargate

2\. Joyent Triton (which was as simple as DOCKER_HOST=<joyent-ip> docker run back in 2015)

3\. hyper.sh (available since 2016 I think?)

4\. OpenFaaS cloud (though you have to go through a couple more steps, you can bring a custom docker image as your 'function').

5\. A metric ton of hosted kubernetes offerings

<comment><USER26> Also ACI (Azure Container Instances)

</comment></comment></comment><comment><USER27> I'm confused about pricing. I come from using AWS Lambda, where you pay for the amount of memory allocated for your function, how many times it runs and how long each run is.

Looking at Now, it looks like you are billed by the 'plan' that you choose, and that decides how many deployment instances you are limited to. What does a deployment instance mean for something that is 'serverless'?

EDIT: Whoops, I see that there are 'on demand' prices for deployment instances too--now I just need to figure out how deployment instances map to serverless.

</comment><comment><USER28> So I've been messing with Fn + Clojure + Graal Native Image and I'm seeing cold start times around 300-400ms and hot runs around 10-30ms. TLS adds something like 100-150ms on top of that. I was excited about seeing improved docker start times, but it seems like you guys are pretty much at the same place I am with it.

Here's my question, being relatively ignorant of Docker's internals: _is it possible_ to improve that docker create/docker start time from 300-400 ms (all in) to <100ms? 300-400ms is kind of a lot of latency for a cold boot still, and people still do things like keepalive pings to keep functions warm, so it would be pretty great to bring that down some more.

<comment><USER29> There are a lot of low- and medium-hanging fruit in this space.

I take the view that there is a "warmth hierarchy" (an idea I spitballed with other folks in Knative before Matt Moore took it and filled it out a lot).

You have a request or message. You need to process it. The hierarchy runs CPU > Memory > Disk > Cold.

CPU-warm: immediately schedulable by the OS. Order of nanoseconds.

Memory-warm: in-memory but can't be immediately scheduled. Our reference case is processes that have been cgroup frozen. Order of tens of milliseconds.

Disk-warm: the necessary layers are all present on the node which is assigned to launch the process. Order of hundreds of milliseconds.

Cold start: nothing is present on the node which is assigned to launch the process. It will need to fetch some or all layers from a registry. Order of seconds to minutes.

Some of these problems can't be solved by Kubernetes (it doesn't know how to freeze a process), some of them can't be solved by Docker (it doesn't know about other nodes that might have warmer disk caches). Then there's the business of deciding where to route traffic, how to prewarm caches and based on what predictive approach, avoiding siloisation of processes due to feedback loops.

As these are knocked down they will pay dividends for everyone.

</comment></comment><comment><USER30> So this is different from running docker containers on heroku because heroku has 1 to n autoscaling but not 0 to n?

What are the other fundamental differences?

<comment><USER25> It's actually pretty similar to the Heroku free tier dyno "sleep" till there's a trigger, but it's stateless.

Different pricing, different ways of conceptualizing but from a user perspective that's a pretty good comparison.

<comment><USER31> > it's stateless.

Can we use "stateless" instead of "severless"? That seems like a better term.

</comment></comment></comment><comment><USER32> I am already running an API service on Zeit now using a golang container that adds the binary and a csv file to a scratch image and re-reads the csv on each request (all requests take less than 0.3 seconds so i have not optimized).

Currently I have to make sure to set min instances to 1 on the 'production' version of the API and set min instances = 0 to older versions.

Will have to try before knowing for sure but I seems like switching to serverless docker would mean I don't have to make the distinction between 'old production' and 'new production' anymore and keep servicing requests to very old versions of my API without an expensive (7 seconds) cold boot.

Nice!

<comment><USER19> You can alias your deployment and try to add a scaling rule to the alias.

So, you don't scale up and down as you deploy. Once you call the `now alias` it'll take care of the scaling.

</comment></comment><comment><USER33> Finally, I can have left-pad as a service.

</comment><comment><USER34> I did not play with it, but this actually looks pretty cool. The documentation seems to be sane/good quality.

A few questions: How would one coordinate between multiple nodes running an app? (scenario in which the nodes cooperate to find each other. is there some sort of discovery available?) For the docker case, does it support health probes? (how you you know if the app is healthy?)

<comment><AUTHOR> For the duration of the warm phase (i.e.: while the process is running), we ascertain healthfulness via `SYN` packets as a baseline.

Because you give us your code under the constraint that it will expose data over a port, we have a much better safety baseline than stock schedulers, that operate under the assumption that the process describe by `CMD` is a black box.

We will describe this in more detail in coming weeks. One of our priorities is to minimize the cognitive load on the developer necessary to run a healthy service at scale.

</comment></comment><comment><USER35> This is truly amazing and has so much baked in I find myself wanting to use it. However most apps my team and I work on require some form of persistence - uploads, log ins, API rate limits, etc. These scenarios don't fit well with the serverless world. It is technically possible to offset most of this to S3, a hosted NoSQL and perhaps even a service for dealing with a images/thumbnails. By that time your monthly bill is in the three digits, though. For a big web shop this is fine but your average freelancer with multiple smaller and finite-resource projects it's something to consider carefully.

</comment><comment><USER36> > Serverless

> A new slot configuration property which defines the resource allocation in > terms of CPU and Memory, defaulting to c.125-m512 (.125 of a vCPU and 512MB > of memory)

Sure sounds like needing to be concerned about the hardware. That feels like a leaky abstraction that the serverless design pattern claims or appears to take care of, but seems like it doesn't in practice. Is "serverless" the right level of abstraction? I'm not sure.

<comment><USER19> Whether it's serverless of not choice of hardware is very important.

For an simple web app, you might not need special CPU and Memory requirements. But for a video encoding/decoding serverless app may needs different CPU/Memory requirements (and GPU).

That's what this `slot` configuration property does.

The default is good enough for all the general purpose apps. But if you need more, you can control it.

<comment><USER36> I agree that one-size-fits-all doesn't work with hardware requirements, but I still think this is a leaky abstraction. The promise of Serverless is not having to care about servers, but this is an option to specifically control that. A better abstraction would auto-optimise hardware spec for the software's performance characteristics - that would be much more "serverless".

</comment></comment></comment><comment><USER37> Great announcement.

This development was inevitable, especially since most Functions-as-a-service infrastructure was really docker (or some other) containers running in the background, spinning up on demand using a pool of servers. Azure Container Instances launched last year, and now Google Cloud Functions has serverless containers in alpha, along with the serverless addon for GKE/Kubernetes, and there should be a good bit of announcements this year as other providers follow.

The max time limits still seem pointless to me, there should be an option for unlimited uptime so the full spectrum of ephemeral function to entire app can be managed and deployed using a single flow.

</comment><comment><USER38> Serverless n00b here: I'm just playing with serverless Rust, via Apex, which works great so far.

Why would I want to switch to this? What are pros/cons of having Docker in there?

<comment><USER39> You don't need a shim on top of Rust. You can run your docker image anywhere it is supported, like Heroku for instance…

</comment></comment><comment><USER40> There is no 'hype' word in history I hate more then serverless. I was fine with microservices and all those other hype words but serverless is terrible.

<comment><USER41> mind elaborating a bit?

<comment><USER40> There are still servers involved. Serverless sounds like its peer to peer. What it really is is VM less.

<comment><USER42> Well, as a developer I don't need to concern myself with servers, so in a way the term is fitting.

<comment><USER40> The interface it gives you is the functionality that the server provides. A server does not mean 'operating system'. you don't have to deal with the OS, but you still have you app running on the server.

</comment></comment></comment></comment></comment><comment><USER43> A couple of questions for Zeit:

1\. Once your docker container is built, am I paying to store it on Zeit?

2\. How is a Dockerfile versioned? Can I update it? Or do I need to redeploy.

3\. Is pricing for containers granular by time or per request to a container?

4\. How can these Dockerfiles talk to each other? Is there an API or method to fetch specific url's for each container?

Looks like a great idea, am curious to try it out sometime.

<comment><USER19> > 1\. Once your docker container is built, am I paying to store it on Zeit?

No. You don't need to pay to store containers.

> 2\. How is a Dockerfile versioned? Can I update it? Or do I need to redeploy

Once the Dockerfile is built, you'll get a URL for that. It's a immutable URL and you don't need to re-deploy again. It'll sleep if there are no HTTP requests. If there are it'll start again.

> 3\. Is pricing for containers granular by time or per request to a > container?

It's based on the container running time. But we'll have a another blog post on this soon with more info.

> 4\. How can these Dockerfiles talk to each other? Is there an API or method > to fetch specific url's for each container?

There's no internal API to communicate with each other. But every docker container has a URL. You can use our [alias]([https://zeit.co/docs/features/aliases](https://zeit.co/docs/features/aliases)) feature and communicate with each other via HTTP.

</comment></comment><comment><USER26> This is more of a question to @rauchg and others who have used now one. When I use now within the AWS realm, are the AWS services when used in conjunction with Zeit Now containers subjected to ingress/egress costs? As it does sound like I am using a different cloud as far as AWS is concerned

</comment><comment><USER44> Is there support planned for using this in combination with docker-compose? If so would be sweet to see this integrated with Prisma - [https://www.prisma.io/](https://www.prisma.io/)

</comment><comment><USER45> How can something be serverless if it habdles http requests? Does it just process requests and never serves responses, or is it just a hip-sounding misnomer?

<comment><USER46> Long story short, there's a server somewhere, but most of the configuration is abstracted away. Instead of thinking of servers, they want you to think about endpoints (which they manage somewhat efficiently for you).

</comment></comment><comment><USER47> My biggest concern with serverless is pricing. How does it fare when compared to regular Docker hosting and vps hosting?

<comment><AUTHOR> We will be announcing very clear pricing when it goes into GA. Needless to say, serverless makes for a much much cheaper (and robust) operation than VPS and traditional clusters.

</comment></comment><comment><USER48> My biggest problem with serverless functions is development and testing. Can I run these locally? even better offline?

<comment><AUTHOR> As we mentioned in the blog post, there is _zero difference_ between a `Dockerfile` you execute locally and one that you give to us.

[One of the differences is performance. You'll find that we can build and execute much more quickly :)]

There are many examples here: [https://github.com/zeit/now- examples](https://github.com/zeit/now-examples)

<comment><USER49> So, I'm not running the same docker image, just something somewhat similar built from the same Dockerfile?

<comment><USER19> > something somewhat similar built from the same Dockerfile?

Yes. We build the container based on the Dockerfile.

</comment></comment></comment></comment><comment><USER50> What magic will they come up with next? Sheesh. Cool stuff, looking forward to having some time to play with it all.

</comment><comment><USER41> Documentation is good. Post is informative. Interesting indeed.

</comment><comment><USER51> I've never been more excited about a cloud platform than I am about Zeit/Now. I wish you offered stateful volumes or key value stores or something where I can persist my data so I can keep all of my stack on Zeit.

<comment><USER39> I suggest you use something like DynamoDB, it fits this paradigm quite well.

</comment></comment><comment> fake-name "Serverless"

So where do your functions execute?

<comment><USER52> I think "serverless" doesn't actually mean no server (a distributed system, like Dat); it means "don't worry about the server; we'll take care of it for you".

…or maybe that's "Cloud".

Is there a clear explanation of what "serverless" means, and how it's different from "Cloud", suitable for semi-technical non-developers?

<comment><USER53> From what I understand, "Cloud" basically means that you still have to deal with servers, whether they be VMs or physical devices, but all of the networking and loadbalancing aspects are abstracted away. "Serverless" takes it a step further and makes it so you don't even have to deal with setting up VMs, you just give the provider the code you'd normally run on a host, and they'll automatically handle all of the infrastructure stuff, like spinning up extra hosts under heavy load.</comment></comment></comment>


Hackers, do you think this startup can beat/compete with Amazon? - <AUTHOR> Hey everyone,
I'm working on a startup that allows people to order products online and pick them up within an hour at the stores they want, e.g. Best Buy, Target, Walmart or Apple Store. It's much better than shipping, because it's free, faster, and returns are easier. Also it is a competitive adventage that Amazon cannot match, for that reason I think we can beat them.
All the user has to do is place an order and set where to pick it up, is kind of Amazon with Uber. The startup is currently available in San Francisco, New York, Boston and Chicago with over 70 stores. But I have to say that it's working more like a MVP than as a truly developed product, due the lack of a technical founder.
What are the stores I am working with and how are they distributed?
- San Francisco (9 stores) : 3 Apple Store, 2 Best Buy, 4 Target - New York (33 stores) : 9 Apple Store, 13 Best Buy, 11 Target - Chicago (24 stores) : 2 Apple Store, 6 Best Buy, 12 Target, 4 Walmart - Boston (11 stores) : 2 Apple Store, 4 Best Buy, 5 Target
I take this opportunity to say that I am looking for a great hacker/CTO/co-founder to take it to the next level. Once I get the co-founder I'll apply to YC. Please consider that I'm not a developer, so I think we can complement our skills well.
If you're interested feel free to hit me up at email@example.com for any question you have, equity will be agreed between us :)
Cheers <comment><USER2> I have to ask, and if you have solid answers I think you can compete:

Why would someone choose you over just going to BestBuy.com and buying the product for in store pickup?

And why would they choose you when prime now is (I believe) available in those same cities with <= two hour delivery? Which also means no time / gas spent going to the store.

<comment><AUTHOR> Thanks for replying!

First question: Because on our startup you can see not only the prices of Best Buy, but also the ones of Apple, Target and Walmart for the same product in the same website, you don't have to visit store by store anymore.

Second question: Pickup is just the beginning, our plan is to allow your order to be shipped from the store you choose, using on-demand delivery networks like UberRUSH or Instacart, or also let the user schedule an uber once his order is ready to be picked up.

The participation of physical stores open a new world of opportunities, with this principle, we can even fulfill orders worldwide without international shippings.

<comment><USER3> Sounds bad. So instead of paying shipping, I have to ship myself to the store and back.

<comment><AUTHOR> "Pickup is just the beginning, our plan is to allow your order to be shipped from the store you choose, using on-demand delivery networks like UberRUSH or Instacart"

</comment></comment></comment></comment><comment><USER4> A lot depends on your margin and CAC.</comment>


L.L. Bean dropping unlimited returns policy - <AUTHOR> http://www.fox25boston.com/news/ll-bean-dropping-unlimited-returns-policy/697033520 <comment><USER2> _> imposing a one-year limit on most returns to reduce growing abuse and fraud._

All humane social institutions rely on the ethical behavior of participants. On the public side, for example, you can only have a welfare state if your average citizen will only use it in an emergency.

As solidarity dissolves in the modern international and multi-cultural capitalist system, circles of social trust will shrink, so small things like this will continue to be optimized out of existence.</comment>


The Darwinian Evolution of Photoshop [Infographic] - <AUTHOR> http://www.testking.com/techking/infographics/darwinian-evolution-photoshop/ What does a top notch graphic designer have in common with an amateur photographer who uploads his weekend pictures on Facebook? Well... they both love Photoshop, that's what they have in common! This brilliant Adobe product is geek's darling for almost two decades so we're starting the Tech King Infographic series with something that I personally want to hang over my bedroom wal <comment><USER2> I don't think the blogger pulled this one off well.

S.J. Gould did a far better version: <http://www.monmsci.net/~kbaldwin/mickey.pdf>

I believe that PDF comes from a book of Gould's, but I recall an article in "Nature" or "Scientific American" sometime in the late 70s that made the exact same point.</comment>


Java.next() - The Groovy Programming Language - <AUTHOR> http://batsov.com/2011/05/06/jvm-langs-groovy.html A brief analysis of the Groovy Programming Language <comment><USER2> I used groovy to build an internal app that worked with subversion, jira, and a local sqlite db this week and it was so much fun. It was so productive that I decided to put a web ui on top of the core app. Rather than use grails I used groovlets with the built in HTML builder. My favorite line of code had to be:

table{ myMap.each{k,v-> tr{ td k; td v;}}}

that turned myMap into a HTML table.

<comment><USER3> That's pretty slick. I've pretty much always stuck to Grails when doing Java web stuff, but Groovelets may get in my bag of tricks some day.

</comment></comment><comment><USER4> (Also posted as a comment on the blog:) Groovy would have won the "Java.next" title by now if they weren't so stubborn about being a dynamic language. If they invested half the effort they've put into "IDE-time" static type inference/type checking in Eclipse/IntelliJ (so that programmers can still get the warm fuzzies of auto completion) into building static type inference/checking into the language itself, I think they'd have seen much wider adoption.

This is basically what the guy behind groovy++ has done, but, from what I've heard, they basically told him several years ago that they had no interest in taking the language in a static direction.

This sucks because, in IMO, 90%+ of the calls in a Groovy program can be statically dispatched just like regular Java. Sure, duck typing is useful in a few places, but those few places shouldn't mean my entire program has to be dynamic.

Groovy has an awesome syntax, awesome compile-time AST transformations, etc.-- but a dynamic language, in enterprise environments at least, will not be Java.next. Scala is maturing, and Groovy's window of opportunity is quickly closing (or already gone).

</comment><comment><USER5> I've been building the web app I'm working on completely in Groovy, and running it on Google App Engine. I'm quite happy with my choice to switch over to Groovy from Java. There are 3 main features of Groovy that greatly speed up my productivity as compared to coding with Java.

1\. Closures - items.find { it.name == 'groovy' } is much easier than looping.

2\. Language support for collections - Maps can be declared like: [key:'value'], and lists can be declared like: [1,2,3].

3\. Easier handling of nulls - The "Elvis Operator" can be used to specify defaults like: (item ?: "defaultvalue") and the safe navigation operator will return null rather than throwing a NullPointerException when doing something like this: (item?.address?.street).

</comment><comment><USER6> As much as I've enjoyed writing Grails apps and Groovy scripts, what I don't like about groovy is that it comes with a large runtime jar and its binaries are not really usable from java projects without API uglyness.

I wish Java had been designed with the same multi-language philosophy that .NET has had from the get go. Binaries produced in any language in .NET don't give any clues to what the language the binary was implemented in. For example, if your writing something using VB.NET and working with a library that was implemented in C# there really isn't any evidence that this is the case and the signatures look the same.

<comment><USER7> But that's mostly because VB.Net and C# are isomorphic, it's the same language with different syntax.

I remember reading about the first versions of Eiffel on .Net. That gave the impression that unless you put a lot of effort into your language, it will probably be just a variant of C#/VB. The first versions of Eiffel for .Net lacked multi-inheritance and I think DBC was crippled somehow too. :-/

<comment><USER8> I don't think that's quite true. F# is very different to C# and VB but still very well supported.

<comment><USER7> It's mostly because of the effort the F# team put in.

It's not inherent to the run-time and libraries. IMHO.

</comment></comment></comment></comment><comment><USER9> Unrelated, but something is up with the encoding on your site (or the quotes used), and it makes it terribly hard to read and comprehend anything. (win7/ff4)

Screenshot: <http://i.imgur.com/6lKfw.png>

<comment><USER10> The article is using unicode quotes (\x92 and \x93.) You can just switch the character encoding used by Firefox in view > char encoding to UTF-8 and it renders fine.

Chrome reads it as UTF-8 without prompting, I'm curious why that isn't the same in Firefox.

<comment><USER11> It identifies itself as UTF-8 in the XML header, but is sent without the XHTML content-type so that's ignored and the encoding is ambiguous. (If it were sent as XHTML it wouldn't render at all, since it has an XML error.) The author should probably correct this.

</comment></comment></comment><comment><USER12> If only there was a language at Java's tooling and speed with Groovy's syntax and the perceived startup-time of Ruby and Python.

<comment><USER13> Instead you get a language at Java's startup time with Groovy's syntax, Ruby's speed and Go's tooling.

<comment><USER14> Why so snarky?

Groovy's syntax is so close to Ruby's you can barely tell them apart sometimes, and its tooling as pretty good, certainly way better than what I believe is available for Go.

</comment></comment></comment><comment><USER15> I can't help but be weary of anything advertised as "Enterprise ready"

</comment><comment><USER16> > There is also the fact that the JVM(currently) doesn't have support for > dynamic memory dispatching which is feature vital for dynamically typed > languages to get a decent performance.

Can someone explain what "dynamic memory dispatching" is? Is it perhaps better known under a different name? (Google is no help.)

<comment><USER17> I think he's talking about the issues that JSR-292 (the invokedynamic bytecode) addresses.

</comment></comment><comment><USER18> The company I work for tried incorporating Groovy into several of our projects, but we started getting random permgen JVM crashes as a result. I believe this is due to the large number of classes it creates behind the scenes. This left a bad taste in peoples' mouths and unfortunately groovy will now be a hard sell.

Edit: Yes, we increased the permgen size and whatnot, but the outages it caused just left people with an unfavorable view of groovy. Which, as I said, is unfortunate, because I think it's pretty cool.

<comment><USER19> Any reason you didn't just increase the permgen size on your JVM? It's hardly just a Groovy issue.

</comment></comment><comment><USER20> My favorite approach to using groovy in projects is with the groovy compiler plugin for maven. Compile and bundle the resulting byte code. All you have to remember is too bundle the groovy runtime and remember how groovy interacts with Java natively.

The one thing that disturbs me about groovy is that overloaded methods seems to only be signature checked at runtime, which results in an exception when invoked with the wrong parameters - not a compiler error.

</comment><comment><USER21> I'm sorry if this is ignorant, but why Groovy and not sure other language that can run in the JVM? (Also, how much longer will the name "JVM" stick?)

<comment><USER8> It's not just Java and Groovy. I've managed to write a "Hello World" app using 6 different JVM languages:

[https://bitbucket.org/puffnfresh/hello- jvm/src/f78a6a2312ae/...](https://bitbucket.org/puffnfresh/hello- jvm/src/f78a6a2312ae/src/)

Interoperability is actually very nice for most languages.

<comment><USER21> Right, that's my point. Why is Groovy "java.next()" and not one of the other many languages that run in the JVM?

edit: Maybe I've misinterpreted the headline to mean more than it should.

<comment><USER22> Groovy is different to Scala and Clojure, the other two languages in that blog series, in that Groovy uses the Java classes whenever possible, and isn't intended to run on the CLR. Scala and Clojure were both intended to be dual VM from the start. Rich Hickey says the 'C' in Clojure is for CLR and the 'j' is for JVM. Scala and Clojure have their own collection classes runnable on either VM, while Groovy is JVM-bound.

And of course Python and Ruby do it differently, having J- and Iron- implementations, each at different versions to the primary implement and each other.

<comment><USER23> I believe the .net versions of both scala and clojure are rarely used and not a main focus.</comment></comment></comment></comment></comment>


Questions for in shape hackers - <AUTHOR>

I've been trying to get in better shape and I've been doing 100 crunches, 50 wide grip push ups, 50 narrow grip push ups, and 3 sets of curls 5 times a week. I'm also running 3 miles twice a weeks for my legs. My goal is to gain muscle. Do you think this is a good regimen. Thanks! <comment><USER2> Any regimen is (usually) better than nothing. So, great start! If your goal is to gain muscle, however, I'd change a few things.

1\. I don't go jogging (very much) when I'm shooting for muscle gain. The reason is that it wears down my joints and this results in poorer performance when I lift. In addition, you want to avoid burning calories when you're trying to gain muscle (especially during a recovery period).

2\. Crunches will more likely hurt your back than help you make meaningful gains. If you're doing push-ups and squats correctly and in good quantity, you're getting more than enough of an ab workout. They won't show up unless you cut body fat, anyways. You can work on that after you've put on a bunch of muscle, if that's your thing.

3\. Curls are mostly effective for biceps, but won't really help you make large muscle gains. If you're doing push-ups, you'll get both a bicep and tricep workout along with your chest.

4\. Improve your diet! Lots of lean organic protein, no crappy carbs or sugary snacks. Increase your caloric intake during weight training, especially during recovery days.

If you don't have access to a gym, the best exercises you can do for muscle gain are push-ups, squats, and pull-ups (buy a pull-up bar). These are the best for both muscle gains and quality of life - after perfecting my form on these exercises my posture/balance/strength have never been better.

When you're ready for the gym, there are a number of really simple but effective routines you can follow. Don't pick one that's too complex or it'll be tough to stick to. A common routine that makes the rounds is StrongLifts 5x5: www.stronglifts.com. It worked well for me (been at it for a year), but I'm sure it's not the end-all system. Heed the warnings on the site if you do it. Do NOT attempt squats and deadlifts with serious weight until you're sure your form is excellent. Take it slow.

</comment><comment><USER3> Actually it's a really good regimen. Not so sure about the curls. Depends on where you want to target I suppose. But to gain muscle you're going to have to lift heavy and to muscle failure with lots of rest, specifically squats and deadlifts. These exercises target the largest muscles and induce the most growth hormone production.

I've tried the 5x5 strong approach to lifts but haven't gained too much weight or muscle. But did get a lot stronger.

Personally, I've never been to into growing muscle. More into developing power and strength. For that I picked up power lifting and kettlebell training.

If pushups get too easy try doing one-arm pushups. One-legged squats (aka pistols) are also good. Best

</comment><comment><USER4> To be honest, 80% of your success in gaining muscle will come from what you eat. I cannot stress how important it is for you to eat healthily. I highly recommend you check out <http://nerdfitness.com/blog/> I have learned a lot from reading this website and it has really helped me get on the right track.

</comment><comment><USER5> Sounds great! Even better if you can squeeze in another run. For me, consistency is the key...whatever I can keep doing consistently is the most helpful. For legs the best things I've found are sprinting in sand and bike riding up long hills in tall gears. The more I beg for mercy in the morning, the better the code I write in the afternoon :).</comment>


Matt Cutts on How to Prevent Scrapers from Outranking You with Your Own Content - <AUTHOR> http://www.youtube.com/watch?v=4LsB19wTt0Q&feature=player_embedded

<comment><USER2> If this is a major problem, I would imagine site 'B' (the true originator) could actually embargo their new content until after Googlebot visits it, then open it to the public.

Combined with a few tricks to send Google to the newest content – fresh sitemaps, PubSubHubBub, links from any other pages Googlebot is currently visiting on the site – this probably wouldn't delay the release of the content to the human audience by very much.</comment>


Ask HN: Strong hacker == Strong coder? - <AUTHOR> <comment><USER2> Being good at hacking doesn't mean they can write clean maintainable code (in a team).

</comment><comment><USER3> I think strong hacking skills has it's time and place. Especially when testing the waters or creating proof of concepts.

</comment><comment><USER4> I don't know the answer but this doesn't need a question mark.

</comment><comment><USER5> I think so when he write exploits script or design hacking software</comment>


Trump beat Silicon Valley at its own game. Now it must prove itself - <AUTHOR> https://www.washingtonpost.com/opinions/trump-beat-silicon-valley-at-its-own-game-now-it-must-prove-itself/2017/10/16/a0160c36-af96-11e7-a908-a3470754bbb9_story.html <comment><USER2> No, he really didnt... (sorry, this article kind of makes a few ok points, but it fails miserably at giving a bunch of credit to Trump on something that shouldn't be given to him. Feels very clickbaity).

<comment><USER3> > _" Ironically, Trump used the tools of technology to win despite Silicon > Valley's overwhelming support for Hillary Clinton. It's almost as if Trump > bested tech leaders at the game they invented."_

That seems to be a key statement, and it's true, as far as I can tell. What about that would you disagree with?

If you think Trump bumbled into his victory, he (himself) did. But he had some incredibly clever people abusing the media to boost his campaign, and they ran circles around Obama's 2012 strategy (which is very similar to what Clinton was using, digitally).</comment></comment>


We don't need to destroy the Sunset to save San Francisco - <AUTHOR> https://medium.com/@JaneKimCA/we-dont-need-to-destroy-the-sunset-to-save-san-francisco-cde5b6dc2ce9 <comment><USER2> We don't neet suburbs in the city limits of San Francisco. There is no good reason not to upzone and liberalize building along Tranist like Geary and the line out of west portal station (other than it's right next to a super wealthy area of San Francisco that dontate to Kim)</comment>


Show HN: Online timesheets and project cost managing and rich 3rd party integrations - <AUTHOR> http://cronforce.com/ <comment><AUTHOR> Hey guys.

There are quite a bit of these around (fully aware of that), but we're trying to make a step ahead. Think of Cronforce as online timesheets meets vacation/absence scheduling meets project cost management for SMBs/startups. Real time tracking and rich 3rd party integrations to complete the picture.

The focus right now is bundling the software with segmented apps (think Google Apps, Jira, Basecamp, SAP, Trello). We're heavily relying on the Jira integration as it seems a lot of users are keen on it:

[http://cronforce.com/integrations/jira-time- tracking.html](http://cronforce.com/integrations/jira-time-tracking.html)

Would be glad to have your opinion on what works and what could be better!</comment>


Project Paperclip: Dark Side of the Moon (2005) - <AUTHOR> http://news.bbc.co.uk/2/hi/uk_news/magazine/4443934.stm

<comment><USER2> The Soviets also took maximum benefits from the scientists they brought back. An interesting thing is that the Nazi scientists worked for about a decade in the USSR to develop V1 and its improved versions, however, they were allowed to communicate directly only with the young engineers. They could never meet the senior board of engineers who were controlling the projects, giving instructions and making decisions ... all being behind the scene! ... The James Harford's book on S. P. Korolev (the anonymous chief designer of the USSR space program) gave me a lot of insights about this.</comment>


Valuable to others, or only you? - <AUTHOR> http://sivers.org/starving-artist

<comment><USER2> Almost all great works of art were produced for the enjoyment of the artist's patrons, be it music, visual art or theatre. For most of western history, it was obvious that an artist's main concern was first and foremost to please his patrons.

I think it says something rather worrying about modernity that at some point we rejected the notion that "he who pays the piper calls the tune". From Shakespeare to The Beatles, there is a tremendous history of great works being produced by avowedly populist artists.

Personally, I think it's a symptom of our cultural narcissism. When we strip away the rhetoric of art, it becomes obvious that "ignoring what other people think and just making your own art" is vain and arrogant.

<comment><USER3> How is to express yourself vain?

I suppose keeping a diary, which in its own way is a literary form, is vain?

<comment><USER2> It's vain when you think that your deepest feelings are so interesting that people would want to hear about them them. It's vain when you're more concerned with what you have to say than whether people will enjoy hearing it.

I get genuinely angry when I go to a gig or a show where it's obvious that the performers are self-absorbed and have no interest in the audience. The audience have paid to come into town, they've paid for their tickets, they are paying for drinks at the bar, the least the band can do is try to entertain them. When bands play indulgent solos or play a bad song that the drummer has written, they're insulting their audience by saying that their ego as a band is more important than the enjoyment of the fans.

If you keep a diary or paint purely for your own pleasure then that's fine, the problem comes when you expect people to care about your art. We tell aspiring writers and musicians and artists that they should 'be true to their art', but I think that's dead wrong - I think your duty is to be true to your audience.

There's an interesting exception in comedy. A bad comic can't hide - if he's not funny, it's obvious to everyone. Today, comedy is really the only artform where it's acceptable for an audience to boo off a performer, but historically it was commonplace in all performing arts. I think we as a culture should be prepared to say "no, you haven't worked hard enough on your performance, go home until you're good enough to entertain". It happens every night at comedy clubs, but rarely anywhere else.

I think that mistake is a symptom of the prizes-for-all narcissism that says everyone's opinion matters no matter how ill-informed or poorly thought out, that every crude doodle is a work of art if the doodler _really meant it_. A fundamental trait of narcissism is magical thinking, the belief that wishing something makes it so. The art world has in many respects come to define art as whatever the artist decides is art.

<comment><USER4> "I think that mistake is a symptom of the prizes-for-all narcissism that says ... every crude doodle is a work of art if the doodler really meant it."

It is. Art is a process as well as a result. Whether the result is good art, mediocre art, or bad art is the real question here, and some art is undeniably terrible.

</comment></comment></comment></comment><comment><USER5> painting by numbers (art by demographic statistics): [http://www.amazon.com/Painting-Numbers-Komar-Melamids- Scient...](http://www.amazon.com/Painting-Numbers-Komar-Melamids- Scientific/dp/0520218612)

When I was 10, The Flintstones had an episode about this. Fred and Barney gathered statistics about what people wanted in a song, and then composed it. They catered to all subjects, and a punchline was that one of them was "mothers-in-law". The song was terrible; the main message seemed to be that such art lacks integrity (not in an ethical sense, but in a sense of fitting together, being whole, being one thing). Of course, such lack isn't _necessary_ (eg. the Monkees had some great songs), but it is much harder than speaking out of a deeper truth. Perhaps it's like the flow of writing off the top of your head vs. over-editing and getting a patchwork of concepts and mismatched conjugations.

I've always liked the idea of a work being both popular and critically acclaimed (who doesn't?). I do think there's a thrill in doing something that is very cool to yourself; but there is also a _thrill_ in doing something that is truly valuable to people. Both can be aspects of the heroic journey, of serving something greater than oneself: serving an idea, or serving a community.

But I think this may be a little different for art (which Sivers is talking about) and software (which I'm (mainly) talking about).

</comment><comment><USER6> I remember hearing on the radio some time back they were interviewing Brian Mcfadden and he was talking about the inspiration for he's latest album. Basically he had gone and sought out exactly what the popular trends in music young people were listening to at the moment and created an album to match those trends.

It seems like sales and popularity wise a smart thing to do but I was quiet thrown by an artist saying that there work wasn't a personal expression but rather designed for maximum return, it seems counter to most of what you heard with artists speaking of there music.

Granted I wouldn't personally be listening to his music either way.

<comment><USER7> I have a working hypothesis that all of the best (or, at least, most famous) artists in history actually worked this way: they first became a "machine" with well-honed skills, and preferences slowly beaten into shape over decades of experience, into which high concepts could be fed and art would emerge—and then fed in the best of their current culture at the time. Shakespeare, for example, or Bach.

If you take an average journeyman artist and try to "plug and chug" culture, you get, well, _pop_. But if you take a master, you get _classics_. (And I do mean to imply the converse: if you give a master an input that _isn't_ popular culture, the result likely won't _be_ a classic—in the way that _Star Wars_ or _Dark Side of the Moon_ is classic. Instead, people will refer to it as a "masterpiece", like _Lolita_ or, lately, _Inception_.)

The main difference between the two types, is that masterpieces just sit there and accrue attention, while classics actually melt back into the culture that spawned them, inviting parody and pastiche to such a point that it could be said they have invented a genre (ahem, _Lord of the Rings_.) It is the latter that will "stick" to culture hundreds of years hence, while the former will be relegated to scholars and textbooks.

<comment><USER8> Bach didn't write pop music that was the product of the current culture. He wrote in a style that was considered archaic and byzantine; a dead style even in his time. Baroque music was dead and classical music was on the rise. He was always well respected, but never popular in his lifetime (or generations after).

I also object to your claim that Lord of the Rings invented its genre. I don't know who considers Inception a masterpiece in the same way Lolita is. And so on. I'd complain more about all the wrong things you wrote, but I wonder if there's a point. It just bothers me when people try to get all intellectual about things of which they clearly have no knowledge.

<comment><USER9> Baroque vs. classical music: That is at best a very simplistic view of the situation: see [http://en.wikipedia.org/wiki/Baroque_music#Transition_to_the...](http://en.wikipedia.org/wiki/Baroque_music#Transition_to_the_Classical_era_.281740.E2.80.931780.29) . Also, note that counterpoint remained alive and well, though it certainly did not have the importance it had in the Baroque period, through the Romanticism and the 20th century. The chorale (second movement) from Vierne's second symphony, Shostakovich's cycle of 24 preludes and fugues, and the canon section from the first section of his 7th symphony come to mind.

Furthermore, my impression (though I cannot find a citation to back this up) was that many if not most of Bach's compositions were produced by taking elements of popular culture and trying to produce from them something people would find meaningful on the next Sunday. Consider the Passion Chorale, which Bach used in (among other things) the Christmas Cantata and the St. Matthew Passion. The tune was originally composed 50 or 100 years earlier by Hans Leo Hassler for a song whose title was something like "my heart is beguiled by a pretty maid"; the most common words ("O Haupt voll Blut und Wunden") are from a German translation by Paul Gerhardt of a mediaeval Latin hymn.

All of this is not to deny or even to downplay Bach's genius. He simply, as derefr says, took popular inputs and did amazing, wonderful things.

<comment><USER8> To refer to chorale melodies as "popular music" is really a stretch. For instance, Wikipedia tells us that "O Haupt voll Blut und Wunden" was in use as a chorale by 1656. You'd be really stretching to call this and other chorales a "popular input". I've never read or heard anything to indicate that church melodies were significantly popular in the 1700s.

Popular music was stuff like song, opera, maybe some easy instrumental stuff (though I can't remember when music publishing took off). Bach wrote few songs, no opera, and his instrumental output was very difficult and went largely unpublished.

Also, I don't know what the 'Christmas Cantata' is. Google wasn't any help in clarifying it. Bach wrote about two billion settings of that chorale, so that's not much help.

</comment></comment></comment></comment></comment><comment><USER10> It's ironic that you use Mozart as an example since he A) died poor and alone and B) would probably be long forgotten by now if he'd gone out of his way to create music that created value for others.

<comment><USER11> A) Mozart died poor and alone because he was an alcoholic and was horrible with money. His music was tremendously popular during his time.

B) Mozart was raised as a professional musician from an early age by his musician father, performing to royalty as a child prodigy. His JOB was court musician. Given his upbringing and employment, how could he NOT care about what others thought about his music? How could he NOT cater to their tastes?

<comment><USER12> > he was an alcoholic

[citation needed]

<comment><USER11> Upon searching Wikipedia and not finding it, I realized the actual source is the movie Amadeus...

Just as good, right?

<comment><USER13> _Just as good, right?_

Probably not:

 _Mozart's drinking runs as a sub-theme throughout the plot in Amadeus. But in reality, it seems that he rarely drank to excess, though in his last year or two his drinking did appear to have increased. During the summer of 1791 when Constanze was in Baden, "he used to drink champagne with Schikaneder all morning, and punch all night." But this report stems from Ignaz Ernst Ferdinand Karl Arnold, who was without firsthand knowledge. While alcoholic writers are legion, the condition seems rare among composers; it is possible that great music was composed under the influence, but not with such consistency or productivity._

<http://www.mozartproject.org/essays/brown.html>

Not trying to bust you. Just trying to discern the truth and a quick google turns up no real agreement with the movie version. As for other remarks here about Mozart being poor, that may not be accurate either:

 _Mozart never went out of style, he never was broke, fallen out of favor, etc., and the bit about being buried in a Pauper's grave? Well, everyone who was not royalty at that time was buried in mass graves. If you were notable, but not royalty, you got a plaque on the wall of the cemetery, which he did.

The fact is, Mozart was pretty well off for most of his adult life, compared to the average Venetian. He had a billiards table, an apartment with several rooms, and even his own carriage, which was very unusual for even the middle class. When he died, an audit was performed for death taxes, and it was done by a fellow Mason, who listed the value of his stuff at WAAAAYYYY lower than it actually was worth - as a favor to his widow._

[http://answers.yahoo.com/question/index?qid=20080512155619AA...](http://answers.yahoo.com/question/index?qid=20080512155619AA41hbH)

</comment></comment></comment></comment></comment><comment><USER14> When I'm looking for things others have created, I actually tend to use the opposite of this question. Was it created by someone who themselves finds it useful/interesting/etc., or did they just make something that they thought would be useful/interesting to others, but don't themselves really care about? I tend to avoid the second category if possible.

</comment><comment><USER15> This reminds me of 2 pieces of advice I received from 2 early mentors, both 3 words, and diametrically opposed.

1\. "Scratch an itch."

2\. "Find a customer."

#1 comes naturally to a hacker. I'm always building things for myself. Then I think, "If I need it, someone else probably does, too."

#2 does not come naturally at all. I have to work at it. Frankly, I'd rather build stuff than talk to people (although that has changed quite a bit over the years).

FWIW, I have found very little success with #1 (one big exception: a program generator I wrote for myself was very well received by others).

#2 has worked beautifully. Every time I have ever found and satisfied a first customer, the second, third, fourth, etc. were much easier to find and satisfy because they needed the same thing. What great advice. I wish I had listened much earlier.

<comment><USER16> How do you do #2? Do you have a solution in mind and then look for customers or is it a matter of asking people what their problems are or a bit of both? Do you do cold calls?

<comment><USER15> How do I find customers? I just talk to people. All the time. I allow my inquisitive nature to take over. But most importantly, I really care. A mentor of mine once told me that lots of people need what we provide, so it's our responsibility to find them and see what we can do to help.

If I'm in someone's business (even as a retail customer), I often ask to watch as they enter data into their customer facing system. This invariably leads to some discussion and who knows what else. I attend events and network regularly, even if it's just staying in touch with acquaintances and asking what others are up to. Email works really well for this.

I don't have a solution in mind because I want to listen to the other's problems first. If something I have written (generally small business or e-commerce) sounds close to what can help them, I may go down that path. Anything else, I pass, but gladly provide a referral to someone who _can_ help, if I know of any.

I don't cold call in the pure sense. That's just not my nature. If I ever got good at that, then I wouldn't need to be a programmer, I'd just sell someone else's product.

I found an old semi-related post of mine that may also be helpful:

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

</comment></comment></comment><comment><USER17> I think pg had a good essay on this topic: <http://www.paulgraham.com/organic.html>

basically, it says that it's better to try to create something that you want, because when you're young you will have a very difficult time understanding what someone else wants. Also, you are more likely to be motivated if you are creating something for yourself. Creating something for someone else is too much like work (without the salary)

</comment><comment><USER18> _Push to new shocking extremes to give people something to discuss afterwards._

This is the pattern I call "pickling the shark", after a piece of artwork carefully calculated to do precisely that:

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

</comment><comment><USER19> I don't mean to be picky, but could someone correct the title before my OCD brain explodes?

<comment><AUTHOR> Done</comment></comment>


The stupid cookie law is dead at last - <AUTHOR> http://blog.silktide.com/2013/01/the-stupid-cookie-law-is-dead-at-last/

<comment><USER2> The cookie law is in no way dead, the ICO is just doing what every other 'compliant' site has always done.

New policy for the ICO site:

 _> Cookies set on arrival to the site. New cookies banner displayed. Banner explains that the website uses cookies and that cookies have been set, tells users they can change their cookie settings (via a new cookies page), or continue to use the site._

I always thought the _"set first and offer the user to kindly f' off if they don't like it"_ method was not in the spirit of the law, but that is the one that sites have adopted. There was never any realistic possibility of prosecution in that scenario, so i see this move as just the ICO accepting reality.

<comment><USER3> Rather than what Silktide are saying, this change just seems to be bringing their own website into line with their last-minute clarification (or rather u-turn) on implicit consent.

The ICO spent a year banging on about how you need explicit consent, and lots of people ran around implementing various solutions that make people click buttons and are generally incredibly annoying. Then, about 12 hours before the law came into effect, the ICO said "Actually, you know what? Implicit consent is fine."

On the off-chance anyone is still interested in this sort of thing, I wrote a small implicit consent script after the ICO clarified their position: <http://radiac.net/projects/cookieuse/>

</comment></comment><comment><USER4> I was wondering when another sensationalist blog post would pop-up from Silktide.

Last May, the ICO acknowledged that in certain cases, implied consent would be appropriate and this is judged on the basis of the type of cookies that a site is looking to set plus the information that is made available to a user on its site regarding cookies.

The ICO considers that due to having had explicit consent on their site for a number of months, and due to the information generally available on their site, it was ok to switch to an implied consent approach. The cookies that are set when you go on the ICO websites do not include any third party advertising cookies.

For other sites, it is not guaranteed that an implied consent will be appropriate where for example third-party advertising cookies are set and very little information is provided generally (for example in a specific cookie policy).

As such, it is still for each website to consider whether in their own specific circumstances, it is appropriate to have an explicit consent or whether implied consent is ok. I appreciate that this creates ambiguity but as I understand it, it reflects the present position.

I still think the overall aim of the policy in terms of educating users as to the nature of cookies is a good one. That aim is one that is of course not particularly aimed at anyone who browses this website I wouldn't have thought.

<comment><USER5> > the type of cookies

The ones with text inside them, or the other ones with text inside them? I don't understand how you decide between good and evil cookies.

> The ICO considers that due to having had explicit consent on their site for > a number of months, and due to the information generally available on their > site, it was ok to switch to an implied consent approach

Why is there a temporal component ( a couple of months ), surely new visitors come all the time? Why is the content relevant? According to their stats, 10% of the users explicitly consented. Switching to implied consent on that basis makes no sense.

> it is not guaranteed that an implied consent will be appropriate

I'm pretty sure it's not OK to say 'You might be breaking the law, but we'll let you know once we decide to prosecute'. 'Very little information' is a terrible metric; there's an implication that quality is also necessary. If I populate my user-tracking page with mathematical proofs, I've encoded information on that page - potentially a lot. It doesn't mean anything.

> I appreciate that this creates ambiguity

I appreciate that you didn't create this law (I hope). Ambiguity is bad. And expensive. All this backtracking they've been doing, it wastes my time, it wastes some civil servant's time, and it accomplishes nothing. It seems like these policies should be like trademarks; subject to dilution if they aren't suitably enforced. If Disney decided to give everyone two years to use their logo free and clear, or they only prevented 'content-free' uses, they would lose that mark.

<comment><USER6> _"I don't understand how you decide between good and evil cookies."_

It's all in the intended use.

Good cookies: Session cookies for ecommerce and other transactional style web interaction

Bad cookies: Advertisers tracking cookies that track users across multiple sites without their knowledge or consent.

See?

<comment><USER7> How about "session cookies for ecommerce and other transactional style web interaction, that track users across multiple sites without their knowledge or consent"? Are these good or bad?

We can decide on a case by case basis whether any particular use of cookies is good or bad, but coming up with a generic rule to do so is fraught with difficulties.

<comment><USER6> Well those would be bad, as they've clearly strayed well beyond necessary use of cookies as a mechanic of the website operating and into tracking people without their knowledge or consent.

What about "Tracking people without their knowledge or consent" being A Bad Thing is hard to understand?

The original poster said " in certain cases, implied consent would be appropriate and this is judged on the basis of the type of cookies that a site is looking to set". Your example clearly goes beyond.

<comment><USER8> "...necessary use of cookies as a mechanic of the website [operation]..."

My shopping cart cookie that tracks you across multiple websites is necessary because it keeps my prices lower than my competition giving me the competitive advantage and my customers a better price on the things they want.

Your turn.

<comment><USER6> Nope, you're still tracking someone without their consent, your reason is nothing to do with the technical operation of your website.

Keep trying though, this is entertaining.

<comment><USER9> By tracking the user across many websites we can give personal recommendations of new products the user might like based on their surfing habits. For instance depression is correlated with erratic surfing behaviour. By making use of these types of relationships we can offer our customers what they need when they need it.

Another good feature is what we call multisite one-click shopping. Having to enter address, credit number, cvc etc on lots of websites is daunting for the customer and can hurt conversions.

/s

<comment><USER6> Cool, all sounds useful, so you have no issue asking for the user's permission to do this?

Because it's still not _technically_ necessary for the functioning of whatever it is that the user is trying to do on your particular site.

These are all fine business reasons but (AFAICT) the entire intent of the law is that _business_ reasons are not good enough to track people without their explicit knowledge and permission that that is what you're doing.

(yes of course they fouled up on the coding and execution of the law, bureaucrats were involved)

<comment><USER8> Yet again, semantics matter.

You didn't originally say " _technically_ necessary," but my argument is not with you. It's with half-baked legislation. Does the legislation make the distinction? You use the phrase "technically necessary for the functioning of..." and the business guys in the company will continue to argue that yes, this is technically necessary for the functioning of their company/website/business etc.

Ask the engineers whether these things are "technically necessary" to facilitate the business plan, because the business plan is the entire reason the company exists. The answer is yes. I'd suspect the workaround is that you just don't do business with people who don't want to be tracked.

Are we going to start legislating every detail of business?

<comment><USER6> _"the business guys in the company will continue to argue that yes, this is technically necessary for the functioning of their company/website/business etc."_

Except it's not.

 _"Ask the engineers whether these things are "technically necessary" to facilitate the business plan, because the business plan is the entire reason the company exists. The answer is yes."_

The Business plan is irrelevant. You're clutching at (false) straws here and you know very well what I mean by technically necessary for the functioning of the site, the law and/or guidelines even talk about implied consent covering only what is needed to allow the interaction between a site (the site you are ON, not a third party) and the user). In any other circumstances you have to ask. I don't understand what you find so hard about this - are you setting the cookie to enable the user to have a session on your site? Cool. Are you using it to track their movement? Not cool. End.

 _"Are we going to start legislating every detail of business?"_

Where it starts to impinge on personal privacy, I hope so, yes.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Browsers already have the ability to ask the user if they want to accept a cookie. So all this law did was reproduced browser functionality that has existed all the way back to Netscape.

That all being said however, I'm not entirely sure it is "dead." The current legal standing from my understanding is a grey area...

<comment><USER11> No, the law also prohibited use (without permission) of such things as flash cookies and cookie-like things stored in HTML5's web storage, HTTP ETags, IE userData storage, Silverlight isolated storage, etc. The browser has no control over these things, only standard HTTP cookies for which it is responsible.

<comment><USER12> The browser has full control over HTML5 storage.

<comment><USER13> Yes, but browser's user generally doesn't (in easily accessible way).

<comment><USER12> At least on Chrome, they are displayed precisely in the same manner as cookies.

<comment><USER11> The user doesn't have the same fine-grained control. In the case of HTTP cookies you can control whether session cookies are permitted independently of whether persistent cookies are allowed. I believe no such control exists in the domain of local storage.

</comment></comment></comment></comment></comment></comment><comment><USER14> This is just more disinformation and FUD from the anti-privacy marketing clowns at Silktide. Nothing has changed when it comes to the EU rules on tracking cookies.

Of course it doesn't help that the UK's authority tasked with enforcing the law is utterly incompetent.

<comment><USER15> How exactly am I spreading Fear, Uncertainty or Doubt here? (I wrote that article, and run Silktide).

We have no problem with privacy - quite the opposite, I wish it were being taken seriously - but this law is not remotely about that. If you look at the ICO's latest report they say their audit of sites like Facebook and Google was done purely "visually". They are literally evaluating privacy by looking for banners or legal pages, and not at say the technology or intent behind it.

This event is newsworthy because their site - which is clearly going to be looked at as an exemplar of best practice - is changing from explicit opt-in to implicit. Essentially we're now back to 2009, when sites were expected to include privacy policies that explain if they use cookies.

</comment></comment><comment><USER16> Thank goodness for that. Countless hours have been lost debating how best to implement this pointless law, and the amount of business lost due to unsightly and confusing consent banners must have been huge.

<comment><USER17> yes given that my employer a FTSE 100 publisher must have spent a huge amount time and money on this stupid law - can we claim this back against our tax bill.

<comment><USER11> Well, yes. Generally and imprecisely speaking, expenses are deducted from revenues and the net is what's taxable. Your employer will end up paying a little less corporation tax because of it. Whether it's a net loss for the government is another matter, as what isn't paid in corporation tax might be paid in national insurance and individual income taxes.

Could your employer sue the government for their compliance costs? Almost certainly not.

<comment><USER18> Yes very cute but that only gets a $TAXRATE percentage refund on the wasted money. The rest is gone.

</comment></comment></comment></comment><comment><USER19> A similar law is still going strong in The Netherlands. As of this year, most Dutch sites greet you with an annoying pop-up.

<comment><USER20> Annoyance, related to privacy. I vote for being "annoyed".

<comment><USER21> In the abstract, I agree. Only somebody who does not understand cookies would say such a thing in this context however (like our Dutch politicians).

You, the website visitor, are running a program called a browser. This browser sends and receives data from servers that host the web sites you visit. Some of that data contains a request to store a piece of information on your computer. Your browser stores that piece information, and later when you visit the site again, it sends the same piece of information back to the site.

Note that cookies are not some evil technology created by website owners to track you. It is YOU who is running the software that stores the cookie. If you don't want cookies, DON'T STORE THEM. This is easily done in any competent browser.

By analogy, if you don't want people to store things in your basement, don't give them the keys to your basement! The current Dutch law is: after you already gave them the access to store cookies on your computer, the law forces that person to ask you again if they are allowed to store cookies. Not only does it not keep any bad people out and thus gives a false sense of security, it's also annoying.

The correct action to take is to educate people on the existence of cookies, and how to disable them completely or disable them for specific ranges of sites. This is less annoying for both the users and the site owners, and more importantly it also works for foreign sites that the Dutch law has no power over, like Google analytics & Facebook like buttons that track you all over the internet (which is a much bigger privacy concern than uitzendinggemist.nl or nos.nl). While they're at it they might as well sponsor efforts to make browsers less identifiable through other means than cookies, and support projects like Tor. Of course that's not going to happen, because the current security theater reminds millions of Dutch citizens every day that they are being protected by their politicians through messages in annoying popups.

<comment><USER6> The basement analogy is flawed. It's like a proxy holding your keys and giving them to anyone that asks, without your knowledge.

Education wasn't going to happen without notices like these.

<comment><USER21> Yes, I wanted to keep it simple. The fact is that that proxy (the browser) is the problem, and is also where the solution lies, not in the subset people that Dutch law happens to apply to who make use of that proxy to obtain your keys.

<comment><USER6> Making them tell you they want the keys and give you a reason isn't all bad.

But yes, the proxy ought to do more to encourage people. One problem is that two of the major browsers (Firefox and Chrome) are funded by a company that makes all its money from tracking and advertising (google), and it's pretty unlikely they would turn off third-party cookies by default, which I think would be a good start.

<comment><USER21> I wouldn't be against a law that requires _browsers_ to make third party cookies opt-in. Note also that the current law has no effect on Google's tracking whatsoever.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I'm sorry but hasn't this been the case for a good while now? I remember seeing this on the Guardian last year:

[http://www.guardian.co.uk/technology/2012/may/26/cookies- law...](http://www.guardian.co.uk/technology/2012/may/26/cookies-law-changed- implied-consent)

And isn't that why sites like The Guardian, BBC etc. have been using a banner anyway?

<comment><USER15> It's significant because they're the regulator, and now they're changing to do what everyone else is, instead of telling everyone else to do what they've been doing.

</comment></comment><comment><USER23> Well at least they realised they were being a bit thick; they could have just kept on blindly enforcing it. I think it really hit home when they lost a serious percentage of their analytics data.

<comment><USER20> A "serious amount of their analytics data" was already lost to US.com</comment></comment>


Yale to Be Paid Interest on Dutch Water Authority Bond from 1648 - <AUTHOR> http://www.bloomberg.com/news/articles/2015-09-16/yale-to-be-paid-interest-on-dutch-water-authority-bond-from-1648 <comment><USER2> Part of the reason Yale holds this artifact is due to Prof. Geert Rouwenhorst, who researched Dutch financial instruments. If I recall correctly, he actually collected a few decades of interest on behalf of Yale during the purchase of the bond back in 2003, and even had an ancient ledger updated to reflect the payout.

I still consider the more 'recent' 19th century bonds he passed around in class to be the coolest show-and-tell item ever from a professor.

<comment><USER3> You can see when the interest has been collected: more or less yearly until 1963, then in 1971, 1976, 2003.

</comment></comment><comment><USER4> Perpetuities are a great idea. One of their advantage is that new debt issues are fungible with old debt issues (provided the coupon payment dates debt align). The downside of that is that the duration of such a bond is fixed and depends on the prevailing interest rates.

However, one can issue a perpetuity where the coupon is set to decrease (or increase!) geometrically over time. Different issue of such bonds are still fungible (provided they use the same rate of exponential decay), but their duration can now be tuned at will, by changing the characteristic time of the exponential.

Why does this matter? There is a large market in government bonds (particularly in the US) and this market places a large premium on the latest issued bonds, or "on-the-run". This is because these bonds enjoy the most liquidity and can be used as alternatives to cash. The premium disappears as the bond is replaced with a new issue.

Real economic value is being destroyed because the bonds aren't fungible. Perpetuities with exponentially decreasing coupons would immediately solve that problem in one fell swoop.

<comment><USER5> You've obviously never had to build a system that tracks bonds when their original currency no longer exists. ;)

<comment><USER6> How would you do that?

<comment><USER7> When a currency disappears on a planned basis (like the Deutschmark) the government issues a recall of the currency in banks at a set exchange rate: e.g. for the Deutschmark it was set by law at 1.95583 DM = 1 euro (source: [https://en.wikipedia.org/wiki/Deutsche_Mark](https://en.wikipedia.org/wiki/Deutsche_Mark))

When a currency disappears entirely (like with Zimbabwe), there's a much more chaotic basis as it switches to separate sovereign currencies, which often have different inflation rates baked in. As this can be much more unexpected than a planned currency transition, the market often doesn't incorporate the expected changes in real interest rates, and often the exchange rate needs to keep floating for a while to account for ongoing inflation. More info on Zimbabwe's abandonment of their currency: [https://en.wikipedia.org/wiki/Zimbabwean_dollar#Abandonment_...](https://en.wikipedia.org/wiki/Zimbabwean_dollar#Abandonment_and_demonetization)

</comment></comment></comment></comment><comment><USER8> A slighlty older one (1634) on the same dam sold at Christie's in 2000, for $47,000 ([http://www.christies.com/LotFinder/lot_details.aspx?intObjec...](http://www.christies.com/LotFinder/lot_details.aspx?intObjectID=1965498))

Christie's also gives background info on the bond, such as _" While it was originally a requirement that the bond-holder send the original parchment to the Lekdijk Bovendams on 12 January to receive the annual interest, the successful bidder on this lot need only send the allonge, on which the payment will be neatly recorded by a responsible clerk of the Waterschap Kromme Rijn (successor to the monk and Secretary who sealed the document in 1634), as it has been for 302 years since 1698."_

</comment><comment><USER3> As an aside, note the typical Dutch way to write the digit 8: starting at the left of the middle with the bottom part, instead of at the very top left. It is used universally in the Netherlands, but I have been told it's used nowhere else, not even in Flanders.

<comment><USER9> Wait, people start at the top left for 8? I start at the top right. I also write "e" by first writing the "c" and then filling it in, so it's very conceivable that I'm the outlier. I blame wanting to finish those dang writing practice sheets in 2nd or 3rd grade as quickly as possible.

<comment><USER10> After starting at the top right, do you move your pen left or down? I start at the top-right and move left (in other words, the first curve is counterclockwise).

<comment><USER9> Yep. Same.

Did a brief survey off people around me, results were inconclusive:

1x Upper Left

1x Upper Middle

1x Upper Right

</comment></comment></comment></comment><comment><USER11> Does the pier still exist? It would be amazing to see it on Google Street View as a follow-up to this amazing story. I love stuff like this.

<comment><USER3> Some details from Dutch news sources:

It was an bond ("obligatie") of 1000 guilders, given out by Hoogheemraadschap Lekdijk Bovendams (more recently merged into Hoogheemraadschap De Stichtse Rijnlanden). It returns 25 guilders (now 11,35 euros) interest per year. Yale bought it in 2003 for 24.000 euros. It was given out in 1648 to build a groyne ("krib") near the hamlet of Honswijk. Looking at Google Maps, you can see a system of multiple groynes there; I am not sure whether this bond paid for only one of them or for more: [https://www.google.com/maps/place/3998+Honswijk,+Netherlands...](https://www.google.com/maps/place/3998+Honswijk,+firstname.lastname@example.com,5.1798967,3041m/data=!3m1!1e3!4m2!3m1!1s0x47c660e762d7a323:0x5606466a56d976e4)

Original buyer of the bond was Niclaes de Meijer: [http://www.zeit.de/2015/15/ewige-anleihen-kredit- geldanlage](http://www.zeit.de/2015/15/ewige-anleihen-kredit-geldanlage) (German!).

In the first 50 years of the 17th century, Lekdijk Bovendams gave out 300.000 guilders of bonds to repair the dikes along the 8 km stretch it was responsible for. Stichtse Rijnlanden is nowadays responsible for the Lek dikes between Amerongen and Schoonhoven, as well as water management in most of the province of Utrecht.

<comment><USER12> Thanks for the Google Maps link, you can follow that river for quite a long time and it goes well inland, into Germany. I'd love to take a boat all the way down that river.

<comment><USER3> Yup, the Lek is, after the Waal, the second main distributary of the Rhine. Some parts of the Rhine, notably the part between Köln and Koblenz, are widely known for their beauty.

<comment><USER13> Sorry I did part of this journey a few years ago and got off the boat early as I found the scenery quite boring

</comment></comment></comment></comment></comment><comment><USER14> The image accompanying the story doesn't seem to be the bond in question. The date on the bond states the year 1944, and the payments also start around that date. The last payment _was_ done in 2003. Odd.

<comment><USER15> Interesting point. The second image has dates much farther back, I see many from the 1700s.

Perhaps the bond was originally issued and in 1944 a companion document was issued with it? So now the single bond consists of two documents. It would make sense to issue a newer document that goes along with the original. I imagine some numbering scheme was introduced between the original issue and 1944. The 1944 document would provide a number in the modern scheme for the original bond.

<comment><USER16> I can imagine a document from 1648 wouldn't be big enough to keep writing interest payments on for more than 3 centuries.

</comment></comment></comment><comment><USER17> Finance has eaten the world

<comment><USER18> I can't tell if this is finance or numismatics.

</comment></comment><comment><USER19> Serious question: Why is (bond) interest not adjusted for inflation (or deflation for that matter)? Very long timespans such as these really devalue any interest payments, do they not?

<comment><USER20> It didn't use to matter much. Consistent inflation is a rather new phenomenon that basically only appeared after WWII. There was for example almost no inflation in Britain between 1814 and 1914.

For the record, in case there still are Ron Paul fans/goldbugs out there: moderate inflation is generally considered a good thing by economists today and inflation is probably too low at the moment.

<comment><USER21> Personally, as a reductionist, I like the idea that money is somehow permanent. Maybe economists like inflation, and perhaps it is "good" for the economy overall. But the idea that a dollar saved today can buy roughly the same amount of stuff in a decade or a century seems like a powerful idea to me. To me that seems like a goal that's worthy of pursuing because then money becomes a true abstraction that's not leaky. And because of the way my brain works, I see that as incredibly useful. Not having to always inflation adjust things, not having to do this or that, not having to worry about how much retirement you actually have versus how much you think you have, etc. I understand that for various reasons few other people want this, but that doesn't convince me personally otherwise.

One person described money as "sweat, distilled" and I find that definition incredibly attractive. I recognize that plenty of people making money not by sweating but thinking or whatever, but I still find it an excellent description. And I can't see how devaluing a person's effort over time is a viable strategy for building a lasting civilization. I think it leads inevitably towards the kind of throwaway society we have here in the US and virtually guarantees that we won't build infrastructure of long lasting value like exists elsewhere in the world. Well built stuff can last for hundreds or thousands of years. I wish money was the same.

<comment><USER22> One aspect of inflation is that it is a tax on people who choose to hoard their money. Because inflation naturally makes every dollar worth less and less over time, you are forced to either spend it now or invest it somewhere that grows with inflation. As a result, money is actually utilized instead of sitting in a bank account.

Thus, I think the idea that a dollar saved today can buy roughly the same amount of stuff in a decade is actually bad, because in a world where that's likely, that dollar was probably sitting useless in someone's purse for a decade.

Inflation, in my opinion, actually does the opposite of what you suggest -- because it encourages lending and investing in order to beat inflation, money is actually put to use for longer term projects such as infrastructure that can last years and years.

<comment><USER23> _As a result, money is actually utilized instead of sitting in a bank account._

Because we all know banks put all the currency they receive in huge vaults filled with paper $100 bills, instead of, oh, lending it out (several times over one way or another).

Unless you're converting it all to gold, or stuffing it under a mattress, your savings are in institutions like banks which are not a sink where the velocity of your money goes to zero, outside of economic messes where they aren't willing to lend, or people are afraid to borrow. And your being encouraged to spend your money doesn't seem to help those situations.

<comment><USER24> A piggy bank would have been a better example. Anyway, it's not an argument against inflation: the reason putting your money in a bank account is a good idea today is (among other things) because they do invest it to stave off inflation. So inflation doesn't preclude saving (as in savings accounts), it just makes sure you save in better ways, like storing it in a bank that does lending.

<comment><USER21> Right now I earn less than a percent while inflation is definitely higher than a percent. Where is my real return on my savings?

<comment><USER25> If you are earning less than a percent, you are _probably_ paying for liquidity.

Inflation is currently bouncing between around 1.6% and 2% (but mostly towards the 1.6%). A 3 year CD at a decent bank is currently paying around 1.6%; a 5 year CD is paying around 2%. So if you're willing to commit to a 5 year deposit, you will probably beat inflation and realize a small, real return. Even an interesting-bearing checking account (with a sufficient balance...) pays close to 1.6%.

Granted, it's not the glorious 5%+ returns of yesteryear, but then, we're in a savings glut.

<comment><USER21> > Granted, it's not the glorious 5%+ returns of yesteryear, but then, we're in > a savings glut.

That's a nonsensical statement when the central bank is fully in control of the money supply, and thus, the interest rate.

That's like saying "well my computer has a billion copies of funny cat gifs on it, so there's a funny cat gif glut". It doesn't make any sense. You control how many copies of funny cat gifs are on your computer. If there are too many, it's because you made too many copies. If there are two few, it's because you made too few. Pretending that market action had anything to do with something that you are ultimately in control of makes zero sense.

The interest rate is low (or zero) because the central bank decided it should be, not because all the people in the world collectively don't have any real preference for a dollar today versus a dollar tomorrow.

<comment><USER25> The interest rate / inflation is largely low because the central banks are trying to keep it low / not trying to raise it.

The return from consumer savings accounts being near inflation / a near-zero real rate of return is because of the savings glut.

The two are related but not the same thing.

<comment><USER21> I don't see how you can just assert that they're similar but not the same, without any supporting argument, and expect me to accept it.

The interest rate is supposed to be the price of money. There's going to be a bid/ask spread on that because of the cost of accepting money and bundling it together, along with the cost of keeping up with the book-keeping and various other things that are costs for loans. So the rate you get paid in interest should always be less than the rate that you pay in interest. This I understand.

But if the interest rate is low, then the interest rate is low. The interest rate is determined by the aggregate supply and demand for money. If there is a lot of supply, relative to demand, then the interest rate is low. If there is a lot of demand relative to supply, then the rate is high. And given that people have a nearly infinite desire for money today versus in the future, the rate is really determined by the supply.

The Fed is in control of the supply by creating or destroying money as needed. That means that they fully and truly do set the rate, because they can do literally whatever is needed to move the needle.

The idea that everyone's individual actions to save is somehow what created the tremendous amount of expansion in the money supply (and thus the very low interest rate) is utter nonsense. The Fed created a lot of extra money which expanded the supply of loans, thus pushing down the rate.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> >Yale, which has an endowment of $23.9 billion

As a side note, that's about half the entire GDP of Ethiopia last year. That's a country of 100m people.

<comment><USER27> I'm actually surprised that Ethiopia can generate ~46B at all...

<comment><USER28> Their economy is finally growing nicely, after 30 plus years of disaster.

From their small base, GDP has tripled in ten years. They've seen 11 straight growth years. The prior two years both saw around 10% growth, while inflation has been relatively low.

Life expectancy at birth has climbed from 50 to 64 in 20 years.

The poverty rate has fallen from 45% to about 25% in 20 years.

The infant mortality rate has fallen from 140/100k in 1980, to around 40 today, falling by 50% since 2000. It's expected to continue to fall.

They're actually generating wealth faster than any other comparable nation in Africa:

[http://www.theguardian.com/world/2013/dec/04/ethiopia- faster...](http://www.theguardian.com/world/2013/dec/04/ethiopia-faster-rate- millionaires-michael-buerk)

<comment><USER27> Well, jesus -- good for them! However that article only left me suspicious as to how these new millionaires are making their money...

Even in the article it states that some dont know where the money came from... I err on the side of corruption...

</comment></comment></comment></comment><comment><USER29> CUSIP?

</comment><comment><USER30> Maybe now more money will go to the students who need it. ;-)

</comment><comment><USER31> >Yale, which has an endowment of $23.9 billion

Fascinating. Yet they still require their students to pay tens of thousand of dollars each year in tuition. They should do what Stanford did and make education free for students whose families earn less than $125k.

<comment><USER32> Quoth Yale's website:

"Yale does not require students to take out loans for their education. Instead, Yale meets 100% of demonstrated need for all admitted students with a financial aid package consisting of need-based scholarships, term-time employment, and a student income contribution."

[http://admissions.yale.edu/financial-aid-prospective- student...](http://admissions.yale.edu/financial-aid-prospective-students#101)

So...Yale does what Stanford does already...

</comment></comment><comment><USER33> Perpetual bonds are a terrible idea. Just like "unlimited" anything, if you offer unlimited then someone will try to use unlimited.

Even if they had done 200 years, it likely wouldn't have diminished the bond's value too heavily (at purchase), and would have put a stop to this.

I guess they figured that they would eventually buy back all of the bonds, but missed a few or never had the money.

<comment><USER34> Any kind of unlimited tends to be a terrible idea. Just look at the wrangling over the AAirpass:

[http://articles.latimes.com/2012/may/05/business/la- fi-0506-...](http://articles.latimes.com/2012/may/05/business/la- fi-0506-golden-ticket-20120506)

At least, from AA's perspective, that ends when the holder dies so there's light at the end of the tunnel.

<comment><USER35> When I first started learning about Individual Retirement Accounts, one thought I had on Roth was how long can income from a Roth IRA stay tax free?

I was hoping the answer would be in perpetuity. Sadly, it seems that the longest you can draw it out is until the death of one's surviving spouse.

Imagine how glorious it would be if you could stow away about $5k of post tax income every year and invest it in some stock index fund if you could give it to someone upon death. Of course, it wouldn't be a retirement account anymore though.

<comment><USER36> Trusts are sort of like this. I think the key is you have to have signed away the money irrevocably to the legal entity of the trust, so it's totally out of your control when you die and thus not taxed with your estate.</comment></comment></comment></comment>