Hacker Newsnew | past | comments | ask | show | jobs | submit | kgreene2's commentslogin

Did they really "just drop the old one"? Angular 2 was announced over 2 years ago, and initially was released 10 months ago.

Meanwhile, Angular 1 has continued to receive support this entire time, with the latest release 11 days ago and the latest merge to master being 4 days ago.

And, if you're on Angular 1 and want to upgrade, they've published an official migration guide.


No, they didn't. In fact, they just recently released 1.6.5, yet another in a stream of maintenance updates to the old-generation 1.x branch.

Technical rants are one of the reasons I enjoy reading this website, and lot of people here like to shit on Angular. But it seems to me the reasons aren't usually technical, they are more techno-political or ford-vs-chevy type arguments.

The term "over-engineered" is often thrown out there, and while that's a hard-to-quantify subjective judgement, it does kind of fit. There are many features in Angular, which do lots of things for you, but at the cost of added complexity and a steeper learning curve.

But one of the good aspects of being "over-engineered" is the incredibly long sunset window for Angular 1.x (the previous, and largely incompatible generation; 2.x onwards is "current generation").

Maintenance releases to 1.x keep coming out, some of which (1.5) add a bunch of new stuff that makes it easier to modernize your design even under the old framework, and to port your legacy 1.x code to modern Angular when the time comes.

Also, there's an well-documented upgrade path, and (importantly!) an officially supported library (ngUpgrade) that lets you make a gradual transition to modern angular, where your old code runs in Angular 1.x, new components run in modern Angular, ngUpgrade helps integrate the two worlds in a single app in the browser. So you can do a component-by-component migration of a production app over years.

As a native app developer (and not a fan of JavaScript) who nevertheless last year joined a team that also has to maintain an old, in-production, customer-facing Angular 1.x app, I really like all these "over-engineered" features.

That's not to say I love every single thing about Angular but I think a.) it's pretty good, b.) modern version is better than the old one and going in the right direction, and c.) lots of the complaints are more like "they fucked up the upgrade process from 1.x" (they did) or "Google sux brah" (whatever).


ngUpgrade is kind of a joke in practice. Most 1 to 4 migrations end up being total rewrites.


Interesting. Is that first-hand experience? If so, what are some of the issues?


Yes. We built out a lot of NG1 components at my company and are currently building a product in NG4. The issues are, for example, the template syntax is completely different. That has to be mapped over. There is no $scope and the component lifecycle is completely different in NG4. Depending on how you stored state, responded to state, and depending on which ngDirectives you used...there may or may not be a direct mapping with concepts for NG4. Also, if you have any testing in place at all, those tests will likely need to be rewritten.

NG4 components depend on RxJS, for example...but Angular 1 had no such concept. SystemJS modules are a thing in Angular 4...but not in Angular 1. You may or may not have ES6 modules in your Angular 1 code base...but you definitely have them in your Angular 4 code base. There are so many differences that "upgrading" to Angular 4 is really just a rewrite in practice. And it's no less effort for you to migrate to React or Vue in a piecewise manner.


A bit off topic, but you're missing that the number you mentioned doesn't exist. What you're describing is an infinitesimal value, or, the largest negative number. This number doesn't exist in the reals.

https://math.stackexchange.com/questions/455639/what-is-the-...

https://www.quora.com/Is-there-a-smallest-positive-real-numb...


Not real? See just like magic leaps products! ;)


Argon2 is slow in the browser, but isn't an inherently slow algorithm.

In other words, you have two algorithms that will each take 1 year on an attacker's machine. Option A takes 1 second on your machine, Option B takes 2 seconds. Option B isn't any better. In fact, it's worse, because it only compromises user experience and potentially leads people down the path of assuming it's more secure than it is.


Oh, so we're talking about different things (not exactly with you, but in the conversation)

I was thinking about the number of interactions (or any other tunable parameter) in the same algorithm, like Scrypt or bcrypt or PBKDF2.

Of course, you're completely right on your example: change one for another that increases time just in browser doesn't give any gain. It must be harder to the attacker...


For what it's worth, at a corporate level they have stopped that nearly entirely four years ago. [1]

The only group they still fund that is anti-LGBT is the Fellowship of Christian Athletes. [2]

[1] - https://en.wikipedia.org/wiki/Chick-fil-A#Report_of_policy_c...

[2] - http://goqnotes.com/27860/new-chick-fil-a-filings-show-decre...


The graphs looks like they were all created with C3

http://c3js.org/


The line and bar charts are c3js indeed, which wraps d3. The mind map graph is done using cytoscape.js.

