Haskell's kind system: a primer - <AUTHOR> https://diogocastro.com/blog/2018/10/17/haskells-kind-system-a-primer/ <comment><USER2> That's a really beautiful article!

Using kinds to keep track of the concrete representation of a _reference to a type_ (rather than the concrete representation of the type itself) is one of the real gems in GHCs design.

However, one problem with it is that a polymorphic type, such as [] of kind "* -> *", or a function like map of type "forall a b. (a -> b) -> [a] -> [b]" really only works with boxed types. I always wondered how expensive it would be to monomorphize everything at the level of kinds and have what GHC calls levity polymorphism by default.

Languages like Rust and C++ always monomorphize everything and while this does get slow it is still not the exponential blowup that theory suggests. In fact, there is an ML compiler (MLton) which does the same and it is still not too bad. Doing it at the level of reference representation - which is where the generated code actually needs to change - should be much cheaper and definitely a practical default.

The only real problem I see is that you could in principle write code that does "kind polymorphic" recursion, which couldn't be compiled away. But that sounds seriously crazy and I see no reason to allow it in the first place...

<comment><USER3> > However, one problem with it is that a polymorphic type, such as [] of kind > "* -> _" , or a function like map of type "forall a b. (a -> b) -> [a] -> > [b]" really only works with boxed types._

Can you explain why this is, or provide a reference to literature where it was investigated? I still (even after getting a PhD in compiling functional languages!) do not understand why you could not create code parameterised over the _sizes_ of the arguments. For example, a 'cons' cell could be represented as first the size of the 'car' in bytes, then the 'car' value inline/unboxed, then a pointer to the 'cdr' cell. The Sixten language[0] does this, although it's still very early in its development. I'm not saying this is necessarily a good solution, I just wonder why I have never seen it seriously considered (and perhaps rejected).

In practice, I do believe that monomorphisation is very often a good strategy.

