Java Equivalent of Lisp Trace - <AUTHOR> https://stackoverflow.com/questions/53464658/java-equivalent-of-lisp-trace <comment><USER2> Interesting that this is difficult.</comment>


Facebook's Instant Personalization Is the Real Privacy Problem - <AUTHOR> http://gigaom.com/2010/04/22/facebooks-instant-personalization-is-the-real-privacy-hairball/

<comment><USER3> Forget about Google... Facebook is gunning for Claritas and other profiling companies that have been doing this for years, though behind the scenes and not in real time (see <http://epic.org/privacy/profiling/> for more about profiling).

Google may have (deservedly) gotten a black eye for the Buzz debacle, but they have a lot of cultural DNA that values privacy (their CEO aside) and at least some systems in place to allow management of personal data (as well as data exodus).

Facebook on the other hand is clearly all business and will bend privacy concepts till their either break or users are conditioned to accept lack- thereof as the new standard (all in the name of "sharing").

<comment><USER4> That is some really scary stuff in the link you gave!!! People need to realize that it's not worth the $0.25 off a can of green beans you get by using a loyalty card, if a sleazy merchant is going to swoop in at some vulnerable time in your life and help separate you from hundreds or thousands of your dollars.

<comment><USER5> Can you give an example of how they are going to 'help separate you from hundreds or thousands of your dollars'?

<comment><USER4> Did you read the document? They use psychological tactics combined with an outrageous amount of your personal data in order to market to you. Let's supposed you just had a child or spouse die, more specifically, you were just widowed. They will be able to garner that fact from your spending habits or public records (or perhaps FB data) and combine it with all the other info they have on you, and then might try to sell you some shady investment or insurance. Their job is to get you to buy something you don't need. They're working on it while you sleep. Many people are not adequately equipped to resist their tactics.

</comment></comment></comment></comment><comment><USER6> The author states...

 _Instant personalization means that if you show up to the Internet radio site Pandora for the first time, it will now be able to look directly at your Facebook profile and use public information — name, profile picture, gender and connections, plus anything else you've made public — to give you a personalized experience._

Is this true? A simple enable or opt-in prompt in the frame on the first visit to a site would be the expected behavior here.

<comment><USER7> Yes, that is basically the point and the reason they call it "instant" - <USER2> don't want anything to be a click away.

The opt-out prompt is in the form of a blue bar at the top of the page. Once you say "No thanks" they are required to remove any of your information and not connect you on future visits.

<comment><USER8> Screenshot of the instant signin

<http://yfrog.com/iymcjp>

This was without prompt, as qhoxie states.

<comment><USER9> Man, talk about banner blindness! It took me 10 seconds to find the Facebook bar in that picture, and I knew (approximately) where to look!

</comment></comment></comment></comment><comment><USER10> "Facebook also introduced a way for certain sites to push this further than everyone else. Three carefully chosen launch partners — Microsoft's Docs.com, Yelp and Pandora — have access to what Facebook is calling "instant personalization." This is a powerful, inventive and creepy tool that the company hopes to extend to other partners but is testing the waters with these three first."

Wait a minute; Yelp? Isn't that the small business extortion site? What a weird outfit for anyone to want to associate themselves with.

</comment><comment><USER11> What's the best way to block this entirely? /etc/hosts won't work because it's not on a subdomain (the iFrame loads from <http://www.facebook.com/plugins/activity.php>). This would make a nice Chrome/Firefox extension.

<comment><USER12> Any decent browser should be able to block content by URL. Use your adblocker.

<comment><USER11> My adblocker (in Chrome) loads resources before removing them from the DOM. I simply want to block this before the request is made.

</comment></comment></comment><comment><USER13> The biggest privacy issue here are the social plugins. They're easily embedded in existing sites using an iframe which is hosted by facebook.

As more sites adopt these, Facebook will be able to track every site you visit on the web. I don't know about you, but I'm not comfortable letting Facebook know which sites I visit.

Google adsense/doubleclick is fairly prevalent and has the same issue. You can opt out of it with Google though: <http://www.google.com/privacypolicy.html> \-- the Facebook settings I have seen aren't clear about their data retention policies and what 'opting out' really means.

</comment><comment><USER14> Even with instant personalization turned off, your friends can share your info on any service they get suckered into using. Given how many of my Facebook friends bombard me with quizzes and Farmville, I'm guessing that's going to happen a lot. You have to block each application individually.

Moreover, any site can display your profile information. <http://cnn.com> even seems to combine it with what CNN stories they liked recently, which makes me wonder how much data they can read back. Has anyone taken a look at the Facebook social plugins to determine how much data, if any, you can get out of them?

<comment><USER15> We were told that third parties can't get any information from the social plugins. The data is served directly from Facebook using an iframe.

<comment><USER14> Ah, so CNN is handing its template and some fb query off to the plugin for display, then?

<comment><USER16> Exactly.

<http://developers.facebook.com/docs/reference/plugins/like>

</comment></comment></comment></comment><comment><USER15> This actually wasn't a surprise — I wrote about it a few weeks ago (<http://techcrunch.com/2010/03/27/facebook-privacy-connect/>) and it was hinted at in Facebook's new Terms of Service.

Facebook knows it could lead to some major backlash too, so they're being very conservative with the initial rollout. If you go to Yelp, it's actually hard to tell at first glance that any data sharing has occurred. Go to Pandora and it will know what bands you like, but who is going to get upset about that? And Docs.com doesn't appear to be open to the public yet.

As the program expands, though, there could be a pretty serious shitstorm. I don't think people understand what the 'Everyone' option means, and this could be the first time they realize what they signed up for during Facebook's privacy overhaul last December, when Everyone became the default.

<comment><USER17> But you know what? There's a setting in Privacy Settings->Applications and Websites called "Instant Personalization". Uncheck it and there you go. I realize there are a lot of people who won't do this but the option is there.

<comment><USER18> I did just that, and this is what it told me:

 _"Please keep in mind that if you opt out, your friends may still share public Facebook information about you to personalize their experience on these partner sites unless you block the application."_

<comment><USER19> But what does "public" mean there? If your privacy settings have information access as "visible to friends only", can "these partner sites" access that data if your friend doesn't opt out of this sharing?

<comment><USER12> See [http://www.facebook.com/settings/?tab=privacy&section=ap...](http://www.facebook.com/settings/?tab=privacy&section=applications&field=friends_share)

For those who don't want to have to log in to find out:

"What your friends can share about you through applications and websites:

When your friend visits a Facebook-enhanced application or website, they may want to share certain information to make the experience more social. For example, a greeting card application may use your birthday information to prompt your friend to send a card

If your friend uses an application that you do not use, you can control what types of information the application can access. Please note that applications will always be able to access your publicly available information (Name, Profile Picture, Gender, Current City, Networks, Friend List, and Pages) and information that is visible to Everyone."

(I'm pretty sure at least current city wasn't on that list until fairly recently.)

Checkboxes for lots of other information follow.

</comment></comment></comment></comment></comment><comment><USER20> Years ago, when caller ID was becoming commonplace, a company (I think it was American Express) started answering customer calls by name--- "Hello Mr. Jones, how can we help you."

This proved to be very unpopular with customers and they stopped doing it... they probably still use the caller ID but don't let you know that they are.

<comment><USER21> It probably also annoyed Mrs. Jones when she made calls using the Jones' shared line which was in Mr. Jones' name.

</comment></comment><comment><USER22> _The idea is that Pandora is a somewhat hard concept to explain to new users — before it existed, people didn't have their own personalized radio stations based on similarities between artists and song._

Last.fm always generated you radio stations based on your scrobbles or by tags you type and predates Pandora

</comment><comment><USER23> To disable, Go To: Account > Privacy Settings > Applications and Websites > and [UNCHECK] "Instant Personalization"

<comment><USER24> Unchecking that box only stops the personalization from happening automatically. The floating toolbar still appears asking if you'd like to opt- in (at least on yelp.com)

</comment></comment><comment><USER25> 0.0.0.0 facebook.com www.facebook.com static.ak.fbcdn.net fbcdn.net ...

</comment><comment> prabhu-pd wont it be odd if you go to a website for the first time and u see that the website knows more about u than you know about the website?

<comment><USER26> u r rite abt that lol

Or to be more precise, please use proper English. If English is your second language, we are forgiving -- unless your _first_ language is AOLspeak.</comment></comment>


Wireframing, UX and Web apps - <AUTHOR> http://www.contrast.ie/blog/wireframing-for-web-apps/

<comment><USER2> Great post; I've worked independently & in interactive agencies and the biggest challenge I've seen in an agency setting is the cost, time, and effort expended into the evolution of a wireframe prototype from a raw, low-fidelity to a tantalizing, high-fidelity prototype. Problem in agencies is that UX folks are too focused on concrete information architecture-driven design (using legacy techniques) and not on exploring the solution space, and many times lack strategic foresight, rudimentary copywriting skills, and tech acumen. My thought: teach a coder, who thinks strategically, the basics of UX, competitive analysis, and pattern scoping and he will churn out a speedy & exploratory prototype more expeditiously than an agency.

</comment><comment><USER3> This article pretty much sums up exactly the process I go through when wireframing a new web app. Personally, I use adobe fireworks to do this, and I've gotten fast enough with it that when I'm in the zone, I can express myself in it almost faster than writing it down or talking.

The most important point here, IMHO, is that wireframing should be done in a medium that you can change fast without much effort or fear.

This is why I don't like the whole HTML/CSS wireframing technique. That works great if you only have 1 or 2 directions to go in, but what if you're exploring 7? You end up having to manage 7 different html and css files. In fireworks, I just click "duplicate page" and nudge a few UI elements around.

</comment><comment><USER4> Thanks so much for writing this. I've been a UX consultant for almost 20 years and it's always good to see these kinds of things as some of us forget the simple things over time.

Also, this is a great tool to share with project teams that think wireframing has no place in an Agile or "Lean" methodology. Wireframing can, as you have eloquently put, be very simple and FAST and is not considered a "deliverable", nor should it be. It's a means to the end result of a good solid set of requirements (both functional and UX).

</comment><comment><AUTHOR> Our site is getting hammered at the moment. Apologies to those it won't load for.

<comment><USER5> That happened to me once from this site. It lead me to do the following (which also I happened to post today): [http://www.bootstrappingindependence.com/technology/how- to-i...](http://www.bootstrappingindependence.com/technology/how-to-improve- website-performance-with-drupal-php-mysql-and-apache/)

Can't see what your running, but if you use WordPress, just install WP Super Cache instead of (or in addition to) everything in my article ;)

<comment><USER6> I'm surprised Wordpress haven't built caching into the platform yet. wp super cache will fix your problem, though.</comment></comment></comment>


Trump FCC Head Cancels Net Neutrality Zero Rating Investigations - <AUTHOR> http://fortune.com/2017/02/03/trump-fcc-zero-rating-att-verizon/ <comment><USER2> Most laypeople I know have no problem with Zero Rating and were sold on net neutrality with unreasonable examples like "without net neutrality an ISP can kill small sites by making them slow unless they pay" (no one tell whoever started peddling that dystopian extreme how locating a datacenter near an internet backbone works).

I support net neutrality but I wouldn't surprised if the average American is fine with zero rating.

<comment><USER3> I agree about the zero rating thing being ok to most people, but my guess is the FCC was trying to walk a line clearly and didn't want to create any grey areas. Net neutrality means net neutrality means net neutrality and so forth.

The problem is really that once you allow any sort of packet discrimination, for lack of a better way of putting it, you open up questions about what's "slow", as it's all relative anyway. Better to just not go there.

I'm a strong supporter of net neutrality, but don't see that as being the only way. I just am deeply skeptical that the FCC and government would enforce the sort of antitrust regulation and encouragement of competition that's needed to achieve the same aims another way. If the FCC and federal legislators were encouraging antitrust suits, and banning bans on municipal broadband, etc. I would feel totally differently. But to me it seems like it's obvious they're there to protect entrenched corporate interests at the expense of small business and consumers.

I sincerely appreciate Pai's comments about regulation inhibiting expansion of new ISPs and broadband delivery, but it seems like a con to me without concrete examples, and without doing other things that are consistent with that. If he gave a damn about expanding broadband access he would be fighting tooth and nail to support municipalities that have wanted to do it but haven't been able to. Maybe he has and I'm not aware of it, but his rhetoric seems empty and one-sided.

</comment></comment><comment><USER4> The difference in time and effort between creating something and destroying something is going to be made painfully clear in the next few years.

<comment><USER5> When I was five years old, I made a little play-dough man by unbending paperclips, winding them together and wrapping the play-dough around the wires. I must have spent at least a half-hour on it. I went out onto my street and showed it to a neighborhood kid, who promptly grabbed it away from me, crumpled it up, then threw it on the sidewalk and stepped on it. So, yeah.

</comment></comment><comment><USER6> he says they will focus on "expanding broadband deployment" \- i assume that means like this:

[https://www.techdirt.com/articles/20131012/02124724852/decad...](https://www.techdirt.com/articles/20131012/02124724852/decades- failed-promises-verizon-it-promises-fiber-to-get-tax-breaks-then-never- delivers.shtml)

"encouraging innovative service offerings" sounds to me like they mean - "encouraging innovative service offerings... but only from the now further subsidized natural monopolies that we have already decided will win."</comment>


Real-time image resizing, optimization and super-fast delivery - <AUTHOR> https://imagekit.io/ <comment><AUTHOR> ImageKit.io is a real-time image optimization and transformation product that helps you improve the performance of your website or app by reducing the image size without compromising on visual quality. It also provides real-time URL- based image resize, crop and other transformation options. Quick integration with leading storages and platforms.</comment>


Ask HN: What is a good language to learn/use for writing compilers/interpreters? - <AUTHOR>

I would really like to learn how to write compilers/interpreters in depth.
What are the best languages to concentrate on to write compilers or interpreters in?
Do the basic concepts transfer easily from one base language to another? That is, how much difference conceptually is there going to be between say writing a compiler/interpreter in C or Java vs Haskell, OCaml or Lisp (for example). <comment> tomh- I say Haskell, the way you can build abstract syntax tree's as data types and do pattern matching on them is a very natural way to write a compiler, it is almost a one-to-one match with a language definition.

<comment><USER2> Scheme has traditionally been a if not the major language for doing this, but it was established in this niche well before Haskell got big (Scheme had a decade and half head start on Haskell, three decades if you want to go back to the invention of LISP).

On the other hand there's a tradition of dogfooding in this area, one argument being that if your (general purpose, let's assume) language isn't good for building a compiler, what use is it? If you believe in your language....

</comment></comment><comment><USER3> ML. Because the best compiler book these days uses ML.

If you are going to sell your compiler to you will have to write it in C++.</comment>


HTML5 Features Can Drive Up Mobile Websites' Usage By Up To 28% - <AUTHOR> http://techcrunch.com/2012/04/09/html5-features-drive-up-mobile-websites-usage-by-up-to-28/

<comment><USER2> Of the features mentioned, it seemed only geolocation was specific to HTML5.</comment>


An Introduction to Sine-Wave Speech (2007) - <AUTHOR> http://www.mrc-cbu.cam.ac.uk/personal/matt.davis/sine-wave-speech/ <comment><USER2> [http://www.haskins.yale.edu/featured/sws/sws.html](http://www.haskins.yale.edu/featured/sws/sws.html) is a page the Haskins Lab folks have put up about this; unfortunately at some point they switched it to use Flash or something, so now it's unusable. The archived version at [https://web.archive.org/web/20060828113107/www.haskins.yale....](https://web.archive.org/web/20060828113107/www.haskins.yale.edu/featured/sws/sws.html) directly links to AIFF files; by telling Firefox to open them with /usr/bin/play or /usr/bin/vlc I can hear them.

The original experiments were done in the 1970s, I think, and the papers on the page are I think from 1981–1994. It would have been interesting to see how things would have developed if this formant-centric viewpoint had become central to speech codec research in the 80s and 90s. In a sense LPC codecs like GSM RTE-LTP are formant-centric, since the linear prediction coefficients in some sense encode the formant structure of the speech, but (and I'm getting out my depth here) as I understand it the impulse response of the linear prediction filter is pretty broadband.

We really need a better medium than the current WWW for this kind of archival, because the researchers are going to retire or die, and then they will probably stop updating their pages, which will then apparently become inaccessible with modern browsers.

<comment><USER3> It is my understanding that most voice codecs are still essentially lpc based, it is just that lpcs are unstable when quantised, so they get converted to things like line spectral pairs, then there is all sorts of different excitations and codebooks used to eek out every bit of savings. But the core idea of lpcs are still in there. Happy to be corrected by someone who knows better!

<comment><USER4> it's still LPC-ish, yes.

a lot of the work in modern codecs goes into good VQ for the codebook, and better bit allocations.

LPC10 sounds like ass, but damn is it cheap on bits!

<comment><USER2> Mmm, ass! My favorite!

The RPE in RPE-LTP — which is also one of the two excitations in LPC-10 — is indeed fairly precisely a fart sound, although the usual euphemism is "quasi- periodic pulses". That's because your larynx sounds like a fart if it doesn't have a vocal tract glommed onto the end of it to filter it with its recursive linear resonances.

Fortunately sox has LPC-10 built in, so you can enjoy the tasty tasty 80s ass quite simply if you install sox:

        sox foo.wav foo.lpc10
        play foo.lpc10

The LPC-10 code in Sox says it was translated from Fortran with f2c sometime around 1998, and as far as I can tell, nobody's been changing it since then. That's a nice counterpoint to the fucking "this web page doesn't work because nobody has changed it in the last five years" WWW.

[https://web.archive.org/web/20200420003350/https://www.jwz.o...](https://web.archive.org/web/20200420003350/https://www.jwz.org/doc/cadt.html)

<comment><USER4> ah good stuff.

I studied with one of Rabiner's old coworkers, so this is a fun trip.

</comment></comment></comment></comment></comment><comment><USER5> I listened to only the "degraded" sample, and I could understand it on the second listen. English is not my native language and I have pretty severe hearing loss. I suspect the latter makes it _easier_ for me in some situations to decode language with a lot of noise - I have a lot of practice guessing, I suppose. It would be interesting seeing some research on this.

</comment><comment><USER6> What I find interesting is that I only need priming on one, then I can understand all of them once I realize I'm supposed to be listening for speech that's behind some kind of high-pitched distortion.

It reminds me somewhat of when I'm in a bilingual conversation and somebody unexpectedly switches to the other language for just a quick word or two when you don't expect it. Your brain tries to interpret the sounds in the first language and they're just gibberish, even though you speak the second language. Then if the speaker continues in the second language quickly, you "retroactively" re-interpret what you just heard and understand it.

</comment><comment><USER7> After hearing the first two examples with clear speech I could identify most of the last three without, took a few listens before the last one clicked.

</comment><comment><USER8> I saw the other submission yesterday and thought it was very cool. Today it's more meh.

The priming didn't hold for me from yesterday. I clicked the first of the four extra examples and didn't understand anything.

After listening to the clear version and trying again I heard it.

But again priming did not hold for me (unlike what's described on the page): each of the other three examples were unintelligible to me (not even recognizable as speech sounds). Again, after listening to the clear version, it became easy, but only for the corresponding sine-wave encoding.

I still like that idea, if only for nostalgic reasons. We did some formant analysis at university, up to trying to "read" a sonagram, i.e. deducing fron the sonagram as shown on the page what was being said.

<comment><USER4> ever played with praat? it's the pinnacle of highly specialized totally non- ux-designed software.

<comment><USER9> Its source code is also highly ideosyncratic with lots of macro use, including definitions like "our" for "this ->" [https://github.com/praat/praat/blob/9d20024e2f68f84bf23ff49b...](https://github.com/praat/praat/blob/9d20024e2f68f84bf23ff49bf313b2e7ba24fb42/melder/melder.h#L41)

<comment><USER4> weirdo academic code at its "finest"

</comment></comment></comment></comment><comment><USER10> Random data point but as a non-native speaker I could understand about 80% of the words on the first go. Listening to the clear audio didn't really make me "hear" the correct word on the 2nd try. It just made me realize that "yes, that word that I know is correct here, might indeed sound like this" IDK how to explain it. Take for example, the "The camel was kept in a cage at the zoo" sentence. I heard "The owl was kept in a cage at the zoo" on the first go and after listening to the clear version, I still hear it's an "owl". I now know that "camel" is also reasonable there and makes sense, but I still hear "owl". Am I wired incorrectly? :)

<comment><USER11> > Am I wired incorrectly? :)

Doubtful. Reminds me of when Grover was accused of saying a bad word.

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

</comment></comment><comment><USER12> DIBS! I called it! Dibs on this for robot voices! H.E.L.P.eR-style

\- - - -

Unrelated, there are at least thirty-five Venture Bro.'s (so far.) I don't want to show my work here because it would be spoiler.

\- - - -

Seriously though: this is how "droids"(tm)(R) should talk, no?

\- - - -

Also unrelated, the only speech act of H.E.L.P.eR's that I can understand in the entire series is when he and Brock are discussing poetry and he asks Brock, "Maya Angelou?". That's it. :-)

<comment><USER2> Awesome :)

You could probably turn up the comprehensibility knob by adding a fourth formant or a little bit of vocoded white noise. Or a sawtooth or FM or AM tone or something.

</comment></comment><comment><USER13> This reminds me of voice inversion, a scrambling method used by some analogue portable radios.

[https://en.m.wikipedia.org/wiki/Voice_inversion](https://en.m.wikipedia.org/wiki/Voice_inversion)

</comment><comment><USER14> The last time I listened to these was ten years ago. I understood all of them just now.

</comment><comment><USER15> Whoa. Spooky. I wonder if this works with a text spoiler also.

<comment><USER16> There's the classic chainmail that claims you can scramble the inner letters of all words in a paragraph and it still remain legible. Turns out some of the words are cherry picked, but it still works somewhat.

        Aoccdrnig to a rscheearch at Cmabrigde
        Uinervtisy, it deosn't mttaer in waht oredr
        the ltteers in a wrod are, the olny
        iprmoetnt tihng is taht the frist and lsat
        ltteer be at the rghit pclae. The rset can
        be a toatl mses and you can sitll raed it
        wouthit porbelm. Tihs is bcuseae the huamn
        mnid deos not raed ervey lteter by istlef,
        but the wrod as a wlohe.

[http://www.mrc-cbu.cam.ac.uk/people/matt-davis/cmabridge/](http://www.mrc- cbu.cam.ac.uk/people/matt-davis/cmabridge/)

<comment><USER15> No I mean send someone a sine wave speech file and via another method the transcription of the speech. Would you hear it after reading it?</comment></comment></comment>


Making scaling a money issue vs. a time issue? - <AUTHOR>

As a one man band, I've been looking at some Virtual Private Servers to try and make low level scalability issues more of a money issue rather than a time issue. I've looked at thegridlayer.com and mediatemple's dv packages.
So far I like mediatemple because it comes with a control panel, Virtuozzo, etc. thegridlayer's solutions seem to require more setup and come with none of these features out of the gate.
Is there a better VPS provider with more timesaving features and reliability or an easier way to get a good, quick scaling server? <comment><USER2> Are you talking about scaling from 1/10 of a server to 1 server, or from 1 to 10 servers, or from 10 to 1000 servers?

I was turned off by 3Tera/TheGridLayer because their sites are all marketing, no tech. But I just discovered the docs (<http://doc.3tera.net/AppLogic2/WebHome.html>), so now it's possible to size up their system without some salesperson sizing up my wallet first.

TGL's prices for individual VPSes do not look competitive and the starting price of $4000/month for a virtual datacenter is pretty spicy.

Previous VPS discussion: <http://news.ycombinator.com/item?id=43949> Most providers do not mention scalability or upgrades on their sites, so maybe it is worth paying more to MT for scalability.

<comment><AUTHOR> I'm talking about starting with 1 small server and scaling it up with ram and cpu, then possibly needing to add a db server. That's about as far into the future as I'd like to look.

</comment></comment><comment><USER3> I decided to host one of my applications, a live chat service for 'replicated' websites on GoDaddy.com of all places, before you laugh it has really worked out better then I would have imagined. I already had the code working well under load with stored procedures and everything else optimized. It is not under active development so the terrible mssql interface didn't bother me too much. I have 2000 paying customers and no problems. I pay $5 a month for the best shared hosting ever.

</comment><comment><USER4> I would totally avoid any special "grid" crap. That stuff is snake oil. I'd also avoid VPS too, since the price of fully dedicated servers is so low these days. Less than $100/mo for a machine you can call your own.

I think ServerBeach has a better deal than all the other sites mentioned here. I've been super happy with them (and a couple friends who signed up have as well). They do offer cPanel and Plesk and I think give you Webmin by default. I don't use that stuff myself though.

(If you sign up for Serverbeach you can use my referral # 7XYHDMBU8A for $100 credit and I so get credit too [http://www.serverbeach.com/catalog/cust_ref_landing_new.php?...](http://www.serverbeach.com/catalog/cust_ref_landing_new.php?REF=7XYHDMBU8A) )

</comment><comment><AUTHOR> I've been analyzing slicehost and they look great, but it looks like I'll have to do too much of the server admin myself, including security. Plus, they are currently back ordered unless you prepay. Says alot for them though that they refuse customers due to server loads.

MediaTemple's dv offering seems to be 'dedicated light' in that apache, php, mysql etc are preinstalled. Also MT has a security update option where they updated tested versions of apps as they come out.

Looks like that could take alot of server admin work off my hands, which is what I'm looking for.

Anyone else have an easier option?

</comment><comment><USER5> Can't claim to have actually used them, but I have kept an eye on slicehost ... might be worth a look anyway.

<comment><USER6> I'm using slicehost and I'm loving it! :)

<http://slicehost.com>

<comment><AUTHOR> Those guys are cheap. Kinda scares me a bit that they say they've built everything themselves. How is the control panel? Is there any way to view the real time statistics (cpu, database connections, etc) on your server?

<comment><USER7> I'm also very happy with SliceHost. But you have to understand the limitations of their offering. They're offering you a blank canvas -- an empty box with a standard Linux distribution installed. It does _not_ have any user-friendly administration tools installed, beyond what comes with the distribution. Instead, they assume that their customers know how to manage servers themselves. If you want more of a GUI, you can install any control panel you want, but you have to install it yourself.

As such, the SliceHost control panel is very minimal. It will display some instantaneous statistics about CPU time, memory usage and network traffic. It also lets you reboot your server and restore from backups or from a standard distribution template. That's about all that it does.

That said, the control panel is very nicely done -- just minimal.

This isn't for everyone, but my personal feeling is that if you're in the market for a VPS, you should be familiar with how to configure it yourself. If you're not already comfortable with Linux system administration and the Unix command line, then I think you're better off with fully managed hosting. I wouldn't want to try and keep a VPS alive and secure without being a proficient Linux sysadmin.

<comment><AUTHOR> Thanks for the great reply. I'm comfortable setting up cron jobs and some minor aspects of server management. I am looking to take the next step so I have more flexibility but I want to avoid all the work it'll take to customize a 'blank canvas'.</comment></comment></comment></comment></comment>


Would you use java for your startup? - <AUTHOR>

I am java developer but I am wondering if it's worth to use it or better to learn RoR/Django to startup.
It will be great if I can have some advices or your experiences about it. <comment><USER2> In general, if you're already comfortable using Java, and can't identify any specific advantage that another programming technology would give you, sticking with what you already know would probably be the fastest path to a working product.

<comment><USER3> this...

You will end up throwing out much of the initial code, but use what you know in order to get in front of customers and collect feedback.

Your customers don't care what language/framework is being used, they only care that you are easing a pain point for them.

</comment></comment><comment><USER4> As it has been mentioned here. If you are efficient in one programming language or technology then use it. Your initial gains and knowledge will allow you to work faster and smarter at a time when time is at a premium.

I know of two people who started web based startups one java and the other PHP and asked the same question. Both ended up choosing a new technology and regretted the decision.

Learning a new technology isnt just about writing the code to get a working prototype or finished product as quickly and easily as possible. Its about the learning about the things that a particular programming language cannot do and its short comings.

</comment><comment><USER5> Depending on the project. getting something done faster could be easier with a modern web framwork like Ror or Django (I use Django). But it really depends on what are you trying to build.. Also you should remember that python/ruby enhanced productivity comes with some learning curve, especially for someone coming from java, which is different (not as syntatic but mainly in idioms, best practices etc).

You may want to consider Play framework. another modern web framework that uses scala - which is actually an enhanced and more productive java (and if I recall correctly can compile plain old java as well.. )

<comment><USER6> I would recommend Play Framework if you want a modern Java stack. If you want the functional programming niceties of Ruby or Python, you can use Scala wherever you'd like. You can intermix both Java and Scala.

I'm using it within my company and for my personal projects. It's very easy to get started.

</comment></comment><comment><USER7> In general I'm on board with the idea that you should use the language and development platforms that you are best at, this will provide a great advantage. This idea goes out the window in situations where the platform cannot meet the requirements of your system.

Lastly I'm of the feeling that learning a new language is going to really impact your ability to put best development practices in place as you will be working to overcome 'basic' hurdles like learning the system API, stack, conversions, etc...

</comment><comment><USER8> You might take a look at Groovy ([http://groovy.codehaus.org/](http://groovy.codehaus.org/)), it's a JVM language.

<comment><USER9> Does anyone know of Groovy being used as the primary language for a significant codebase outside of some other language or framework? Every use I've seen of it involves helping along Grails web artifacts or existing Java classes. And most uses of Groovy in Github are as the language for a sole Gradle build script, to build a project written in another language. You'd be taking a big chance using Groovy as the primary language to build something if there's no known track record elsewhere for this use.

</comment></comment><comment><USER10> I guess for you is best way is to start doing it with java and in some time further switch to scala - for example you be able start developing with Play framework which is support both java&scala in one project.

RoR/Django is good for prototyping and for fast start, but if you don't know it's it no sense I guess, you will make it more faster with Play/Scala.

</comment><comment><AUTHOR> Thanks for all your comments. I think you are right the issue is not with which language to code it's the way to get a product people wants. If you don't mind. I got another question (from your experience) how to get/interact with users to understand what they want before to start build something let's say MVP?

</comment><comment><AUTHOR> To give more details about what I want to do. I want to build web app to match between users' need and shops' offer. It will be not real time at the start but it is going to work I will add kind of real time to notify each part.

</comment><comment><USER11> Writing code will be the least of your problems. Java will do just fine.

<comment><USER12> where is 'like' button :)

<comment><AUTHOR> Thanks, as you did it.</comment></comment></comment>


The Whimsical Website Club - <AUTHOR> https://whimsical.club/ <comment><USER2> LOL at the button after the submission form. I submitted [https://simonsarris.com](https://simonsarris.com) because of my ridiculous background (a town that builds with CSS animations, and birds that appear to have no set path done with pure CSS).

The logic behind the little birds: they are DIVs with CSS animated on a cubic path up-and-down, while their ::after is getting animated on a different cubic path left-to-right. The result of 2 separate axis animations: They do a loose figure-8 path that's different each pass.

That CSS code is here: [https://github.com/simonsarris/site- simonsarris/blob/master/...](https://github.com/simonsarris/site- simonsarris/blob/master/src/components/layout.css#L159)

I am currently trying to make my site background considerably more ridiculous by re-implementing in canvas, with lots of interaction and a night/day sequence, and custom buildings. The rebuild so far is open source here: [https://simonsarris.github.io/simeville/](https://simonsarris.github.io/simeville/)

Click the button to build a town. Drag the sun down to see night time (and the constellations). I need to spend a lot of time working on the art, but I'm not a very good artist yet.

<comment><USER3> I had to spam the website to find out, but if you want to try without spamming, just go to this URL directly:

[https://whimsical.club/join/submitted](https://whimsical.club/join/submitted)

</comment></comment><comment><USER4> This feels like I got off a well-travelled freeway and got on the beautiful and quirky back-roads, seeing a whole different side of the web.

It's also making me realize how dependent† I've become on search engines. Don't get me wrong, they are great at what they do, but seeing these curated list of sites definitely reminds me of the late 90's where directories were still a thing.

†: ie. lazy.

<comment><USER5> Max's previous post [1] touches on the some of the ideas from the early 90s internet that we're starting to see return today.

I'm personally most excited to to watch the return and rise of niche self-run communities that were greatly supressed during the early days of social media.

[1] [https://mxb.dev/blog/the-return-of- the-90s-web/](https://mxb.dev/blog/the-return-of-the-90s-web/)

</comment></comment><comment><USER6> I love this so much.

Software has gotten so boring. OSX used to have a ton of fun weird little things (like the poof when you removed an app) that have all been removed. Same with Google. I miss it.

One of our company values is "Err on the side of whimsy," and it's my far my favorite one... life's too short to not make things a bit weird fun and interesting.

(Also, for people who haven't seen it, also check out [https://littlebigdetails.com/](https://littlebigdetails.com/) )

<comment><USER7> Care to share your company then? Or your products/website that I can take a look at?

<comment><USER6> Company is ReadMe.com :) Here's our handbook with the values: [https://readme.com/handbook](https://readme.com/handbook)

<comment><USER7> Nice! I see the whimsical part indeed. I like the owl character (especially its prevalence in [https://blog.readme.com/](https://blog.readme.com/))! Has way more personality than [Alegria]([https://eyeondesign.aiga.org/dont-worry- these-gangley-armed-...](https://eyeondesign.aiga.org/dont-worry-these- gangley-armed-cartoons-are-here-to-protect-you-from-big-tech/)).

Tell your designers for me to bank on that visual language and stay away from "corporate clip-art". <smallrant>It's funny to me how even start-ups (who claim "personal touch" as an edge in their service) utilize the blandness of Alegria.</smallrant>

<comment><USER6> I'm the designer, so I hear ya! Definitely agree... we worked hard to make sure Owlbert only pops up rarely. He's not on the homepage (other than a few easter eggs), and barely in the product. He's mostly for swag and the blog!

</comment></comment></comment></comment></comment><comment><USER8> Doing a shameless plug, but if you like this, check my project [https://www.waveguide.io/patterns/all](https://www.waveguide.io/patterns/all) | I document a bunch of software (web, mobile and sometime real life) user experience patterns.

I also document a bunch of other stuff like screenshots of different websites and try to classify them in a meaningful way.

Still a long way to go for this to become what I want it to be but it might be helpful for someone here. Here is the landing page to understand a little bit better what I'm trying to do with this: [https://www.waveguide.io/](https://www.waveguide.io/)

<comment><USER5> Whilst the work you're doing is commendable, it feels like the complete opposite of the whimsical website.

The whimsical website club aims to "showcase how a more personal web could look", and highlights the weird, unique, and non-traditional things about these creative's websites. The whole idea is about moving away from corporate boringness.

Waveguide, meanwhile, seems to be covering very 'corporate' UX patterns that could (and should?) be used in the business world.

Those things seem completely different and at odds with each other, so I'm not really sure why you think waveguide is related (other than wanting to self- promote for it's own sake?).

<comment><USER8> I have fun ones too: [https://www.waveguide.io/patterns/web/entry/thanos- snap](https://www.waveguide.io/patterns/web/entry/thanos-snap)

Yeah. Self-promoting but I definitely think is related because it documents this little details that increase the delightfulness of the website.

</comment></comment></comment><comment><USER9> Fun and inspiring.

I once made a site devoted to McGriddle fan fiction that has a cool McGriddle gif, and each layer of the McGriddle image hides a surprise. [http://blueskiesabove.us/mcgriddle/](http://blueskiesabove.us/mcgriddle/) Not sure if that's whimsical or...

</comment><comment><USER10> You might also like the Weird Wide Webring

[https://weirdwidewebring.net](https://weirdwidewebring.net)

</comment><comment><USER11> My friend Damien's homepage [1] should really go on this list. It embeds a Nethack game on the home page.

[1] Check it out: [https://desfontain.es/](https://desfontain.es/)

</comment><comment><USER12> I nominate @benjojo's personal site which spawns a full on interactive linux VM running in the background for each visitor. [https://benjojo.co.uk/](https://benjojo.co.uk/)

</comment><comment><USER13> honestly it's quite exciting when things like this pop up in my news feed. I could spend a couple of hours binge clicking links and discovering new sites.

</comment><comment><USER14> My favorite is [https://www.11ty.dev/](https://www.11ty.dev/) \- not the first time I've seen it but good to be reminded of it!

Here's the twitter thread about their logo: [https://twitter.com/jameswillweb/status/999052022497316865](https://twitter.com/jameswillweb/status/999052022497316865)

<comment><USER15> 11ty is a great little static site generator. I just started playing with it. Fun to use and seems to have a lot of power behind it's apparent simplicity.

</comment></comment><comment><USER16> I love this, I also miss the more fun side of the internet that seems to be dwindling.

The best whimsical site I've seen in a while is [https://hannahblair.co.uk/](https://hannahblair.co.uk/) , she made a whole Windows 95 Desktop remake as her personal site, including some remakes of some classic software, it's really amazing!

<comment><USER5> You just reminded me of [https://poolside.fm/](https://poolside.fm/)

<comment><USER17> This is one of the coolest sites I've ever seen! I love every part of it!

</comment></comment></comment><comment><USER18> It reminded me to [https://theuselessweb.com/](https://theuselessweb.com/).

Nice work!

</comment><comment><USER19> I love the idea of this site - we build sites for clients so we'll be sure to submit them!

</comment><comment><USER20> When you drag a finger (or a clicked mouse cursor) on [https://xn-- bj8a.com/404/](https://ꑮ.com/404/) page, there is a burst of logos (144 per second) coming underneath.

</comment><comment><USER21> This is so very beautiful! Pure joy to click through each one of those websites.

</comment><comment><USER22> Absolutely fuck this site for playing a loud noise when you click the "joy" link. I don't associate jump scares with joy.</comment>


A Man Found Seahorses Off Long Beach. Then He Built a Secret World for Them - <AUTHOR> https://www.latimes.com/science/la-sci-col1-seahorse-pacific-california-20190709-htmlstory.html <comment> who-knows95 am i being daft, i cannot read the column?

<comment><USER2> It works for me both with and without my adblocker enabled. Try [https://web.archive.org/web/20190712144654/https://www.latim...](https://web.archive.org/web/20190712144654/https://www.latimes.com/science/la- sci-col1-seahorse-pacific-california-20190709-htmlstory.html)

<comment> who-knows95 thank you very much!

For some reason it was just loading the image and no story.</comment></comment></comment>


Bitcoin Derivatives That Cost $1M Will Soon Be Worthless - <AUTHOR> https://www.bloomberg.com/news/articles/2018-12-06/bitcoin-derivatives-that-cost-1-million-will-soon-be-worthless <comment><USER2> OK, what is the news here? Options become worthless all the time (a quick search shows that over 90% of SP500 put options expire worthless) and their value exceeds 1M referenced here by several orders of magnitude. What am I missing?

<comment><USER3> > What am I missing?

The word Bitcoin.

</comment></comment><comment><USER4> Ok, so what the fund manager did, is sell his BTC holdings to lock in profits, and buy back severely out-of-the-money (i.e. worthless) options, just in case he was _really_ wrong (i.e. if BTC didn't just go to 25k, but up to and over 50k).

Presumably, his thought process was something like "if I sell now, I make $Xm. If I wait until BTC goes to $36k, I make $2Xm... but I think that's quite unlikely. However, it's possible, and my clients would be really mad at me if BTC skyrockets, goes to $60k, and I chickened out at only $18k. So, what I can do, is buy this option for cheap, forgo the profits between $18k and $50k, but if I'm really wrong, at least I'll cash in if it goes above $50k."

So, hopefully he paid much less ($1m) than the total profit he made ($Y0m)?

<comment><USER5> Assuming he sold as many Bitcoin as he bought calls for, the options cost more than 20% of Bitcoin's highest price ever. (Black-Scholes is a harsh mistress.)

c.f. [http://data.ledgerx.com/top100](http://data.ledgerx.com/top100), Ctrl-F "2017-12-20 8:39 am"

<comment><USER4> Maybe, but that _literally_ makes no sense - there's no BTC price at which the (sell BTC + buy options) trade makes more money than the (keep BTC) trade (unless I miscalculated something, which is also an option).

<comment><USER6> Do you mean the sell + buy options never makes more money, or do you just mean in this current case? Are you forgetting that you can leverage up with more options to offset that gap?

Sell securities at $X, buy calls for 2x the number of securities you had with strike $X+$Y for $Y/10, and have the product go up to $X+($Y _2). Profit = ($Y_ 2 _2) - 0.1_ $Y = $Y _3.9.

Keep the securities, have the security go up to $X+($Y_2). Profit is $Y*2.

<comment><USER4> in this specific case, if the option is more expensive than what you're selling in the first place.

</comment></comment></comment></comment></comment><comment><USER7> As a former options trader, this seems to be a non-story. The story mentions that he hedged it, so you have to look at the whole portfolio to know how he did on it.

Even naked option trades expire worthless quite often. If you take the delta as a roughly guess for the chance of expiring in the money, people tend to trade the options with <50 delta.

</comment><comment><USER8> This is a no-news. Options markets have far larger bets that expire all the time. A good options trader will hedge against upside and downside, so it's possible this trader that is about to lose $1M has actually net profited.

</comment><comment><USER9> This type of Bloomberg is typical of the 'glass half empty' variant of financial 'stories'. As others have explained not accurate and only discussing a future moment in time at the end of the options cycle'. Bloomberg was also full of 'glass half full' bitcoin articles a few months ago. Their quality seems to be descending, reminds me of what happened to Forbes a few years ago.

</comment><comment><USER10> This is literally only being talked about because its bitcoin, and everyone loves to jump on the "Bitcoin is dead" bandwagon. Options expire worthless all the time.

</comment><comment><USER11> A good time to talk about the reality of Time series forecasting in high- volatile markets like this!

</comment><comment><USER12> _" "These calls let me capture upside while reducing my downside risk," Paul told CNBC. He later tweeted that the trade -- selling some of his Bitcoin holdings while buying the call options -- was profitable."_

So, it wasn't worthless to him and this is a meaningless story. Got it.

</comment><comment><USER13> Not to shorts.

</comment><comment><USER14> This is yet another Bloomberg article that highlights their lack of ability to directly perceive cryptocurrencies. They tend to get them confused with the parasitic financial markets that have sprouted up adjacent because that is their business and what matters to their readers. It's like describing an elephant by observing the behavior of the flies that swarm it's droppings.

<comment><USER15> Not really, the Bitcoin community was the one that made it a financial instrument once Bitcoin went from being called 'a payment system' to 'a store of value'. The community has repeatedly resisted making transfers faster, cheaper or easier due to various reasons(some valid), leading to various forks and altcoins.

The general Bitcoin community also celebrates every time a Wall Street firm starts trading in bitcoin, saying that's a way of Bitcoin going mainstream and being accepted as a store of value.</comment></comment>


1 in 5 Bus Riders in New York City Evades the Fare, Far Worse Than Elsewhere - <AUTHOR> https://www.nytimes.com/2019/04/13/nyregion/mta-bus-riders-fare-beaters.html <comment><USER2> One thing this article doesn't really talk about is that ticketing systems are designed to keep the staff honest, not the passengers.

> In London, where riders face fines as high as $1,300, the fare evasion rate > on buses is only 1.5 percent.

You'd have to go some to get a fine that high. The penalty fares are £80, or about $100, but if you're prosecuted for the criminal offence the Sentencing Council guidelines for evasion of train fares are here: [https://www.sentencingcouncil.org.uk/wp- content/uploads/Rail...](https://www.sentencingcouncil.org.uk/wp- content/uploads/Railway-fare-evasion.pdf)

</comment><comment><USER3> This title is broken

<comment><AUTHOR> Thanks fixed.</comment></comment>


Online Backups for the Truly Paranoid  - <AUTHOR> http://caffeinatedcode.com/wsup/cafe/entry/tarsnap_online_backups_for_the <comment><USER2> The "blog" of Colin Percival (cperciva), the author of Tarsnap, is also very much worth a read. Fortuitously, he's just posted a convenient overview of the most important articles: [http://www.daemonology.net/blog/2009-10-15-100-blog- posts.ht...](http://www.daemonology.net/blog/2009-10-15-100-blog-posts.html).

</comment><comment><USER3> I love tarsnap (I'm using it in production now). But, I wish it were a little easier to use ...

For example, each of my servers creates a backup named something of the form 'machineName-epochTime' every night. I wish there was some built in way to delete all but the last N backups. I ended up writing a small Python script to take care of it, but it relies on text-munging, etc and seems brittle.

Something that would automate a 'grandfather, father, son' style rotation scheme would be appreciated too.

In principle, it isn't too hard for me to script any of this functionality - but maybe I'll make a mistake in the portion of my code that handles my Tarsnap key, or the portion that deletes backups. I'd rather pay someone smarter than me (e.g., cpercival) to specialize on making my backups work. That is, after all, the basic premise behind the Tarsnap business model.

<comment><USER4> Don't worry, providing such a script is on my to-do list. :-)

<comment><USER3> Excellent, thanks.

Overall, a great product that I'm happy with (and have been recommending to my friends).

</comment></comment></comment><comment><USER5> Why stop at geo-redundancy? Let's set up an online backup store on the moon and Mars, too - [http://domaingang.com/short-news/nasa-secures-moon-and- mars-...](http://domaingang.com/short-news/nasa-secures-moon-and-mars-tlds/)

</comment><comment><USER6> Would tarsnap be a solution for long-term archival of logfile data? I'm working on a data mining project of the "Let's store everything & figure out what we do with it later" type. My servers generate about 2GB of data (zipped) every day. We plan to store an 'analysis' dataset of the last 3 months on S3 and run a batch of Hadoop/Pig/MapReduce jobs every night on EC2.

My question: what would be the most cost-efficient long-term archival solution (I can live with slow access-times) of Apache logs? Does tarnsap offer any benefit here? Are there any compression solutions specific for Apache logs? Other ideas?

<comment><USER2> Two points.

First, this is not _that_ much data (~180GB). Is there a particular reason not to just throw it on a hard disk on some machine that doesn't do too much during the night and write a trivial Perl script?

Secondly, (g)zip may not the best solution here. A quick unscientific test on ~3MB of Apache log data (in the default Common Logfile format): gzip or zip produce ~240KB of data, xz (formerly lzma) gets it down to ~80KB (using -9e) or ~96KB (using the default option).

In my quick unscientific test, xz can decompress data about half as quickly as gzip and about ten times faster than bzip2. It's very likely able to keep up with your disk.

</comment></comment><comment><USER7> Rsync.net has offered similar services for quite a while now. It's a little more product-ized, they have more options for service, and they guarantee you can talk to an engineer at any time.

It's a little more expensive than Dr. Percival -- or maybe not, depending on your access patterns and volume discounts. But I'm a bit leery of trusting an organization that is just one guy who already has a day job.

<http://rsync.net/>

<comment><USER4> _Rsync.net has offered similar services for quite a while now._

rsync.net is a great service, but I wouldn't say that it was similar to Tarsnap. If you backup your data to rsync.net, they can access it.

 _I'm a bit leery of trusting an organization that is just one guy who already has a day job._

Erm... what's my day job? Other than Tarsnap, that is?

<comment><USER7> > Erm... what's my day job?

Oh, I'm sorry, I made a silly assumption. From the "Dr." handle, and the FreeBSD contributions, I assumed you were an academic who had a sort of side business going.

<comment><USER4> The doctorate just means that I spent years at a university in the past, not that I'm still at a university. :-)

I am still very academic-minded, and serve my alma mater in a voluntary capacity on a few committees, but Tarsnap is absolutely a real business and is what I spend the vast majority of my time on.

</comment></comment></comment></comment><comment><USER8> I love it.

Actually, I went looking for this exact product but for windows earlier. Sort of like R1Soft, but for windows + encrypted with a key only I know. (I dont trust mozy/carbonite/etc.. )

Anyone know of anything?

<comment><USER9> Since the code is included, it might be possible to compile and run it through Cygwin?

<comment><USER4> Yes, several people are using Tarsnap via Cygwin. It's not something I recommend to the general public, but I imagine the readership of Hacker News wouldn't have any difficulty with this.

<comment><USER10> Is it possible for you to provide a pre-compiled client for windows without the cygwin install?

<comment><USER4> Pre-compiled clients are on my to-do list. Obviously I want to do this is a systematic manner so that my release process is more repeatable than "find boxes running the following operating systems: ... and borrow them for a few minutes to build a binary".

I'm not sure if it's possible to build binaries using cygwin which will then run without having cygwin installed. If not, this would turn into "port tarsnap to Windows", which is also on my to-do list, but much lower down.

<comment><USER11> Try mingw and msys. You can compile static, stand-alone C or C++ code for distribution.

<comment><USER4> Thanks, I'll be looking into that. Does mingw provide a full POSIX API layer?

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Seriously, I know we're all hackers here, but do we really need to price things in "picodollars per byte" ?

<comment><USER4> Need to? Nope. Want to? Sure.

</comment></comment><comment><USER13> Note that tarsnap is not available for Canada at this time :/

<comment><USER14> Why are citizens and residents of Canada not allowed to use tarsnap? What do you have against Canucks?

I don't have anything against Canadians — in fact, I am one. I do have something against sales tax. Dealing with federal and provincial sales taxes would not only mean dealing with extra paperwork; it would also mean figuring out whether the government considers me to be selling software (the tarsnap client code), providing a service within Canada (since I'm resident here), or providing a service outside of Canada (since the tarsnap service is provided via hardware in the US) -- not to mention questions like whether tarsnap is "data warehousing", "data processing", "telecommunications", or something else entirely. How tarsnap is classified would determine if I'd have to charge sales tax, how much, and to whom — and I'm guessing that those answers are different between federal and provincial taxes, too. From what I've read about sales taxes I'm reasonably confident about one thing, however: I don't need to charge sales tax to non-Canadians.

So for the moment, I'm taking the path of least resistance: Don't allow Canadians to use tarsnap, and spend my time writing code instead of trying to figure out how complicated sales tax laws, which were written by people who never imagined the internet or online services, apply to tarsnap.

<comment><USER15> (that was quoted from the tarsnap website)

<comment><USER14> Yes, I should of probably cited where this came from. This is from the Tarsnap FAQ. (I'm not affiliated in any way.)</comment></comment></comment></comment>


Ask HN: Is there a 'pure' cloud provider? - <AUTHOR> I'm looking for a provider that does only one thing.
There are the cloud providers like Amazon, Google and Microsoft that all have a monopoly in a different industry. Amazon in global E-commerce, Google for web search, Android, Maps, Email, ... and Microsoft for Office software and Desktop OS.
I personally don't like monopolies. The only way that I can try to improve the situation is via being promoting non-monopolies or being customer of the competition.
Which other providers that offer servers around the globe do you suggest that are
1. innovative, 2. not higher priced than the three above and 3. most important: trustworthy regarding security and stability?
With 'innovative' I mean like supporting kubernetes 'nativly' like EKS, AKS and GKE. <comment><USER2> I'm using OVH and scaleway which both are cloud pure-players and offer much better pricing than the companies you mentioned.

OVH is the 1st European cloud provider (300k servers, 3.8M domain names registered ...) and are providing cloud services to major organisations, with a wealth of products and soon a managed Kubernetes service.

Scaleway is a much newer cloud provider backed by Online.net, a fairly big hosting company, which is itself part of Iliad (a major ISP in France and expanding to the rest of the world). Their managed K8S service is going to be released this year too. Their specificity is to offer ARM architectures at a very low price tag.

I'd check these 2 out as they offer different levels of services which should make you happy whether you want to create a small cluster for development or to a large scale-production grade one.

<comment><AUTHOR> We checked OVH already and of course their pricing is great, but the managing software felt a bit dusty (was it OpenStack?). What is your experience here and in terms of stability? The support in our case was always fast though.

Thanks for mentioning scaleway! It would be nice if they could offer some bigger servers than 'just' 128GB RAM for my use case. But will definitely explore them.

</comment></comment><comment><USER3> If you trust Gartner's judgement, the only major players are AWS, GCP, Azure, Alibaba Cloud, Oracle Cloud and IBM Cloud. Can read their definition of "innovative" in the Magic Quadrant report at [https://www.gartner.com/doc/reprints?id=1-50WJ5CK&ct=180525&...](https://www.gartner.com/doc/reprints?id=1-50WJ5CK&ct=180525&st=sb)

As you can see, all the players with a global reach are pretty dominant in some industry or another: database software, Chinese e-commerce, and general computing. If you don't need the global reach, though, you get more options.

<comment><AUTHOR> Thanks. I feared this.

Without global reach, which companies would come into your mind?

E.g. if only Canadian and European data centers I can think of OVH but their cloud offering feels a bit dusty :)

</comment></comment><comment><USER4> Try Hetzner.</comment>


The strange eating habits of Steve Jobs - <AUTHOR> http://bodyodd.nbcnews.com/_news/2011/11/02/8598251-the-strange-eating-habits-of-steve-jobs <comment><USER2> They are calling ketosis "a dangerous state". Does anyone with knowledge about these things know if this is the same state that has been popularized by podcasters and health "guru" people and such? I was under the impression it wasn't particularly dangerous, just sort of unessesary.

<comment><USER3> Yeah, that's just the keto diet you're referring to. I've read no where where it is dangerous like the article here states.

<comment><USER4> Well, there's [https://en.wikipedia.org/wiki/Ketoacidosis](https://en.wikipedia.org/wiki/Ketoacidosis) , but I think (I'm not a doctor) the diet would have to be very extreme to cause this in an otherwise healthy person.

</comment></comment></comment><comment><USER5> The author fails to mention that the pancreatic cancer that killed Jobs was likely caused or exacerbated by the heavy fruit intake (his diet was far heavier on fruit juice than the article implies).</comment>


Angular 2 Beta released - <AUTHOR> http://angularjs.blogspot.com/ <comment><USER5> Congratulations to the Angular 2 team on shipping before Christmas. The estimate was originally somewhere around early 2016, so this is a huge deal for them to get this out before the year was up. Unfortunately, Angular 2 launched into beta too late. In the amount of time that Angular 2 has taken to get to beta, ReactJS has slaughtered the front-end market share (in a good way) and completely taken developers by storm with its simplistic component based approach.

Unlike React, Google does not really treat Angular as a first-class citizen because they have such split focus and conflicting React like library for web components called Polymer. They provide some resources, but nowhere near the amount of resources that Facebook throws behind React and React Native.

Now lets talk about the fact that the Angular 2 project got off to a shaky start and I know they actually rewrote various parts from scratch more than once (hence why it took so long to reach beta, approximately 2 years). That horrible templating syntax needs to be mentioned, the decision to use square and rounded brackets for binding events/data and using things like asterisks in my opinion makes Angular 2 fall into the same trap that Angular 1 did in regards to developer accessibility.

I am really loving TypeScript these days and I think the decision to support it as a first-class citizen out-of-the-box was a good one (the partnership with Microsoft definitely paid off). But with that said, I think Rob Eisenberg (of Durandal fame) beat the Angular 2 team to the punch in the small space of a year in releasing his framework Aurelia ([http://aurelia.io](http://aurelia.io)). It is what Angular 2 should have been in my opinion. Nice syntax, convention over configuration and a breeze to use.

<comment><USER6> > ReactJS has slaughtered the front-end market share (in a good way) and > completely taken develo

Do you have a citation for that? I still see tons of user land projects using angular 1.

<comment><USER7> I just checked Datanyze which crawls the Alexa 1m and more to see which services & libraries websites are using. They've detected 234,003 sites using Angular and 2,069 using React.

<comment><USER8> I think Angular is more accessible than React. I don't think React will be adopted as much by non-engineers. React is usually used alongside significant tooling like babel and webpack/browserify and some flux library. It's probably more complex. You can't just drop some js script file in your HTML document and go with that.

I say that as someone who thinks React is the future of JavaScript development and there's no chance I will ever go back to separate templates so Angular of whatever version is just automatically disqualified. It would be like going back in time and I do not want to do this.

<comment><USER9> Yes you can! We are using requirejs, babel,es6 to have a react setup that runs completely in the browser. But for some reason, react makes this information really obscure.

It works really well. Including breakpoints in chrome,etc.

<comment><USER8> It might work for developing, but I don't think it works well for people actually using it, it's too slow.

<comment><USER9> which is actually my point - running it this way helps us do a lot of beta testing internally,etc. Obviously this is not a production strategy, but the way we have written code (with requirejs) is that we can switch between them.

I really hope that React makes this more public - it makes it for quick and dirty prototyping. P.S. love ES6. Performance be damned!!

<comment><USER10> Care to share your setup? I.e. minimal todo-like application with both direct development and with compilation for production site.

<comment><USER9> Give me a few hours, I'll strip some stuff out.

<comment><USER10> Don't spent to much time on it, because it will be deprecated in few years. :-)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Angular 2 addresses a lot of the serious shortcomings in Angular 1.x. The Angular 2 approach to components and encapsulation feels cleaner and less complicated than the previous mess of services, factories, and directives.

Though initially skeptical of Typescript, I've found that Angular 2 really benefits from the advantages of having a coherent object model and optional type safety. Typescript never gets in the way, you can selectively use type declarations only where you want to use them. It's often helpful to leave them out while prototyping and then add them later when you want more robustness and easier debugging while you are working on writing the glue code and application logic that connects your various components.

As other posters have noted, you're still saddled with a lot of the artificial complexity and odd terminology that is pervasive in Angular 1.x. There are also bits and pieces of the library ecosystem, particularly the routing engine, that are over-engineered and painful to work with in practice. But, in general, I find version 2 much more intuitive and easier to reason about than version 1.x. Key features like data binding are much saner and behave more predictably.

I've never particularly liked Angular or React (my personal preference right now is for Vue or Polymer), but I think Angular 2 is a solid improvement over its predecessor. More significantly, I think the improvement is substantial enough to justify the team's decision to do a clean break.

</comment><comment><USER12> I've just started working on an app using Angular 2 and Ionic 2.:

1\. TypeScript - It's really nice to be able to use a typed version of JS, although it does feel like I'm writing C# sometimes! It supports lambda syntax / ES6 which is great.

2\. Annotations seem a bit clunky, not really sure what the point of them is.

3\. Absolutely love the functional reactive / RxJS stuff they've incorporated - it's going to make it VERY easy to write really powerful apps.

4\. It's a million times easier to develop with than angular 1. $scope.apply anyone?

<comment><USER13> The RxJS support is definitely my favorite thing in Angular2. We have plans for all sorts of cool stuff built on top of Observables. Stay tuned.

<comment><USER14> Started to work on a frontend for realtime automotive networking systems in angular2. I used angular2 services which provide all (non-constant) state via Observables to the components - and I'm really pleased with the result. Totally reactive, and the implementation effort and complexity is relativly low.

</comment></comment></comment><comment><USER15> When people point out that Google is behind Angular, they fail to mention that the level of investment is nowhere near that of Facebook in React.

I've been loving using React. Building in components is fantastic, and it just feels like writing Javascript. That's a win in my books.

<comment><USER16> This is a pretty important point to consider.

If Google was as invested in Angular as Facebook was in React, they would probably have gone with a more gradual, methodical approach to improving the framework (like the Ember team did). And until that changes, there is very little stopping them from doing another mostly incompatible rewrite in a few years.

As it stands, Angular 2 is closer to a completely new framework roughly inspired by Angular 1.x than a new version of Angular.

<comment><USER17> This is a nice worldview but doesn't hold up to the evidence.

Google has said they have something like 10k Angular 1.x apps, so they will keep on working on Angular 1. Angular 2 happening along this support is showing that they're willing to invest in the conservative route and the "burn down the libraries" route at the same time.

<comment><USER16> By level of investment, both me and the OP meant in terms of products that are key to the company's operations, and need to be continuously supported and _improved_. Facebook is one such app for Facebook that uses React. Instagram is one such app for Facebook that also uses React. I honestly don't know any such app for Google that uses Angular. Until that changes, there is very little incentive for the Angular team to keep _improving_ upon the existing solution instead of building something completely new with no regard for the people that depend on it.

The so called upgrade path they offer for Angular 1.x is a complete joke. That you can "mix Angular 2 into your existing Angular 1 application" would be a true statement with any component-oriented framework in place of Angular 2, like React, and Ember. And this was not true for Ember just a few months ago, which is living proof that gradual improvement can in fact be accomplished with any framework, but of course, throwing everything away is much easier, so the framework developers need to have strong incentives to not do so.

<comment><USER18> Angular 2 is the framework for Google's AdWords products. So it's core to how Google makes its money.

<comment><USER19> Also, the Google cloud platform dashboard.

</comment></comment></comment></comment></comment></comment><comment><USER20> I'm curious what Angular 2 is like for developers who normally write React? I hear 2 is a lot better than 1, but I'm still turned off by the amount of Angular-specific terminology, whereas most of React terminology is not necessarily React-specific.

<comment><USER21> Never understood why people liked React so much. I don't know why, but mixing javascript and HTML just looks... gross.

<comment><USER22> You don't have to use JSX.

<comment><USER21> Then what do you use?

<comment><USER23> React providing a mustache-like format (like ractive.js uses) would be great - more familiar than JSX and less clumsy than createElement().

Edit response to person below (rate limit): there's no 'problem', just that mustache is still more familiar. Moving JSX into a different file doesn't change that.

<comment><USER24> JSX/createElement is not just syntax sugar though. It avoids the whole step of parsing the template. Because JSX is JS code, you can pass native JS values to it including callbacks. Whereas anything you could pass to mustache-style templates will be stringified.

So for example in case of parsed templates, to pass a callback to onClick you'd need to define a convention on how you're going to locate the callback by a given string (since you can't pass the function itself, you need to pass some "name" of that function). Whatever logic that will be, the result will not feel like React anymore because you're back to typical framework-specific template magic instead of using plain JS.

<comment><USER23> > to pass a callback to onClick

Putting behaviour in HTML is a bad idea. Leave it in JS, and have one place to go when the behaviour changes.

<comment><USER24> > Putting behaviour in HTML is a bad idea

This is not what I'm doing. JSX _is_ JS. I'm not putting any logic "in HTML". If I were able to express what I'm doing in mustache-style syntax, it would be:

        Blah blah Click me Blah

Where `callback` is a reference to a JS function (rather than a string holding it's name).

What's _your_ ideal way of registering an onclick callback?

<comment><USER23> The moustache you're demonstrating there has the same problem. Add event listeners in JavaScript, not in moustache / jsx / whatever.

<comment><USER24> So, once again, JSX _is_ JS. You're free to write the exact same thing without XML syntax. If you don't like that either, then what you're really saying is _" Don't generate HTML using JS"_. Why not? The benefits are obvious:

* With React & ESLint you get basic checks to make sure you're not passing non-existent variables

* Your IDE understands what you're doing and lets you jump to callback definitions

* You understand what you're doing because you have one obvious place where you do templating and data binding.

* Your actual behaviour logic is still separated from your template, living in some other JS file.

On the other hand, if you add event listeners to HTML from JS the classic way, you get other problems:

* You're querying the DOM tree by CSS classes or some custom attributes. It's surely a familiar way of doing things, but also fragile and unintuitive.

* It requires your JS to know the structure of your DOM to some extent, and that structure is defined elsewhere. So it's basically the same problem as with mustache templates – passing around magic strings – but the other way around.

* Neither ESLint nor IDE will help you do it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> I am in Germany and this link forces a redirect to angularjs.blogspot.de because of my location (which is a version of the blog in German, which I don't read).

No simple way around this, and no link I can see to go to .com instead. That's quite frustrating.

<comment><USER26> I wonder, does the .co.uk one also redirect to .de? You might find that as an already-"localised" one it doesn't redirect?

[http://angularjs.blogspot.co.uk/](http://angularjs.blogspot.co.uk/)

<comment><USER25> Yeah good point!

(Edit) No actually I spoke to soon. Even when the url doesn't redirect, the blog post is still in German for me! (Edit again) Must have been cached, it's in English now.

</comment></comment></comment><comment><USER27> I'm a C# developer. I have been patiently waiting for angular 2.0 with the hopes of switching my stack to TS.Node + Angular and I'm really excited about trying this!

<comment><USER28> I'm very impressed with the power Visual Studio Code offers for developing JS/TS projects. Do you do all of your development in the .NET flavour of Visual Studio?

<comment><USER29> I really wanted to start using ts in my next React app but did not find any good resources and couldn't get it off the floor. Happen to have any insight on that?

<comment><USER30> I've been working on a TS/React/Redux app for the last couple of months, trying to make use of the "latest and greatest" tools and best practices, and hope to write up a blog post over Christmas describing my experience (overall very positive) and how to set it all up, so I will be sure to post it to HN when it is done.

<comment><USER29> This would be amazing, I hope I catch it. What's your blog's url just in case?

<comment><USER30> I don't have one yet, this will be the inaugural post! But I am on twitter @tomduncalf, so if you want you can follow me and I will tweet you when it's out. This is good, it puts pressure on me to actually write it ;)

<comment><USER29> Done, pressure is on!

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> I had a really painful time trying to contribute to the angular 2 project. I get the impression that the developers actively working on this are working with discussion mostly internal to Google.

It's a shame, because it does seem like both a very powerful and nice approach to building SPAs that I would love to contribute to.

<comment><USER32> @estsauver while I agree that it takes some time to get into contributing into a big project like Angular 2, it is simply not true that it is "Google only" project. I'm a regular contributor (#6 in terms of no of commits: [https://github.com/angular/angular/graphs/contributors](https://github.com/angular/angular/graphs/contributors)) and I don't work for Google.

Angular team is bunch of great people, real pleasure to work with. I can tell you - the initial effort to start contributing pays off _very_ fast.

<comment><USER31> The only person that actually ever replied to me on Gitter was Raganwald.

Maybe I just had an experience of trying to get help at a series of slow times, but it was really hard to get help with the build setup.

</comment></comment></comment><comment><USER33> How many Angular folks are sticking with native ES6 and babel vs TypeScript? Angular is clearly directing folks to TypeScript. I don't want to have to use TypeScript on front-end and ES6 + Babel in Node. Trying to pick one.

<comment><USER34> I've been using TypeScript for a few months now and have been so impressed with it that I am beginning to favor Angular 2 over React just because of Angular 2's TS integration.

TypeScript basically made JavaScript more powerful and a whole lot more fun for me. I feel so much better about slinging around parameters now that I know my IDE will catch type/parameter mismatches before I run the code, before I build it, even before I save the file! It simply alerts me in the IDE (I use VSCode which I also love). This is a huge time saver.

Another great thing is the intellisense, which allows me to keep on coding without looking at some API documentation or other files in the project. The intellisense even has the documentation in it - so this is a really fun and efficient way to learn new libraries and frameworks.

I didn't even know how much I missed enums in JavaScript until I started using them in TS. Also love the fact that you can revert to using the Any type if you have to and there is even support for generics as well.

All of this stuff can be had in various transpilers or IDEs, but TypeScript and VSCode just bring everything together in a very simple yet powerful way.

<comment><USER35> Welcome to the programming world, js developers.

<comment><USER36> I never jumped on the CoffeeScript bandwagon .. I know people love it, just not me. Hence unlikely I will try TypeScript.

Despite all its glaring flaws, javascript is an insanely productive language due to excellent mix of features. To improve upon that Id need to go to lisp / clojure [ but it lacks wide commercial acceptance .. not a criticism at all ]

I'm actually wary of using the newer additions to javascript language - ES6, Promises and arrow notation don't seem that much of a win to me, I'm very sceptical of new being good in language design...

whereas I really love Ramda.js as a general underscore / lodash replacement.

Productivity seems more a function of how we structure our code [ eg. keep state so we can jump back into where we were in the web app, thus iterate easily - as per the Om approach ] and thinking functionally.. rather than language syntax additions.

I don't see the need for an IDE .. they tend to come into their own when Your.ColourfulAndCompleteMethodNames are so long they need auto-completion. Thats the beauty of javascript [ and lisp etc ] we should fight to keep things small and terse.

<comment><USER35> I don't want to argue on your other points but imo the part of auto-complete that saves typing time is the least important thing in a IDE. The really useful part of auto-completion is actually exploring unfamiliar APIs.

<comment><USER37> no! :) static errors analyzing is more important - saves much, much more time.

<comment><USER35> Of course that's he best part of the IDE, i was only commenting the autocompleting part.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Video of the team announcing the Beta release. [https://www.youtube.com/watch?v=WitNPCLSZr0](https://www.youtube.com/watch?v=WitNPCLSZr0)

</comment><comment><USER38> Anyone has the experience working with NativeScript and Angular 2? How's it compared with React Native? And is there any chance this will evolve to a viable alternative to developing native apps using web technology?

<comment><USER39> Jen from Telerik DevRel here...we are working with Google to ensure that Angular 2 works great for your NativeScript apps. Please check our blogs at nativescript.org for forthcoming info on performance comparisons and how-tos. I'd encourage you to visit our getting started guide on the above web site to see how you like NativeScript!

<comment><USER40> > Angular 2 works great for your NativeScript app

How is it going to work exactly ?

<comment> X-Istence Great. It's right there in the sentence you quoted.

<comment><USER40> Great doesn't the describe the WAY it is supposed to work. I asked HOW like IN WHICH WAY.

<comment><USER13> Angular2's architecture is split in such a way that the rendering layer is separated from the application code. This allows swapping out the render layer - enables stuff like NativeScript and React Native renderers, server-side universal and running your app in a web-worker, dispatching to the main thread to render.

</comment></comment></comment></comment></comment></comment><comment><USER41> Looks promising... But personally I dislike TS., and I know that it not required for Angular 2..., Now I prefer ES6 + babel, maybe in future I'll change my attitude to TS.

<comment><USER42> As somebody deciding between ES6 + Babel and TS for a project...What don't you like?

</comment></comment><comment><USER43> The incremental upgrade path is disappointing.

Step 1: Include the Angular 2 and ng-upgrade libraries with your existing application

Is anyone with a serious application actually considering this? It would have been nice to include only the pieces of Angular 2 that you actually use. Instead, we have to ship both libraries, our application code and an additional plugin down the wire? I don't see this upgrade path as a legitimate option for anyone who cares about page load times.

<comment><USER44> There is also ngForward, which is Angular 1 with Angular 2 syntax.

</comment></comment><comment><USER45> Excited to finally start playing around with this.

</comment><comment><USER46> I recommend Angular CLI for new users: [https://github.com/angular/angular- cli](https://github.com/angular/angular-cli)

It is based on ember CLI and helps a lot scaffolding new projects.

</comment><comment><USER47> The only thing I haven't really seen on their 'Quick Start' and 'Guides' site is any examples that show retrieving data from an API. Are those out there and I didn't see them?

<comment><USER13> There's an optional Http client that uses RxJS Observables - <USER2> [http://plnkr.co/edit/UQJpd5dA6x45T4PPZRWW](http://plnkr.co/edit/UQJpd5dA6x45T4PPZRWW) for a basic demo that also uses the `async` pipe to subscribe from the view. Of course, the native fetch API works fine too.

</comment></comment><comment><USER48> I've played around with Angular 2 quite a bit the last few weeks. These are my (early) views for anyone interested:

* Templating syntax is intuitive after an hour or two

* Decorators are great! (sidenote: Warning Babel6 decided to remove them until the spec settles down)

* Typescript I'm undecided about. Its a bit of a pain to work with and tooling is still early days e.g. if you want to import a single js file/lib, you create a Type definition file ( _.tds) just for that. And if you don 't want to document every interface in that _.tds, then you can give it an "Ambient" aka "whatevs" definition. But in that case it will not be retain its semantics.

* The new component router wasn't ready for prime time 2 weeks ago. I doubt that has changed. And frankly, I feel a bit uncomfortable with how magical it is. That could change though, I know allot of effort is going into it.

* One of the best things is losing many of the hacky artifacts of Angular1 (pseudo-modules system, 9 types of component, config phases etc etc)

* IMHO the lack of opinion built into the framework will still cause allot of foot-shooting around the globe, especially compared to Ember or Aurelia.

That said, if I was going to start a large enterprise project right now, I'd SERIOUSLY consider the core being written in Angular 2 + Redux. I'd have to revisit Ember before I had that decision though, its been over two years ...

</comment><comment><USER49> This looks pretty cool. I've just been learning about Angular 1, so I guess the thing to do is start using Angular 2 as soon as it's available and not bother with the ngForward tool?

I'm looking for tools that will help me create web apps with rich client experiences. I've read the critiques of AngularJS here and it sounds like it does have some limitations, but still a very good framework for corporate web apps with moderate user base and small # of browsers.

</comment><comment><USER50> I use both react and angular. At work we lean toward angular because of the overhead of having to train design teams with no real JavaScript backgrounds how to work with jsx.

That being said, I use both react and angular. Angular is a full library that solves all of my problems, even if the solution isn't what I would consider ideal. React forces me to do a lot more work to get something running as it is not a framework. It is a tradeoff of time versus flexibility.

</comment><comment><USER51> Anyone have an upgrade plan for 1.x?

I work on a rather large Angular 1.4 codebase daily and while this is good news, I'm not sure how we'd ever upgrade to be honest.

<comment><USER13> there's a very nice strategy for this - the upgrade module allows you to run ng2 components inside of ng1 apps (or vice-versa) so you can incrementally upgrade.

There's a great blog post by the Thoughtram team here : [http://blog.thoughtram.io/angular/2015/10/24/upgrading- apps-...](http://blog.thoughtram.io/angular/2015/10/24/upgrading-apps-to- angular-2-using-ngupgrade.html)

</comment></comment><comment><USER52> Resources for learning Angular2?

<comment><USER53> [Shameless plug]: I've been writing a book on Angular 2 over the past few months: ng-book 2 [1]. If you want to write your first app, you can get the first chapter of our book for free.

You can of course learn Angular 2 from lots of disparate blogs on the internet. There's lots of good resources. But the goal of our book is that you'll be able to learn everything, in-order, in one place.

We've been keeping the book updated alongside Angular's development (though it will take us a few days to get up to the most recent beta). We've already updated the book over a dozen times, so I think you'll really like it.

[1]: [https://www.ng-book.com/2/](https://www.ng-book.com/2/)

<comment><USER54> I had a positive experience with ng-book for ng1. Although I've only read about half, I found it very useful.

I haven't started using ng2 yet, but if I do decide to learn it i'll be purchasing ng-book 2.

</comment></comment></comment><comment><USER55> We had a look at Angular 2 at Pusher since a lot of our customers are using Angular to build app. If you want to check out a quick tutorial and see some actual working angular 2 code in action , you can go to [https://blog.pusher.com/real-time-apps- angular-2/](https://blog.pusher.com/real-time-apps-angular-2/)

</comment><comment><USER41> Angular size really impressive:

angular2.min.js - <USER3>

Version 1.4.*

angular.min.js - <USER4>

File size really increased (Angular1 * 4 == Angular2), if compared with first version. Something went wrong.

<comment><USER32> As pointed out in the blog post shaving off bytes is one of the priorities before 1.0 release. We've got many tricks to play here, so expect those numbers to be much lower in the final release.

<comment><USER56> Shaving? Not enough. They need a serious regiment of diet and exercise.

</comment></comment></comment><comment><USER57> Server side rendering is mentioned in the post - for me, angular 1.x was a dead end because it did not run on the server (disregarding the confusion around services, factories etc, and all the horror in templating logic, debugging it etc) - can anyone give some insights into what this is like?

I've previously written & been part of teams for a few non-trivial 'full stack' js apps that run both on the client and server, and react's abstraction from the DOM is perfect for such things. Wondering what the 2.x approach is here.

As an aside, seems to me that the days of running JS purely in the client are coming to an end, for projects when developers can have a free hand on the tech stack.

<comment><USER58> [https://github.com/angular/universal](https://github.com/angular/universal) [https://github.com/angular/universal- starter](https://github.com/angular/universal-starter)

Design doc: [https://docs.google.com/document/d/1q6g9UlmEZDXgrkY88AJZ6MUr...](https://docs.google.com/document/d/1q6g9UlmEZDXgrkY88AJZ6MUrUxcnwhBGS0EXbVlYicY)

It still seems like a WIP

</comment></comment><comment><USER59> For those of you who are using Dart, [https://github.com/ng2-dart- samples](https://github.com/ng2-dart-samples) has many Angular 2 demos and samples and it's pretty nice ;-)

</comment><comment><USER60> Angular2 wants dependency injection and for that to work well it needs named interfaces and thus ends up with TypeScript as its first citizen language.

This is fair choice but it shows the background of the designers of Angular and that they in some sense really don't grok JavaScript.

Here is a blog from mr. Ruby-on-Rails explaining why DI is a stranger in the Ruby world:

[http://david.heinemeierhansson.com/2012/dependency- injection...](http://david.heinemeierhansson.com/2012/dependency-injection-is- not-a-virtue.html)

With some parallels I think.

<comment><USER61> I'm rarely happy about DI containers, but why wouldn't you want inversion of control in Javascript? We've seen how the "let's just monkey-patch because software design is hard" approach works out: it doesn't.

</comment></comment><comment><USER62> Trying to find info on their packaging story. Last I heard the official tooling seemed to be moving off systemjs+jspm in favour of WebPack, but I don't see any clear info on this; does anyone know?

We've started experimenting with systemjs and really like it (though support is a bit limited right now, plus it not really liking PhantomJS/karma), and we want to modernize our Angular 1.x app packaging/loading/bundling, but don't really want to do needless work if we have to move to another solution for Angular 2.x.

<comment><USER13> We're playing with all manner of tooling here. Our CLI (broccoli based), Webpack, SystemJS / JSPM, Rollup, etc - we'll also be focusing on HTTP/2 as we move forward.

<comment><USER63> HTTP/2 in what sense?

<comment><USER62> AIUI, with HTTP/2's multiplexing requests over a single TCP connection, the need for bundling resources might just disappear completely.

</comment></comment></comment></comment><comment><USER64> Angular 2 is late to the party. The user base of Angular 1.x has already moved on.

I wish the success of a web framework was a bit more about the technology nature of it rather than the market adoption and hype.

<comment><USER65> I'm not sure if that's entirely accurate

Here's a chart where you can see daily download counts for react, angular, and angular2.

[http://npmcharts.com/compare/angular,react,angular2](http://npmcharts.com/compare/angular,react,angular2)

React does indeed have about 4x as many daily downloads, but (Angular 1 + 2)'s download counts are ~5x what they were a year ago. (iirc the ng-europe RIP Angular fiasco happened in October 2014)

<comment><USER66> Worth noting that the onboarding process for each framework is different. Getting started with react pushes you to npm. Angular 1 pushes you to CDN, so I'm not sure how useful this graph is. Interesting, nonetheless.

<comment><USER65> That's a great point. I wonder if that would change with Angular 2

</comment></comment></comment></comment><comment><USER67> Any suggestions for a good material UI framework that works well with Angular 2? Unfortunately, angular's material framework only works on 1.x so far.

</comment><comment><USER68> Maybe I'm reading wrong, but Rx.js seems to be 70k minified. Seems like a giant dependency for a mobile-focused framework...

</comment><comment><USER69> The whole angular.io documentation is telling me "well f*ck you vanilla JS user, go learn TypeScript and come back"

<comment><USER70> Well, the angular 2 beta release blog mentions that these the docs for es5/es6 are still in the works...

</comment></comment><comment><USER71> New Project - Angular2 OR React and why?

</comment><comment><USER72> I probably will get down-voted seeing all pro-Google comments but what I don't like about frameworks like Angular is that it obfuscates HTML...

</comment><comment><USER73> Uh did Angular not get the memo that people hate the new syntax and typescript?

This is how you turn the most popular javascript MVC framework to nothing.

<comment><USER74> If only typescript was written by facebook or google then people wouldn't hate it.

<comment><USER75> Flow was written by Facebook, yet TypeScript seems markedly more popular and well-liked. There are some who hate TypeScript because MS, and there are some who hate Flow (and React) because FB. But most of the criticism against TS has, anecdotally, been technical in nature.

Edit: by popular I didn't mean that it's merely used by more people. I've clarified that.

<comment><USER74> I'm not talking about popularity. I'm talking about indiscriminate hate because it's connected with microsoft. C# has suffered the same stigma since the beginning.

</comment></comment></comment></comment><comment><USER76> > While you can upgrade apps in a "big bang" approach where you halt > production until everything is rewritten

That is some very unsound advice. I find it worthy of ridicule that it's being suggested as a possibility.

The upgrade path was very necessary to address the huge amount of breaking changes.

</comment><comment><USER77> That's Google for you, having to present your exciting MVW toolkit on the crash accident of a website that is Blogspot.

Right now, there is a massive cookie consent form blocking my view of the actual article.

<comment><USER78> is that a european thing?

<comment><USER79> As a European, we prefer it described as a 'poorly conceived and universally despised European _law_ thing'

<comment><USER80> As a Brit living within a region under the influence of the EU, I concur. A massively annoying imposition from power-tripping bureaucrats who have no idea what a stateless protocol is.</comment></comment></comment></comment>


It's nearly impossible to change your address - <AUTHOR> http://blog.viridianspark.com/2011/02/18/its-nearly-impossible-to-change-your-address/ <comment><USER2> My aunt (who lived in a staff house in a student complex, and found she had inherited some of the bad credit associated with it) managed to greatly improve her credit rating by adding a 'B' to her house number.</comment>