Data gathering, preparation, initial exploratory analysis and pretty much everything else is done with a combination of Jupyter notebooks, some Python scripting, and a set of Jinja2 templates for the HTML and the city specific JS. The JSON which is loaded to populate the charts is also generated from the same Python scripts. The code base is not necessarily something to be proud of, but it works. We focused on analysis (hence, the default bootstrap theme and nothing fancy).

We're likely to do a making of talk at one or two meetups here in Amsterdam. Hopefully those will be recorded. There's some additional interesting aspects to the collected data not immediately visible in this presentation.

Disclaimer: I did most of the data wrangling and coding on this; also I'm CTO for GoDataDriven, one of the two companies mentioned as producer.


If you look in the upper right of the page, you can see RJMetrics current logo, which is the original logo but with a right-side up Y, not the one shown at the end of the article.


It's funny that you see it as flipped upside down. I see it as flipped left and right. In terms of whether the Y is up or down, neither of them are, but the original one had it leaning right, and the one currently on their page has it leaning left.

Perception.


Oh. I stand corrected! Sorry about that.


To anyone interested in the subject, I'd strongly recommend playing the Redistricting Game [0] which takes you through many of the processes outlined in the article

[0] - http://www.redistrictinggame.org/


Seconded - great example of how a game mechanic can be used to highlight how real world incentives play out.


I'm not sure I agree with nearly all hosting providers having free database services. Azure seems like it intends to be a competitor to AWS and Rackspace, both of which charge for their cloud databases.

AWS RDS Pricing - https://aws.amazon.com/rds/pricing/

Rackspace Cloud Database Pricing - http://www.rackspace.com/cloud/databases/pricing/


Paying for provisioned performance is a pretty good idea, but the general script kiddie audience wants stuff to "just work." Obviously there is a divide between SLA quality services and bulk shared services like PHP on Dreamhost.


It may intend that, and may be a competitor in other services, but at least Amazon do not provide any service equivalent to this one.


This seems fairly similar to HuBoard. Anyone know of a reason to use this over that?


Chicago, IL - DevOps and Build Automation Engineer @ Spantree - http://www.spantree.net

===

Systems Management: Vagrant, Puppet, AWS

Build Automation/CI: Gradle, Grunt, Jenkins, Sonar, Maven, Cordova

Test Automation: JUnit/Spock, Selenium, Mocha.js

Web Tier: Java 7, Nginx, Tomcat, Jetty, JBoss, Grails, Redis, RabbitMQ, Node.js, Varnish

Data stores: MongoDB, Elasticsearch, Postgres, Redis, Couchbase, Neo4J

===

Spantree is a boutique software engineering firm based (mostly) in Chicago. We're looking for our very first DevOps engineer to join our team in the West Loop.

This candidate should enjoy learning new technologies and solving hard problems. Ideally, we're looking for someone that can whip or systems engineering stack into shape, taking over cross-cutting systems work that we each handle on our individual projects. Our existing team of 7 are mostly programmers. We've had to learn tools such as Vagrant, Puppet and AWS to make our lives easier, but we're growing to the point where we could really use someone who lives and breathes this stuff.

We work quite a bit with OSS and we're not shy about jumping into other people's code to figure things out. We constantly hunt for smarter ways to do things, so we're often experimenting with emerging tech with little or no documentation. You should be motivated to submit pull requests and hunt down project committers on Twitter and IRC when you're stuck.

===

Who are you?

===

* A nice person

* An effective communicator face-to-face, on the phone, and over the web

* A pragmatic engineer that can quickly go from problem to solution to working software

* A lazy programmer who leverages test, build, and deployment automation wherever possible

* An confident teacher of what you know and a humble student of what you don't

* An altruist who wants to participate in open-source projects

===

What do we work on?

===

Our clients range from small and scrappy startups to large enterprise companies. We have 3-7 projects going at any point in time. We tend to focus on greenfield development, building web applications from the ground up. We also work on integrating the old with the new, bringing technologies like Elasticsearch, Grails and Drools to large companies. Helping people make better decisions is the central theme of most of our projects. This can take the form of a search engine to help people find interesting stuff to do on a Saturday night, a complex rules-oriented workflow management system for evaluating health insurance claims, helping people find the right doctor, or a matchmaking and scheduling system to help people book face-to-face meetings at conferences. In the next year or two, we also plan to get into product development, taking our experiences solving the same sort of problems for multiple clients and rolling them into a generic framework which we plan to open source and support directly for our clients and the rest of the world.

===

We offer full health, vision and dental for our full-time employees. 401K. Free snacks and often free lunches as well. Big monitors and top-of-the-line equipment. We also have a shiny new office treadmill.

Drop us a line at jobs@spantree.net and tell us a bit about yourself. If you have a resume or CV, feel free to pass that along as well. Github and LinkedIn profiles are also helpful. We're looking forward to hearing from you!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: