Twitter's graph (2012) - <AUTHOR> http://dcurt.is/twitters-graph <comment><USER2> > _Twitter has an enormous advantage over Facebook in one key area: while > people on Facebook tend to friend their friends, people on Twitter tend to > follow their interests. The social graph that makes up Twitter is worth far > more on a per-account basis because it is directly monetizable in a way that > Facebook's generally isn't – you can show prophylactic advertisements to > Twitter users based solely on the people they follow, and probably get a > much higher rate of interest. Compared to other social display ads, Twitter > ads, it is rumored, work extremely well._

So, clearly this is from 2012 and the thesis is 100% incorrect (in fact, pretty much inverted). The interesting thing is that this is pretty much how the general populous still thinks Facebook does it's ad targeting. The author massively overlooked machine learning. I don't have first hand evidence, but I can only guess that Facebook is crawling every piece of data possible (pictures, messages, etc) and then draws conclusions of my interests there. In addition to this, all FB user info is being hashed and compared against consumer spending data (e.g. DLX and Acxiom).

The level at which FB and Google can target us is staggering. There is a reason these companies make so much money.

<comment><USER3> Twitter still has higher ad conversion rates.

Machine learning can only do so much. Human editing will always win over machine algorithms, and Twitter users curate their follows. Also, machine learning only improves conversion rates by 2x. Meanwhile, I've seen a 10x conversion rate improvement when hand editing ads on a site. Machine learning ads are why you have out-of-context ads that destroy a sites user experience.

<comment><USER2> > _Twitter still has higher ad conversion rates._

Source? Genuinely curious, about to kick off a campaign on Twitter in an esoteric area (triathlon) and can't imagine it will be a higher ROI than FB.

> _Also, machine learning only improves conversion rates by 2x. Meanwhile, I > 've seen a 10x conversion rate improvement when hand editing ads on a site. > _

