Software Patents are Self-Defeating - ktr
http://blog.datamules.com/blog/2012/02/13/software-patents-are-self-defeating/

======
nitinthewiz
Interesting read. I also believe that software patents reduce your own
flexibility in work. If you spend the time and money to patent your software,
you won't be changing it any time soon, even if you eventually discover that
there is a better way to design your product.

~~~
anamax
> If you spend the time and money to patent your software, you won't be
> changing it any time soon, even if you eventually discover that there is a
> better way to design your product.

How does that follow?

It certainly isn't true with physical device patents, like automatic
transmission mechanisms, so why would software be any different?

------
monochromatic
I stopped reading here:

> I doubt whether our software could be patented anyway, but if you can patent
> a [linked list](<http://www.google.com/patents/US7028023>), perhaps it could
> be after all

If this guy knows so little about patents that he thinks the title of that
patent defines what it protects, and apparently has not even looked at the
claims, then why should I listen to his opinion about them?

~~~
mancaus
The claims are very closely aligned with the title.

Claim 1 - Linked list with two traversal orders Claim 2 - Linked list with
three traversal orders Claim 3 - Method of traversing the lists in claim 1 and
2 Claim 4 - A device (computer) to traverse the lists in claim 1 and 2

~~~
monochromatic
What is claimed is _very clearly_ not just a standard linked list. We can
argue about whether this patent should have been granted, and whether its
claims are invalid... but there can be no dispute about whether this person
has "patented a [scratch that, _the_ ] linked list."

~~~
rtperson
_Very clearly_ my ass. From the patent:

> The present invention overcomes the disadvantages and limitations of the
> prior art by providing a system and method for traversing a list using
> auxiliary pointers that indicate the next item in a sequence.

The "invention" here is called a sentinel, and have been used in conjunction
with linked lists since time immemorial. For "prior art" I would refer you to
CLRS.

Go ahead and downvote me. Please.

~~~
gjm11
No, the invention here is not a sentinel. It's having a bunch of things each
of which has two or more next-item pointers so that you can traverse the list
in two or more different orders. For instance, this would cover any doubly-
linked list.

... Which is pretty strange, actually, since the patent itself references
prior art involving doubly-linked lists. Maybe that's why they had a separate
claim for a list with _three_ "next" pointers in each node. I have no idea why
claims 1, 3 add 4 weren't thrown out by the examiner given that everything
they describe is done by every doubly-linked list implementation anywhere
ever. (Claim 2 looks obviously not novel to me, but it's not quite such a
slam-dunk as the others.)

So, anyway. The patent is preposterous. It isn't a patent on The Linked List.
It doesn't involve sentinels. It doesn't cover any singly-linked list. It does
cover any doubly-linked list (which is one reason why it's preposterous). The
author of the OP is right about the patent's preposterousness but wrong to
describe it as "patent[ing] a linked list". monochromatic is right that the
patent isn't a patent on the linked list, but arguably wrong to think this
proves the original author is a twit (perhaps s/he knows perfectly well what
the patent purports to cover, but preferred terseness to precision). rtperson
is wrong to say that the patent is about "a standard linked list with
sentinels", wrong to be obnoxious about it, but probably right that there's
prior art in CLRS at least for claims 1,3,4.

------
rtperson
> In the end, I doubt owning a patent on something will have any impact on our
> ultimate success or failure.

How I wish that were the case. Unfortunately, there are hundreds of patent
trolls out there that would love to use their patents to extract value from
your company. When the trolls come knocking (and they will), having a patent
of your own may literally be the only defense.

Everyone who wants to understand just how incredibly corrupt the US patent
system is needs to do themselves a favor and listen to the "When Patents
Attack" episode of NPR's This American Life. Then you'll understand why
neatly-reasoned arguments are, in this instance, entirely besides the point.

~~~
monochromatic
Patent trolls are by definition non-practicing entities. How does having your
own patent defend against them, if they're not actually producing anything
that would infringe it?

~~~
rtperson
Again, the error you're making is mistaking patent law with the insane way
patent law is actually enforced. Listen to "When Patents Attack," and you'll
understand that non-practicing entities have been very successful lately in
filling their pockets at the expense of the genuinely productive.

Patents are also not supposed to overlap each other. However -- and again this
was made startlingly clear by NPR -- they do, and by the tens of thousands.

You're making the mistake of believing yourself to be in a world where
reasonableness prevails.

~~~
monochromatic
I think you missed my point.

~~~
rtperson
I apologize for doing so. I think my idea of holding your own patent was not
for the ability to counter-sue, but (and I am quite obviously not a lawyer) so
you have a legal basis to petition for dismissal of the patent troll's suit.
If there were any effective way to savage non-practicing entities, I'm sure
we'd have fewer trolls out there.

It would be a weak form of defensive patent aggregation
(<http://en.wikipedia.org/wiki/Patent_troll#Defenses>), but it would still be
better than nothing.

My larger point is that, by vocally opting out of the patent game, the author
of the original article has practically painted a bullseye on himself.
Averring yourself to be above the fray seems to me to be a sure-fire way to be
victimized yourself.

~~~
monochromatic
Defensive patent aggregation is about the ability to cross-license. If a troll
isn't making anything, they don't need to license your patents.

Now, your own patent could _in some circumstances_ be used as prior art
against the patent troll... but if that's all you're using it for, why not
just publish everything you're doing? Publications are prior art just as much
as patents are.


Ask HN: Corp-2-Corp vs W2 Work in San Francisco / Bay Area - lowhangingnuts
I have over 20 years experience in over 10+ languages, tools frameworks. Active on github and open source also.
Trying to make a lot of $$ in next 5 years and quit the rat race.
Everywhere I apply for contract jobs, the recruiter / person with job says they can only do W2 and not independent 1099 or corp 2 corp contract.
I don't need benefits (have it from my partner) and W2 rates are much less than Independent 1099.
So what's the deal ? Why do recruiters and firms insist on W2 in Bay Area?
Also how do I set my W2 rate vs my C2C expectation.
Ex: If my 1099 / Independent rate is 100 $ / hour, what would the equivalent W2 rate be, so I don't lose money?
======
nunez
I don't know why W2 is so common over there, but you should be hitting up
LinkedIn and reaching out to recruiters that way. There are plenty of 1099
opportunities to be found. Ensure that you get contracts with fixed time
periods so that you can plan your cash flow a little easier. (It's not a hard
and fast guarantee, but a six-month contract is much easier to plan around
than some flexible contract scenario where the client can fire you at
literally a moment's notice.)

Also, $100/hr for 1099 is really low for your experience. You'll get work
easily, but will need to work literally all of the time to make ends meet. You
should aim for at least $240/hour.

Think about it like this. Your experience would probably net you a
$175-200k/year salary in the Bay Area. That's the money you take home (before
taxes). This _does not_ include offset compensation (equity, bonuses,
VACATION) and benefits (401(k) with match, health insurance (medical, dental,
sometimes vision, HSA, FSA, etc.), commuting discounts, etc.). I don't know
the exact numbers, but after factoring all of this in, I would wager that the
company is actually paying $500k/year for your services in the W2 scenario.
That's ~$240/hour assuming a 52-week business year at 40 hours/week.

Additionally, your experience makes you a premium product depending on how you
sell yourself. If the talent pool for one of the languages that you know (say,
Delphi) is dying but is still used for critical business functions that make
companies serious amounts of money, you can increase the margin on your rate
even more. 20 years of experience is a lot.

Lastly, for the businesses that you're probably trying to go after (big
institutions with beefy IT budgets), trying to sell yourself short will
actually make you appear to be _less_ experienced than you really are. These
businesses are used to paying top-dollar for quality and/or insurance, so you
should play the game in kind.

TL;DR: Pay for LinkedIn; use competing salaries PLUS BENEFITS to calculate
your rate; add some margin to the top; get the fuck out of the rat race.

------
gt2
There are plenty of businesses that would prefer to pay you or your small corp
directly without a w2. They are usually the smaller companies or individual
people. The w2 is common when a contracting company is managing all of the
contractors for a medium to large company. It could be that those contracting
companies want uniformity between their Human Resources but I'm not sure. I
think you just need to branch out and talk to a few new recruiters or contact
businesses directly. Sell them on yourself and then just tell them you always
do 1099. Someone will bite if you pass the interviews.

Lastly the w2-- it could be at least 15 percent less to be equivalent to 1099
since you don't have to pay he employer share of social sec, but you should
still shoot for as high as possible given that a contract (even w2) is more
volatile than a long term gig and the employer should pay a premium for that
over a regular hire.

------
codegeek
Clients prefer W-2 because of the so called assumed "risk of liability". They
don't want 1099s on their payroll because of fear from IRS that they could be
tagged as employees and hence needing to pay fines and extra benefits that
they don't want to. I personally think that is bullshit but that is what it
is. In fact, some large clients force their vendors to only hire W-2 even if
the payroll is run by the vendor company and not the client. So that is why a
lot of these clients have started preferring W-2 and it is increasing
difficult to find direct contracts with large clients who offer 1099 (many
still do but rare these days).

Now to your question about the rate between W-2 and 1099. It depends.
Generally, a W-2 rate is usually going to be less than 1099 due to factors
such as Payroll tax, benefits etc. AT the end of the day, someone has to pay
for those regardless but in case of 1099, you the contractor is responsible to
figure that out (risk is on you) vs W-2 where the employer has to figure that
out for you.

You first need to ask these questions to ANY recruiter you talk to:

1\. Are you a direct/preferred vendor to the client ? This is critical because
if they middleman to the actual vendor, they will take their own cut thereby
reducing the size of the pie for you. They are of not use to you and never
deal with 3rd party recruiters. Only deal with direct vendors who talk to
clients directly.

2\. If they only offer W-2, is it with Benefits or without benefits. Yes, you
can get W-2 with some benefits (health insurance etc) even if you are a
contractor. This is important to know because if you don't necessarily want
benefits, you could potentially negotiate a higher rate even on W-2 by asking
them not to pay for benefits .

Once these 2 questions are answered, then you can start playing with numbers
to figure out what you should ask for at the very least to even break even.
Items to consider:

\- Your current salary

\- Do you receive any bonus on average every year ?

\- Vacation days you take in a year

\- monetary value of benefits like Health insurance, 401k etc

\- How much Payroll taxes are paid by your employer ? Remember, as an
employee, you only pay your portion (about 7.5% SS + Medicare) but as a
contractor, you will have to handle that part yourself (if 1099).

You need to figure out all these and then get to a daily/hourly rate.

MOST IMPORTANT: Your daily/hourly rate must consider the number of billable
hours/day you will work in a year. You need to factor in downtime. Contracts
can end quickly at times. So you need to factor the extra month or so that you
may be in transition.

Finally, in Bay area, my general assumption is that $100/Hour on 1099 is low
for a skilled and experienced developer.

Shameless plug: I wrote a simple calculator to convert salary to a daily rate
in the US. It is a general estimate but should give you an idea:

[https://codegeek1001.github.io/salary2consultantcalc/](https://codegeek1001.github.io/salary2consultantcalc/)

~~~
corporateslave3
Quick question, how do you feel about a long term contract (never ending) at
125$ per hour. Assume highly in demand skills (ML, Big Data Architecture,
stream processing) with 5 years experience in NYC/SF.

Is that too low? Just right?


How long would it take to crack your password? - vinchuco
https://password.kaspersky.com/?
======
warrenm
Discounts the fact that brute force is rarely the best way to find out

Social engineering is far easier

~~~
vinchuco
Absolutely.


Making integrated circuits from uranium oxides - RiderOfGiraffes
http://web.ead.anl.gov/uranium/pdf/WM01Semicond.pdf

======
seekay
zero value for industry for now... unbiassed review nonetheless


Ways to make a web component - kjhughes
https://webcomponents.dev/blog/all-the-ways-to-make-a-web-component/
======
badsectoracula
I'm not into web development at all so this sounds very new to me, but aren't
components in general meant to be self-contained so that they can be reused as
"building blocks" for larger applications (or pages, i guess)?

Doesn't using a framework in this case mean that you also have to at least
bundle that framework with the component? What happens if you want 10
components that each use a different framework? Or some of them use the same
framework but different versions? What about the same version, does that get
duplicated for each component or they get shared?

Also are these components meant to be "bundled" with your code or you are
supposed to source them from their "home" server? In the latter case does that
mean that a site using 10 components will open connections to 10 different
servers (one for each component, assuming all components are from different
developers)?

Or am i missing the point completely? TBH i think of "components" as in
Lazarus, Delphi, .NET, etc (where you have reusable components like buttons,
labels, input boxes, etc but also nonvisual stuff like timers, imagelists,
etc).

~~~
sillysaurusx
Nope, your thoughts are all essentially correct. The answer is “yes” to all of
them; even the ones where it seems that “yes” would be contradictory.

Bundle everything? Yep. Self contained? Yep. 10 components that open
connections to 10 different severs? Yep.

The web is so massive that there is a way for pretty much everything (though
for some reason webdevs try not to admit this).

~~~
staycoolboy
Except for the pure HTML5 solutions, everything else uses a JS framework.

~~~
johnmw
I don't know why the sibling reply comment to this by golemiprague was killed.

My understanding is that he is correct - in terms of requiring a framework to
be bundled with your code. Svelte is not a framework that needs to be bundled
with your code, instead it injects helper code during the transpilation step
and the result has no dependencies.

If I'm incorrect I'd appreciate the trigger happy person to explain why rather
than killing this comment.

------
jjcm
I've been working on a webcomponent based reddit/patreon competitor for about
a year now, and one thing I found was how incredibly easy it was to spin up my
own micro framework.

I would highly encourage people to give it a shot. It's just going back to
basics and working with class-based inheritance. It will take you a day to
write out the basic functions you will need for 95% of your components, and
you'll be left with a tiny library that not only solves your needs, but you
know inherently.

If you're curious, lines 1-26 are all you need to easily bind an html block, a
style block, and to do event/attribute binding via @/? statements:
[https://github.com/jjcm/soci-
frontend/blob/master/components...](https://github.com/jjcm/soci-
frontend/blob/master/components/soci-component.js) . The rest of the file are
just shared helper functions.

~~~
BigJono
Don't be stupid, how do you know those 26 lines of code are free of bugs?
They're not battle tested and you're just re-inventing the wheel instead of
following best practices.

~~~
DonHopkins
That's right, we should all follow best practices and use 26,000,000 lines of
Angular code, which has been written and debugged by thousands of people,
battle tested and wounded and scarred in wars we've never heard of and don't
care about, and that we will never get around to reading all of.

~~~
BigJono
Those 26 million lines of code have been engineered over the better part of a
decade to perfectly cater to every possible use case. To not leverage those
productivity gains would be insane. You wouldn't build your own car would you?

(/s, btw)

------
mshenfield
First contentful paint (FCP) is basically the same (+-10ms) from React down to
a raw HTMLElement. I guess at some point appending elements to the DOM is the
bottleneck, rather than the overhead of parsing JS and the efficiency of said
JS.

To get a faster FCP, statically rendering the component to HTML and re-
hydrating it in the client (using Gatsby, for example) seems like it will have
a bigger impact than the WebComponent library used. Unless the client is
bandwidth constrained of course.

~~~
georges_gomes
Co-author of the blog post here.

My mistake is to call it FCP. This local benchmark only shows the performance
of: \- parsing the javascript code \- creating the DOM node

That was the only goal.

We should have network simulation for the next update of the blog post to show
some additional color. Good idea :thumbsup:

Static + re-hydrating is actually built in Web Components (technically).
"Only" tooling like Gatsby or Next.js is missing to make it more developer
friendly.

~~~
hoten
Would you consider comparing the results of a Lighthouse report?

~~~
georges_gomes
Sounds good. Like have some sort of generic page with components and look for
lighthouse score. I'm adding to the list!

~~~
hoten
Sweet, thanks!

Feel free to DM me if you need any help. twitter is in bio.

------
alfonsodev
It is very interesting that it includes the build size including compressed
size, it makes me thing that one of the reasons that we don't have a popular
repository of interchangable Webcomponents yet, is that if you commit to a
framework to make things easier, then the size of the bundle is easier to
justify if you keep all the components made within the same framework.

Importing components that have been made with different framework come with
their extra bunde overhead, at least that what looks to me at first glance.

~~~
spankalee
This is a fine state to be in now. The first priority of web components is to
make components interoperable, so that at least you _can_ use components built
with different libraries together.

Meanwhile, the size of modern rendering libraries has dropped significantly,
an order-of-magnitude less than React/Angular. This will continue as JS and
web platform APIs advance. Proposals like Template Instantiation would finally
give the DOM a good pattern for fast updates and reduce sizes even further.

------
sequoia
Web components to me represent the architecture I’d _like_ to have. I think a
good arch could be:

1\. Build a rails/django type site, make everything work vanilla http+html
etc.

2\. Create standalone web components for the places you need some more
interactivity, like type-ahead search box, “click to add” type thing, or a
datatable

So _most_ of your performance stuff could be handled/improved on the server,
focus on aggressive caching etc. and most of the complexity would be on the
server with small stand-alone parts on the client (ideally without a lot of
interconnection, i.e. without a big client side state manager). This would not
allow full-spa but I am not convinced SPA is the answer in many/most of the
cases it’s used.

~~~
edisonywh
Have you heard about Phoenix LiveView? Sounds like what you want.

It's a Rails-like framework written in Elixir (piggyback-ing off 30 years of
BEAM), and LiveView changes the game by allowing you to build rich front-end
application from your backend.

The way it works is that it serves you static HTML on initial load (yay SEO),
and then it establishes a websocket connection to the server (very efficient
thanks for BEAM), and every subsequent user interaction sends a event_name
which you handle on the backend, and the backend respond with only the changed
data (Phoenix can intelligently track your changes so it only sends what has
actually changed), and then morphdom on the browser side patches things onto
front-end.

You get the full power of interactivity but you barely have to touch any front
end at all (and if you really do, it plays super well with AlpineJS, so you
still get that escape hatch).

All in all, LiveView is amazing (and the surrounding technology), I just wish
more people know about it!

~~~
elcritch
Agreed, Elixir LiveView is a lot like what @sequoia describes. I use LiveView
to handle creating the more complex logic, data handling (and caching) on the
server. For UI layout you can get surprisingly far with mostly CSS nowadays
with small events back to the server just changing a CSS class here and there.
Oddly despite the server round trip, the responsiveness is great.

Here’s a demo I built for a small wrapper around Bulgaria CSS. Running on a
tiny VPS: [http://lacritch.xyz/](http://lacritch.xyz/)

Now Elixir/BEAM is an excellent platform for this as the average and 99.9th
percentile response times are really consistent. So your UI interactions don’t
usually take 70ms with every Xth one taking 400 ms, which would be really
annoying.

~~~
edisonywh
Right? I use LiveView with Tailwind, and for those little extra interactions,
Alpine works amazingly well. Such a dream stack! Alpine was created by Caleb
for LiveWire (inspired by LiveView), which is why it works so well too :)

------
rishav_sharan
It infuriates me that the concept of composable web pages using small
templates/components is not baked into the html spec and supported by
browsers.

Every bit of code that we write in any programming language is made of
composable bits which can be imported into other bits of code.

But we cannot do anything similar with html. every time any attempt at having
composable component based html is made, it gets mired down in arguments, and
we end up with Frankenstein monsters like Web Components, Shadow DOMS etc.

Web shouldn't be this hard. but the html governing bodies and the browsers
have done a horrible of taking it forward.

~~~
blitmap
SVG has the concept of re-usable components.

Maybe in 10 years we can replace HTML with SVG.

 _hides_

I'm sure that would make it much, much harder for people with accessible
needs.

~~~
hinkley
Reusing SVG elements isn't as easy as they claim either, and they seem to have
taken some of the options away in SVG 2.0

~~~
hutzlibu
Also SVG has also some very ugly things in the spec. And you would have to
build up every UI-Element by yourself. It would have nothing to do with SVG,
if it would be like HTML.

------
clairity
is there any reason you can't write a web component with a <style> block, a
<script> block, and a bunch of html?

the wedging everything into js is messy, to say the least. it seems the main
benefit is being reusable and tightly scoped, but with randomized class names,
you could tightly scope the aforementioned bundle as well. even better would
be if html added 'for' attributes to <style> and <script> tags, like labels
have, so you could target nodes in the dom by id.

perhaps being composable is a bigger challenge, but is it insurmountable with
this approach?

~~~
rishav_sharan
I tried that using <template> <style> blocks, a few years ago.

my biggest problem was simply that I still had to add all my templates to a
single long html file. And that really feels suboptimal. I had a scaffolded
page structure at top. and then dozens of template sections following it. and
then as some templates are supposed to call other templates (form inside page
section) there was a clear hierarchy but my html file was flat and it was
getting harder to reason about the structure of my app the more templates I
added. I finally threw it all away and just did a vanillajs spa.

I really wanted to be able to breakup my html file into smaller composable
ones without having to do that in JS. but there is no current solution for
html importing other html files, and the spec discussion around html import
are pretty much dead in the water (and have been since 2013)

~~~
orange8
> my biggest problem was simply that I still had to add all my templates to a
> single long html file.

The alternative (atleast when using frameworks like React and Vue with
packagers like webpack is having it all in a single long html file. Which is
just shifting markup from html to js. The other alternative is to dynamically
load the html via ajax calls.

> I had a scaffolded page structure at top. and then dozens of template
> sections following it. and then as some templates are supposed to call other
> templates (form inside page section) there was a clear hierarchy but my html
> file was flat

Here you could make use of the document.ready event, and a js script that
automatically parses and saves all <template> tag by id. That way, the
templates calling other templates have a single source of truth for all
dependent templates. You could also combine this will lazy loading via ajax
calls.

> I really wanted to be able to breakup my html file into smaller composable
> ones without having to do that in JS. but there is no current solution for
> html importing other html files

There is no getting around JS if you want client side dynamic rendering -
that's what its for. HTML is for static content, css for styling, JS for
everything else.

------
sillysaurusx
GPT-3 has an interesting contribution to this:
[https://twitter.com/sharifshameem/status/1284095222939451393...](https://twitter.com/sharifshameem/status/1284095222939451393?s=21)

Tell it what you want in plain English, then it builds you a web component in
a random language that happens to be React.

I wonder if in the future we’ll be comparing the size of components generated
by an ML model...

~~~
Bjartr
It's not random, it would have been part of the prompt, like his earlier
prototype

[https://twitter.com/sharifshameem/status/1282692481608331265...](https://twitter.com/sharifshameem/status/1282692481608331265?s=19)

------
georges_gomes
co-author of the blog post here. Thank you @kjhughes for sharing our work here
:pray: I don't know you but I love you already :heart: :)

I'm trying to comment where I have something to bring. If you have questions
or maybe a list of things that you would like to see in the next update,
please shoot at me!

Many thanks

~~~
fouc
I wanted to suggest that you could consider adding mithril.js to the list of
libraries perhaps. It's a nice alternative to preact/svelte, and it's been
around awhile.

-

BTW, When I go to
[https://webcomponents.dev/edit/uLX8C4bJf4Kmg2jWu1dL?pm=1](https://webcomponents.dev/edit/uLX8C4bJf4Kmg2jWu1dL?pm=1)
it doesn't load the component in the "Stories" tab for latest Safari or an old
Chromium v68. Works fine in latest Firefox.

I see error message "Unhandled Promise Rejection: SyntaxError: Invalid
character '\ud835'" on the worker.helper file in Safari. Chromium 68 ends up
with "Unknown worker: undefined"

~~~
georges_gomes
Adding Mithril.js to the list :thumbsup:

Thanks for reporting the issues we will look into it. How to you install a
Chrome v68?

------
nend
Alternate title: The fractured state of web UI design explained using a simple
counter.

I say that only slightly in jest, as it is a neat way to show all (or most) of
your options.

Although it doesn't have my at-the-moment favorite way to make web components,
blazor/web assembly. For me, it's made front-end development fun again, which
I haven't enjoyed in a long time.

~~~
spankalee
This isn't a collection of ways to "build components for the web" though, it's
a set of ways to build "web components" the W3C component standard that ships
natively in all modern browsers.

Even those these components are built with different libraries, they are all
interoperable and require no framework to use them, so I'd say this points to
the defragmented future of web development.

~~~
hn_throwaway_99
Edit: D'oh, I misread it, sorry.

You misread this post. The left panel has all the different popular libraries
and frameworks that can be used to build a web component, including things
like React, Svelte, Vue, etc.

~~~
spankalee
I actually helped contribute to this list. If you look at the React, Svelte,
and Vue, examples, they are specifically being wrapped as standard web
components.

------
srameshc
I love the simplicity of StencilJS. Not sure why it's adoption is so low but
those guys have put a lot of work. Much better than what Google is doing with
Lit Element.

~~~
yesimahuman
Thanks! I wouldn't say Stencil's option is low. It's being used in some pretty
major apps today, like Apple Music, Amazon music, and powering the next
version of AWS Amplify components. Not to mention powering every Ionic
Framework component which is upwards of 15% of the app stores (not all use
latest w/ WCs however). One downside to that is npm stats won't show
dependency network effects with stencil because it is compiled out for
component collections like framework.

~~~
yesimahuman
Whoops, meant _popularity_ , not option

------
bob1029
I have a server-side rendering approach that can get instantaneous paint of
arbitrarily-complex views after pulling down index.html and exchanging a
single pair of websocket messages. Once the initial page is loaded, redraws
are as fast as you can get packets between the machines plus 2-3ms for
decoding. It involves some very unorthodox methodologies and has latency
constraints (similar to Google Stadia hosting model), but there are serious
upsides. Including completely untouchable load & response times.

I strongly believe we are stuck in a Malthusian Trap regarding the use of
HTML/iOS/UWP/Android for clients and then an entirely separate stack of things
for the server - Go/.NET/Rust/Python/C++/etc. This separation adds such a huge
burden to the development and maintenance of any application. I argue that if
we must have some division between client & server, lets move as much of the
complexity to the server as we possibly can. It's so much more manageable when
you have all of your state in 1 domain like that. If the client doesn't have
to track state or reason about its views, the application implementation for
each device can be trivial.

I don't think that HTML/JS/CSS/JSON APIs represent a good boundary layer. I
think final rasterized views, viewport dimensions and client events do.
JPEG/MPEG can be decoded incredibly quickly on most mobile client devices due
to availability of hardware acceleration. You will never be able to write a
website in the traditional sense that can outperform the speed at which you
could decode a full-screen JPEG image and display it. Server hardware is also
getting insanely powerful with the new generations of AMD CPUs rolling out.
Encoding JPEGs using something like LibJpegTurbo on TR/Epyc is ridiculously
fast. This is also a type of application that does trivially parallelize
across many cores. As bandwidth becomes ever more ubiquitous, and services
more geographically-distributed, there is a good chance something like this
could become practical in the general case.

For now, this is all just a crazy experimental thing that only works for a
narrow range of applications. But, I would strongly encourage other developers
to start thinking outside of the box. As networks get faster and latency gets
lower, we will begin to encounter new "step function" opportunities that
fundamentally shift how we do business.

~~~
madeofpalk
Granted you don’t go into much detail, what I can gather you’re describing
sounds incredibly unusually by vast amounts of people.

Shipping web pages as rendered jpeg images is a terrible idea for many many
reasons.

------
ragerino
When I was a young web-developer, I joined the WHATWG group. And one of my few
contributions was asking for custom HTML elements.

I actually developed a framework myself in LotusScript ;)

------
agquick
Our company had been looking to move our project away from Knockout.JS and on
to Vue/React. I started playing around with native Web Components just because
I like the idea of not being locked into a single framework.

However, I also wanted to keep using observables/computeds so I wrote a quick
library that ties MobX with Native Web components, but has a Vue-like binding
syntax.

Yes I know it’s yet another library, but it mainly just provides for a simple
way to use MobX (an established library) with Web Components (a browser
standard), _and nothing else_. It’s still very new but it works and I’d love
feedback.

Example fiddle:
[https://jsfiddle.net/agquick/d0tsqar6/](https://jsfiddle.net/agquick/d0tsqar6/)
Github:
[https://github.com/agquick/elemx.js](https://github.com/agquick/elemx.js)

~~~
georges_gomes
I love this creativity :) We should have you in the next update of the blog
post!

~~~
agquick
Thanks, that would be awesome! It really makes state management within custom
elements a breeze. I'm hoping others who appreciate observables/mobx will take
interest and help me grow/maintain it :)

------
dpweb
Been working on this off and on for the last 15 years. Pretty much ended up
where I started. Except the newer JS syntax is nicer than in 2005.

Control:

      controls.hello = e =>
        e.innerHTML = `Hello ${e.getAtttribute('x-who')}`

      <hello x-who='world' />

"Framework" just cycles thru the dom and calls control def with the element as
the param.

To handle data, there's a window.data object, which is global data for the
app. Its a proxy object. So when window.data is changed, for instance from the
results of a fetch, any controls that specify that key - their set() function
is called.

      <button onclick='data.count++'>Click me</button>
      <counter x-datafield='count'></counter>

      data.count = 0
      controls.counter = e =>
        e.set = () => e.innerHTML = data.count

------
aylmao
Note: if you're building your whole page on top of a library, a larger library
isn't necessarily bad.

If a library is larger because it does more, useful things, and this means you
have to write less and/or smaller components, in a complex app the tradeoff is
probably worth it.

~~~
dmix
Webpack tree-shaking and automatically chunking into multiple tiny js files,
which can be selectively loaded only when needed, is also super helpful here.

------
staycoolboy
It would be great to include metrics on:

1\. size of framework javascript required to load first

2\. tooling to compile. For example, the Vue.js works without tooling, but the
React w/Class requires command line tools to build before the site is ready.
That's a HUGE difference, IMHO.

~~~
georges_gomes
co-author here.

1\. The bundle size barcharts shows the component size (in light blue) and the
framwwork size (darrk blue)

2\. The Bundle Analysis chapter contains a description of the build tooling
use for each component.

Vue can be used without build tooling if you choose to use the Vue lib with
the compiler included but we use the pre-compiled way for max performance and
smaller Vue runtime (without compiler).

~~~
aylmao
> Vue can be used without build tooling if you choose to use the Vue lib with
> the compiler included but we use the pre-compiled way for max performance
> and smaller Vue runtime (without compiler).

+1. And likewise, you can use React without a build step too, though of course
it is slower. [1]

[1] [https://shinglyu.com/web/2018/02/08/minimal-react-js-
without...](https://shinglyu.com/web/2018/02/08/minimal-react-js-without-a-
build-step-updated.html)

------
eeJah9to
I've rewrote the frontend of one of my personal apps from react to
webcomponents lately. For me, the most interesting aspect was that it's part
of standards, requiring no dependency, so it means that I can use this app for
decades without having to maintain it.

For the same reason, only the first example in this page would do for me (the
one based on standard without using any library). But I suppose that for
actually publishing something, such library would be needed, if anything for
polyfills for older browsers (but then again, we don't expect published work
to stand for decades without changes, so maybe the call for standardized
technology is not as strong there).

~~~
aylmao
> For me, the most interesting aspect was that it's part of standards,
> requiring no dependency, so it means that I can use this app for decades
> without having to maintain it.

I mean, you can also do that with React. Just don't update the library. The
reason a web-component for decades without maintenance is because you won't be
using all the new features— same thing.

~~~
georges_gomes
I think the difference is that when you design a full React app, everything
sit on the same "React base". If you want to move to upgrade to a new React
version everything needs to upgrade. And if you need to migrate to Vue or
Ember or Svelte... everything needs to migrate (or move to some sort of
microfrontend strategy. But given the javascript cost of some of these
frameworks, it's not cheap to go this route).

Web Components have a longer life span as they can be used in another app or
another version with another technology without been migrated. Makes more
sense for expensive component that have been battle tested. You don't want to
rewrite them.

~~~
aylmao
React is built to interop with "general" JavaScript, so in theory you can use
it with other rendering frameworks. I used React and D3 all the time.

Performance-wise, it IS better to stick to a single framework, so I see what
you mean. Web components being implemented in the browser do mean the user
doesn't have to download any more JS.

------
martini333
Why would you ever have the logic in methods in Vue? Just keep it simple

<button @click="count--"> <button @click="count++">

~~~
preommr
Because templates should be declarative.

Error checking code becomes much more difficult because of the ambiguity and
special parsing that has to be done. Its not just the loader, but things like
the ide extensions used.

Allowing small bits of logic like this makes for very nice one-liners and
demos, but in the long term its well worth it to make the template as
declarative as possible - ideally just a method name.

------
asutekku
Super cool, thanks for this!

Now regarding the results: Are there any actual usecases where one would
choose Angular over some other library?

From what i’ve seen from before and now this, i am not aware of a single
reason why would anyone choose to use it, if they are not constrained by
legacy codebase or if there are no stubborn developers who swear by it.

~~~
Kuinox
Vue is great to make small webapp. Also wikipedia chose Vue to remake their UI
IIRC. React is even simpler, but I really hate it for technical reasons.

~~~
EGreg
We are working to document Q.js out of our entire platform becauss it can be
used to make much simpler to understand web components, which work seamlessly
with SPA pages, events and more:

[https://qbix.com/platform/guide/tools](https://qbix.com/platform/guide/tools)

[https://github.com/Qbix/Platform](https://github.com/Qbix/Platform)

------
Blackthorn
I saw at least one that uses "style scoped", which I still can't believe is
deprecated.

------
sunseb
It's too complicated.

Just look at how Svelte is doing components. It's way better and easier.

------
CivBase
This is neat, but I wish there were more examples than just a counter. I would
never use something like Angular, React, or Vue to implement something so
trivial.

~~~
illumanaughty
This distills the differences into the simplest possible example, which given
the number of examples is incredibly useful.

Also if you're in a React project, yes, you would use it for a counter.
Obviously you wouldn't use React for _just_ a counter, but it's a great way to
show the basics of working with each option.

~~~
M2Ys4U
>Obviously you wouldn't use React for just a counter

You probably shouldn't, but there are a _lot_ of people who reach for a React
component to do _anything_ on the web.

------
notJim
Can't wait for 2–5 years from now when most of these have failed, and the One
True Way emerges.

~~~
squeral
Don't bother waiting. By that time there will be another set of frameworks.

~~~
notJim
I kinda disagree, I think people are more pessimistic about fracturing than is
warranted. For greenfield work, it seems like people have mostly converged on
React and Vue, which are conceptually fairly similar. State libs have changed,
but again the concepts translate pretty well. Similarly, webpack is the lingua
franca. Years ago, we had a new build tool every week, and multiple competing
frameworks (backbone, angular, and ember) with very different approaches.

~~~
wishinghand
I don't think any One True Way will emerge. Svelte is coming out to challenge
React and Vue, Alpine+Laravel LiveWire/Phoenix LiveView challenges the concept
of needing a front end framework, WASM is challenging needing Javascript at
all, and Snowpack/Parcel/Rollup are coming for Webpack's crown.

------
nonbirithm
"Compare coding style, bundle size and performance of 33 different ways to
make a Web Component."

I thought this was a joke at first.

But it suddenly made sense in the context of modern web frameworks and
micropackages and all these different ways of doing the same thing.

But wait, I thought. Surely it was a typo and they meant to type "3" and fat-
fingered it instead?

But no. It really is 33.

Which one of those 33 would be the best way of doing things for me? How much
time would I have to spend evaluating enough of them?

I'm going back to HTML 4.

~~~
nogridbag
I was surprised by the low number too. I'm much happier being a backend
developer where I have a choice of over 400 frameworks in over 30 programming
languages:

[https://www.techempower.com/benchmarks](https://www.techempower.com/benchmarks)


Yo platform as a Launch Pad: Moto 360 launch or bad joke? - chermanowicz
https://medium.com/@YoAppStatus/yo-platform-as-a-launch-pad-73d740b6873c

======
minimaxir
Worth noting that Yo did a similar marketing stunt last week...which had
absolutely no impact: [http://valleywag.gawker.com/gimmick-app-yo-offered-
gimmick-c...](http://valleywag.gawker.com/gimmick-app-yo-offered-gimmick-car-
service-and-no-one-1625237703)

My theory is that Yo is milking its $1.5M seed money for counterintuitive
marketing deals. The problem is that negotiating and completing marketing
campaigns takes time, and Yo's 15 minutes of fame expired before then.


Energy Storage Investments Boom as Battery Costs Halve in the Next Decade - zeristor
https://about.bnef.com/blog/energy-storage-investments-boom-battery-costs-halve-next-decade/
======
Animats
It irks me to see predictions talked about as if past events. But this is a
more solid guess than most.

Actual progress has been impressive: 85% reduction in the 2010-18 period, says
the article. Graph here: [1] Getting another 50% in 10 years can probably be
done from manufacturing scale alone. Giant battery pack factories seem to be
going up all over.

This is something that ought to be almost totally automated, but doesn't yet
seem to be. You're making large numbers of identical units for years per
model, the best case for automation. Somebody will get that right soon.

Do we get more energy density? 2x more, and gasoline cars are toast.

[1] [https://about.bnef.com/blog/behind-scenes-take-lithium-
ion-b...](https://about.bnef.com/blog/behind-scenes-take-lithium-ion-battery-
prices/)

~~~
Gustomaximus
Halve the cost and I suspect energy utilities as we know them are in trouble
too.

Currently solar is a no brainer in my country of Australia. Typically around a
6 year payoff for a 20 year benifit.

Batteries are about break over ~10 years payback. But if you could half that
it's becomes something many people will do. And once that starts happening
it's a death spiral for utilities as they will have a every reducing customer
base for a business with large fixed costs. As they put these expenses onto a
shrinking base it only encourages more people to swap.

So for a country with a large suburban population that has the solar battery
option this is going to hit utilities hard. Their market could shrink to
largely providing high density areas where households dont have the roof space
to generate their own power.

~~~
amluto
Residential batteries are currently BS. They serve three purposes IMO:

1\. A degree of backup. Solar alone is crappy at backup power. Solar plus
battery is okay as long as one’s house is wired appropriately to shed load.

2\. They can reduce peak loads. This is called “peak shaving”. If the utility
can rely on it, it can genuinely reduce equipment costs to the utility. As far
as I know, almost no _residential_ rates give any incentive for peak shaving.
Commercial rates give an extremely strong incentive.

3\. Batteries can arbitrage nonsensical rate schedules. PG&E will buy a
limited but large amount of peak energy from me for over 50 cents/kWh, and it
doesn’t really matter that I’m just selling them power that I bought from them
for about 12 cents/kWh a few hours earlier. This is the magic of NEM2PS + EV-A
(now unavailable, but NEM2PS + EV2-A is still available and is not all that
different). It is, IMO, crazy.

Home batteries would need to come down considerably in cost (way more than 2x)
to make them worthwhile without these crazy incentives.

~~~
sitkack
Easier to just increase the cost of power more than 2x.

------
spenrose
That halving will make variable renewables much more effective:
[https://www.vox.com/energy-and-
environment/2019/8/9/20767886...](https://www.vox.com/energy-and-
environment/2019/8/9/20767886/renewable-energy-storage-cost-electricity)

------
dwheeler
If this prediction turns out to be true, it would be a real boon for reducing
carbon emissions. Changing from 7% to 40% of electrical generation is a big
deal. I'm sure it's not enough, but it sounds like a start.

~~~
adrianN
Let's hope we didn't just replace 40% of electricity with renewables by 2040,
or we can probably kiss civilization as we know it goodbye. We need to reduce
global carbon emissions by 50% by 2030 if we want a fighting chance of staying
below 2°. That's much more than just electricity.

~~~
eloff
I think the chances off staying under 2 degrees are slim to none. But that
doesn't mean kissing civilization goodbye either.

And for Canada and Russia it will probably be a net positive.

------
volak
No companies listed in article - anyone have a list of companies developing
new battery technology?

Been something I've tried researching in the past with little luck

~~~
iams-
In the united states the main commercial option for non-lithium batteries is
Nant who is developing zinc-air batteries (but for usage alongside lithium)

Then there is Redflow out of Australia and Voltstorage in Germany.

Not sure on vanadium flow batteries

~~~
merrymoccasin
I worked for a vanadium flow battery startup which went out of business.
Vanadium provides a higher degree of safety due to the chemistry not being
flammable. The chemistry also cycles (charges and discharges) without
degradation in energy storage capacity. However, vanadium flow batteries are
far less energy dense, have moving parts (pumps), and a poor track record of
reliability. There was a lot of interest in vanadium flow batteries when Li-
Ion was way more expensive, but now that prices have plummeted (and will
continue to do so) I don't see much of a future outside of certain
applications.

------
josmala
The numbers given in article the world wide battery installations are
predicted in 2040 to cover about 20 minutes of world electricity consumption
assuming it would be equal close to 2016 figures, where majority of world is
in relative poverty. It definitely is at least two orders of magnitude too
little to stop climate change. People assume the reducing emissions would stop
climate change. Nope, emissions are only related to rate of change not
absolute value. Reducing emissions by 90% would only slow down the change, it
reducing 99% would actually stop it, and it would need to be about 100% to
slowly reverse the effects of what has been done by the time humanity gets
there.

~~~
x43b
I actually work on reducing emissions tangentially and am absolutely not a
"denier", but I have not seen any evidence that our models are so accurate
that we can predict the tipping point from halting increases to decreases
within 1%.

~~~
josmala
Just took a number which carbon is removed from air-sea-plants natural
circulation. The increase in CO2 stops when emissions match the removal of CO2
from circulation as permanent basis. And that figure seems to be about 1% of
our emissions. But the key issue is that those two numbers need to match in
order to actually stop the climate change permanently which is so far away
from every politicians discussion points. All the renewables and storage
technologies fail when we start to calculate amount of material required to
build them and mining of those resources. Only energy technology so far that
could actually do it is nuclear. As for uranium limited reserves they are
calculated about 0.1 cent per kwh price limit. It is one of those situations
where emotions points towards renewables while numbers are clearly for the
nuclear if people could accept tiny risk of having two bananas worth of
radiation or even the extreme case of getting so high radiation dose that it
would give as high cancer risk as the average alcohol consumption.

------
new_realist
For long term energy storage batteries are not ideal. Their costs increase
linearly with time of storage and amount of storage. Peak shaving is an OK use
for them, though.

~~~
ZeroGravitas
What percentage of our global storage needs do you believe are "long term" in
this dichotomy?

Is this at the "electric cars can't do my daily commute" or "electric cars
can't tow my boat 600 miles without stopping, once a year" stage?

Seems like most of the world just needs solar to last until the next day with
a decent chunk of that power needed immediately after the sun sets and any
wind power available could get smoothed out and/or stored for the morning by
the same batteries.

~~~
pfdietz
Short term = diurnal

Long term = weeks to seasonal

Batteries, especially that sort of cheaper battery, would be great for diurnal
load leveling.

Long term storage is probably more hydrogen and mass thermal storage. The
tradeoff would be capital cost per unit stored energy vs. efficiency.

Storage competes with and complements two other approaches: overinstallation
of generation capacity w. curtailment, and dispatchable demand.

Curtailment involves installing more wind and PV than you need, and curtailing
its output when supply > demand. A study in Minnesota found that this was
cheaper than adding storage up to about 70% of the electrical power supply. Of
course this creates dirt-cheap power during the curtailed periods that people
can find use for (industrial thermal storage, production of hydrogen in low
capital cost membraneless electrolyzers).

Dispatchable demand would involve redesign of industrial processes to operate
in fits and starts. For example, today's aluminum cells do not respond well to
inconstant power sources (their either freeze up or overheat and damage the
lining). This was fine when the cheapest power sources were baseload sources.
But perhaps an aluminum technology could be developed that would be more
forgiving of variation and outages, to exploit the new situation where
intermittent power is becoming the cheapest.

Of course, another approach is to move those industrial processes down close
to the equator, where there is little seasonal variation in insolation. High
latitude countries may become industrially disadvantaged in a renewable
powered world.

~~~
magicalhippo
> Long term storage is probably more hydrogen and mass thermal storage.

I was thinking about how multiple big heating packs[1] would stack up. Seems
the Wikipedia reference[2] has the topic well covered. Tricky but possible.
And apparently (duh) not a novel idea by any means[3][4].

Though the references I could find were mostly for home-size installations or
for actual heating packs. Here in Norway we're blessed with lots of mountains
with lakes, so we can do pumped hydro for latent storage. But for flatter
countries (say our neighbors Denmark), is grid-size PCM storage viable?

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

[2]:
[https://books.google.com/books?id=EsfcWE5lX40C&q=latent+heat...](https://books.google.com/books?id=EsfcWE5lX40C&q=latent+heat+of+fusion+sodium+acetate#search)

[3]:
[https://www.sciencedirect.com/science/article/abs/pii/S13594...](https://www.sciencedirect.com/science/article/abs/pii/S1359431115008510)

[4]:
[https://ideas.repec.org/a/eee/appene/v221y2018icp522-534.htm...](https://ideas.repec.org/a/eee/appene/v221y2018icp522-534.html)

~~~
pfdietz
I was thinking more in terms of artificial geothermal. The time constant for a
sphere of bedrock to cool off goes as the square of the radius, and can easily
be made to be many years. These would be very large installations, of course.

------
qbaqbaqba
Do we know how to safely dispose these batteries?

------
deepnotderp
What happened to molten salt batteries?

------
alexandra_cgg
This is not happening, this is larger than the amount of energy demand in the
US and renewables forecasted

~~~
pfdietz
Many such forecasts have been embarrassingly wrong as of late, grossly
underestimating the pace of renewable installation.

------
zeristor
I had assumed fold was the same as 2^x, as in the number of layers for each
fold of a piece of paper.

The artice talks about a 122 fold increase in the amount the power of
installed battery power, I assume that a 2^122 increase is impossible, even
accounting for replacement of end of life power packs.

~~~
ben_w
I believe “x-fold” means “times x“.

~~~
zeristor
Perhaps a question of mere semantics but why use the word 'fold' when it means
times? Is it just to sound more "sophisticated"?

~~~
ben_w
Apparently “fold” is an archaic suffix that means the same thing as times. I
grew up with that so I haven’t really thought about it much.

~~~
dwheeler
"Fold" is not archaic, but it may be more common in some regions compared to
others (see "pop" vs. "soda"). The "-fold" suffix is in Webster's Ninth New
Collegiate Dictionary and it does NOT have an "archaic" marking. It's also one
of the answers when you ask Google to "define fold" (you have to look lower
because suffixes are sorted after the main word).

I use the suffix myself; it's nice and short when you need to express the
concept.


Ask HN: How do you deal with competition - Void_

I have an idea. I know that millions do.
I'm willing to execute. That makes me a little different from the millions. I already started working on it, already spent some time and already see some results. That makes me quite different from the rest with the ideas.
But my problem is the competition.
There is competition, which is selling pretty much the same idea. I knew about it, but I always thought it's not good enough. It's not good enough for me and that's why I think I can make something better.
My question is if I this is enough. There's nothing that makes the idea unique. No extra feature, no additional value. Not in the idea. So should I refine the idea? Or maybe pick a different one? Or should focus on executing better?
======
sebg
From your comment "it's not good enough for me" tells me that there most be
some way of refining the idea so that it does become good enough for you.

As a first step, talk to people who use your competitor's product and see if
it is "not good enough" for them as well. Then ask them if your refining idea
would make it good enough for them. After you've talked to enough people you
will have a more clear understanding of what needs/problems/frustrations your
competitor is addressing and what needs/problems/frustrations your competitor
is not addressing.

Then you can start implementing the solution for those needs.

------
brk
All of the above.


UK startup scene needs a confidence boost - bosshog
http://www.carsonified.com/web-apps/the-problem-with-web-mission

======
abless
There's recently been a debate at Cambridge University (UK) about Silicon
Valley vs. Europe as the future for start-ups. Hermann Hauser, a very
successful entrepreneur from Cambridge, argued that Europe will catch up when
it comes to new technology (I think he mentioned mobile phone chips). I find
his point quite interesting and I am willing to believe that Europe has a
chance of winning when it comes to new inventions.

On the other hand, Silicon Valley is where the money is. Much more
importantly, however, seems to be the willingness to take risks and embrace
failures. This is something that cannot be found in the UK and I dare say it
is vital.

~~~
baha_man
"I think he mentioned mobile phone chips..." - that would be ARM, one of the
(sadly too few) UK technology success stories:

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

------
paulsb
It's all well and good saying that we have everything here in the UK, but
where? I want names, places and events.

Where is the UK start-up school with an illustrious list of speakers -
including SV ones?

Who are the VC's with some balls to back some risky, yet exciting start-ups?

If we are to catch-up with SV, shouldn't we be doubling, or even tripling, our
efforts, like having Seedcamp run twice a year in a similar vein to YC, etc.,
etc.

There is good reason why the UK/European start-ups have gone to the sates, and
that is because they don't believe we have everything here. If we have
everything here, then make it more evident.

------
menloparkbum
A package tour for a bunch of nerds to stay in the tenderloin and commute to
Oracle during the day? I don't foresee many important deals being made during
this trip.

On a certain level, this is a bit disturbing, as I distinctly remember the
number of silly conferences and mixers increasing to a critical mass right
before the dot-com bust. Lately, in SF there has been a Web
2.0/TechCrunch/Valleywag event every other night.


What would a python pip replacement look like? - dfee
Having branched out from the world of Python in recent years, I've seen some interesting package managers for other languages and of course operating systems. I've got some hang ups with pip and setuptools that I imagine could be resolved with an extensible approach. For example, I imagine scoped package support (see NPM), transparent versioning (aka deterministic installs, or a better pip-tools), automatic project dependency management (again, NPM), parallel installation (yarn)...<p>So what would a re-think of pip look like?
======
vforgione
Twine[0] is the tool I've been using for PyPI archive management and Pipenv[1]
is looking promising as the next iteration of pip.

Twine makes the packaging process _slightly_ easier, although setuptools is
still a bit of a pain.

Pipenv handles a lot of project cruft for you: setting up a virtualenv,
distinguishing dev and prod packages, locking them down and deterministic
building.

[0]: [https://github.com/pypa/twine](https://github.com/pypa/twine)

[1]:
[https://github.com/kennethreitz/pipenv](https://github.com/kennethreitz/pipenv)

~~~
dfee
Oh man, how have I not known about pipenv? This addresses a huge amount of my
complaints with pip. Thanks for sharing!

~~~
vforgione
The downside to pipenv is that there aren't any good docker images to work
with it. I've tried a few times, but I've never given enough time to learning
the guts of Docker to make anything stable enough to run with it.

~~~
dfee
Here's my Dockerfile:
[https://gist.github.com/dfee/388c3f270fdfc4f31aba906770f9313...](https://gist.github.com/dfee/388c3f270fdfc4f31aba906770f93137)

~~~
vforgione
Very cool. I'll have to give it a whirl. I haven't taken a stab at a custom
image in a while. Thanks!


Do you want some Belle with your ReactJS? - iweinfuld
https://www.startersquad.com/blog/you-need-to-belle-with-reactjs/

======
jyotipuri
Built with ❤ on Planet Earth :)

------
kitze
Awesome library.


Jobric: A smart job search engine that uses artificial intelligence - yataa
http://jobric.com/?ref=ijm_hn

======
yataa
This is a little something I've been working on which will be launched to the
public in the coming months. Request an invite to get earlier access.


U.S. CEO to France: ‘How Stupid Do You Think We Are?’ - kruken
http://blogs.wsj.com/corporate-intelligence/2013/02/20/u-s-ceo-to-france-how-stupid-do-you-think-we-are/
======
jacquesm
Wow, what a total jerk. Regardless of the differences between US, Chinese,
Indian and French work ethics the least you could do as a CEO is to learn how
to write a polite refusal.

When you don't _have_ to insult someone it is probably better not to. Because
those pesky French just might publish your less than elegant letters, your
stockholders might read those letters and could very well think: "This guy
runs the company I invest in? I'd better move my money out before his loud
mouth causes him to lose business.".

Stockholders are fickle, and some stockholders actually care about more than
just the numbers (of course, that is a minority).

Also, if you communicate you negative interest when a foreign representative
has thought to offer you a chance at some deal you may want to think of the
future. Effectively you are saying 'if you are so kind as to think of me I
will repay you with trash'. That will likely not be repeated again and likely
the effect will be much further spread than just this one country and just
this one official.

That bulk deal for Tires for all the vehicles of the French armed forces
(Michelin?), the police force or their connections with the ministry of labour
and their counterparts in other countries. Piss off politicians in enough
places and it will backfire.

Maybe there is some hidden upside but I don't see any.

Finally, you are also representing your country when you do business abroad.
Every other American CEO lost a little bit of respect today by re-inforcing
certain stereo types that we could all do without.

If you are ever in a position like this, please say 'no' with some grace.

~~~
16s
I like people who tell it like they see it. Sure, he could tone it down a bit,
but I would prefer he does not. When you guard your words and hold back how
you really feel, you are not doing anyone any favors.

Saying nice, comforting things to them (while they fail and people lose their
jobs) would be a greater injustice than being honest and frank. I bet no one
else has ever spoken that directly about the matter. Sometimes, that's
precisely what is needed.

~~~
jacquesm
Sure, but this is not in any way productive.

Another thing that bugs me is the hypocritical stance of suing Chinese tire
manufacturers and then turning around and manufacturing in China.

If you do something like this - it's a pretty drastic departure from good form
- there ought to be a reason for it, some kind of upside to balance the
obvious downsides.

~~~
ericd
I think it is productive - a polite refusal would leave the minister with less
information about the opinion of business leaders towards French policies.
This way, he knows of a few specific issues that the CEO has with the idea of
operating in France.

~~~
jacquesm
All he succeeded in communicating is that he thinks in stereotypes and is a
jerk. Why do you think this letter is now on public display?

Workers in France work for three hours, eat for two and talk for another
three? Really?

Producing in France is only expensive because of the labour costs? Or is there
maybe also that pesky environmental controls issue?

~~~
oelmekki
French here. What I'm mostly concerned here is that the guy is basically
saying : "we will produce tires in China for cheap and then sell them to you,
because we can".

Europe has very low restrictions on imports, because it tries to implement
free market as purely as possible. Many voices in France say we must be more
aggressive on importation taxes, and that even US has a more protected market
than us. After all, no west country can beat China in production costs.

Problem is, those voices are mostly from nationalist and xenophobic parties.
Even current left wing french government would not touch total free market.

Now, there is the insult. Saying french workers work 3 hours a day is totally
stupid. Normal work day is 8 hours for private sector, and 7 hours for public
sector (but most public sector workers work 8 hours and then take a day off to
compensate over worked days). The reason because average hours per day is low
(see other comments) is because unemployment is high, so many people accept
part time jobs and short term jobs.

Now, combine the cynical stance "we can produce cheap products in China and
sell them to you with no penalties" and the insult, and you've got perfect
food for nationalist parties. Once again.

~~~
brousky
> Saying French workers work 3 hours a day is totally stupid. Normal work day
> is 8 hours for private sector, and 7 hours for public sector (but most
> public sector workers work 8 hours and then take a day off to compensate
> over worked days)

He didn't say workers came to the factory for 3 hours then left. What he said
was that out of the 7 hours of a work day, 1 is lost in breaks and lunch, 3
are spent chatting instead of working and there's only 3 ours of actual work
being done.

If you read the comments on the article the vast majority actually support
what that CEO says and disapprove the actions of the CGT.

------
nostromo
> Titan had to pay millions to Washington lawyers to sue the Chinese tire
> companies because of their subsidizing. Titan won. The government collects
> the duties. We don't get the duties, the government does.

This is how tariffs work. You don't tax imports to fork over free money to
domestic companies. The point is to increase the cost of the imported good to
compensate for illegal (from the WTO's point of view) Chinese subsidies.

I'm confused as to why he thinks those taxes should go to Titan.

~~~
OGinparadise
_Maybe_ he meant to say: we were harmed financially, paid lawyers, sued, won
and got jack in return.

~~~
rtpg
they got their tariffs, and made life generally harder for their competitors.
That's something.

~~~
OGinparadise
Yeah but generally you should be compensated for the already done damage.

------
rayiner
What's amusing about the letter is that it shows how even executives buy into
cultural stereotypes to justify their activities.

The substance of the letter is this: we'd rather buy an Indian or Chinese tire
company to get the government subsidies and take advantage of the low cost of
labor.

The stuff about French workers only working three hours a day is fluff, and on
top of that almost certainly exaggerated out of context and/or apocryphal.

See: <http://www.oecdbetterlifeindex.org/topics/work-life-balance/>

The French work on average 1,554 hours per year, about 10% lower than the OECD
average of 1,749. Is that 10% breaking the backs of French tire manufacturing?
Of course not. Consider that South Koreans work on average 2,193 hours per
year, a staggering 25% higher than the OECD average. Why doesn't Titan
manufacture tires in South Korea?

The answer is that relatively small differences in the number of hours people
worked aren't driving the economics here. The French work somewhat less than
say Americans, but also make somewhat less money than say Americans (last I
checked, manufacturing jobs paid on an hourly basis). To be accurate, the
letter could have said: "we won't manufacture tires in France because the
French work 6.5 hours per day on average versus 7.5 per day for Americans."
But that would have sounded stupid. Hence the need to exaggerate and say: "the
French only work 3 hours per day!"

What's driving the economics is, as the letter points out, $1/hour wages in
China or India, where people are happy to get so little money because those
countries are poor and have low standards of living relative to western
countries. The rest is just handwaving and fluff.

~~~
gojomo
The "three hours a day" is obviously an impressionistic account, but he
reports having visited that factory more than once and spoken with its
workers. And, as someone who's managed similar factories in other
jurisdictions, he'd have some insight about what 'tempo' of production is
necessary for profitable operation.

So it's not fair to accuse him of imagining this based solely on cultural
stereotypes. He has expertise beyond that, both in the industry and the
specific factory; that's why the French government approached him.

Also, your OECD averages for France don't tell us anything about how a single
troubled factory works. Many French businesses are doing fine, but they aren't
looking for a foreign-buyer rescue. The Titan CEO is speaking of one, specific
troubled factory, with a specific (likely unfireable) workforce. Its work
environment might be among the worst France's traditions, unions, and
political influences has to offer. As thin as the anecdote in the CEO's letter
is, it's still stronger than an argument based on national averages that
include healthy businesses.

~~~
rayiner
The third paragraph is talking about that factory, but he's clearly
generalizing to French workers. He uses the word "French" three times in four
short sentences.

~~~
gojomo
It can be stretched to read that way, but I believe the context makes it clear
that he is primarily speaking about those he observed and spoke to in that
factory.

For example, the last sentence phrase "I told this to the French union workers
to their faces" is clearly referring to specific workers at a specific site,
not all French workers (or even French union workers) everywhere.

He does emphasize the descriptor 'French', but that seems both to rub a little
salt in the wound of the national official he's responding to, and perhaps to
contrast those he's describing with non-French workers at the same factory, or
with workers in similar tire factories outside France. It isn't evidence the
author has the same judgement of all French workers, even though that
expansive interpretation is an easier strawman to knock down.

------
iuguy
I have an idea that the differences in work ethic across Europe may be partly
to do with climate and partly to do with language.

In France, the verb 'work' is _travailler_. Traditionally this meant literally
to toil, a chore, an obligation. In Germany, the word werken means to build,
create, do. The German word more aligned with travailler is arbeit. This lack
of correlation in the word work I believe may explain the differences in the
approach and cultural views towards work that I see across Europe,
particularly with latin root romance languages.

The second factor I've seen is climate. In the more productive northern
European countries, it's generally colder. There's been a historical need for
produce and for people to work (not endure or arbeit) to trade in order to get
everything you need in terms of food and shelter.

South of the Olive line something strange happens. If you look at Spain you'll
see that there's a long siesta during the day. This is because for a large
part of the year Spain's too hot to work in during most of the afternoon.
While we have air conditioning now, hundreds of years of cultural differences
I feel may have led us with ingrained ideas about what work is and what it
means, with those differences reinforced by climate.

For example, in Turkey there's no such thing as a siesta (there's no time in
Istanbul for one anyway). Culturally it doesn't really exist, yet it's as hot
as parts of Spain that do.

I could be completely wrong about this, but it's just something I've noticed.
I do believe that the unions are crippling France's productivity, but France
is as likely to change in the short term as the rest of Europe to France's
view IMHO.

 __EDIT __: I'm not saying that Germans, Brits or whoever are harder working,
or that the French, Spanish, Moomins are lazy, far from it. I'm pointing out
some differences in how people perceive work (i.e. neutrally or with negative
connotations) based on language and culture, based solely on my own
experience. For what it's worth I've worked with lazy Brits and Germans and
hard working French and Spanish people. The Moomins I've never worked with,
sorry if you're a Moomin and my ignorance upset you.

raverbashing makes a good point here:
<http://news.ycombinator.com/item?id=5252446>

~~~
galactus
France is one of most productive countries in the world, when measured as GDP
per hour-worked:

[http://en.wikipedia.org/wiki/List_of_countries_by_GDP_%28PPP...](http://en.wikipedia.org/wiki/List_of_countries_by_GDP_%28PPP%29_per_capita_per_hour)

~~~
hollerith
Right, but that is partly or wholly because French unemployment is higher than
it is in the US with the result that the less productive workers do not have
jobs and consequently are not included in the statistic. If we use a different
statistic, namely, GDP per capita, France is significantly lower than the US.

~~~
cpleppert
GDP per capita doesn't track unemployment either. France isn't 'significantly'
lower than the US either it is about where Germany is and Britain is far
behind them both.

------
rdl
I don't get why you'd ever send a letter like this (except anonymously, or if
you were a politician). There is no upside beyond just "Sorry, we're not
interested -- our new investments are focused on Asia, where demand for tires
is growing 200%/yr. Sincerely, CEO." There is downside -- you might provoke
some tariffs in EU/France, or disinvestment from the pension fund, or
whatever.

~~~
ctdonath
While scathing, it is also very informative. "Not interested" and a vague
"lookin' better elsewhere" doesn't get into the reality of "why?"

Methinks he did them a great service in being brutally honest. Those trying to
solve the obvious problems will make much greater progress with such a letter
in hand, rather than the usual apologetic tact. "Helpful are the wounds of a
friend..." I'm sure he would, in fact, _like_ to buy a French tire factory,
but ridiculous pay for minuscule work makes for an offer no less insulting
than his reply.

~~~
rdl
Yes, but there is no percentage in it for him. It's like telling a random fat
person on the bus that he's fat. Probably nothing happens, but there is a
small chance he will fly into a rage, or will tell everyone that you called
him fat (maybe blogging about it, with video!). There's a much smaller chance
that he'll suddenly start to diet/exercise, but how does that benefit you?
It's different if it's a friend/family member, or if you're hired as a trainer
or doctor.

~~~
ctdonath
There _is_ a percentage in it for him: I'm sure he _would_ like to own a
French tire factory IF they actually had competitive productivity. With a
verbal kick in the pants, perhaps the situation will change and he'll get a
viable opportunity there. That aside, he's giving someone fair warning they're
engaging in self-destructive behavior - a kind act.

And no, it's not like telling a random fat person he's fat. He was approached
with a request that he purchase the company. It's more like an obese slob
applying for a serving-staff position at Hooters or Tilted Kilt.

~~~
nraynaud
France is not the greatest manufacturing country, it's still one of the most
productive country in the world, by a lot of measures.

~~~
rdl
Somewhat ironically, it's also one of the best manufacturers for tires, the
product specifically mentioned in the article. Michelin (for passenger car
tires) is amazing, although their US-market tires (at least for everything but
some specific race/customs) are all made in South Carolina.

------
ChuckMcM
Quite the flame, I share others surprise that he would be quite so flagrant in
his discussion. It is something of an art, and perhaps a bit of fun, to tell
people 'no freaking way' with language that reads nicely. Clearly the guys at
Titan have no interest in that :-).

It would have been more effective perhaps if he had shared with the people of
Amien the context of the discussion. Something along the lines of "this is
what we can pay per worked hour if we want to sell tires to your neighbors.
More than that, and they will buy them from Chinese factories." And let the
unions be the ones who get to decide that the jobs go out of the country.

------
fatjokes
> Insulting the French doesn’t seem to be rewarded by the stock market, and
> Titan is down about 1% so far today.

Journalists should be forced to say "correlation is not causation" ten times
before writing each article.

~~~
lostlogin
Not sure where you live, but the national paper in New Zealand doesn't have
journalists write its articles. Badly written advert/infotainment.

------
daenz
One of Mr. Taylor's Titan commercials is pretty interesting
<https://www.youtube.com/watch?v=exFF_2Eh9Ec>

------
kordless
Talk about a financial blowout. Sounds like his intent is to waste Titan's
time writing negative remarks and being disrespectful. I agree they shouldn't
do business with France, but to be so rude is, well...rude.

~~~
panzagl
Maybe he thinks you have to be rude to deal with the French? There is a
stereotype there, right or wrong.

~~~
jacquesm
But do you have to be rude _not_ to deal with the French? What is the upside?

------
eloisant
The CEO is Maurice Taylor, and he's used to say the same bullshit to US
politicians.

That guy is pretty crazy.

~~~
guizzy
I wonder if he's aware of how very FRENCH his first name is.

------
stfu
Is there somewhere already a translation of the French response?

[http://www.lesechos.fr/economie-
politique/france/actu/020257...](http://www.lesechos.fr/economie-
politique/france/actu/0202578488071-exclusif-goodyear-la-reponse-de-
montebourg-a-titan-540536.php)

~~~
guizzy
Here's my amateur translation...

Sir,

Your words, as extreme as they are insulting, pay witness to your complete
ignorance of our country, France, and its solid assets, such as its world
renowned power of attraction and its ties with the United States of America.

France is proud to host more than 20 000 foreign businesses, representing
nearly 2 million jobs, a third of it's industrial exports, 20% of its private
R&D and 25% of its industrial jobs. Every year, 700 foreign investors make a
decision to localize job and value creating investments in France. And this
strong attractivity is not waning, on the contrary, it is strengthening every
year.

Amongst these foreign investments, the United States take the first place.
4200 subsidiaries of american businesses represent nearly 500 000 jobs. The
presence of american businesses in France is not new: Haviland since 1842, IBM
since 1914, Coca-Cola since 1933, General Electric since 1974, and so many
others. These ties are renewed every year: in 2012, businesses like Massey-
Fergueson, Mars Chocolat, or 3M chose to grow their presence in France.

What were the decisive factors in these decisions? Foreign businesses come to
France for its quality infrastructure, its enviable living environment, one of
the most competitive energy in Europe and an enviroment favoring research and
innovation. But above all, in opposition to your ridiculous and disparaging
remarks, the bulk of these businesses know and appreciate the quality and
productivity of the french workforce, its engagement, its knowhow, its talents
and the competence of french workers.

To strengthen this power of attraction, the french government has just taken
35 measures in the "National pact for growth, competitivity and work". Amongst
them, a tax refund for competitivity and work lighten by 6% the salary load of
businesses of between 1 and 2,5 SMIC. Social partners have also reached an
agreement on job security, which illustrate the quality of the social dialogue
in France and its importance to our government.

Might I remind you that Titan, the company you helm, is 20 times smaller than
Michelin, our French technology leader with global reach, and 35 times less
profitable? This demonstrate how much Titan could stand to learn and gain from
implanting in France.

France is even prouder and happy to host american investments that our two
countries are linked by an old and passionate friendship. Are you at least
aware of what La Fayette did for the United States of America? And as for us,
we will never forget the sacrifices young american soldiers made on the
beaches of Normandy to free us from nazism in 1944. And since you chose to
criticise your own country in the email you sent me, I must tell you how much
the french government admires the policies put in place by President Obama. As
our minister of industry, I am particularly impressed by his action favoring
relocating industrial jobs in the United States and its radical innovation.
There is a certain link between our current policy and the one inspired by
your President.

You evoque your intention to use certain countries' workforce to flood our
markets. I have a duty to inform you that this condamnable short-term thinking
will one day face a justified reaction from States. Such is already the case
for France and it's growing amount of allies within the European Union who are
campaining for reciprocity of trading and are working against dumping. In the
meantime, be assured that I will make certain that our competent governmental
services will work twice as hard to inspect your imported tires. They will be
especially mindful of the respect of the applicable standards in matters
social, environmental and technical.

Please accept, sir, my greetings. ((That greeting is essentially
untranslatable)).

Arnaud MONTEBOURG

~~~
CamperBob2
Would have been a much more powerful response if he'd left out that last
paragraph. In two sentences he reinforced every incorrect stereotype of France
as a third-world chickenshit bureaucracy that any Americans might have held.

~~~
quicksilver03
Agreed, he's basically demonstrated (as there were any doubt by now) that he's
unfit for his position as minister.

------
api
Summary: "I'd rather pay slave wages."

Of course he would. Of course, the French union workers might be a bit too far
on the other end of the spectrum.

------
pcrh
So he's going to buy a Chinese tire factory and pocket Chinese government
subsidies? /s

------
aioprisan
He makes some great points. People don't care where their good come from, they
just want them to be cheap and high quality. # hour workday? Unbelievable.

~~~
anonymouz
Well, on the one hand people don't care where their goods come from when they
buy them (or more to the point, they don't care under which conditions they
were manufactured). But then, on the other hand, they don't want to have the
standard of living of the people working in those factories. Short-term self-
interest tends to make people ignore that in the long-term this model is not
sustainable.

~~~
ctdonath
Exorbitant pay for 3 hours of labor* is much less sustainable. The euro-per-
hour workers will (and do) work their way up to better conditions, while their
overpaid slothful competition will just get shut down.

(* - we may also presume those 3 hours do not constitute "hard" work.)

------
lutusp
The letter should include a p.s.: "We don't have a public relations department
and I am marginally literate."

~~~
tptacek
He's marginally literate because...?

~~~
lutusp
His letter shows the classic signs of someone uncomfortable expressing himself
in words. Reading his letter is like watching someone ice skate for the first
time -- all the expected motions are there, but without any familiarity or
sense of style.

~~~
tptacek
Interesting. It came off much more casual and dashed-off to me.

~~~
lutusp
> It came off much more casual and dashed-off to me.

Yes, but both can be true at once. :)

------
maceo
The letter is a good example of the cognitive dissonance so prevalent amongst
the privileged elite. In the same paragraph where he laments that the French
government "does nothing" while the Chinese ship tires to France, he predicts
French industrial degradation because "its government is more government."
Which is it, is it too much government or not enough?

It's this deafness to the meaning of your own words that would allow a
loudmouthed industrialist-type to shout "class warfare!" the moment new taxes
are proposed on the wealthy. This letter is an unprovoked attack on French
working people. And if French working people decide to non-violently retaliate
against the company by petitioning for import restrictions, organizing a
boycott, etc, it would be wholly justified.

------
fruzz
I find it somewhat odd that he rails against workers earning too much, when
what they earn is but a fraction of his own salary. I doubt they work any less
harder than him either.

~~~
brousky
> I doubt they work any less harder than him either.

Actually, his main gripe is that after visiting the factory, he realized
workers only do 3 hours of actual work in a typical 7-hour day. When he
brought that up to union reps, they bluntly replied that "it's the French
way".

------
mathattack
I can't see how taunting government leaders ends well for a company. You may
not agree with them, but what good comes from taunting? Will this really be
productive to getting France to ease up on union laws?

------
mariuolo
He could have got his point across in a more civil way.

I understand he felt the urge to vent his spleen at someone, but now they are
going to be blackballed should they ever need anything from the French
government.

------
pavel_lishin
The best part is "best regards" at the very end of a fairly insulting letter.
I long for the day when letters are signed honestly.

------
nraynaud
Don't forget this a member of the GOP talking to a member of the Socialist
Party. It might just be a posture.

------
eqreqeq
>>Alas, America isn’t what it used to be: Insulting the French doesn’t seem to
be rewarded by the stock market, and Titan is down about 1% so far today.

As if. Correlation is not causation.

~~~
ImprovedSilence
True. Also, the wsj article is dated today. Look at the market, EVERYTHING is
down today. The letter was dated Feb 8. As if this news is just getting around
to the big players today...


Kerbal Space Program Extension Now Available - granto
https://kerbalspaceprogram.com/en/?page_id=591
======
rocky1138
I had heard the original team that built this game quit due to poor working
conditions. Is that true? If so, who built this expansion and have the working
conditions improved?

~~~
thomasz
[https://www.destructoid.com/former-kerbal-space-program-
deve...](https://www.destructoid.com/former-kerbal-space-program-developers-
slam-studio-for-poor-pay-and-crunch-time-359507.phtml)

They won't get a dime from me ever. For anything.

~~~
DonHopkins
I was just thinking of buying it, and now I have changed my mind. Back to
Factorio for me!!!

~~~
reificator
I should get back to Factorio, but Cities Skylines has taken over my brain-
game timeslot lately.

It's really amazing to me how fun they both are, given that they're just
exercises in logistics.

Cities Skylines is about managing traffic flow, basically every other mechanic
stems from that in some way or another. Not a surprise given the developers'
previous games were the Cities In Motion series.

Factorio is about efficient transport of materials into machines that assemble
goods, and about building up abstractions so you are constantly solving new
types of problems with the resources you've automated already.

Both of them have helped me to better understand concurrency, throughput, and
optimization. And playing Factorio with friends has helped me stretch my
project management muscles. By halfway through the game I had to make a Trello
board just to keep track of what needed to be done and where the bottlenecks
were.

If you're in the mood for a thinking game I highly recommend both of them.

------
sandworm101
Been playing since first linux biulds. Love the game. Hate the developer. Too
much politics. Too many mind games. Too many unaddressed bugs. Would jump at
any similar game, something more based on physics, if run by anyone else.

~~~
B1FF_PSUVM
Do you know of Orbiter:
[https://en.wikipedia.org/wiki/Orbiter_(simulator)](https://en.wikipedia.org/wiki/Orbiter_\(simulator\))

Orbiter vs Kerbal, etc.:
[http://www.thespacereview.com/article/3091/1](http://www.thespacereview.com/article/3091/1)

(Via XKCD, note title text: [https://xkcd.com/1244/](https://xkcd.com/1244/)
\- nice slingshots too )

~~~
sandworm101
Orbiter imho is more about flying than operating a space program. Flying is
nice, but I am much more a fan of coordinating a mission between multiple
craft.

I can live with the cartoon nature, but I do not appreciate "features" as
window dressing for poor coding. The way KSP handles memory (loads everything
24/7) is ridiculous and necessitates many silly compromises. And don't get me
started on how they handle "heat" and aerodynamics.

------
remarkEon
I’ve spent a lot of time playing KSP. This game has an incredibly steep
learning curve. The best thing they could do is build a player autopilot that
lets them get to orbit with basic rocket builds. There’s a ton of hardcore
players (like me) who do things like write kOS scripts to run rockets to the
mun and beyond. But that kind of thing is lost on the person who first
downloads this game.

If the devs are reading this, that’s the package you need: a basic autopilot
for noobs.

~~~
TeMPOraL
I disagree. Half of the value of this game comes from the fact it forces you
to learn a few things about real physics along the way. Beginnings ain't hard.
You can easily get to orbit manually, and you can even eyeball your way to the
Mün.

That said, something like the per-stage ∆v display from KER (a mod) should IMO
be stock, both during construction and in-flight - without that one piece of
information, any trip past Kerbin orbit gets too difficult - you either end up
seriously overbuilding your vehicle, or run out of fuel in the middle of a
mission.

~~~
bunderbunder
100% of the value of the game is that it's a sandbox that lets you play with a
bunch of different things - rocket design, orbital mechanics, exploring a
technology tree, resource management, etc. etc.

To that end, _any_ feature that makes it easier for different players to
approach the game in their own ways will make for a game that appeals to more
people. Let people who want to control the rocket manually control it
manually, and let those who want to just have nice, automatic, repeatable
launches use the autopilot. Let people who want to fiddle with rocket designs
do that, but also hand out a bunch of prefab rocket designs for when you just
want to sit down and fly a rocket. Let the same people play the game in
different ways in different sessions, depending on their mood.

Just don't try to tell them that there's only one proper way to have fun,
because all you'll do with that is ensure that they tend to get bored more
quickly.

~~~
smrq
That's a nice idea in theory, but in practice, players will take the most
efficient method of completing a task, even if that method isn't fun. If you
give players autopilot, they will use it, even if they would prefer the game
without it.

I'm sure I've read research on this, but I'm not sure how to dredge it up from
the internet. So I apologize for the lack of citation.

Anecdotally, in the Elder Scrolls series, I vastly preferred Morrowind's lack
of unlimited fast travel. But I still used fast travel liberally in future
installments, in no small part because the games were designed under the
assumption that fast travel would be used. The takeaway is that you can't
assume that players will ignore a feature just because they don't like it.

------
iopuy
Tried out KSP and just couldn't get into it. I may be the only one but there
was absolutely way too high a curve to jump right in and have some fun. I did
over half their tutorials and could not improvise at all based on what I had
learned. Not much fun when I have to go watch a YouTube video to figure out my
next step in career mode.

~~~
tytytytytytytyt
It only took a few videos to figure out how to do things, for me. But I sure
wouldn't recommend it without those few.

~~~
King-Aaron
Scott Manley's tutorials were absolutely invaluable in my learning with the
game. However I've never before in my life played a game while having a pad
next to me to make notes, haha.

~~~
tytytytytytytyt
Come on, you need a spreadsheet!

------
shmerl
I like how they use the proper term expansion, instead of pretty nonsensical
DLC.

------
tantalor
mods: "extension" -> "expansion" in title

------
techdragon
Page 4 of their comic has a pretty irritating typo. It’s “Wry” not “Rye”.

------
johncalvinyoung
Note: not available now.

`Kerbal Space Program: Making History Expansion is still in development and
will be released as a paid expansion. Pricing and availability details will be
announced at a later date.`

~~~
adventured
It is available now.

[http://steamcommunity.com/games/220200/announcements/detail/...](http://steamcommunity.com/games/220200/announcements/detail/1678026870137797509)

~~~
TheEnder8
Steam store link:
[http://store.steampowered.com/app/283740/Kerbal_Space_Progra...](http://store.steampowered.com/app/283740/Kerbal_Space_Program_Making_History_Expansion/)


Cowsay: 19 years ago - avckp
https://github.com/tnalpgge/rank-amateur-cowsay
======
LinuxBender
I used cowsay together with fortune-mod extensively!

Cowsay was also useful for getting someones attention in a "wall" message on
systems. One-line, they miss. One cow, they never miss!

~~~
Piskvorrr
And nobody misses an announcement if it's made with -f dragon

~~~
LinuxBender
Indeed! Figlet is also useful in this case.