[0]: [https://github.com/ollef/sixten](https://github.com/ollef/sixten)

<comment><USER4> > why you could not create code parameterised over the sizes of the arguments

If I understand correctly, that's what BitC was trying to do, but the extreme complexity of the compilation model was cited as one of the reasons the project failed.

The postmortem is here I think, but I can't access it right now:

[http://www.coyotos.org/pipermail/bitc- dev/2012-March/003300....](http://www.coyotos.org/pipermail/bitc- dev/2012-March/003300.html)

</comment></comment></comment><comment><USER5> The article is exemplary – it's reasonably short, concise, beautifully visualized and explains a complex topic with simple terms.

I'm confused with "type promotion" in the `ConnectionStatus` example, though. When we promote `Open` and `Closed` from terms to types, we make it easy to create a variable that can be either `Open` or `Closed`, but we're also breaking the mental model of the whole thing. `Open`/`Closed` is a property – not a "type" in a traditional way of thinking about types. For me, the type should map onto some abstraction in your mental world map, and `Open`/`Closed` is definitely not a good fit here.

How do Haskell programmers address this problem? Do they think about types more in mathematical terms, rather than as tools for describing mental maps of the problem domain?

<comment><USER6> Open/Closed would still conceptually act as properties, but by promoting them to types you enforce the property at compile time rather than runtime. Note that they are not used on their own, but to describe a `Connection`. This lets you statically enforce the fact that you must only send data through an open connection, for example.

<comment><USER5> Right, that's the obvious benefit for the compiler (statically enforcing behaviour, etc), but I'm struggling with not seeing here a detremential effect for the human.

To me, when you write code, you're encoding your understanding of the problem domain (mental map) into the code, describing it in a way that permits to restore it back. By reading a code your coworker or you 6 month later should be able to restore the same mental map you had while writing the code. And using type system to describe properties (there is another way to do it already in place – fields in structs), seems like complicating this task and it eventually should hurt readability.

<comment><USER7> The advantage is you basically don't have to think about the provenance of data (in this example what state is a connection in? was it closed before being given to me? etc.). It allows the compiler to ensure the user of this code can't perform operations that lead to error states by allowing the programmer to express the state transitions of a connection in their function declarations, as the provided example shows:

      newConnection     :: Address           -> Connection Closed
      openConnection    :: Connection Closed -> Connection Open
      closeConnection   :: Connection Open   -> Connection Closed
      connectionAddress :: Connection s      -> Address

From a readability perspective, I would love this, it's effectively a state machine diagram explained by your function types.

</comment></comment></comment></comment><comment><USER6> I've been writing a lot of Haskell recently. I had to switch to embedded C and the difference between the two was striking. The C program I was editing compiled, but failed to do anything useful. To fix that, I had to reorder the stateful functions and #define the right things without much help from the compiler.

Had I been using Haskell and a reasonably well designed library, these mistakes could've been caught at compile time, with the compiler telling me exactly what I did wrong. The kind system described in the article is how you would implement such a library, or something even more advanced.

Sure, comparing embedded C to Haskell is disingenuous, but it does show how far programming languages have come. And I think my experience could definitely happen in many other mainstream languages.

<comment><USER8> What exactly is it that stops Haskell from being used in embedded? GHC has an LLVM backend, and LLVM should support most embedded architectures, am I mistaken there? I have some suspicions of what it could be, but it would be interesting to read your opinion/experience first.

<comment><USER6> Sure, you could likely compile a Haskell program to an embedded architecture, but Haskell is a garbage collected language. Allocating memory takes a long, nondeterministic amount of time on a microcontroller. And microcontroller are often used in control systems, where latency kills.

Haskell also suffers from space leaks due to its lazyness. Microcontrollers have memory in the order of kilobytes, sometimes even less than that. You simply can't risk running out of memory, which is why micros are programmed in C or assembly, where you have a vice-like grip on how much RAM you use.

For a higher-level look at the problem, consider that embedded systems are a high volume product. Saving a penny by using a cheaper, weaker micro adds up very quickly when you're shipping tens, or hundreds of thousands of devices. At that scale, it's profitable to spend more on non-recurring engineering (programmer time) in order to reduce the cost of manufacturing.

If you want a functional-style language that is likely very well suited to embedded devices, look no further than Rust. While I haven't had the time to learn it (maybe next year), the language looks very promising due to its memory model.

<comment><USER9> I've worked extensively with functional programming on tiny microcontrollers like the Arduino. I created a research language called Juniper[1], which is a Haskell/F#-like language targeting the Arduino.

As you mentioned, the memory size and the program size are the biggest two constraints. There's no space for a garbage collector, and everything has to be allocated on the stack. It turns out that it is possible to make the entire thing stack-free. The two biggest hurdles are function closures, arrays, and recursive data types.

Function closures are typically allocated on the heap since it's possible to return functions from other functions. The solution is to include the closure as part of the function type, which means that they can then be allocated on the stack. Arrays are a bit more tricky to allocate on the stack. My solution is to statically size arrays with type level natural numbers, which means that the sizes are known at compile time.

Recursive datatypes are a problem that I have not dealt with yet. In most Arduino projects recursive datatypes are not really used, so I just don't allow them. It might be possible to use type level natural numbers to put a bound on recursion depth. Another idea I had was to use run-timed size datatypes. For example, let's say you have a function F1 which calls F2. The frame pointers for their corresponding frames are at S1 and S2. When F2 returns a value of size N, the solution is to copy the value to a scratch space, return to F1, decrement the frame pointer, and then copy the value back into the stack frame. I'm not sure if this is really suitable for embedded systems since it's a lot of code/machinery which takes up precious program space.

Rust is a great language which can work around these issues due to its linear types. I'm looking forward to using Rust once it starts to support the Arduino microcontrollers.

[1]: [http://www.juniper-lang.org/](http://www.juniper-lang.org/)

<comment><USER10> Very cool! Hadn't heard of Juniper before. Do you use something like regions to group and inline memory allocations?

<comment><USER9> In the next version of Juniper everything will be moved over to purely stack based allocation. Currently only function closures and refs are allocated on the heap. The refs are only created once when the program initializes itself, so that isn't an issue. The closures will become part of the function type. The FRP model works very well for the Arduino platform since you're essentially modelling a data-flow from input to output devices. Currently the compilation target is C++, which means that the Juniper compiler doesn't have a ton of control over the final assembly code.

<comment><USER10> > The closures will become part of the function type.

Can you elaborate? Do you mean something like closures and function pointers will be distinguished, with closures essentially being something like an existential package paired with a function pointer? ie. ∃'x.'x * 'a -> 'b

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I had no idea Haskell used 'kind' to refer to something codified and concrete in this way -- usually we see the word 'type' used to refer to the concrete type-systems stuff, and 'kind' to refer to the fuzzier, less precise idea of, uh, what it is the data _is_.

Type theorists say things like "Type systems let us reify what kind of data we are dealing with".

It's a bit like when Java took the fuzzy term 'interface' and made it a concrete technical concept, or when Apple added closures to Objective-C and called them 'blocks', which was previously a fuzzy term.

Will we have to start using another word to refer to the fuzzier concept, if not 'kind'? 'Sort' is already taken. 'Category' is already taken. Perhaps the 'nature' of the data?

<comment><USER12> Kinds are a distinct concept from types, and that concept needs a name, and it's best to choose a name where the intuitive meaning of the name aligns with the technical one (indeed Haskell attracts a lot of criticism when it uses names like "monad" that _don 't_ have a "fuzzy" meaning).

It goes even further: types-of-kinds are called "sorts", though in Haskell there's only one possible sort of kind.

There are only two hard problems in computer science, after all.

<comment><USER13> >There are only two hard problems in computer science, after all.

Including off-by-one errors, there are four.

<comment><USER11> Maybe we should add 'induction' to the list.

</comment></comment></comment></comment><comment> ainar-g This was the clearest introduction into types vs kinds in Haskell that I have ever read. Definitely going to recommend to my friends. Are there other good articles by the author?

<comment><USER14> His typeclasses article is also fantastic: [https://diogocastro.com/blog/2018/06/17/typeclasses-in- persp...](https://diogocastro.com/blog/2018/06/17/typeclasses-in-perspective/)

</comment></comment><comment><USER9> Once you understand kinds, it's not so hard to understand typeclasses and monads. Type classes are a way to overload functions in a controlled way, by defining a set of function signatures where the overall typeclass is parameterized by a type constructor of arbitrary kind. I cover this in my blog post here: [http://www.calebh.io/Monads-as-Programmable- Semicolons/](http://www.calebh.io/Monads-as-Programmable-Semicolons/)

</comment><comment><USER15> I always thought it was beautiful that Haskell turned type construction into just another function on a different domain. What do people call this abstraction?

<comment><USER16> Type-level functions are called type families. They are really not just another function. But if you appreciate that beauty, check out a dependently types language like Idris where normal functions can be used on the type-level as well. So you might have a vector type with a length computed by a complicated expression.

</comment></comment><comment><USER17> what is this blog format/static site generator thing?</comment>


Hello WWDC - <AUTHOR> http://wwdcwall.com/ <comment><USER2> Background info on how it was made: [https://medium.com/@fz/reversing-the- wall-92f22a2ad538#.q0m7...](https://medium.com/@fz/reversing-the- wall-92f22a2ad538#.q0m7omaqj)</comment>


Shooting at LAX: TSA agent, alleged gunman wounded [video] - <AUTHOR> http://www.latimes.com/local/lanow/la-me-ln-shooting-lax-20131101,0,3342378.story <comment><USER2> I can't help but think that the by-product of this incident will be more invasive and even less personable processing by the TSA in the months to come.

You know, for _our_ safety.

<comment><USER3> It's an inevitable slide.

Some wanker tries to make a point by shooting a government officer, and they retaliate even harder. Now, patdowns as soon as you leave the vehicle, with gunpoint attendees at the airport front door.

Think it's outlandish? Just you wait.

</comment></comment><comment><USER4> Breaking News: The TSA has announced that, due to the recent incident with a firearm at a checkpoint at LAX, all passengers must be screened prior to entering the screening line.

<comment><USER5> Due to fear that passengers in the prescreen line may still have a firearm, the TSA is proposing another screening line before the prescreening line.

<comment><USER6> A Møøse once bit my sister...

</comment></comment></comment><comment><USER7> Since 9/11 we've made it "impractically difficult" to hijack an airplane. The flight deck is behind blast doors, and even if someone _did_ manage to sneak a weapon on board, other passengers would more than likely risk life and limb to hold down anybody who got too uppity. This is the _real_ deterrent to terrorism on an airplane, not the TSA.

Yet even though the above came into effect _very_ shortly after 9/11, the public has demanded (and the government has provided) such an extreme overreaction of a response that it borders on insanity.

So now it's too difficult for a terrorist to hijack an airplane. Are there any _other_ areas where people are densely packed, and where it would be easy for a terrorist to bring in heavy weaponry? Perhaps the circus of a security line that's supposed to take away said heavy weaponry? This is a problem of our own creation!

Honestly, anybody who has thought about it for more than a few minutes should have seen this coming. But if you draw out your conclusions (queue jokes about security lines to get to the real security line), it should also be completely obvious that, short of imprisoning the entire country, security from this sort of terrorism is impossible. Yet we continue to escalate rather than de- escalate!

What really scares me is the possibility that we might start to see TSA-like "super" agents armed with assault rifles, just as we see militarization of the police forces in our cities. And _we 're_ the ones who are going to suffer for it. Some poor guy is going to get shot while taking apart a stroller or something because it "looked dangerous."

The time to put an end to this stuff is _now_ , before it spirals out of control. One could argue that it's too late, and that the situation is already out of control. But I would like to believe that the tragedy at LAX today can give people pause to really think long and hard about what's possible and what's appropriate rather than immediately jumping into overreaction mode again.

<comment><USER8> At peak times, like a Monday morning, at a big airport, there will be more people in line than in an entire plane. A terrorist could easily could more death and destruction by bombing the security line than an airport. Not to mention that the incident would likely ground all incoming/outgoing air traffic to that airport.

</comment></comment><comment><USER9> Thank god it wasn't another school but these people are ruining gun control for the rest of us.

I don't own a gun yet but its looking like I might never be able to unless I hurry up.

TSA is going to be worse now too.

Shootings = people die, stricter rules, less rights for everyone. Its bad for everyone in the US.

<comment><USER10> I like it, someone shoots people, apparently 2 people dead (gunman + TSA agent), several others wounded, and your priority is hypothetical restrictions on your rights.

<comment><USER11> That's some pretty slippery slope there. I'm sure many people posted "I like it, thousands die in WTC crash, and your priority is hypothetical restrictions on your rights" shortly after 9/11, and look at where we are now...

<comment><USER10> So mine is slippery slope reasoning, but "Oh god, not another shooting, assholes are fucking it up for the rest of us now I won't be able to buy a gun" isn't?

EDIT: We're at 17 school shootings this year with 17 dead, 21 wounded. Are gun control advocates significantly closer, with dead children as their evidence and motivation, to getting rid of gun rights? In this circumstance it's two dead adults, granted in a very public place. Gun control advocates have all the ammunition, so to speak, to achieve their goals if they're ever going to achieve them this incident or another tomorrow is not going to change the equation.

<comment><USER6> Just a few weeks ago California was a governor's signature away from banning semi-automatic rifles with detachable magazines. In other words, nearly every modern rifle in existence.

<comment><USER10> Perhaps because I live in the South I've not seen some of the impact, but why did the governor not sign the law? What was the expected enforceability/constitutionality of the law?

<comment><USER6> [http://gov.ca.gov/docs/SB_374_2013_Veto_Message.pdf](http://gov.ca.gov/docs/SB_374_2013_Veto_Message.pdf)

That's his letter stating his decision.

<comment><USER10> Thanks, so he vetoed it based on a belief that it went too far in restricting a right while not providing sufficients benefit in terms of gains in public safety.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Nevermind the TSA, why didn't the NSA prevent this attack?

</comment><comment><USER13> News sources are now saying that the TSA agent is dead.

</comment><comment><USER14> Every time a child is forced to give up a bottle of water to a TSA agent to protect the country against terrorists - the parent feels a need to take matters in his own hands....</comment>


Call it the 'boss tax:' Seattle finally finds a potent way to tax the rich - <AUTHOR> https://www.seattletimes.com/seattle-news/politics/call-it-the-boss-tax-seattle-finally-finds-a-potent-way-to-tax-the-rich/ <comment><USER2> Tl;dr: progressive 2.4% income tax phasing in from $150K-$400K

So, not so much a "boss tax" as it is a "rank and file" tax in big tech companies. If this were a boss tax, it would be 24% phased in linearly from $150K to $4M.

Also, Washington doesn't have an income tax, so the top bracket would still be paying less than people that make much less pay in California...

<comment><USER3> Its not an income tax, its introduced as a business tax on payroll. This is important as the WA state constitution prohibits non uniform taxation. This is what has preempted most of the previous passion based "tax the rich" schemes in Seattle.

Edit: A further clarification. A payroll tax, like B&O taxes, are paid directly by the business. They are not paid by the individual. This is a very important distinction because this tax would (presumably) be applied in the same manner to all business operating in the city of Seattle. It would _not_ be a variable tax across individuals themselves.

<comment><USER4> More W-2 taxes, great... How does this tax the rich again?

The idea of calling this "the CEO tax" expresses an ignorance of the type of income making up a majority of CEO pay.

Likewise calling it a "pro athlete tax" works for Mariners and Seahawks but no so much for tennis and golf pros.

What this tax does is further suppress wage growth for a working class while sidestepping the wealth and income sources of much richer people.

<comment><USER3> I have no idea what you're responding to. As Ive stated this is a _PAYROLL_ tax, _NOT_ a personal income tax, so I dont know where a W-2 would come in to it. A payroll tax, like B&O taxes, are paid directly by the business. This is a very important distinction because this tax would (presumably) be applied in the same manner to all business operating in the city of Seattle.

Secondly you appear to be objecting to the opinions & phrases of a random opinion piece writer who's positioning this as "tax on the rich." That's fine, and the columnists obvious slant is pretty silly IMO, but I dont know why it's relevant to my comment about the distinction between income and payroll.

<comment><USER5> The most common payroll taxes (social security and Medicare) are paid jointly by the employer and employee. Just saying "it's a payroll tax" does not imply it went won't show up on a W2 or be paid by the employee.

<comment><USER3> Fair enough. There is a meaningful difference in taxes based on payroll vs the individuals net income. And that's not exactly germane to this article or thread.

I should have been even more explicit in saying this is a payroll _expense_ tax. The authors are _very_ explicit that this is tax on the business and _not_ any sort of tax born by the employee:

> 5.45.090.S "Payroll expense" means the compensation paid in Seattle to > employees.

> 5.38.030.B The amount of the payroll expense tax due shall be the payroll > expense of the business ... multiplied by the following rates:

> 5.38.030.C The tax imposed by this Chapter 5.38 is levied on businesses. A > business may not make any deductions from employees' compensation to pay for > this tax.

> 5.38.090 ... taxes shall be levied upon, and collectible from, the person > engaging in the business activities herein designated and that such taxes or > fees shall constitute a part of the operating overhead or cost of doing > business of such persons.

And this all matters because as soon as it looks like a non uniform property tax (ie a graduated income tax) it's prempted by WA state constitution Article VII Section 1.

</comment></comment></comment></comment></comment></comment><comment><USER3> The linked article is a columnist opinion piece. The same newspaper has an actual article [https://www.seattletimes.com/seattle- news/politics/seattle-c...](https://www.seattletimes.com/seattle- news/politics/seattle-city-council-votes-in-committee-to-advance-new-tax-on- big-businesses/) from last week. And heres a link to the actual legislation [http://seattle.legistar.com/LegislationDetail.aspx?ID=457678...](http://seattle.legistar.com/LegislationDetail.aspx?ID=4576785&GUID=B501D452-6F8F-4F78-9376-1F28E713A43B)

</comment><comment><USER6> Two questions (related to each other):

1) Why don't they just make it an even further graduated tax going all the way up the billionaires? Instead of having to spread a 2.4% tax on everyone, why not make it start at 1% and go up to 10% for billionaires, raising the same amount of money? Save us all some tax and boo hoo, the billionaires have to pay a little more.

2) What sets the limit of what % a city can tax? I.e. what would stop a city from imposing a 50% tax on billionaires? Just what the public wants to stomach? Or is there a legal limit?

<comment><USER7> There aren't really legal limits on what taxes a US state can enact; an individual city may or may not be constrained by the state that it's inside of (eg., California cities can't raise taxes without a 2/3rds vote under Prop 13). In this case, the real constraints are Washington state law (prohibiting income taxes), and what voters/residents will stand for. A city that put a 90% tax on billionaires would find that they all left pretty quickly.

<comment><USER8> > A city that put a 90% tax on billionaires would find that they all left > pretty quickly.

That's kind of hyperbole given the OP said "up to 10%".

But aside from that, don't a lot of billionaires (steve jobs, bill gates, etc) only pay themselves a $0 salary when they're rich and own their own company where they're paid in stock? So any % of $0 is still 0.

<comment><USER3> > they're paid in stock?

In the US RSU grants are treated as income. They literally show up on the W2 for the full value of the grant.

<comment><USER9> Tech billionaires tend to own the stock because they founded the company, and get "paid" from the appreciation of shares they already own. Increased tax on equity-based compensation would hit a lot of highly-paid hired hands, but not those truly rich.

Of course an increased capital gains tax might capture the founders too, as would a wealth tax (though the latter would be very hard to administer on private companies due to uncertain valuation). The major preference in the current USA tax code is for investment income over earned income (including both W-2 income and some but not all small businesses, and including equity- based compensation except (sometimes) to the extent it appreciates), not rich over poor or poor over rich.

<comment><USER3> Sure. And maybe Im fixating on the meaning of "paid" next to the use of "salary." But I dont think the individuals existing assets or capital gains really have anything to do with the common misunderstanding of how equity based compensation is taxed.

<comment><USER9> To be clear, RSUs are indeed taxed as you said. My point is that blahblahblogger's billionaires don't tend to get paid that way, but by appreciation of founder's stock (which can be captured only by a wealth tax, or by a capital gains tax if/when they sell).

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Corporations don't pay taxes, people do. A corporate tax is shared between workers, investors and customers, the latter two can just walk away.

High marginal tax rates redistributes people, not money.

</comment><comment><USER11> So even more tax burden on earned income from the upper middle class, rather than taxing capital gains or wealth from the truly rich.

</comment><comment><USER12> How about we actually fix our revenue problems and adopt a VAT? [https://www.taxpolicycenter.org/briefing-book/what- vat](https://www.taxpolicycenter.org/briefing-book/what-vat)

> The value-added tax (VAT) is the world's most common form of consumption > tax, in place in more than 160 countries, including every economically > advanced nation except the United States.

It's absurd that we faff around trying gimmicks instead of using proven tools in use almost everywhere else.

<comment><USER13> We need progressive taxes! VAT is just noise if you're a billionaire, but it'll be a significant chunk of your income if you're at or below median wage.

I always liked Steve Forbes' flat tax idea -- the first ~$52K exempted (or whatever median income is) and then a flat rate of 17% beyond that no matter _how_ it's earned (W-2, dividends, long/short term gains, whatever, it's 17%). Oh and we get to scrap the tax code.

[https://www.forbes.com/sites/steveforbes/2016/04/18/tax- day-...](https://www.forbes.com/sites/steveforbes/2016/04/18/tax-day-a- painful-reminder-of-why-we-must-have-the-flat-tax/)

<comment><USER14> If what you care about is funding services, which is ostensibly what we're taxing people for in the first place, _billionaires_ are just noise; there aren't enough of them to fund anything interesting.

A flat tax is great if your goal is to just stop funding anything at all.

</comment></comment></comment><comment><USER15> I thought Washington has a state law against income taxes? Isn't this an income tax?

<comment><USER16> It's complicated. I understand the WA state constitution prohibits non-uniform taxation (i.e. progressive taxation) which is the only real workable basis for income tax. So all attempts to introduce any form of income tax tend to be proposals for a flat 0-2% tax, with those legislative bills failing because they wouldn't bring sufficient revenue to justify the significant overheads, such as setting up a tax system in the first place, and enforcement.

It's a big problem with local/city-based taxes as Seattle itself is very small (700k people in a few square-miles): it would be no problem for a wannabe tax- avoider to move 10 minutes away to Shoreline, Bellevue, Medina, etc. Even if it was done at the county level, Seattle's location in King County is too close to the border with Snohimish County. Lots of people and businesses priced out of Seattle are relocating to Everett anyway.

</comment></comment><comment><USER17> Credit for creativity but my hunch is the only people who will get money out of this are tax lawyers

</comment><comment><USER18> This is yet another illegal tax (in the state of WA) that Seattle's inept, socialist council is trying to push through. Attempts at enacting this tax have failed before because it is hugely unpopular, especially in the business community. It is primarily the work of Kshama Sawant (not Mosqueda as the article claims, who has basically revised a prior similar plan from Sawant). Sawant is an extremist council member who is part of an organization known as Socialist Alternative. The tax is so blatantly targeted at Amazon through its various rules and exemptions, that Sawant herself calls it "the Amazon tax". The reason the tax may be pushed through now is because Seattle faces a huge budget shortfall after years of fast growing spending. Instead of trimming the fat, their solution is more taxes.

My guess is the council members supporting this hope to invite legal challenge so that an activist judge can rule in their favor despite the state constitution preventing graduated income taxes. My hope is that Amazon just declares all their tech workers remote and moves out of Seattle.

If you're new to how these socialist organizations think, check out their self-avowed plan to infiltrate BLM early and leverage its cause for their own Marxist ends ([https://www.socialistalternative.org/marxism-fight-black- fre...](https://www.socialistalternative.org/marxism-fight-black- freedom/black-lives-matter-marxism/)). They have a mentality to implement their ideology at its fullest with no compromise, and that is definitely the case with this proposed tax, given its repeated unpopularity here.

If you're curious about Kshama Sawant specifically, check out her tweet from July 4th ([https://mobile.twitter.com/cmkshama/status/12795239378445557...](https://mobile.twitter.com/cmkshama/status/1279523937844555777)):

> "I've no respect for the stars & stripes, or any other flag symbolizing > slavery. Triumphant socialism will haul down that flag & every other that > symbolizes capitalist class rule & wage slavery. I'm a patriot, but in the > sense that I love all countries."

<comment><USER19> If you think a 2.4% tax is extremist, in a city that already has a much lower tax burden than most tech hubs, then Seattle might not a good cultural fit. Perhaps the south or Midwest would align better?

<comment><USER18> Seattle and Washington have historically been all about smaller governments, efficient spending, and no income tax. Even without this new tax, Seattle is overflowing with tax funds from other sources, such as increasing property tax revenues. They've been absolutely wasteful with it all, and quality of life in Seattle has deteriorated significantly in the last decade.

Such policies and the politicians who back them are a result of a rush of recent transplants from places like SF, and are not reflective of Seattle's true culture.

</comment></comment></comment><comment><USER20> I suspect that the tax will actually be born by the corps. They would still need to pay their employees competitively to attract talent, so the only option this have is to boost pay proportionally to the tax.

<comment><USER21> Well, the law specifies it's paid by the corporation and may not be deducted from employee salary...

<comment><USER22> They can say that, but money is fungible. If operating expenses go up, then raises/bonuses go down.</comment></comment></comment>


Show HN: An Instant Go Powered GraphQL API for Postgres. No Code Needed - <AUTHOR> https://supergraph.dev/ <comment><AUTHOR> Also want to mention that it works with Ruby-on-Rails apps and can serve as an instant GraphQL api for your existing Rails app just deploy it alongside the app. Super Graph can decode rails cookies and work with rails session stores to fetch the user id.

<comment><USER2> I tried running it, but on a normal postgres database, not used by a ruby on rails app. It failed because it assumes RoR security tables (users)?

Also tried to run it in a separate docker image, next to a postgres docker, started from a shared docker-compose, but docs where unclear how to configure this (e.g., what environment variable is used to set the database name).

</comment></comment><comment><AUTHOR> For those that care to know more. Super Graph works as a GraphQL to SQL compiler which also learns the schema and relationships in your DB to turn your GraphQL query into a highly efficient SQL one.</comment>


Show HN: Learn Modern Web Development - <AUTHOR> http://lmwd.herokuapp.com/

<comment><USER2> I'd sign up if I had the money, looks like a cool course !

</comment><comment><USER3> Does this cover HTML5/CSS3 and Javascript? Also, $35 is one time fee or monthly?

<comment><AUTHOR> One-time, does cover HTML5/CSS3/JS

<comment><USER3> Awesome. Just signed up.</comment></comment></comment>


All the oxygen trapped in a bubble - <AUTHOR> http://37signals.com/svn/posts/3177-all-the-oxygen-trapped-in-a-bubble <comment><USER2> The pieces of this argument fit together very neatly, but the problem is that they don't correspond to reality. E.g. the cloud about increased VC fundraising. In reality VCs are having a hard time fundraising:

[http://nvcaccess.nvca.org/index.php/topics/research-and- tren...](http://nvcaccess.nvca.org/index.php/topics/research-and- trends/290-vc-fundraising-contraction-and-concentration.html)

Thus it also isn't true that the cause of higher valuations is that VCs have more money. Valuations are certainly higher, but I think the reason is that founders are increasingly getting the upper hand over investors. Which is why in addition to getting higher valuations, founders are increasingly able to retain board control.

<comment><USER3> Where is the money that's driving increased developer/designer demand coming from?

<comment><USER2> I don't think investor money is the main driver of increased demand for hackers. The biggest sources of demand are the big companies, like Google and Facebook, and they're paying the hackers' salaries out of revenues.

<comment><USER4> So conversely, more money is needed to compete with those who are already profitable.

</comment></comment></comment></comment><comment><USER5> I'm finally coming around to thinking that it is starting. About three years ago people were screaming bubble because YC companies were getting $4m or $5m valuations and I wrote the following:

"The truth is this: Bubbles don't exist without my aunt's mutual fund getting involved or my next door neighbor getting told to mortgage his house to invest by his financial advisor. Web 1.0 was all about IPOing on the nasdaq and fleecing the public with business models that disregarded profit. This time around things are different. At every stage of the process you see startups with business models. Guestlist, Github, FreshBooks, heck even Groupon, are making nontrivial money relative to the valuations and expected future growth."

And the money is starting to come in from my Aunts pension fund (Facebook buying instagram because they knew they were going to have her money within a couple months). Just barely starting, so we've got probably 2 to 4 years before the pop actually happens. But what are we supposed to do while it is happening? We can warn people for a while, but it won't change anything. Get money while you can, build a warchest like paypal did and get ready for the winter of 2015 to 2018.

<comment><USER6> Or you can just concentrate on building a sustainable business, and worry about more urgent things that will affect your business, rather than the macro-trends.

<comment><USER7> But "macro-trends" always affect your business even if you are building a sustainable one. Even if you have no investors, if your clients are suffering, you are suffering. If your clients' clients are suffering, you are suffering. If your clients' clients' clients are suffering, you are suffering.

<comment><USER8> You're right, but a truly valuable and sustainable business/technology will be one that clients consider worth paying for even when they are suffering.

There aren't necessarily a lot of modern tech companies that would survive this test though.

</comment></comment></comment></comment><comment><USER9> Numerically, it is difficult to credit VC-fueled startups for driving the quick increase in engineering wages. First, _they don't pay top salaries_. If a bidding war erupts for a particular candidate it is highly unlikely that a VC startup wins. It will be won by everyone's favorite multinational advertising company which will _this quarter_ hire enough engineers to staff approximately 1023signals worth of product dev companies, or their close bretheren AppAmaFaceSoft, which together could a) fill the SuperDome with engineers making more than $120k apiece (and substantially more these days) and b) which cannot reasonably be said to be paying engineers with money they swindled out of gullible investors. No, they pay the money with the _hundreds of billions of dollars of sales_ they make directly attributable to software.

The price of butter is the price of butter. If one hypothetically thinks butter is too expensive, sell butter, don't buy butter. (i.e. offer your services as an engineer rather than trying to hire engineers.) It think it is highly unlikely that anything happening in the capital markets, positive or negative, will make cause engineering (and related trades) to re-transition to the days where you could e.g. find perfectly adequate programmers for $40k. (P.S. Not to slight anybody making that, as I was at $30k like two years ago. Get a wee bit more sophisticated about who you work for and what you work on. You'll do better monetarily and quite possibly have more fun.)

There exist repeatable ways to scalably build product businesses with millions of dollars of actual revenue out of a few man months of work. Unless that economic reality goes away, engineers (&etc) will continue to be cheap at essentially any price.

This is great news for everyone selling talent here. Is it bad news for those buying talent? Meh. If you could pick any time in the history of the world to start a software business, it would probably be now, because the markets are bigger than ever, the distribution channels are fantastic, the SaaS billing model allows us to 10x prices without business customers perceiving any increased difficulty to justify the purchase, the non-human capital costs associated with a software business are asymptotically approaching zero, etc etc.

</comment><comment><USER10> I know the guys at 37Signals are a smart pack, but I don't understand their hangup with Instagram and Pinterest... and apparently FB (esp. their older posts). FB has proven to be able to make $billions of revenue and substantial profit, and is only growing. Isn't that proof that an ad-based model can work if it's large enough?

Instagram was FB's biggest competitor... huge growth and huge adoption amongst young groups of friends. FB was smart to buy them.

Pinterest... I'm less bullish on. I can see how they can make money with affiliate commissions on products and such. But I just don't see Everyone using this. Pinterest at $1.5billion might be over-valued for where it's at. But then again, I don't have privy to their internal numbers (ie., traction, metrics, retention, etc). But, I can see Pinterest be worth a lot in the future, just right now I'm not sure about the $1.5b.

FB, Instagram and maybe Pinterest are amazing companies with crazy traction. They're all riding on the huge distribution channels of our day (web, mobile, social) and have reached or are close to reaching the 100+million users mark (for FB is the 1+billion user mark). Any service that can garner 100s of millions of users can find a way to monetize. How much in monetization is another story, but I wouldn't bet against them to create some substantial value.

<comment><USER11> They're probably hung up because it's making them look small-time. What do 37Signals actually do, other than generate a steady stream of blog posts for HN? They make some sort of dropbox knockoff, right?

<comment><USER12> TODO and project management apps for small business. Unfortunately their success has gone to their heads.

<comment><USER13> Couldn't upvote this more.

Rails was groundbreaking. Yes. DHH did something great but that's now 7 or 8 (!) years ago. Rails has aged, DHH showed often how opinionated he can be and that he just isn't perfect. And the 37signals products live primarily because of DHH's and Rails' reputation and not because there are outstanding (there tons of better Basecamps out there).

Still DHH is a smart guy but a Kevin Systrom who built a company, who learned how to build a scalable backend while starting this company and then sold this company after just 2 years for 1 billion achieved something special as well and this should be appreciated instead of ranting. This is just infantile and shows once again DHH's temper and lack of self-control.

</comment></comment></comment></comment><comment><USER14> It's a shame that all of that talent is working on things the author doesn't think are worthwhile. I mean, everyone should work on what everyone can agree on is worth their time, right?

Yet, I don't think everybody can really agree on what is worthwhile for a person's time. I can point at people working on things like Linux and Khan Academy and say "Their efforts are worthwhile!" but then Microsoft and that one guy, who bitches about Khan Academy stealing all the VC money or whatever, will wag their fingers and say "They are hurting our business! Their time isn't worthwhile!"

Personally, the efforts DHH has put into basecamp and their products is worthless to me. I don't use the products and see no reason to start. That isn't a diss to the products themselves: I literally have no use for them right now. I freelance and study at college and their suite of products doesn't solve any of my problems.

So, who decides what's worthwhile? There are at least two instances where two groups of people don't all agree the same thing is worthwhile. It's a hard problem and implying "adopt my values so you will work on things I think are worthwhile" isn't going to solve it.

(Also, I agree we are in a bubble. I value economic growth and American strength, not pictures of cats.)

<comment><USER15> > _"It's a shame that all of that talent is working on things the author > doesn't think are worthwhile."_

That's an unfair statement - I think more importantly the bubble is making people work on things that _they themselves_ do not believe are worthwhile. You have more and more people entering the market working on things because they think it will flip for ${MAX_INT}, not working on products they genuinely believe people want, or will pay for.

<comment><USER16> > _You have more and more people entering the market working on things because > they think it will flip for ${MAX_INT}, not working on products they > genuinely believe people want, or will pay for._

Do you have any actual examples of this happening?

I'm not saying there aren't people starting companies because they want to get rich, but I don't think it's happening in the droves that people make it seem like it is. I'm as pessimistic about the whole SV culture as they come, to the point of moving away in two weeks, but even I can't say I've met many, if any, people who seemed to be generally disinterested in what they were building, only doing it because they thought they could flip it.

<comment><USER15> > _"Do you have any actual examples of this happening?"_

As a guy who hangs out at a number of SF-area meetups and startup events (free booze and food? count me in) I have met _many_ startup employees and founders who freely admit to this.

For the most part people are interested in the _work_ they're doing (big scalability issues, big data problems, etc), but many people are in it for the money (either ludicrous SV salaries or the hope of a massive flip) and don't genuinely believe in what their product does.

I think this is the attitude OP was railing against, and I'm inclined to agree. There are some damn smart cookies in this town, most of whom are incredibly well paid and mobile - to work on something you don't believe in... that seems incredibly wasteful.

</comment></comment></comment></comment><comment><USER17> The issue in my mind is that "all those smart and talented heads" which the article mentions, even if they're aware of the bubble, have no incentive to change directions.

Call me jaded, but I don't think most startups are created with the intention of improving society. So long as there's an Ouroboros effect of VCs funding brilliant engineers without _truly revolutionary_ ideas, those engineers are going to create business models revolving around getting a big enough user base to justify high valuations, and eventual acquisition.

And businesses shouldn't be about exit strategies.

</comment><comment><USER18> Strategically, it makes sense for a programmer to let his / her skills get bid up and use the surplus to store up some dry powder for the next recession. If you stay focused, bubbles are great times to build up your skills and do something real.

Unless you're planning to play the startup lottery by creating a gamified social network for teenaged felines or something, in which case, good luck, and have fun. You can probably still come out ahead in skills and experience.

<comment><USER19> This is my strategy. Contract and stash during bubble, then try and start my own thing in the lull.

<comment><USER18> If you can time it right, it is probably best to start your own thing right before the peak - get funded, and have a nice Series A war chest just as the lean times hit and the water turns red.

Although to truly weather the lean times, this would have to be a real business - ideally with customers cash flow - not a fluffy built-to-flip eyeball monetizing engine.

</comment></comment></comment><comment><USER20> I'm just a working developer. I'm not looking to start a business of my own any time soon. I'll say one thing: I don't work for companies that cut paychecks out of rapidly dwindling venture capital funds and I don't work for large corporations that hire and fire teams like chattel. If the bubble burst tomorrow, it wouldn't affect my life in any meaningful way. I'd probably get fewer recruiters bugging me, which would be nice for a change.

</comment><comment><USER21> I've called the kneejerk "bubble" reactions "boring" [1] and I stand by that. That doesn't mean I disagree (or agree for that matter). It just means that banal perjoratives with nothing to back them up are _boring_.

To call this a bubble, one must first describe what one means by a bubble. A bubble in my mind is a period of rapid growth in valuations followed by a massive devaluation on such a scale that it hinders investment and innovation.

The subprime collapse was a bubble. Many people were left underwater on their mortgages. Building in many places stopped for years. This has a knock-on effect on jobs, related industries and so on. That's a bubble.

The dotcom collapse was also a bubble. But there are several differences this time around:

1\. Startup costs now, for most Internet startups, are essentially zero. 10+ years ago you had to spend $5-10M to do _anything_ (once you paid for Sun servers, Oracle licenses and so on);

2\. Lax listing requirements, particularly on the NASDAQ, helped perpetuate fraud;

3\. There was no experience to draw on (from living memory at least). Now we hopefully know a little better;

4\. Sarbanes-Oxley, clusterfuck that it is, has at least kept the number of Internet companies IPOing relatively low. This has some negative consequences too but it means that retail investors and mutual funds have largely been excluded from the startup scene, which honestly is a Good Thing [tm]; and

5\. Now, as opposed to then, there are real businesses operating in the tech space who are generating profits on a scale not seen in probably a century or more. Apple, for example, is worth >$500B market cap now and by some estimates that's still _cheap_ given their profits.

10+ years ago investment dried up, capital dried up and legitimate businesses couldn't start or continue to operate, which had a domino effect.

What happens if next month Facebook goes from $100B valuation to $10B? Honestly, not a lot. Late stage investors will lose their shirts. That's fine. VC is a high-risk business. Individuals who participate in the IPO will lose a lot of money. That's not ideal but so be it.

But the important thing to ask is: what will happen to the system as a whole? Startups will still start. When you can build a mobile app and business for $50k the capital markets are basically irrelevant to you. Apple, Google, Microsoft and others will remain. Life will go on.

The low cost of startups is itself a barrier to institutional investment (by pension funds and the like) because the amounts are too small. Again, that's a Good Thing [tm].

What's really happening here is a lot of money is changing hands between VCs and endowment funds and honestly in relative terms it's not that much money.

Speaking to some examples (recent and otherwise):

\- Instagram: I think this purchase was overvalued but, if anything, it demonstrates just what a high-risk investment Facebook is if a company can go from nothing to being an existential threat in 2 years. I honestly believe Facebook was taking them out of the market with this buy;

\- Pinterest: through affiliate and advertising revenue I see potential for this company to be a huge business with massive ability to drive traffic to commerce sites. Make no mistake, this is a real business. It's not without risk but the potential is huge;

\- Youtube: I bring this one up because it went, in 18 months, from being nothing to being bought by Google for >$1.5B (IIRC). Some said now it was overpaying. Honestly, in hindsight I think that price may well have been a massive bargain.

Just because you don't see potential doesn't mean there isn't any. Just because something ends up failing doesn't mean the risk wasn't worth taking.

The reason the kneejerk bubble accusations annoy me is that they come from the sort of people who seem so averse to risk that they neve take any. That is, until the very peak of the bubble (when they finally convince themselves this can go on forever).

Please, I beg of you, if you're going to jump and down and yell "bubble" at least add something to the conversation or back it up with something. A >$1B valuation on a funding round doesn't actually mean anything.

Disclaimer: I work for Google.

EDIT: I forgot to address a couple of points.

Firstly, I too find it depressing what a lot of us are working on [2] [3]. The fact that SpaceX can revolutionize launch costs for less money than was spent on Instagram is sobering and depressing.

Secondly, it is incredibly hard to hire good engineers. I don't see this as evidence of a bubble. I see this as evidence that:

a) (good) engineering is hard;

b) when other costs (bandwidth, servers, software) go to zero, demand for manpower will go up because businesses that once weren't possible or viable will become so; and

c) in a world where anyone can be a founder, it makes no sense to stick to 90s era equity arrangements. To be honest, being an early employee is a lottery ticket and, generally speaking, a shitty deal. Last cofounder = 25-50%. First employee = 1-2%. If good talent is better off working on their own startup you shouldn't be surprised that they do.

[1]: <http://news.ycombinator.com/item?id=3985393>

[2]: <http://news.ycombinator.com/item?id=3876897>

[3]: <http://www.youtube.com/watch?v=vKmQW_Nkfk8>

<comment><USER22> Just because we are not in a tech-bubble doesn't mean there is no bubble. All these crazy valuations may be secondary effects from a larger, hitherto unseen bubble.

-Credit/Money: We are currently printing money to finance our lifestyle here in the US. China currently holds around 3 trillion US dollars and the dollar is only worth something as long as they don't try to cash out.

-Education: Something bad is happening and it is fueled by cheap, govt backed credit. Everyone is rushing to invest in their children's future because of the it-can-only-help-them mindset, similar to the it-can-only-go-up mindset of the housing bubble (also fueled by cheap, govt-backed credit).

-healthcare: this is a weird case and probably only local to the US. Heres the situation: We value our health, but we don't pay out of our own pockets for much, our employers do. So naturally we keep slipping down the slope of wanting more and more done for us. A huge friction coefficient is being added to our economy due to the nature of making businesses provide healthcare, meanwhile insurance companies interests are aligned with the insured because they both want as much done as possible (provided neither of them pay for it).

<comment><USER19> > We value our health

cardio-vascular disease, number one killer in america, is largely preventable through diet and lifestyle. being overweight (actually even high-"normal") is also significantly correlated with cancer incidence. i don't have the type 2 diabetes figures offhand, but they aren't pretty.

healthcare in america is very expensive. fat, inactive americans are a part of the reason why it is expensive (diabetics cost on average $6.6k more a year than non-diabetics..)

I agree that employer-sponsored healthcare is dumb, a relic from the difficulty in recruiting people after the war.

</comment></comment></comment><comment><USER23> Really, all these bubbles are just an economic manifestation of the hyper- information processing problem that our society has yet to learn to deal with.

Just like it took quite a while for my Dad to learn to stop passing around "Bill Gates pays you for every email forwarded" email, members of our society have to learn to ignore all the internet marketing and media-generated hype.

Just like snopes.com was a valuable piece of infrastructure in weeding out the urban legends and reducing our forwarded crap email -- other societal/internet support is going to need to come into place to help investors weed through all the media and marketing hype.

The sad part is that change like this always produces victims who didn't catch on quickly enough. Given the magnitude of the changes brought on by this stage of the "Information Age", there's a lot of learning to be done and it's going to take another generation to develop the infrastructure and mind share needed so that typical members of society aren't so easily fooled by the falseness of the latest investment bubbles.

The genie is out of the bottle now, though. We need to get to learning, informing, and building solutions to the bubble problems. My biggest fear is that governments will [continue to] use this time of change as a power- grabbing excuse to drastically curtail our liberties and destroy many of the advantages of the Free Market.

</comment><comment><USER24> talent can't get "trapped" by a bubble: if a bubble is really a bubble then it will burst and the talent will become free. in fact if you feel there is a bubble then you should encourage it because over the long term the market will be flooded by talent which will be cheaper.

but something that everyone here has to think about: even if you don't think there is a bubble, the nature of tech is that it is cyclical in nature. this means that sooner or later there will be winners, and those looking for a job. although i dare say that those down cycles are in fact THE best times to start a new business or venture.

i would also say that at this point in time that most of the costs of most startups are talent. years ago this wasn't the case, and one of the things that screwed me over in the original dot.com bust was the fact that my real estate costs tripled in the same space at the high point of the bubble. i also wasted a ton of money on hardware and have bitter memories of owning expensive servers that were destined for eBay.

i should add that deeply respect 37signals, and i've found myself following their model -- but it's not the only model.

</comment><comment><USER25> The chance that granny is going to lose her pension fund is much more related to the actions of the banking and financial industries. Granny is already losing her savings with near-zero interest rates.

<comment><USER26> Is this really true? As in, are savings accounts in the US essentially useless now?

I don't know about the rest of the world, but in NZ standard saving accounts are ~2%, and more investment focused (fixed term and variants) are 4-6%.

<comment><USER27> I assume that the parent poster meant that granny is having the real value of her cash savings eroded through inflation because of the zero percent interest rate @ the US fed

</comment></comment></comment><comment><USER28> Worst thing for me is that I actually feel completely out of place actually building my company up last 6 months so I can take on an idea I have, completely self-funded.

</comment><comment><USER29> It is possible to build a sustainable internet business which does not rely on the prospects of an IPO.

Unfortunately it seems that few people treat the industry in that way.

</comment><comment><USER30> While David's argument is interesting, how would his claims be falsified?

The economy is a noisy mess of contemporaneous booms and busts. What we typically call a "bubble" is a boom that lasts long enough that the bust is socially noteworthy.

What if the information age is simply arriving faster and faster? Parents and grandparents are now buying tablets and laptops, uploading photos, liking wall posts, etc.

There could be a huge shift toward the digital economy even if no bubble is occurring.

How many wall posts result in a greeting card not sent, paper not manufactured, trees not felled, shipped, and processed? What other efficiencies are occurring to divert so much capital to information tech?

Most of the technologies that are getting the most money are things that save people serious time/money/effort. This is equivalent to big dollars.

So not only should capital be diverted from other industries, but certain existing ones become more valuable -- photo finishing has more value when you are sending in 30 favorite pics chosen from 1000 digital photos you took, rather than sending in a roll of film and hoping that a few out of the 24 on the roll turned out as expected.

Travel has more value when you can use yelp to find great restaurants, AirBnB to find the perfect lodging at a great price, and Facebook to reconnect with old friends who it turns out live there.

Technology brings value to so many areas, both expected and unexpected. This is why capital is flowing. And it will continue to flow.

Yes there are meta factors such as monetary policy that impact the cost of credit and to some extent influence the risk-appetites of investors, but I think that's likely to be a small fraction of what we're seeing. The reason it's less obvious to us is b/c we've lived in this world of tech for at least 5-10 years before the rest of society started to arrive.

</comment><comment><USER31> [http://blogs.reuters.com/felix-salmon/2012/05/07/how- venture...](http://blogs.reuters.com/felix-salmon/2012/05/07/how-venture- capital-is-broken/)

The bubble is not in IPOs, it's in VC. Venture capitalists having been losing money for a decade. Their General Partners are starting to cotton on, and will start pulling funding.

Yes, there's good VCs which do make a bit, and a few lucky ones, but many VCs are taking money from "bucket fillers" - institutions who are told "put X% in VC". These "bucket fillers" have to invest the money, and the top VCs already have enough cash, so it goes to less savvy VCs who invest it in the startups who couldn't get funded by the good VCs.

<comment><USER32> Some of it is definitely in stocks / IPOs.

RAX had a 100 pe ratio recently. That's as high as Cisco was during the dotcom bubble.

CRM has no PE ratio at all, despite their monstrous market cap.

Amazon has a zillion PE ratio because they're not making much money any longer.

There's a very long list at this point of tech stocks with crazy valuations. When people do their anti-bubble refutes, they only list stocks like HP or EBAY or MSFT or INTC or AAPL, and they ignore the big pile of other tech stocks with massive valuations.

ZNGA and GRPN were both bubble stocks, priced to extremes, and worth nowhere near what they IPO'd at. Pandora, HomeAway, and on the list goes. I bet I can name 40 from the last three years.

</comment></comment><comment><USER33> I don't have anything really substantial to add to this topic, but I find it interesting I have some serious envy for the "talent" that is so in demand.

I went the easy route, chose the web development path in my education, rather than a more math heavy, software engineering direction. I've been slapping myself for years now, but this just rubs salt in my wounds.

Granted, I interview very poorly, am not the most articulate person (stutter and stammer a lot, etc) and I certainly can't at this point in my life up and move to San Francisco, so it is probably not important anyway.

<comment><USER34> You are not asking for enough because you don't believe you are worth it. Seriously. Adjust your mindset.

</comment></comment><comment><USER35> I was expecting some illustration like this: <http://ga.water.usgs.gov/edu/earthhowmuch.html> Just with oxygen instead of water.

</comment><comment><USER36> >There just aren't enough programmers, designers, operations people, and other warm bodies to man all the hot air balloons. So you have a predictable effect: Rapidly increasing demand for an only steadily increasing supply. Thus, inflation.

As one of those warm bodies manning a balloon, I don't mind seeing this happen. I enjoyed having a little market power during the last bubble, and I'll enjoy it this time around as well. Sure, when the bubble pops it will suck, but mostly for people trying to get into the field and not people with experience.

</comment><comment><USER37> > Rapidly increasing demand for an only steadily increasing supply. Thus, > inflation.

I think it might be possible to rapidly increase the supply. I'm working on Bloc (<http://bloc.io>) and have been privileged enough to hang out at dev bootcamp (<http://devbootcamp.com>), and if I've learned anything, it's that people want to fill this supply.

The challenge is taking the lessons we've learned and scaling them up to meet something like an economic demand.

I don't think it's impossible.

</comment><comment><USER38> This article left a bad taste in my mouth. Companies that have millions of active users are hardly bridges to nowhere that are devoid of economic or public value.

</comment><comment><USER39> This sounds like DHH is predicting an imminent drop in his income. Call it a bubble. Call it inflation. Call it whatever you like. But he's probably right.

</comment><comment><USER40> Well, the key feature of a financial bubble is that no one is behaving irrationally at a micro level. Even if you know its a bubble, it may be worth trying to get in now and get out closer to the top.

Same thing with building social local mobile stain removal advice apps -- if someone's buying, then someone will be supplying it.

If it is really, no shit, a bubble, then there is a lot of money to be made by determining how to pop it.

</comment><comment><USER41> Inflation isn't an increase in demand that leads to higher cost. Inflation is a general increase in supply. A rise in prices is not the same as inflation. Inflation will eventually cause a rise in prices but it is not the only reason for an increase in prices.

</comment><comment><USER13> > All those smart and talented heads, and all those benjamins, didn't progress > the economic base in a way we're going to care about tomorrow.

He's talking of Facebook, Instagram, Pinterest, etc. and doesn't have the courage to name then. Is this envy? That DHH's products haven't got this far? Or just naive? Because he should know the typical deal terms of a Pinterest and that valuations and raising are blown up for the sake of getting PR and the real milestone payments are much smaller? And that FB IPO can still fail in the long run?

Whatever.

As much I appreciate DHH and his past work his posts have always the same bitter taste: 37signals is the benchmark and the rest is wrong.

EDIT: Hey downvoters, downvoting != disagreeing, just reply if you disagree

<comment><USER42> The benchmark is profits. "Instapintora" might work out well for its founders, but DHH argues that grabbing a ton of users and hoping for the best isn't a good general strategy for building a business. I'd amend that slightly by saying that companies with a huge number of users _are_ valuable, either as eventual cash cows or as strategic acquisitions, but at best following that route is a risky strategy. Sure, you might win the startup lottery, but you probably won't. Actually charging customers with the goal of becoming profitable in the shorter term is a likelier route to success. Even if you don't end up with a cash cow, you still have a good chance at a cash goat—which is still worth milking.

<comment><USER13> > ... grabbing a ton of users and hoping for the best isn't a good general > strategy for building a business.

Everyone has their own way and why do people judge about others? Some grab a ton of users and hoping for the best and others write online tutorials for aged technologies. Let people just do what they like and appreciate if they are successful (grabbing a ton of users is as hard as it is to write good online tutorials).

<comment><USER42> You're criticizing my paraphrase of DHH, not my actual point. That point was "companies with a huge number of users _are_ valuable, either as eventual cash cows or as strategic acquisitions, but at best following that route is a risky strategy." So you can see that I'm not judging at all: I have no problem with the high valuations of Instagram, Pinterest, etc. Growth companies with millions of users are hugely valuable even if they aren't currently making any money. (This is a point on which DHH and I respectfully disagree.)

If you want to follow a high-variance strategy, there's nothing wrong with that. What is wrong is expecting that your new startup has a reasonable chance of being the next Instapintora. If you want to build a sustainable business, lower-variance strategies (which typically aim to become profitable quickly) are a better bet. I dealt with these issues explicitly in a talk I gave at LA RubyConf in 2011, which you can find here: <http://youtu.be/j0jT98ZXh5M>

P.S. My tutorial for an "aged" technology is only step 1 in a four-step plan for world domination; steps 2-4 are much higher-variance. Stayed tuned.

</comment></comment></comment></comment><comment><USER43> If it's a bubble then Facebook's IPO could be the turning point.

<comment><USER44> Or not. If Facebook remains profitable, then it could basically be this bubble's Google.

</comment></comment><comment><USER45> To me the most convincing part is the bridge to nowhere.

So, just build bridges to somewhere.

Build what people want, and preferably, will pay for.

Even if you build it in a bubble, its still a bridge, somewhere.

</comment><comment><USER46> What would the difference be between a market correction and a bubble bursting? Is it just a buzz word or a quantifiable difference in size?

</comment><comment><USER47> What I want to know is, what kind of business service do I need to build on the upswing and downswing to hedge the risk - anybody ?

</comment><comment><USER48> as long as companies have good product's and can consistently generate revenue...the industry should be fine

</comment><comment><USER32> If it makes everybody feel better, the temporary bubble has already popped. It's over, it's just that very few people know it yet.

The Facebook IPO is timed to get out the door before the stock market falls any further. It signals the end of this micro era, just as Apple's stock at $644 was the big monster stock of this time frame (referring to the small bubble periods that the Fed generates with their monetization programs and rate manipulation).

The previous two Fed liquidity bubbles, 1997/99 and 2005/07, both had all the same trimmings.

Chin up, it's over, now comes the winter. Hope you've got your funding.

</comment><comment><USER49> What about "creative destruction?" Part of the process is resources being diverted to shit that goes nowhere. Eventually the people who made that shit go out of business and then go to work on something else (and hopefully for them, this time, it doesn't suck).

I suspect the author's point is that lately there is much more destruction and less creativity, but he doesn't state it explicitly or even do a very good job of implying it. In fact, this almost reads like a critique of basic capitalism. Certainly the ratio of expensive but worthless shit to good and useful stuff seems headed up. I agree that it is. However the boom-bust cycle is a feature of capitalism, not something you set about to correct. The author doesn't propose any solution here, which is convenient. If he had, he would have come to the sudden realization: Aha! There isn't one.

Is Instagram worth $1B? Definitely not. But neither is Facebook worth $100B, or whatever made-up number they're valued at these days. Evaluating the value of ideas is not an easy task. Capitalism arrives at a solution eventually, but no one ever said it was efficient about it.

(Okay, lots of people say that, but they're deluded assholes.)</comment>


Slurping a file in Common Lisp - <AUTHOR> http://www.emmett.ca/~sabetts/slurp.html

<comment><USER2> slurp-stream3 looks pretty sloppy...

      (defun slurp-stream3 (stream)
       (with-output-to-string (out)
         (let ((seq (make-array 1024 :element-type 'character
     			   :adjustable t
    	 		   :fill-pointer 1024)))
           (loop
            (setf (fill-pointer seq) (read-sequence seq stream))
            (when (zerop (fill-pointer seq))
    	  (return))
            (write-sequence seq out)))))

1\. The array doesn't need to be adjustable because he's reading no more than 1024 characters at a time.

2\. read-sequence and write-sequence ignore the fill-pointer so there's no need for it, much less initialize it to 1024 (also :fill-pointer t would have the same effect of initializing to the length of the vector). He's using the fill-pointer as a variable so he should just use a simple lexical variable.

</comment><comment><USER3> For a file that big I'd probably do a mmap/MapViewOfFile (depending on how the data were accessed of course). Anyone have a pointer on that for [SB]CL?

<comment><USER4> The SB-POSIX package has a function that calls out to mmap: (sb-posix:mmap addr length prot flags fd offset)

</comment></comment><comment><USER5> Enjoyable read. I especially liked the conclusion.</comment>


Cray Has Deep Learning Supercomputer in the Works - <AUTHOR> https://www.top500.org/news/cray-has-deep-learning-supercomputer-in-the-works/ <comment><USER2> Expect this to become a common offering. The big vendors are all working on this (Cray, IBM, Dell's HPC group,etc.).

Furthermore, the hardware manufacturers are increasingly moving towards hardware that should effectively resolve this. Nvidia is of course leading in the space, but Intel and AMD are certainly trying to close the gap with new offerings, and I suspect ARM is as well (although I don't know any ARM folks well).

For some weird reason, Nvidia is not selling TitanX for use in AWS or other cloud offerings, so HPC resources might be the best place to get massive collections of hardware with high speed interconnects.

I'm an HPC software guy, and so I view all this with a skeptical eye. I don't think software stacks are sufficiently advanced to enable true HPC-scale parallelism. Most of the work is being done on small clusters, and until a truly performant MPI stack (or _perhaps_ a different message passing paradigm) comes along, building a big (10K+ nodes) computer for deep learning seems premature.</comment>


The rise of container orchestration storage standards - <AUTHOR> https://blogs.dxc.technology/2017/10/04/the-rise-of-container-orchestration-storage-standards/ <comment><USER2> Please don't underline links with such extreme colouring and please don't make links bold. That makes them stand out more than they should. I opened the link and just saw buzzwords. I immediately closed the tab again.

</comment><comment><USER3> If I were to pick a tool to stick with for container storage, wheee would I start?</comment>


What wins: Freedom of religion or copyright? - <AUTHOR>

While feeling patriotic this afternoon, the song "God Bless America" popped into my head. As I didn't remember all the lyrics, I did a search and the first set of lyrics I came upon:
http://www.scoutsongs.com/lyrics/godblessamerica.html
had a rather explicit copyright notice at the top. It struck me as I thought about posting it to a page, whether or not I could quote the song without permission from the copyright holder.
The thing of it is, the song explicitly states that it is a prayer, and then directs that prayer to God. So it seems that using it should be a right afforded to us under the free exercise of religion clause of the first amendment.
So I wonder, what takes precedence? A person's legitimate claim to ownership of their creative work, or another person's free exercise of religion? <comment><USER2> To add more to the mix - all license proceeds go to scouting organizations in the US. Why do you want to take money away from the girl scouts? ;)

(See [http://edition.cnn.com/2011/12/11/opinion/greene- berlin/inde...](http://edition.cnn.com/2011/12/11/opinion/greene- berlin/index.html) )

There's no freedom of religion issue here. Your religious principles don't require you to sing that song, do they?

If they do, I'm curious how the text of a Jewish songwriter, concerning Armistice Day, became a part of your religion. Did your religion start after 1938, or change its tenets?

FWIW, there is a religious exception in copyright law. Sect. 110[3] says "(3) performance of a nondramatic literary or musical work or of a dramatico- musical work of a religious nature, or display of a work, in the course of services at a place of worship or other religious assembly;" is not an infringement of copyright.

What you described does not fit that category.

Since the words are on Wikipedia, you can probably not worry about it.

<comment><AUTHOR> Alright, first off let me say that I am not a lawyer which is part of why I asked the question, but the first amendment states:

"Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech"

Belief in God is a pretty big establishment of many religions, and the free exercise of such an establishment includes the recitation of such prayers asking for his help. In as much, I believe there is a freedom of religion issue here and I do not understand the amendment to indicate that religious requirement to be necessary for protection under the first amendment.

My curiosity lies more with your 4th paragraph. Has anyone ever raised a constitutional argument for any use of a copyrighted work outside of the scope you have mentioned, which looks to be very clear that it only applies to religious gatherings, or has anyone questioned what constitutes a "place of worship" in our modern age? Is it completely beyond reason that someone could argue that the internet is their "place of worship"? Many people attend all sorts of religious ceremonies online. And their right to do that is _I believe_ protected by the first amendment and I don't believe arguing peoples beliefs are really ever deserving of an argument.

[branching off to address the 3rd paragraph and question

To your other question that seems slightly off topic but seemed provoking, the reason these words became spiritually meaningful to me is that they describe a time in our nation's history when we were fighting a war that the American people had very little say in, in a foreign land and the best they could do was pray to God to see the country that they loved through.

There are a lot of things going on in and outside this country that most people can't do anything about more than pay attention to what's happening and hoping (/praying) for the best. So it seemed relatable to the situation we are in now.

And not that it's really any of your business but yes, my religion started after 1938, in fact it started around 2007 when I became disillusioned with the tenets of my religion, could not find a religion without the mandatory governance of law and ritual and cultivated my own belief system given my favorite teachings of many of the principle thinkers to create a system of belief for myself. Is that a problem?

end 3rd paragraph response branch]

<comment><USER2> First amendment restrictions exist. There is always a tension between it and other factors. For a trivial example, your right to free speech doesn't mean that you can't be arrested for disturbing the peace at 3am by yelling out Bible verses when others are sleeping.

However, if people usually aren't arrested for yelling at 3am, and it's only because you are yelling out Bible verses that you were arrested, then arresting you would be unconstitutional.

As another example, some religions require that members wear headgear. See [http://en.wikipedia.org/wiki/Kippah#Kippot_in_secular_law](http://en.wikipedia.org/wiki/Kippah#Kippot_in_secular_law) for some of the laws regarding the wearing of yarmulke. In general, if a religious use is not singled out and there's no good safety or security reason to ban headgear, then it cannot be banned.

Consider also one of the court cases I once read, about a lawyer who was also a priest. He wanted to wear his clerical clothing while in the courtroom. The judge refused it, on the grounds that it may unduly sway the jury. This decision was appealed and upheld, as I recall.

Like I say, these decisions are often a matter of tension between different needs.

So let's look at the copyright issue again. The copyright law does not place extra copyright restrictions on religious practice. Thus, it is not directly abridging the free exercise of religion. Still, as you point out, it can incidentally place some restrictions on religious practices. But as I pointed out, the law specifically grants religious services extra freedoms that the general public do not have, so you would have to show that there is still a serious restriction.

Suppose your specific case were taken to court. The judge would look to understand the tensions involved: is your ability to practice your religion being abridged by the prohibition of using copyrighted material outside of religious services? How serious is that abridgement? What acceptable alternatives exist?

For example, if you were in the Church of Irving Berlin, with 400 other members, then you would likely have a stronger case than if you were one of the three remaining Shakers, whose religious practices haven't changed much in the last century. (And that's why I asked about your religion, because it does have bearing to the question.)

You say that it's "spiritually meaningful" to you. However, there are any number of things which can be "spiritually meaningful", many of which run afoul of the law. "Spiritually meaningful" by itself cannot be a good guideline.

As an interesting, if only somewhat relevant example, one of the Five Articles of Faith that baptized Sikhs are supposed to have with them at all times is a kirpan; a short dagger. Sikhs follow a warrior faith, and are charged to defend the oppressed and persecuted. But wearing a dagger is illegal in some places. See [http://en.wikipedia.org/wiki/Kirpan#Legality](http://en.wikipedia.org/wiki/Kirpan#Legality) for details.

If you can convince others to join in your faith, where the faith requires you to violate copyright law, then perhaps you can get some legal judgment. But as a single member of the faith you're not going to get a favorable judgment given the reasons you listed. Again, the tension is that people can have many different sorts of spiritually meaningful beliefs. Someone may truly believe that it's best to go around at 3am to wake people up, as a way to spread knowledge of their faith.

Do we allow all aspects of all faith to trump all laws? That makes no sense.

> "Has anyone ever raised a constitutional argument for any use of a > copyrighted work outside of the scope you have mentioned"

I don't know the this (or really any) area law. A quick search finds [http://en.wikipedia.org/wiki/Christian_Copyright_Licensing_I...](http://en.wikipedia.org/wiki/Christian_Copyright_Licensing_International) and [http://www.christiancopyrightsolutions.com/factsheets/](http://www.christiancopyrightsolutions.com/factsheets/) .

The latter includes [http://www.christiancopyrightsolutions.com/docs/factsheets/F...](http://www.christiancopyrightsolutions.com/docs/factsheets/FactSheet- PerformanceRightsMyths.pdf)

> Myth #3: "The religious service exemption allows me to broadcast my church's > performances." ... This was a real grey area until 2006, when a publisher > named Simpleville took a radio station to court for rebroadcasting several > church's' services, including the music portion. ... The court rejected the > argument, stating that the exemption applies only to performances that occur > at the place of worship; it does not extend to broadcasts of those > performances.

The court decision is at [http://www.leagle.com/decision/20061744451FSupp2d1293_11642](http://www.leagle.com/decision/20061744451FSupp2d1293_11642) .

> the exemption does "not extend to religious broadcasts or other > transmissions to the public at large, even where the transmissions were sent > from the place of worship." H. Rep. No. 94-1476, at 84, reprinted in 1976 > U.S.C.C.A.N. at 5698-99.

I think that settles your question for you.

You ask: Is it completely beyond reason that someone could argue that the internet is their "place of worship"?

Not at all. But when you say "the internet" do you mean a public webcast that anyone can receive, or do you mean a place where members of the faith can get together? These are quite different things.

If it's the latter, then I think you can make a good case that it's a place of worship.

However, if it's broadcast to the entire world via the internet, then there's little difference between that and broadcasting it over the airwaves, is there? I mean, while the technology of the internet is only a few decades old, the idea of broadcasts have been around for a century, and the law has long ago adapted to that.

Consider also that publishing books and pamphlets are other forms of broadcast. The New International Version translation of the Bible is under copyright by Biblica, Inc. Many people use it as their Holy Book. Many people believe that proselytizing is also part of that faith. That doesn't mean they can violate copyright by making unlicensed copies of the NIV in order to encourage others to join their faith.

<comment><AUTHOR> Dalke, first off, thank you for your exhaustive explanation. I might question you on a few points, but right now it would seem senseless as I don't really have anything that I disagree with relating to what you've said and you seem far more knowledgeable about the subject.

My question stemmed from my misunderstanding of the law and a curiousness about how my knowledge gaps might be exploitable (though not as much for harm but rather protection). Thank you for taking the time to give me such a thorough answer.

I was somewhat apprehensive to post my first question to HN, (especially one that even mentioned religion) but you definitely gave me the best response I could have hoped for. I definitely owe you one. Thank you.

<comment><USER2> You're welcome. Glad you found my response informative.

HN commenters are indeed a fickle and random group.

Cheers.</comment></comment></comment></comment></comment>


Hydrus – a tag-based media organizer - <AUTHOR> https://hydrusnetwork.github.io/hydrus/ <comment><USER2> The context is horrible ( 4chan and 8chan, with a thread watcher any regular booru hentai foundry pixiv tumblr deviant art newgrounds generic direct-image- linked gallery pages ), but the idea seems great.

Resembles what git-annex tagging can do.

<comment><AUTHOR> Yeah, I think it represents an advancement in the state of the art of tag- based media organizational systems - with regular boorus (or any other tag- based online image gallery) for example, which all have a specific focus, you're not tagging the pictures that you have on your computer, you're tagging _their_ pictures, so the database exists on their servers, doesn't work with any other gallery websites, and isn't related to whatever you have on your hard drive. Hydrus distributes tagging, so each owner of an image can tag it how they like, and then share those tags with other people who have an image of the same hash - the mapping (from hashes to tags) exists on your computer, can be easily shared and manipulated, and is directly related to files on your hard disk, not to mention that there are no gatekeepers and curators to decide if your files are worth hosting on their site.

It's a pretty incredible achievement - some things I would love to see added to it are some way of grouping mappings, or making particular sets of them special - like Gelbooru's mapping, and Danbooru's, and etc. This would open up the door to having transformations between sets of mappings (functors, you could perhaps call them?). For example, if you wanted to use Gelbooru's mappings (they are less strict than Danbooru) with Danbooru's tagging conventions, you could write some mapping of tags to tags (or, more like a mapping from mappings from hashes to tags, as the transformation of a single tag might depend on the presence of other tags), which could transform some of Gelbooru's tags into a set that follows the conventions followed on Danbooru.

Another important open problem seems to be that cryptographic hashing as the only equality metric for files is clearly too strict - thumbnails, minor image transformations (like PNG -> JPG), watermarking, etc, all appear as "different files" to the tagging system. I would love for there to be some way of equating files modulo some other function, like for images there is color histograms, keypoint matching, phash, etc.

<comment><USER2> I had never heard of or knew about the existence of any "booru" (this term is totally new to me, the only thing I know is that 4chan is disgusting).

I've taken a look and it's actually amazing what they can do with tags. I'll try hydrus with my personal files (photos, text files, audio recordings), but I imagine the problem will be that they're not all on the same computer at the same time[1], so maybe some glue will have to be made, or perhaps the library will have to be abstracted so it supports just hashes and also not only images.

The question of where does hydrus store its tags database is also worth making.

[1]: [https://git-annex.branchable.com/](https://git-annex.branchable.com/)</comment></comment></comment>


Ask HN: Would you be open to Self Study college? - <AUTHOR>

Everyone I know says only benefit they get out of college is discipline, friends across a wide spectrum and human experiences which make them grow as a person.
But $100000 is pretty huge amount for this considering most of the education material is in open spaces now. Internet is a huge depository of knowledge and MIT has most of its course in available online.
Would it be feasible to have self organizing groups who commit to self study for say four years and stay on a campus?
PS: I understand major fallacy would be access to research labs. But as a thought experiment, I am curious to know HN view on this <comment><USER2> No, because the point of college isn't to learn information. It's everything else that matters.

</comment><comment><USER3> no, self study its not enough, you need also advisors, teachers to ask questions, and to point mistakes in the stuff that you are doing</comment>


Ask HN: Where are we with meltdown and ME? Does an Intel CPU not make sense now? - <AUTHOR> I'm in the market for a laptop.  (Actually, as a quick side note - if you have a specific linux laptop suggestion, by all means bring it.)
Now, obviously both Intel and AMD have security concerns that come with a purchase of their products.  But is Intel materially worse?
1) Is it better to avoid Intel until the Management Engine issues are worked out?
2) Is meltdown a specific concern to take into account? <comment><USER2> My advice, just buy a laptop and get on with laptopping. As for Intel v AMD v ARM, I'd assume any difference derived from research is disclosed bugs versus undisclosed bugs and I wouldn't assume that disclosed bugs are worse than undisclosed bugs when it really matters...and if it doesn't really matter then it doesn't really matter.

In terms of Linux laptops: Macs and _business class_ Thinkpads and Dells tend to regularly recur in HN threads about Linux laptops.</comment>