I'm not sure you're following my line of reasoning here (or maybe I'm not following yours). The machine learning becomes useful when I try to target people's behaviors. For example, I say "Facebook I want to run an ad against all people who actively run and get them to buy running shoes". Facebook is going to optimize to serve up ads to people who (1) run (determined by messages they send to people "hey great run, I did 5km last week" or integrations with RunKeeper, Strava, etc, or maybe I have pictures of me running a race) (2) click ads (easy enough) and (3) will purchase online (determined by conversion pixels of previous campaigns). This is a gross oversimplification of course.

<comment><USER4> If we're on the subject of citing sources, what are your sources for saying that:

> _the thesis is 100% incorrect_

and guessing that:

> _Facebook is crawling every piece of data possible (pictures, messages, etc) > and then draws conclusions of my interests there. In addition to this, all > FB user info is being hashed and compared against consumer spending data_

That's a pretty sweeping statement. You'd be surprised at how naive (and distinctly not-amazing) the machine learning algorithms used _in-production_ at places like Facebook can be (in-production, as opposed to cool research papers that aren't actually used in-production).

Going off of your simplified example, there are tons of contexts in which someone might say "run" without meaning anything related to the athletic activity. That's the definition of shitty targeting (false positive).

</comment></comment></comment></comment><comment><USER5> I find it odd that somebody would spend half an article talking about how users consume Twitter as entertainment then claim that it's the developers who will determine the platform's fate. It seems to me that if the content is what keeps the average user around, it's most important to keep the content creators happy. Twitter hasn't had a stellar record with this so far (especially w/r/t harassment), but they have succeeded in not alienating lots of giant celebrities, which seems to me to be the only thing that could conceivably kill today's Twitter within the next 5-10 years.

</comment><comment><USER6> > where the developers go, the users will follow.

This doesn't seem to be true. It's true of real platform plays, like a desktop or mobile OS.

<comment><USER7> Yup, and not even with desktop / mobile OSes. Generally it's the other way around. Where the users go, developers will follow.

There are cases where the relationship is important, like in the early stages of a product - where in some scenarios you need both. And yes, if you need developers, and developing for platform x is hard, and y is easy - all else being equal y would win.

</comment></comment><comment><USER8> >When the disruptive competitor comes along – when, not if – who are the developers going to side with?

There can't be more than 50,000 devs who used the Twitter API. I definitely don't think they're going to be the deciding factor.

That being said,I would never use the Twitter API based on the horror stories I've heard.

<comment><USER9> 2012 was before Twitter went thermonuclear with their API limitations. (back then, you could even access the Twitter API _without authentication_!)

</comment></comment><comment><USER9> > _[...] what value does Twitter have, other than a more restricted set of > content? What about App.net? Twitter is in an even worse position than > MySpace to fight off a disruptive competitor._

Did this article imply that App.net was about to kill Twitter since App.net was open?

Heh.

<comment><USER10> I think the point is: If Twitter had remained open, it would have been easy for users to export their graph and take it to competitors with similar features. Twitter closed their friend finder APIs to prevent this.

I don't know if App.net could have ever killed Twitter, but Twitter closing made it harder for users to transition to App.net in the first place.

</comment></comment><comment><USER11> Not sure if I understand correctly, but doesn't Facebook have the "interest graph" completely built in through facebook pages? In other words, just as Twitter knows a user's interest through the hundreds of people they followed, Facebook knows a user's interest through the hundreds of Facebook pages they liked/followed.

Isn't that completely the same or isn't Facebook even better in that respect, because Facebook pages are much more often real interests, whereas Twitter users that are followed are more often people instead of interests?

<comment><USER12> When this was written in 2012 Facebook didn't have the concept of following at all, only friending. It's easy to forget that they subsumed most of the good things about Twitter.

<comment><USER4> It's easy to forget, because it never happened. Following is not "a thing" that's popular to do on Facebook. Likes and friending are really the dominant interactions.

<comment><USER13> I'll have to disagree - we do Facebook page monitoring and I often see random brands with millions of fans per country. I often thought the same thing because _I_ never friend anything, but I am clearly not the majority.

<comment><USER4> That doesn't make it the nexus of activity on Facebook.

If friending disappeared, Facebook would cease to exist as a product. If liking disappeared, a huge chunk of activity (40+%?) would disappear. If following disappeared (you could still friend or like), I don't think many people would notice.

<comment><USER13> > That doesn't make it the nexus of activity on Facebook.

That wasn't my contention - your contention was:

> Following is not "a thing" that's popular to do on Facebook.

And yet, the hundreds of millions of people who have followed brands on Facebook would indicate that it is popular. It can be popular without being "the nexus".

<comment><USER4> I said it wasn't "the thing." I meant it wasn't very important. You're also talking about likes. People "like" brands. They don't follow them. Following refers to people following other people, without friending them - this is Twitter.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> > I suspect the reason that Twitter is cutting off apps from using its "friend > finder" feature is because...

How did this happen? I've been using Twitter API these past years but I'm not aware of this "friend finder" feature. Getting friends/followers is still there in the REST API.</comment>


Ask HN: Which Node projects need contribution? - <AUTHOR>

I and a couple of my friends have decided to spend 10 hours a week contributing to an open source Node project, we're unable to however pull up the right projects. Suggestions/Help? <comment><USER2> I would say look here: [https://www.npmjs.com/browse/depended](https://www.npmjs.com/browse/depended)

Look at what people use a lot and knock out open issues on the repos (at least those with clear contribution guidelines).</comment>


Ask HN: Want to help make PGP-encrypting all chats effortless? - <AUTHOR> Thanks for reading this :)
The goal of this project is to build a tool that offers highly usable PGP protection for messages sent through already-popular chat services such as Facebook messenger and Google Hangouts. My goal is to get the entire install/setup process to only require about two clicks and no human interaction, and for the app to be almost entirely out of sight and out of mind after that point.
PGP works, but most people can't be bothered to use the tools out there today. PGP needs a usability revolution. This project's primary benefit is usability. Once PGP doesn't require exchanging keys with every single person you want to chat with, and once it only requires a single minute of setup once, people will actually use it.
Here's how this works:
(5-step process pastebin'd due to hackernews content length limit!)
Please read: https://www.zerobin.net/?fcf2d01c3d1e162a#x4dz6EAAaycNN/F/4L5hGkXSoZqceaiVPUXpDEL+mxM=
Let's recap the benefits:
- standard bulletproof pgp security with...
- one-click one-minute install a 5 year old could perform
- out of sight and out of mind
- no maintaining a keyring for all of your contacts
- frictionless encrypted conversation start and stop
- works on your existing popular chat interfaces. just talk on Facebook messenger and Hangouts etc
Server-side project https://github.com/cgarvie/easypgp-server Python flask peewee orm
Client-side project (This is my weakness. Help is desperately needed) https://github.com/cgarvie/easypgp-client chrome extension Javascript
Anyone want to help out? <comment><USER2> Are you familiar with OTR ([https://en.wikipedia.org/wiki/Off-the- Record_Messaging](https://en.wikipedia.org/wiki/Off-the-Record_Messaging))? It sounds like it may be what you're looking for (and I'd be surprised if there weren't already browser plugins for it).

<comment><AUTHOR> Thanks for that link. OTR as an option (probably the default option, even) makes a lot of sense for a lot of use cases.

It does not look like there's a highly-usable OTR chrome extension for Facebook messenger.</comment></comment>


HTerm – The Graphical Terminal - <AUTHOR> http://41j.com/hterm/

<comment><USER2> The ReGIS support is nice, but with the custom functionality it would be nice if instead of echoing an ASCII string like "HTERMFILEXFER" it used actual escape sequences.

Terminology[1] does this correctly with its own escape sequences. But, unfortunately, it doesn't actually use the escape sequences to transfer file data, even though it could. Instead it just transfers URLs, which isn't as network-transparent as I would like.

(Background: I did some research a couple of months ago into what it would take to build a graphical terminal emulator, to support a backwards-compatible network-transparent TermKit[2]-like experience.)

(Edit: Apparently the latest nightlies of iTerm2 also supports this sort of functionality, and does so properly with escape sequences.[3] Thanks, gnachman.)

[1]: [http://www.enlightenment.org/p.php?p=about/terminology](http://www.enlightenment.org/p.php?p=about/terminology)

[2]: [http://acko.net/blog/on-termkit/](http://acko.net/blog/on-termkit/) and [https://github.com/unconed/TermKit](https://github.com/unconed/TermKit)

[3]: [http://www.iterm2.com/images.html](http://www.iterm2.com/images.html)

<comment><USER3> Yes, it would be better to use escape sequences. If I remember correctly there were issues with terminal multiplexers stuffing data into the stream. So you'd need something smart serverside to escape each chunk.

In the current implementation, the server can be pretty dumb (i.e. all you need is a bash script). This was a requirement for me, because I spend a lot of time jumping between different Linux boxes which aren't configured as I might like them to be (in particular I wanted something that work when bouncing though odd ssh gateways etc).

So overall, the png rendering is intended as a quick hack, for when you want to render data quickly. As a proper inline rendering solution, it would be nice to add support for Sixels ([http://en.wikipedia.org/wiki/Sixel](http://en.wikipedia.org/wiki/Sixel)) or something similar. If you google around I think there are a few terminals that support that, but none of them suited my requirements.

Overall, I was kind of happy with the code as a proof of concept, and still use the iOS version every day (it's a free iOS ssh client and does all the graphical support stuff). There's a lot that could be done though. Ideally I'd like to abstract out the ReGIS code, add Sixels support and then integrate that code into existing Linux and OSX terminal apps.

</comment></comment><comment><USER4> Using gnuplot is a nice idea, but the protocol doesn't play nice with other terminals that don't support inline images. See what iTerm2 is doing along these lines. [http://www.iterm2.com/images.html](http://www.iterm2.com/images.html)

<comment><USER2> Huh, here I am using iTerm2 every day and I didn't realize it had support for this. Fantastic.

</comment></comment><comment><USER5> Would be awesome for someone with the knowledge to transfer this for something like w3m and eventually port some of it to ranger ([http://blog.z3bra.org/2014/01/images-in- terminal.html#](http://blog.z3bra.org/2014/01/images-in-terminal.html#)).

</comment><comment><USER6> There's another hterm, an xterm implemented in js and shipped with Chromium OS:

\- [https://chromium.googlesource.com/apps/libapps/+/master/hter...](https://chromium.googlesource.com/apps/libapps/+/master/hterm/doc/hack.txt)

\- [https://chromium.googlesource.com/apps/libapps/+/master/nass...](https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/faq.txt)

\- [https://groups.google.com/a/chromium.org/d/forum/chromium- ht...](https://groups.google.com/a/chromium.org/d/forum/chromium-hterm/)

</comment><comment><USER7> The old school part of me who had to use gnuplot with tek40xx emulation because that's all we had for graphics kinda loves seeing this. Then the 2014 me is thinking/shouting "Why? Working with graphics terminals really sucked back then."

<comment><USER3> It's mostly just a side project. I spend a lot of time, sshing though various boxen and then needing to quickly plot of results of an analysis. I wanted a solution to quickly dump a plot rather than often having to upload them somewhere and download again to view.

</comment></comment><comment><USER8> Why not just have a terminal that renders html? It would probably need a nontrivial amount of work to specify exactly how input will be handled, or how DOM events will work, but it sounds as something interesting to try.

<comment><USER9> That's been done. Google TermKit.

</comment></comment><comment><USER10> This is beautiful. I wished a long time for an old school graphics terminal like that. Make sure you put a donation button somewhere on page.

Good job at the download links too, I had a good laugh.</comment>


Reflecting on the iPad mini event - <AUTHOR> http://kensegall.com/2012/10/reflecting-on-the-ipad-mini-event/ <comment><USER2> While this article is interesting, the more interesting story is John Gruber's soul searching on how he feels about the iPad mini – which is where I assume you got the article from.

Three quotes from three stories on Daring Fireball:

>That's a little more expensive than I expected — I thought they'd at least hit the $299 mark with the entry-level Wi-Fi model.

>We shall see. But remember the iPod Mini, which debuted to similar reactions in January 2004 — it was deemed too expensive compared to the better-spec'd regular iPod that cost just $50 more.

>"Better but costs more" is a gamble. "Better and costs the same or less" is a sure thing. And the iPad is hard to compare to any previous Apple product other than the iPod. The iPod and iPad didn't enter mature markets — they entered nascent markets with no strong competitors and established themselves as unquestioned market leaders. The iPad Mini's $329 starting point leaves a price umbrella in tablets that Apple never left for MP3 player competitors.

I think that Gruber disagrees with the price even though price margins has always been their approach.

<comment><USER3> Seems apple is boxed in by the ipod touch @ $299.[1] Too bad. But they are protecting their iPhone market. They won't go below that, because at some stage it makes sense to use a throw-away phone and a data-only iOS device.

________

[1] 32GB model, no 16GB model in the iPhone5 form factor. At $199, you have to down to 16GB and step back a generation in tech. They clearly don't want people buying into the iphone5 form-factor at $199, no contract, etc.

<comment><USER2> I don't think that Apple is protecting the iPod touch but they are definitely are protecting iPhone margins. ThiPod touch is selling less year over year.

Apple's growth is starting to decrease. They're no longer getting 100% year over year growth for iOS devices. Even Gruber assumed the 3GS would be available in poorer countries but it hasn't.

Apple is going to have to eventually find growth beyond the iPhone and iPad unless they're willing to lose subsidies for the iPhone or take less margins for the iPad to increase growth.

<comment><AUTHOR> I don't see why Apple has to reduce the margins on the iPad or the iPhone when they can't keep up with demand. They sold 5 million iPhone 5s the first weekend and they could have sold a lot more if they could have made more.

The growth trajectory of the iPad is unprecedented--100 million in 2.5 years.

Apple is smart about not getting into the situation of having to reduce margins on products--they use economies of scale to reduce costs.

<comment><USER2> Growth, or lack thereof, affects stock value which also can affect future talent employment and current employees. While the iPad may have future growth ahead, many will not pay the unsubsidized price for the iPhone, which is where most of Apple's current valuation lies.

Rumor has it that Apple is only getting ~25% margin on the iPad mini which is unprecedented.

</comment></comment></comment></comment></comment><comment><USER4> The iPad Mini is different than anything Apple has done before. For the first time Apple is not building a product to enchant brand new customers and further grow their brand. Instead they are filling a hole that they feel was threatening to pull their customers into other ecosystems. "Don't mind those other, more affordable playgrounds. Pay attention to how we mill the shit out of this block of aluminum just for you."

<comment><USER5> > "Don't mind those other, more affordable playgrounds. Pay attention to how > we mill the shit out of this block of aluminum just for you."

Which is really how any fashionable product works. "Forget that Armani Exchange produces its goods in the exact same country using the same cheap labour as Kmart - we use nicer cuts of fabric and make nicer looking products." Design and materials subjectively increase value, so I can only see the mini selling like hotcakes.

<comment><USER4> The distinction I was trying to make is that they are building this product to satiate the needs of the already Apple-faithful, rather than trying to compete in the small tablet market. It's them realizing that small tablets are popular and saying "We have that too". The question is can they keep doing that with every new form-factor that comes out (wearable, Raspebbry Pi-style, embedded....)</comment></comment></comment>


JavaScript's world domination - <AUTHOR> https://medium.com/@slsoftworks/javascript-world-domination-af9ca2ee5070 <comment><USER2> Might be one of the saddest things I've read linked out of Hacker News. As developers we're doomed to a future of using a awful language because it happened to be at the right place at the right time and was good enough. Now we're stuck with it. Reminds me of DOS.

<comment><USER3> It has awful parts that should be avoided. Once you learn to avoid them you can have a great time. This isn't that different from most other languages. I think javascript has just been more heavily complained about. There is also an automatic look-down-your-nose tendency that most of us started with, including myself. Once I decided to learn more than the bare minimum I became very happy with it.

<comment><USER4> It"s the very strange mix of very bad ideas and very good ideas that's baffling. Some other languages are homogeneously bad (php) but provides less suprises than js, because of their regularity. js is bipolar/schizophreniac.

<comment><USER5> JS is special because it has to be backwards-compatible.

It basically contains its entire history, from a PHP-like hack job that started it to the very elegant ES6/7\. It's probably one of the few languages that expose their whole fossil record.

<comment><USER6> Don't forget C++. Being older, it accumulated more cruft.

</comment></comment></comment></comment></comment><comment><USER7> The author mentioned transpiling other languages to Javascript and Javascript to Lua.

Personally, I much, much prefer working in Clojurescript to Javascript. Once my dev environment is setup, and I am rolling, there is not much inconvenience or build delays at all. My setup is editing in IntelliJ (both Clojure and Clojurescript), one clojure repl, and one lein autobuild task to keep the generated Javascript up to date, given about a one second delay.

Javascript is not such a bad language, I use it directly when doing meteor.js development, but I think the future is better languages like Clojure, Haskell, Scala, etc. transpiling to Javascript.

All that said, that was a nice article!

<comment><USER8> I can't wait for the time to be able to write in javascript native code to run on Android or iOS. Maybe a future TypeScript would be the solution for this but it is not too late to remind people that transpiling is a two way street.

<comment><USER9> What does "native code" mean in that sentence?

<comment><USER8> iOS and Android native dev environment

<comment><USER10> Is your Javascript VM not already in native code when you're running Javascript on these platforms? Or are you suggesting that the instruction set for the chips on these devices "be pure javascript"?

<comment><USER8> That's what I meant by native development in iOS/Android

javascript-to-java and javascript-to-obj-c transpiling

I'm fully aware of the existense of alternatives out there like PhoneGap, Ionic ..etc but I'm envisioning a future where you could write in javascript mostly everything you could do in other languages and transpilers take care of the rest.

<comment><USER11> Both of those platforms have perfectly reasonable languages available (Java & Swift or ObjC), why would you use JavaScript over them?

Cross platform UI has AFAICT never worked, so you won't be able to reuse code from one platform on another, or is that what you intend to do? In that case you could still transpile from either Java or Swift...

<comment><USER8> Because I detest Java and I find it to be archaic, old-fashioned and clunky but that's just me.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Great read, but it seems like the article overlooks a few other pretty significant reasons for Javascript's current dominance: (a) jQuery and (b) Apple keeping Flash out of iOS made from the start.

Say what you will about the relative inelegance of jQuery, at the time of its release it certainly made JS--particularly DOM manipulation and AJAX--very accessible and cross-browser compliant. It definitely made articles like this seem quaint. [1][2]

At about the time of jQuery's release, Flash development was a viable alternative for smaller sites. I was doing bits and pieces of freelance around 2007 and after the iPhone came out, even my least tech-saavy clients stopped talking about Flash.

Pretty sure that these two bits made it so that every front end dev/ designer in the world was at least passably decent at Javascript by the time Node arrived.

[1] [http://boxesandarrows.com/htmls-time-is-over-lets-move- on/](http://boxesandarrows.com/htmls-time-is-over-lets-move-on/) [2] Also, Mootools and Prototype and YUI etc, but jQuery is the one that became ubiquitous

<comment><USER13> As for jQuery - nobody disputes that it had HUGE impact on the web - document.querySelector(All) itself is the living proof to that claim. It's just... it was around for waaay to long.

Building tools and extending what is currently made available to developers by the platform - all this is in our very natures as developers. We did that even in the early days, when low-level primitives were mostly missing to support us in that work.

Jake Archibald explains this in a comment on Nat Duca's post over at G+[1] - give developers some primitives; see what they do with them - then distill it and create high-performance features out of what now you already know there is a _market for_. TC39 works on this basic principle (everybody whines about types in JavaScript - TypeScript might be the JavaScript's jQuery here, paving the way for some distilled type system in JS (or SoundScript. or anything else that's out there).

 __*

As for Apple - I am siding with Peter-Paul Koch on this[2] - Apple had some quite a few good deeds in favor of the web, but that was a long time ago. Nowadays it just seems to be protecting its walled garden that is native apps & the related ecosystem - certainly not giving a whole lot about making the web a better place (or devs, for that matter). The Pointer Events fiasco is a perfect reminder to all this.

For any good Apple has did to the web, the surely made equal bad so the scales are (IMHO, at most) 50-50 here.

[1]: [https://plus.google.com/u/0/+NatDuca/posts/De8Bv6F4fyB](https://plus.google.com/u/0/+NatDuca/posts/De8Bv6F4fyB)

[2]: [http://www.quirksmode.org/blog/archives/2015/02/tired_of_saf...](http://www.quirksmode.org/blog/archives/2015/02/tired_of_safari.html)

</comment></comment><comment><USER14> > JavaScript just happened to be a nice fit to evented, non-blocking I/O, and > a single-threaded event-loop based environment.

I keep seeing variations on this statement, and I have never figured it out. What, exactly, is it about JavaScript that makes it particularly appropriate for this paradigm?

The way I see it, the only abstraction JS provides that helps with this is first class functions, which are also present (and often richer and more robust) in many other languages.

<comment><USER15> Not just first class functions -- anonymous functions, and closures.

Python has first class functions, but not anonymous functions, since lambdas aren't full functions.

And Python doesn't have closures, because you have to use "global" or "nonlocal" (in Python 3) to assign a a variable in an enclosing scope.

These features let you write concurrent state machines in JS without explicit state -- you basically use the stack as state.

Python was pretty early in terms of event loop programming for interpreted languages -- asyncore in the stdlib, and Twisted. But I agree that the node.js style is nicer than asyncore, Twisted, or Tornado. I prefer coroutines over state machines, but if you're going to write state machines, than doing it with anonymous closures is nicer than doing it "manually" with classes and so forth.

Tcl was even earlier, but Tcl is pretty foreign to most people, and was more of an embedded language than a scripting language. Pretty sure Tcl has full anonymous closures, but it is a bizarre language in some other ways.

I haven't seen the event loop style in Perl but I think you can do it. If someone has an example I'd like to see it. To me, Perl only barely qualified as a real programming language because you can't even name your function params? At least when I used it, which was over 10 years ago.

<comment><USER16> > I prefer coroutines over state machines

And that's why Python supports `asyncio` (not to be confused with `asyncore` which is obsolete). So I prefer:

      sock = yield from connect('localhost', 7942)
      msg = yield from read_message(sock)
      print(msg)

to this callback hell:

      connect('localhost', 7942, function(sock) {
          read_message(sock, function(msg)) {
              console.log(msg);
          });
      });

And they're completely equivalent. Why would someone actually _like_ the latter, except you're forced to use it because of the prevalence of JavaScript?

`asyncio` is not only easier to use than the traditional "manual" state machines with classes, but also much faster than something like `Twisted`. In my crappy local benchmark[1], it easily beat `Twisted` in a considerable margin. That may be because of the flaws in my test code, but still their performance is on par. I see no points in relying on callback hell, at least in Python, except the lack of the libraries that support asyncio, which makes me a little bit sad.

[1] [https://github.com/barosl/ws-bench](https://github.com/barosl/ws-bench)

<comment><USER8> Can't you use promises/deferreds instead?

<comment><USER17> One thing yield/await does is that if plays nice with existing control-flow mechanisms in the language. You can put them inside a for loop, if statement, try-catch block, etc. With promises all of those have to be reimplemented in a library and all your code needs to be converted to the "promisified" version of things.

The different syntax also prevents you from creating functions that can be reused by both sync and async code.

The big thing promises and other callback-based control flow libraries do is that they fix exception handling in async code (its a PITA to add error handlers in every callback when writing async code by hand). They also let you avoid some of the awkward "pyramid of doom" nesting but thats not really killer feature because you can also achieve that by using tons of named functions.

<comment><USER18> async/await are coming with ES7 and available today with BabelJS and other transpilers. Though not part of core, they rely on thenables/promises, which handle the reject/resolve which get composed with generators.

The required bits are in place... alternatively you can use co/koa which uses generators along with yeilding promises to act in a similar fashion.. it does work pretty well, and will only get better.

</comment></comment></comment></comment></comment></comment><comment><USER19> JavaScript is popular because browser vendors have not yet agreed on anything better. Remember Native Client? You might as well forget it -- Mozilla didn't sign on. ActiveX is a joke, but if Mozilla & Google et al had moved more confidently towards something Native Client-ish, we could be writing web apps in Go/Rust instead of JS. (or Groovy, $lang_of_choice) But what's their incentive to make that effort?

Ajax was great when IE rolled it out all by themselves. It first might seem like a skunkworks like ActiveX if you didn't know better. Give it a few years' time, coordination and cooperation, and now we've got a Websockets RFC. Consensus takes time.

As crusty as JS may be, I don't think these are dark times at all. I think the rate of evolution (in JS engines, ES6/7, ..) is so swift it's more worthwhile to stick to the JS platform than to reinvent the web yourself.

<comment><USER20> What's ironic is that Mozilla is deeply infused with its own version of ActiveX called "XP/COM" that's practically the same thing (to a point), just using a totally different set of (open source) tools.

You can use and implement COM or XP/COM components in C, C++, JavaScript and (theoretically but not commonly for XP/COM) other languages. XP/COM is not syntactically compatible with COM, and uses a completely different headers, tools, etc, but they're identical in memory layout and behavior and design. Of course beyond identical IUnknowns, XP/COM's interfaces, metadata, and JavaScript interoperability are totally different than ActiveX on IE.

They eventually realized they'd gone too far with it, and went through a "de- COMification" phase around 2002, and it's been a few years since I worked on a xulrunner application, but as far as I know, XP/COM is still pervasive throughout Mozilla/Firefox/xulrunner, including its deep internals and its chrome user interface layer.

COM was a good solution for a particular set of problems at the time, which Mozilla also needed to solve, so XP/COM made sense in that context. But these days, it makes more sense to use JavaScript and JSON directly as the interoperability layer between components and other languages, instead of COM.

JavaScript won the language war, so it gets the privilege of being the "linguistic motherboard" that you can plug other languages, emulators and components into.

</comment></comment><comment> vezzy-fnord There's plenty of interesting historical facts here, but they're interspersed with an emptier and rather sensationalistic writing style that seems to overemphasize the novelty of the various solutions listed. More importantly, the post doesn't seem to answer the question that it poses at the beginning - "It's not too long until your very toaster will be running JavaScript… but why?" The only answer I got out of it was "Because."

I find the implication in the Moore's law section about performance to be a bit unfortunate. Ideas like this only strengthen Wirth's law. We're talking about plain old JavaScript here, after all, not some hypothetical Smalltalk/Erlang hybrid language with mystic productivity benefits or anything like that.

</comment><comment> at-fates-hands The impact on front-end development in the last three years has been undeniable.

Even now, you're either a Javascript Developer or you're a designer (a designer with HTML/CSS chops but really weak Js skills), the role of the front-end dev has morphed seemingly morphed into this two for some reason.

<comment><USER21> Rebecca Murphey also said this today but in my experience I'm not really seeing it. Just checked job listings now and all front end positions heavily promote HTML and CSS with minor exceptions for more JS heavy roles. More telling is a lack of non-JS roles i.e. I'm certainly not seeing any "HTML/CSS developer" positions open.

</comment></comment><comment><USER22> What I thought to be the most promising part of the article:

Tessel created "a compiler that translated the JavaScript source to Lua and executed the translated code on the very compact Lua virtual machine on the microprocessor of the device".

linked: [https://tessel.io/blog/98257815497/how-tessel-works-the- basi...](https://tessel.io/blog/98257815497/how-tessel-works-the-basics)

<comment><USER18> The newer tessel is actually abandoning this model in favor of a faster system that just runs actual node/iojs and modules built for the platform architecture.

</comment></comment><comment><USER23> I think if React Native lives up to its promise, it's going to drive a much bigger adoption than node/iojs has.

</comment><comment><USER24> As javascript lover I should admit that I think this is not about about javascript as language, It is more about being in right time and right place.Every one here knows javascript is awful language for optimizing and V8 kind of blow it up with every kind of optimization most of us cannot even imagine.Imagine instead of javascript , Python/Lua was standard way of browser to make dynamic content in ~2000 and web explosion days.Then I think we would talk about that language instead of javascript today.When you looking at big picture , you can see google push's Dart , which they somehow (at least I think) plan to replace javascript with Dart (I am not telling it is going to be that way , But I think this is how they have plan to do in long-term future)

<comment><USER24> UPDATE : just a day after this comment , Google announced it will not integrate dart to its browser and it will only focus on dart2js. So , I was Wrong google long term plan.

</comment></comment><comment><USER25> Wow. Lots of information there, lots of things I didn't know about!

Part of me is appalled that a language as icky as Javascript is taking over the world like this. But I'm happy that any language at all is giving us this level of flexibility and standardization.

</comment><comment><USER26> Javascript is definitely an interesting language. For a while there it was the lament of code purists who shrieked every time you called it a language with the usual retorts like, "Javascript isn't a language, it's a hack"

I think ECMAScript 6 is definitely a welcome change to the language, ES7 will be undeniably better (even if for Object.observe alone). Now that releases for ECMAScript specifications will be released yearly, we'll see the language evolve and now that we have a nice range of evergreen browsers, developers can take solace in the fact they don't have to support older browsers for much longer (as new features are released, browsers incorporate them).

While Javascript definitely has its warts, what other language can boast of the same market share as Javascript? There is no such thing as a perfect language. Not to mention its low barrier to entry, nothing to deploy, no compiler to configure and how powerful it is in capable hands. I think the success of Javascript was more than being in the right place at the right time, I think its ease of use spurred a booming community. Not to mention the fact you could be confident you can write Javascript and it'll run basically anywhere.

People who feel the need to complain about how bad Javascript is to educate themselves further or most likely have never used it properly. There are definitely bad parts in Javascript, but any decent developer who has a good understanding of Javascript knows what those bad parts are and how to avoid ever encountering them. Any language allows you to write poor code, some just make it easier than others (like PHP).

For me the biggest and most exciting thing to happen to Javascript is React.js. And once it is released if my gut-feeling is correct: React Native is going to drive the Javascript language even further, possibly spurring a JS revolution even more-so than Node.js/IO.js has.

</comment><comment><USER27> Blind luck. Web developers had copied and pasted functions for years, a few of them grew up from that basic beginning and tried to make lemonade.

Can't wait till the next big one, because this one isn't doing it for me.

</comment><comment><USER18> Really great read... I used to write a lot of JScript in classic ASP, as well as the MS script runtime in windows... I think the only really ugly part was when you had to deal with COM enumerations. I also used to use hidden frames as post targets and use JSONP-like callbacks into request queues... most often I'd use the ADO option which allows for a response to be serialized into a string specifying a field and row delimiter.. I'd have my client-side script split this out. I also remember it being much faster early on to fully re- render a frame vs. manipulating the DOM for a lot of things. DHTML while supporting NN4/IE4 was a pain.

I couldn't be happier for where JS has come.. I use node's tooling daily, and although I do use BabelJS for ES6 features, I find it to be a very good fit (with more functional thinking) for a lot of problems.

</comment><comment><USER28> As much as I am anally pained by the following things in JS:

1 + "2" = "12" but "1" \- 1 = 0

0 == false ( "if window.scrollTop ..." will occasionally break on user scroll )

undefined == null ( why do we need 2 empty sets? )

undefined + "dog" != null + "dog" ( breaks transitive property )

undefined !== null ( but native operators like ? and if uses == and not === )

I'm really glad Javascript is taking over. Mostly because I am a small business / indie dev and using Javascript allows me to off-load a lot of work onto distributed client computers. Which, in turn, allows me to piggy back off of Google, Github, etc., for free hosting and be massively "scalable" to traffic spikes with no cost to me. Js has become massively portable so rapid prototyping and deliver is more possible now than ever.

<comment><USER8> "1" \- 1 = 0

Seriously, what answer were you expecting other than this?

I'm really curious!

<comment><USER29> Any decent language that wants devs to be able to reason about operators and types would throw a TypeError here.

Shitty languages will cause devs to have to purchase books entitled "ShittyLanguage: The Non-Shitty Parts", wherein chapter 8 talks about "avoid using the subtraction operator because of ambiguous precedence, transitivity, and coercion rules; instead use jQuery.minus()."

<comment><USER18> Easy.. don't let shitty programmers write code.. oh, that's right, everyone has to learn/start somewhere.

I've seen some pretty horrible code, with any number of bugs in pretty much every language I've ever seen. If you're passing a string into a function that expects a number, you deserve what you get. parseInt(value,10) for user input isn't so hard.. if you want to ensure a numeric value, you can always ~~value ... though that's slightly less obvious to someone new to the language.

JS evaluation expressions are far nicer than most languages I've worked with.. aside from C#'s addition of .? I can't think of much that comes close to as fluid in terms of handling end user input and massaging it into something that works correctly.

Your comments remind me of the XML everywhere mindset that used to be so prevalent in "enterprise" programming... JSON is a much better abstraction for data models, as it is less disconnect from actual code.

Personally, I prefer a "don't cause an error unless you _really_ have to" approach to development... if you can recover from an error condition, log it and do so... if you can't, blow up the world. Java's error handling comes to mind here as particularly cumbersome to deal with... Node's typical callback pattern, and similarly promises/thenables is much easier to work with in practice.

JS has some really hideous parts... just the same, the Browser is an environment where you expect things to do "something" and mostly still work when parts break... the services that back browsers should likely do the same. JS is a good fit for this use case.

</comment></comment></comment></comment><comment><USER30> Reminds me a bit of this talk: [https://www.destroyallsoftware.com/talks/the- birth-and-death...](https://www.destroyallsoftware.com/talks/the-birth-and- death-of-javascript)

</comment><comment><USER31> _…since both Webkit and node.js used V8 as their JavaScript engine…_

Maybe you meant Blink, WebKit uses JavaScriptCore

<comment><USER13> Chromium, rather than Webkit, but yes - thanks for pointing that out I have fixed this (Blink was created much later, in early 2013).

</comment></comment><comment><USER32> And don't forget to write your Postgres stored functions in JavaScript with PLV8

</comment><comment><USER33> wether one likes javascript or not,this is a good article one must read about the state of javascript today.

</comment><comment><USER34> Ah - the pain of path dependence

</comment><comment><USER35> Yeah, JavaScript rocks!

</comment><comment><USER36> Stop trying to make Firefox OS happen.

</comment><comment><USER37> I've been saying this for years (: happy to hear</comment>


Released Today – New NLP Model Called Haimke - <AUTHOR> http://www.ai21.com/haimke <comment><AUTHOR> Hey HN,

I'm Karin from AI21 Labs. We released a cool new language model today called HAIMKE that can fill in synthetic text based on human-written bullet points.

NLG models such as GPT-2 (and 3), Grover, CTRL and others have pushed the envelope in terms of generating synthetic text with excellent fluency. What's unique with HAIMKE is that it goes beyond improved fluency: it gives you direct control over the content of the generated text.

HAIMKE is derived from our previous work on models such as HAIM and HAIM-1.5 and uses the same Transformer architecture. It was trained to reconstruct whole documents from a few representative sentences, one for each paragraph, sampled from a large corpus of online text. To give users control over the amount of text generated, the model was trained with conditioning on the length of each sample. HAIMKE supports documents made up of 2-9 paragraphs with up to ~700 words in total.

Give it a try and we'd love to hear what you think. We released it today on Product Hunt and value any feedback. www.ai21.com/haimke Thanks!

</comment><comment><USER2> Really cool. Really like the vision.</comment>


Ask HN: What License for New "Open Source" Project? Commons Clause? - n8n-io I am currently working on a project which I want to "Open Source" soon. I write it in quotes because I am also thinking about adding Common Clause to it which even though the code would still be open and free to use and for 99.99999% of the people it should make no difference it would not be allowed to be called Open Source anymore.
The reason I want to apply Commons Clause[1] is simple. On the one hand, do I want that everybody no matter if a private person or big company can use it totally free for themselves. On the other hand, do I not want that another company commercializes it and at the same time does not do anything to further the project. If the chance really arrises, I would prefer to commercialize it myself and so fund improving the project and giving part of the profit to other Open Source projects which are important for mine. I think that this would be in the end in the interest of everybody (obviously except for the cloud providers).
So would love to hear what you all think about it. Especially if it would cause anybody not to use or contribute to a project with uses Common Clause or other concerns you would have.
Thanks!
[1] https://commonsclause.com/ <comment><AUTHOR> _If the chance really arrises, I would prefer to commercialize it myself_

FWIW, there's no hard rule that says only one firm can commercialize a project. How many vendors, for example, offer commercial Linux distributions?

<comment> n8n-io Ah yes, you are right. It does not mean it would be impossible but for sure would make it much harder when a big cloud provider can offer it earlier and cheaper.

<comment><AUTHOR> "Cheaper" probably yeah, because they could presumably subsidize the thing with profits from their other services. Not sure about "earlier" though. I mean, if you're the one building it, by definition you have at least the opportunity to move first. Considering how slow big companies usually are, due to all the various committees, bureaucracy, hand-offs, approvals, etc., I think you'd have a very good chance to be earlier than those guys.

And, perhaps ironically, you could build a business around your "thing" by using a public cloud provider.

Look at the Netflix / Amazon relationship, for example. They are direct competitors in terms of streaming video, but yet Netflix builds on AWS. Yes, that's a different kind of thing, but my point is that, in real life, things aren't always so "black and white" as "Oh, big cloud provider came along, commercialized my thing, GAME OVER."

Consider too that many (most? all?) markets can be segmented in ways that support multiple vendors. For all the talk about monopolies that is the rage today, ask yourself how many products you can think of that _literally_ have ONE and ONLY ONE provider. I doubt it's very many. There might be one _dominant_ vendor and a constellation of smaller ones, but maybe it's OK to be one of those smaller firms that fills a specific niche. Heck, find enough of those niches and maybe you can use the old Komatsu "encircle Caterpillar"[1][2] strategy.

[1]: [https://dilipnaidu.wordpress.com/2010/05/06/strategic- intent...](https://dilipnaidu.wordpress.com/2010/05/06/strategic-intent/)

[2]: [https://hbr.org/2005/07/strategic- intent](https://hbr.org/2005/07/strategic-intent)

<comment> n8n-io Thanks a lot. I will have to give it a read!

About the earlier. Yes, it would be for sure possible to be the first. The problem is just that it would take a considerable amount of time which in the end would be kind of "harmful" for the project itself. Because instead of fixing bugs or adding important features I would spend my time on creating a hosted version which would not really further the project itself. Unless of course, the hosted version would help the project by growing the community as it would be easier for people to use because they do not have to set it up themselves. Also, could it help to fund further development early on. So maybe should really think about a hosted version earlier than planned.

<comment><AUTHOR> _Because instead of fixing bugs or adding important features I would spend my time on creating a hosted version which would not really further the project itself._

That's a fair point. Maybe you could partner with somebody who wants to focus on that side of things, while you focus on the core project, and work out some kind of revenue sharing agreement or something?</comment></comment></comment></comment></comment>


Wikipedia to Shut Down on Wednesday to Protest SOPA - <AUTHOR> http://thenextweb.com/insider/2012/01/16/wikipedia-will-shut-down-for-24-hours-on-wednesday-to-protest-against-sopa/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheNextWeb+%28The+Next+Web+All+Stories%29 <comment><USER3> The train has been stopped, but it's still on track. Time to push it into the other direction and maybe even let it derail spectaculously. But there is more needed than raising awareness with this blackout.

This awareness should be exploited (in a good way) appropriately.

\- We as those that do understand the issue have the responsibility to explain the problem to the majority. I still find it very difficult to effectively reason against censorship, privacy and the like to "normal" people, in words that they can relate to. A few weeks ago I personally accepted that challenge and are training. I thought this thread was a good inspiration: <http://news.ycombinator.com/item?id=3425973>

\- Those who speak in public, especially in the mass-media, should not think that they can win a discussion only with arguments, no matter how valid they may be. Please ramp up the rhetoric skills. Alexis Ohanian does not look like he is an expert in PR, so maybe he should be joined by public speakers with experience with hostile (and outright lying) opponents, but he made a very good start, and makes notable progress each time I see him. I know I would be killed out there. Thanks Alexis, and keep it up!

I applaud the stand that Wikipedia makes and, being a german, propose that the blackout should not end on English Wikipedia. The USA still is the most influential country in the world, and this fight is international, just as the web is international. Please do not mourn for one day without your favorite sites. Show some solidarity among internet citizens.

I am quite happy with the progress that has been made.

<comment><USER4> "The USA still is the most influential country in the world, and this fight is international, just as the web is international."

As a US citizen, I didn't want to be the one to say this (in response to e.g. [https://twitter.com/#!/foxhuntingx/statuses/1589645062094274...](https://twitter.com/#!/foxhuntingx/statuses/158964506209427456) ) because it might sound arrogant, but seriously, Herr Duerksen is correct: People in Australia, UK, and other non-US places affected by the en.wikipedia blackout can cover their eyes and ears and pretend SOPA doesn't affect them but I think this is a ridiculous stance.

Yes, much of the world looks to/points at the US for various speech &c. policies. Furthermore, much of the Anglophone world uses US internet services and products that would likely be affected by SOPA (facebook, youtube, reddit, en.wikipedia, 4chan, etc.). If it passes, SOPA _probably will affect you_ whether you live in Boston or Brisbane.

There are many people who seem to hard time grasping the fact that US law applies to US sites, regardless of what country _you_ are in (see: "Google turned off my 10 year old's Gmail even tho I live in the UK and it's a US law!!! US law doesn't govern me!!" <\- yes but US _does_ govern Google, which operates out of the US).

This fact is a good argument for creating competing services _not_ based in the US (even tho it'd probably be illegal for us 'murkins to use them :/ ).

<comment><USER5> It's not about whether it would affect us, it's about we can affect it. Speaking as a Brit, I can't wait for Wikipedia's advice on how to contact my local Congressional delegation.

(Footnote: Wikipedia points out that 55% of people supporting a blackout wanted it to be global, and its true this option had the plurality of votes. It's also true that the majority of people participating voted for something less than a global blackout. Not sure it would have been the Concordcet winner!)

<comment><USER4> This is a really good point and something that the anti-SOPA movement should address better (or at least publicize better). I imagine phoning into the American consulate or embassy tomorrow couldn't hurt! They will say "we don't control that" but you can just let them know you are upset about WP being out, upset about SOPA, and liable to stop using US 'net services if becomes clear that the US market is "unsafe" for 'net business. I'll edit if I find more specific information for how non-US people can oppose SOPA.

</comment></comment></comment></comment><comment><USER6> I know there's a lot of cynicism about whether SOPA law is really being abandoned, or whether it's just being temporarily shelved, but I'm really excited about how opponents have banded together, and how organizations like Reddit and Wikipedia have been willing to sacrifice page views and revenue to show their support and to increase public awareness.

In the future, when someone advocates opposing an unjust law and someone else responds that opposition is futile, the anti-SOPA efforts will serve as a compelling and encouraging counterargument.

<comment><USER7> The politicians will claim it is dead, then name it something else or not name it anything at all and just tack it onto the end of some other legislation and pass it when no one is watching.

In the USA, they're bought and paid for.

<comment><USER8> they may be able to keep the people from knowing about it until it happens, but with all this outrage it seems unlikely they'll be able to keep it quiet after the fact. Then they'll have to answer to this behavior come election time.

<comment><USER7> They don't care. They honor those who buy the lobster dinners and give them 30 dollar cigars. When you vote them out, they'll have several six or seven figure cushy job offers to pick from.

\---

From wikipedia: In February 2011, despite "repeatedly and categorically insisting that he would not work as a lobbyist,"[22][23] [senator Chris] Dodd was identified by The New York Times as the likely replacement for Dan Glickman as chairman and chief lobbyist for the Motion Picture Association of America (MPAA).[24] The hiring was officially announced on March 1, 2011.[25]

<comment><USER9> The individuals may end up with six/seven figure cushy jobs, but the party may still suffer long-term consequences.

When you're in politics, money is only good for one thing: buying votes. However, if a force stronger than free t-shirts and pens makes itself noticed, like mass-media reminding people how they got screwed, then interesting things can happen.

I think the main issue here with these people is that the Internet is not controlled so tightly as traditional media. And we are just starting to see the social effects.

<comment><USER10> _the party may still suffer long-term consequences_

Two party system, long term is only long enough for the other side to screw up, so 4 or 8 years tops.

<comment><USER9> I wouldn't be so pessimistic about it and I'll tell you why.

In democracy the mass-media has traditionally played the role of a fourth branch of government. However in recent times the traditional mass-media companies ended-up too controlled, either by owners that are also in politics, by legislation, or by the sheer pressure of catering to shareholders. But if you think about it, the social changes that the Internet has brought are only starting to emerge.

So IMHO, meet the new fourth branch of government: the Internet. And surely Internet companies can still be controlled, but the Internet is much more ethereal than traditional mass-media ever was and now the whole world is watching. Hello from Romania ;)

<comment><USER11> I think this is exactly right, @bad_user. The extent to which this is true blew up last Thursday, when Arthur Brisbane, the public editor of the New York Times, went to his readers with a question:

"I'm looking for reader input on whether and when New York Times news reporters should challenge 'facts' that are asserted by newsmakers they write about."

As Clay Shirky observed, the response was "swift, voluminous, negative and incredulous."

[http://www.guardian.co.uk/commentisfree/cifamerica/2012/jan/...](http://www.guardian.co.uk/commentisfree/cifamerica/2012/jan/13/new- york-times-public-editor)

Within 24 Hours, Vanity Fair turned Brisbane from an object of outrage into one of sheer mockery.

[http://www.vanityfair.com/online/daily/2012/01/Should- emVani...](http://www.vanityfair.com/online/daily/2012/01/Should-emVanity- Fairem-Being-a-Spelling-Vigilante)

But the most damning remarks came from readers themselves. The comments on Brisbane's post, and the one from Executive Editor Jill Abramson that followed, were absolutely incandescent.

So yes, the total implosion of the 4th Estate is coming into the open. And that's a very new development. That other big difference is that 10,000 calls to a Senator's office is a lot. So what happens if they ALL get 1,000,000? It's an absolutely off-the-charts response. You know there's opposition. You expect a few grenades to be tossed. Instead, a thermonuclear bomb detonates.

It's entirely possible that the response to Wikipedia's move will be the single largest driver of negative traffic in the history of Washington DC. It's the kind of searing experience that tells previously complacent politicians that, suddenly, they've got a major electoral issue. And not just on this one bill, but on literally everything they do.

I agree with folks who say this cannot end with the derailment of SOPA/PIPA. It has to continue until the flow of campaign cash from lobbyists ends, and the revolving door is welded shut.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Wikipedia's sysadmins should make sure their blackout pages return an HTTP 503 (Service Unavailable) response so that they don't accidentally poison the search engine indexes, which risks causing SERP problems well beyond the protest period.

<comment><USER13> There's a saying that goes, "If you owe the bank $100, that's your problem. If you owe the bank $100 million, that's the bank's problem." In this case, that would be pretty much Google's problem.

</comment></comment><comment><USER14> So, what happens when I call my Congressman after learning about this on wikipedia and his office says "oh SOPA, that bill has been put on hold already since last week"? Won't many people get pissed at wikipedia?

Edit: I actually think they should call it off _at the last moment_. Save the nuclear option for another time.

<comment><USER15> Former WMF counsel Mike Godwin (and former DC lawyer) just commented on the Foundation mailing list:

        Dan, you're misreading the implications of what the story you link to
        says. What's actually happening is that the House sponsors hope to
        defuse opposition by delaying and slightly modifying SOPA. My
        experience as a DC lawyer for much of my career strongly suggests that
        there's no reason to suspend expressions of opposition to SOPA or PIPA
        or the general effort by content companies to change the internet as
        we know it. In my view, it is wholly incorrect to say "that time is
        not right now."  Anything that the legislators can interpret as a lack
        of resolve from the internet communities will encourage them to
        resubmit SOPA or its equivalent in another form. The time for
        protesting this is, in fact, right now.

<comment><USER14> In that case, I will go with this guy's view :) He seems to know what he's talking about. Bring on the blackout!

</comment></comment></comment><comment><USER16> I think that it's crazy that all of this effort is going into opposing SOPA. It seems that there should be a bill/effort drafted to codify the freedom of the internet, and making DNS blocking illegal.

<comment><USER17> The only thing that _might_ help is a constitutional amendment. A law can easily be overwritten. An amendment at least gets some oversight from the Supreme Court.

<comment><USER18> There has been some discussion about this already. I am 100% behind going on the offense for internet freedom:

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

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

<comment><USER19> Also <http://news.ycombinator.com/item?id=3464814>

</comment></comment></comment></comment><comment><USER20> This reminds me when a few months ago Wikipedia shut down in Italy to protest against a similar case regarding censorship.

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

</comment><comment><USER21> This and the cheezeburger network will put it in the eyes of people who wouldn't have seen it otherwise. Sites like reddit already preach to the choir! Go team internet!

</comment><comment><USER22> To me, the real lesson from SOPA and PIPA is that the tech industry needs to spend a lot more money bribing (oh, excuse me, lobbying) senators and representatives to counter all the money flowing from the entertainment industry.

Also, it's an embarrassment that BOTH of California's senators not only support PIPA, they are listed at co-sponsors.

<comment><USER23> They're both Hollywood's senators, not Silicon Valley's.

<comment><USER24> True, but they both started their political careers in northern California. Barbara Boxer in Marin County, and Diane Feinstein in San Francisco.

</comment></comment></comment><comment><USER25> For the addicted (7.3 GB)

<http://en.wikipedia.org/wiki/Wikipedia:Database_download>

<comment><USER26> What blhack said. Instead, get the torrent:

[http://thepiratebay.org/torrent/6430796/English_Wikipedia_(A...](http://thepiratebay.org/torrent/6430796/English_Wikipedia_\(All_Articles\)_-_May_2011)

<comment><USER27> This perfectly legal torrent link blocked in Ireland, btw.

<comment><USER28> It is? I'm guessing Eircom blocks thepiratebay.org? I'm on UPC and its not blocked for me.

<comment><USER27> That's exactly what I'm getting at, and why SOPA and it's ilk are so pernicious.

(I'm not actually in Ireland at all any more, so it's not blocked for me either.)

</comment></comment></comment></comment></comment><comment><USER29> Is this US only, or is this going to take it offline for the whole internet? The article doesn't specify, but last I checked there was strong support for a US only blackout.

<comment><USER30> @jimmy_wales : English only, but protest action is global for English.

<comment><USER29> Thanks, so en.wiki will be gone for the whole world.

Not sure how I feel about that as there is nothing non-US citizens can do.

<comment><USER30> They can complain on Twitter and Facebook which will raise awareness to their American friends who can do something about it.

<comment><USER31> If all non-US citizens that use the English Wikipedia had US citizen friends they could engage politically, US politics would look vastly different already.

</comment></comment></comment></comment></comment><comment><USER32> I'm against SOPA as much as the next person here on HN but I disagree with shutting down Wikipedia. Paul Carr wrote a piece today that argues this case well -> see [http://pandodaily.com/2012/01/16/dick-costolo-is-right- wikip...](http://pandodaily.com/2012/01/16/dick-costolo-is-right-wikipedias- sopa-blackout-is-a-terrible-idea/)

Basically,

a) Wikipedia's core principle is neutrality. When they strive for neutrality and balance on much more sensitive issues, taking a stance on one particular issue affecting one particular country, you violate that.

b) Wikipedia runs on the kindness of strangers, some of whom could potentially be supporting SOPA. It is egregious to spend a month asking for donations on every page and then turn around and deny some of them service.

Fundamentally, it is not the job of an open and free repository of human knowledge to take political stances, however harmful and important the topic might be. To those making the point that this threatens the entirety of the internet, that _is_ true. However

\- The point of being neutral is that you don't get to choose what you're neutral about.

\- Should Wikipedia shutdown hypothetically over nuclear arms (as an example) - something that could potentially destroy all of humanity? Where do you need to be on the destructiveness scale for Wikipedia to take a stance?

I'm not doing as good a job of summarizing this as Paul Carr does - do read his piece.

<comment><USER33> You can't be neutral on a moving train \- Howard Zinn

<comment><USER32> If you're implying that some issues encompass everyone and everything and suck people in, it is going to be hard to justify that SOPA meets that bar but something like, say, nuclear disarmament doesn't.

<comment><USER33> I am responding to your point (a). Not acting is not being neutral. Not acting is taking a stand.

<comment><USER32> That's a question of semantics. When you have a policy on not taking a stand on _any_ issue which you stick to, you are not taking a stand.

<comment><USER34> When Wikipedia blocks an IP address for abusive behavior they are taking a stance in defense of their goals which are to provide a high quality, free, open, and unbiased repository of knowledge.

PS: Read <http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act> it's fairly neutral if a little long.

</comment></comment></comment></comment></comment></comment><comment><USER35> I've pledged I'll donate if they protest SOPA and I'll keep my promise. I hope everyone else who has pledged will do the same.

</comment><comment><USER36> Was this article on HN front page not true "SOPA to be shelved.." [http://www.washingtonmonthly.com/political- animal/2012_01/pu...](http://www.washingtonmonthly.com/political- animal/2012_01/putting_sopa_on_a_shelf034765.php) ?

If Wikipedia is still going to shut down then I'm not sure about the veracity of that article.

<comment><USER9> "Shelved" is not enough - they'll just find a backdoor for it.

I don't think they expected such opposition, unlike other laws like the Patriot Act that mostly went unnoticed.

But they are just regrouping. It ain't over.

</comment></comment><comment><USER37> I wish this was USA only, not for all English Language sites. It might cause a media conversation about how SOPA will put US people, jobs, groups and companies at a disadvantage on the global stage, and might scare US policy makers into thinking that laws like this might be the fall from prominance of the USA.

 _sigh_

</comment><comment><USER38> Couldn't they just redirect traffic coming from the US? Leave it accessible to the rest of the world!

<comment><USER39> No, because even if the law is something US-specific, its effects (should it pass) are not.

<comment><USER37> Nonsense. There are loads of bad US laws (e.g. terrible employment rights, terrible anti-discrimination rights) that the rest of the world, or EU don't copy and aren't affected by.

The affects of SOPA passing would probably be a _benefit_ to many countries, since more companies & jobs would come to their juristiction (some countries in EU do this with more favourable corporate tax laws, or look at Switzerland and Cayman Islands with banking laws.)

<comment><USER40> None of those laws are at all related to censoring the Internet, which is a global network, so non-US citizens using US websites (like Facebook, Youtube, etc) are still affected.

</comment></comment></comment></comment><comment><USER41> SOPA could cripple the internet. I hope this brings awareness to that fact. I shudder at how I and many more others could lose their job over this, as I am working for a US-based online company. This pertains not only to the US, but internationally as well.

eWeek stated, "The language of SOPA is so broad, the rules so unconnected to the reality of Internet technology and the penalties so disconnected from the alleged crimes that this bill could effectively kill e-commerce or even normal Internet use. The bill also has grave implications for existing U.S., foreign and international laws and is sure to spend decades in court challenges."

</comment><comment><USER42> If SOPA isn't dead, shutting down Wikipedia for a day will kill it because of the degree to which it will raise awareness of the issue among people who don't pay much attention to politics...Wednesday is a school day after all.

</comment><comment><USER43> Can't they just do a "fake" blackout -- every user's first visit of the day gets blacked out, but with a link to re-enable Wikipedia?

I mean, get awareness out, but then still let us read the articles (even with white-on-black text, maybe?)

<comment><USER44> It's just _one day_. Are you really that reliant on Wikipedia that you can't go a _single day_ without using it? It seems to me a lot of the people against the blackout don't have any long-term reasons why it might be bad, only discomfort.

<comment><USER45> My previous firm depended on wikipedia. We would often have to get up to speed on very diverse industries and their core metrics overnight, and wikipedia was the first source that was available and easily searched.

With the English site black out, this will affect the world far more than just America.

As a matter of fact this is probably something that we should study and be prepared for.

How do the other data/encyclopedia sites fare during the black out? Is there a real effect, how long does it last?

What is the impact on non US visitors? Shouldn't the black ideally focus on people from the States?

Heck actually, this will probably offend a lot of people who aren't in the states - Indian sites can easily spin this as cultural propaganda (for example).

The more I think about it, the more the point raised higher up in this thread (regarding neutrality) starts bothering me.

A complete black out of the English Wikipedia is (hopefully) a once in a life time event. Considering the diversity of people who come to the site and the different cultural baggage everyone brings, this action will have far more repurcussions than just SOPA/PIPA.

While time zonal differences should mitigate this effect, the blackout should not affect visitors from countries where SOPA makes little difference.

<comment><USER46> " the blackout should not affect visitors from countries where SOPA makes little difference."

I'll make the claim that most english speaking countries in the world will be affected by this. This bill is supposedly targeting foreign website. It could mean a European site getting blocked by PayPal because of an American law.

</comment></comment></comment></comment><comment><USER47> It will send a strong message for PIPA as well as the similar legislations in future. I still like to see google,facebook .. to come up with something creative on their front page.

</comment><comment><USER48> They ought to mention PIPA as well as SOPA on the shutdown page.

</comment><comment><USER49> I really wish this was done to globally to protest against internet censorship of any kind instead of being such a US centric thing. It feels shortsighted.

</comment><comment><USER50> I hate that I feel this is an 11th hour response. I guess I just don't understand how a 99% community sponsored website with little direct advertising income or large sponsors would drag their feet on the issue.

I do understand the 'late to the party, hard to miss' factor, but the opposite could have spurred more action from other sites.

Hoping for a quicker response 'next time', but still damn good on you!

<comment><USER51> In a company there is a boss, and s/he can decide what to do.

In an online community, there's just people talking and chatting and politicking and all sorts of other stuff. We've been discussing this for weeks, and right up to the 24 hour deadline that the Foundation set, people were saying "we need more time!" Wikipedia's consensus process is slow, organic, bumpy and unpredictable. It's not like you can fire them or bribe them or threaten them with guns (which is basically what businesses and governments can do), you have to work with them as equals.

In short: community management and consensus building is hard.

</comment></comment><comment><USER52> I'm tired of these acronyms, it got confusing today. Are politicians just trying to smuggle it through under a different name at this point? I can't think of a name from recent events with more negative connotations than SOPA, which seems to be why it was abandoned. Are these anti-SOPA messages worth the cost of downtime at this point?

<comment><USER53> We still need to inform people about the issue and it's better if we're the first people to inform them. Because we know they'll try again later, we need to remain vigilant and prepare for next time. It's much too early to relax. That's exactly what they want us to do.

<comment><USER52> Well put

</comment></comment></comment><comment><USER54> There is currently no notification of this on their homepage. Only two days away, I think it would be good form to update.

</comment><comment><USER55> Ever since I heard about SOPA I hoped that Wikipedia would have done it sometime soon.

It worked for Italy as far as I know.

[http://www.theatlantic.com/technology/archive/2011/10/italia...](http://www.theatlantic.com/technology/archive/2011/10/italian- wikipedia-shuts-down-in-protest-of-wiretap-act/246180/)

</comment><comment><USER56> I wonder if SOPA will help unite some of the web big guns, obviously they are teaming up to call out SOPA but maybe this will help develop further relationships and we'll see some partnership projects grow. SOPA could end up doing more good than it does harm, assuming this backlash see's it off.

</comment><comment><USER57> Curious to know if Google and Facebook has taken any stance on SOPA? Especially Google since they always tout themselves as 'the' open web company. From a business perspective, will coming out supporting SOPA and have a similar protest as Wiki help or hurt Google?

</comment><comment><USER58> The RfC is not closed yet, so there is still time to vote: [http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Actio...](http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Action)

<comment> meta-coder 1800 Wikipedians have already voted.

</comment></comment><comment><USER59> Personally I think that the OPEN act might be a better idea than SOPA.

Why not give the infringing websites a chance to enter US courts and have due process, or face the consequences in, say, a week? This would make it more costly to prosecute them, but also give them a chance to explain themselves. The courts could possibly give another resolution than just ordering the intermediaries to doing business with them. The threat would be the threat of SOPA (which wouldn't include DNS), but it would be only AFTER the foreign corporation has refused to comply with the decision of the US court for a month.

And yes, this would mean that all its subsidiaries and websites would be affected at once. It takes time to build a big broadcasting system, so it wouldn't be whack-a-mole, either.

<comment><USER60> Because "entering US courts" is a prohibitively expensive operation on its own; something that is frequently exploited by corporations to screw with individuals. The concept is called SLAPP (<http://en.wikipedia.org/wiki/SLAPP>). Don't like what someone is doing? Sue them and hope (more often than not correctly) that they don't have the wherewithal to defend themselves.

<comment><USER59> ITC can do it, as per the OPEN bill.

Although to be fair I think SOPA is pretty benign now. I am actually sort of in favor of it as log as it doesn't harm american websites and as long as it doesn't require anyone to make special exceptions in the DNS.

Preventing American based advertisers and banks from paying foreign-based sites which would be prosecuted for being egregiously devoted to piracy or trademark infringement, in the united states seems like something we should be able to do, so that Americans' unlimited ability to download hollywood movies from foreign based sites and songs from kontakte is limited.

America isn't overstepping its juridiction if it is only legislating what American companies can do.

That said, I disagree with the lack of due process in SOPA. I much prefer Issa's bill called OPEN. Issa rightly pointed out that there are better agencies for this than the attorney general's office, such as the ITC.

What I want to know is, where are the provisions in SOPA that say you can be thrown in jail for uploading a song? I thought SOPA was just about curtailing distribution of infringing material by foreign websites.

</comment></comment></comment><comment><USER61> Does this apply to all wikipedias, or just the english-language wikipedia?

<comment><USER37> Just English language and globally for english language,

</comment></comment><comment><USER62> Wikipedia shutting down is not good news..Its very useful and needed everyday...May be they can make the each page load delayed by 1 minute or so to mark the protest....

<comment><USER63> I agree with you, I needed to read some articles for quick information reminder but I CANT. While I agree that SOPA/PIPA should not be passed, and that the protest may be a good way to show everyone disagrees, closing the websites like this is pretty bad for the users I think they should allow people to read the articles.

</comment></comment><comment><USER64> Any known and reliable online mirror of the English Wikipedia?

<comment><USER65> <http://encyclopedia.thefreedictionary.com/> seems fairly transparent, but is out of date (no entry for SOPA).

</comment></comment><comment><USER66> Looks like it's a day of reading Simple English Wikipedia...

</comment><comment> mkr-hn Reminder: <http://code.google.com/p/offline-wiki/>

For people who lack the inclination to download Wikipedia.

</comment><comment><USER67> Is this still happening now that SOPA has been benched?

<comment><USER68> PIPA is still moving forward:

[http://www.techdirt.com/articles/20120116/02442717414/harry-...](http://www.techdirt.com/articles/20120116/02442717414/harry- reid-says-hes-concerned-pipa-will-break-internet-we-must-move-forward-with-it- because-jobs.shtml)

</comment></comment><comment><USER69> I don't think this is a good idea. Wikipedia is an encyclopedia that many people depend on all over the world. Encyclopedias should not just switch off for political reasons. Books don't turn off. Digital information should not turn on and off either for any reason. A big red banner covering half the page can get the message across without actually making us unable to access the information stored in wikipedia.

<comment><USER70> I agree. Taking a stand and putting up a banner, or a click-through page, etc is fine. But information services like Google and Wikipedia shouldn't actually be shut off in a way that makes the information inaccessible.

<comment><USER71> > But information services like Google and Wikipedia shouldn't actually be > shut off in a way that makes the information inaccessible.

And that's exactly what SOPA would do. _Permanently_. Nobody is preventing you from accessing today's Wikipedia content on your own this Wednesday - <USER2> download a copy of their db right now if you're that scared and fearful of a day without it. The point is a strong demonstration of what the world would be like with SOPA/PIPA. It's necessary.

<comment><USER70> So shutting off information services is evil, and we're going to show it by committing the same evil? By that token we should teach everyone how bad genocide is by executing a random member of their family.

We should certainly get people's attention by doing something very overt like replacing every article with a big dark SOPA message, but there really should still be a way to click through to the information.

> We should certainly get people's attention by doing something very overt > like replacing every article with a big dark SOPA message, but there really > should still be a way to click through to the information.

That's fine for us mega-nerds, but what about everyone else?

<comment><USER72> Looks like we've reached Godwin's Law. That's didn't take too long.

<comment><USER60> <pedant intensity="100%">Godwin's law only covers the invocation of Hitler or the third reich, not random genocide.</pedant>

</comment></comment></comment></comment></comment></comment><comment><USER73> Last week I said I would donate money to wikipedia if they did this. I just donated $50 just now via credit card through the main page.

<comment><USER74> I also stated I would donate money as well, looks like I must now. :)

</comment></comment><comment><USER75> And to save a few bucks.

</comment><comment><USER76> Can't they just do it for the US? The english wikipedia is not just for the english-speaking, and it's hell of annoying to have to use google cache for everything...

Also why don't they lobby twitter instead? That's the one service congressmen rely on

</comment><comment><USER77> well, it appears that i'm out a $1.00 :D

EDIT: downvoted for pledging $1 to wiki for blackout? interesting.

<comment><USER78> You have probably been downvoted for not adding anything to the conversation, this is not Reddit.

</comment></comment><comment><USER59> What's to protest? SOPA is pretty benign now.

This just in: The DNS will not be affected. Lamar Smith took it out.

And even before, two weeks ago, I posted that only foreign websites which would be prosecuted under US law would possibly be affected by this. So maybe bit.ly and the other URL shorteners would be affected, but that's not a big deal.

Before you throw a knee-jerk downvote on this, ask yourself ... are you aware of what the SOPA legislation says NOW? Or is this just inertia from the beginning from SOPA, and you are just against any form of going after foreign sites which host illegal downloads?

On a related note, I want to ask ... in the Russian community it's well known that VKontakte has all the songs and you can just listen to them. Does this mean that VK is on the hist list of SOPA? I don't think they care about US advertisers though. What do you guys think?

<comment><USER79> _"only foreign websites which would be prosecuted under US law would possibly be affected by this"_

 _"not a big deal."_

Says you. That is a pretty big fucking deal.

EDIT: I've read your submission. Your argument seems to be _"ICE already does this, so we might as well let SOPA legitimize it"_. I hope you can see why most sensible people would find this logic dissatisfying.

<comment><USER59> Wait, so if a website is located in another country and would be criminally prosecuted had they been running in the USA, then case closed, they should be able to do as they please with the hollywood blockbusters produced in the US? For example they can set up a website which is dedicated to allowing everyone, including US citizens to download movies and songs for free as much as they want?

If you say yes, then you are really just against intellectual property protection of any kind, and believe that copyright should be abolished. Because by definition whatever protection the government afford copyright holders, someone can set up an offshore website with an offshore registrar and simply invite US citizens to get everything for free. And they can make money off ads, too :)

Or better yet, what about trademark infringement? What about counterfeit goods being sold from offshore websites? Should they stay up and do whatever they want, putting "Rolex" on their fake watches?

<comment><USER79> I guess "jurisdiction" is a new concept to you. The answer to all of your questions should be obvious otherwise.

The US is not World Police. Get over it.

<comment><USER59> Yo, jurisdiction is the reason for SOPA

<comment><USER79> Or more accurately, lack of it.

<comment><USER59> Although to be fair I think SOPA is pretty benign now. I am actually sort of in favor of it as log as it doesn't harm american websites and as long as it doesn't require anyone to make special exceptions in the DNS.

Preventing American based advertisers and banks from paying foreign-based sites which would be prosecuted for being egregiously devoted to piracy or trademark infringement, in the united states seems like something we should be able to do, so that Americans' unlimited ability to download hollywood movies from foreign based sites and songs from kontakte is limited.

America isn't overstepping its juridiction if it is only legislating what American companies can do.

That said, I disagree with the lack of due process in SOPA. I much prefer Issa's bill called OPEN. Issa rightly pointed out that there are better agencies for this than the attorney general's office, such as the ITC.

What I want to know is, where are the provisions in SOPA that say you can be thrown in jail for uploading a song? I thought SOPA was just about curtailing distribution of infringing material by foreign websites.</comment></comment></comment></comment></comment></comment></comment>


The infinitely profitable program - <AUTHOR> http://www.peetm.com/blog/?p=55

<comment><USER3> I understand this is meant to be humour, but it brings up a very important problem - the mapping between the profit from software and the processes that create it, and in some sense, measuring programmer productivity.

Here, though the program size was 0, the idea was what the cost was for - <USER2> come up with this idea, one has to have deep knowledge about the machine and about the way programs are executed on it in particular. One should also spend some brain power (and have the ability to do so) on how to use that to our advantage.

Now, imagine a program of say 100 bytes, whose idea was conceived by one programmer but the implementation written by another. Then, how would you divide the profit from the software among them (assuming you do that)? It perhaps depends on how detailed the idea was, how much thought had to be put in to implement it, how 'brilliant' or 'out-of-the-box' the idea and many other factors, almost all of which are qualitative.

In short, determining salaries and increments for programmers seems a very hard problem.

</comment><comment><USER4> A nice reminder that the artifact is not the product.

<comment><USER5>

</comment></comment><comment><USER6> I love to hear stories about programming on those early computers.

Of course, similar functionality is built into most, if not all, modern operating systems. On Mac OS X it is very efficient with memory and maintains the memory of closed programs such that if you hit ⌘ + Q to terminate the process and then you relaunch the program it usually starts up almost instantly.

<comment><AUTHOR> I don't think it maintains all the memory of closed programs - the data/stack areas of memory will differ hugely between when a program is closed and when a program is launched. If you did save all these areas of memory, the program's state would be exactly the same between opening/closing.

However, the disk blocks containing the executable program file are likely to be cached in memory after you open a program. Memory is orders of magnitudes faster than the hard disk, so this would explain the speedup</comment></comment>


Looking for beta testers for social wishlist built with node.js - <AUTHOR> http://wishd.me I'm looking for beta testers to provide feedback on a new project. Wishd.me is a social wishlist application built with node.js and express.js<p>Anybody can create wishlists and add items to it on other people's profile pages. <comment><AUTHOR> Please provide feedback in this discussion thread. Thank you.</comment>


Mocking Terraform AWS Using Docker - <AUTHOR> http://diego-pacheco.blogspot.com/2018/06/mocking-terraform-aws-using-docker.html <comment><USER2> I'm not sure I follow the use case here. Perhaps it's just a function of my use cases for Terraform.

Terraform comes with `terraform plan`, which does a cursory validation of the infrastructure-as-code, diffs it against the current state of the world in various accounts, and reports back with what it expects to execute. While there are some cases where `terraform plan` succeeds and `terraform apply` errors, they tend to be cases that I don't think mocking would catch. For example:

\- Certain AWS resource naming restrictions are not handled by `terraform plan`, but are caught by the AWS API, causing `terraform apply` to fail.

\- The validity of AWS ACM certificates (issued vs pending) is not handled by `terraform plan` -- `plan` assumes that any certificate ARN provided is valid and issued, whereas the AWS API will error if the certificate is not valid, prompting `terraform apply` to fail.

There are plenty more examples (duplicate security group rules come to mind as a particularly egregious offender). I'm just not sure I see what value this provides -- if I'm missing something, please do let me know!

<comment><AUTHOR> All fare and reasonable points JBerlinsky! All you said make sense to me.

IMHO the main use cases for me is: \- Speed up development time by doing tests locally - don't need to commit and wait a build kick it and see whats wrong. \- Able to be part of the bigger scheme where you can test your whole "infrastructure" or part of it at least we still limited by localstack.

<comment><USER2> To your points:

>> \- Speed up development time by doing test locally - don't need to commit and wait a build kick it and see whats wrong

Combined with the article linked, it sounds like you're working in an environment where the only machine authorized to interact with AWS, or retain the Terraform statefile, is a Jenkins build server. Might I suggest investigating Terraform Enterprise (despite the name, it's rather affordable, for what you're getting)? TFE integrates with Github (and other VCS) pull requests, allowing a pull request to trigger a `terraform plan`. This gives a pretty good understanding of whether your changes are going to succeed or not, and are pretty quick to run -- I work on some rather large projects, and have never waited more than a few minutes for a plan to complete.

If you're allowed to pull down the statefile, you can also just run `terraform state pull > terraform.tfstate && terraform plan`.

>> \- Able to be part of the bigger scheme where you can test your whole "infrastructure" or part of it at least we still limited by localstack.

In my experience, mocking systems like `localstack` are never quite up to the "standard" of the systems they intend to mock (AWS in this case). Of particular note, AWS's APIs, especially for newer products, tend to have lots of "gotchas" that are undocumented or hard to trace back -- things that are extremely unlikely to be covered well in a mocking framework.

If this works well for you, great! Just giving my two cents, as someone who has thought a lot about this and wound up right back at `terraform plan`.

<comment><AUTHOR> In the end of the day is about COST but we could have more machines doing builds and better ones but still takes more time and effort them being local. Terraform enterprise is not available for me. Since my project just uses Open Source besides AWS.

AWS moves pretty FAST, but I don't know anything better than LocalStack fro AWS mocking.

<comment><USER2> You might also want to look into [https://github.com/runatlantis/atlantis](https://github.com/runatlantis/atlantis), which provides the benefits of Terraform Enterprise, in an open-source, self- hosted format.

<comment><AUTHOR> I did not know that one - looks pretty nice. Thanks for sharing!

<comment><USER2> My pleasure! At the end of the day, whatever works best for your workflow is ideal, of course.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> "Terraform is a good tool for infrastructure provisioning. However to test terraform it could be pretty difficult. So you will create some terraform scripts and upload to the cloud a run some slow Jenkins job?"

One can test Terraform scripts without requiring it be hooked into Jenkins. If I have an account with a supported provider, testing during development of said script(s) isn't really that hard.

<comment><AUTHOR> Yes, it's possible to test it is local if you have credentials. But for security reasons, lots of times companies don't provide credentials. Also, it's your local dev machine you don't want mess it up right? So docker is awesome being ephemeral.

Sometimes when you use PACKER and you have a SHARED infrastructure a build could take 40mim to run all the things with Terraform/Ansible that kind of a mainframe :D Unfortunately this exit :(

<comment><USER4> I'd also add that as software is going CI/CD, so is infrastructure. Good points in this post OP.

<comment><AUTHOR> agree</comment></comment></comment></comment>