HN user

stringham

102 karma
Posts5
Comments25
View on HN

It was not feasible to stop the entire organization from writing new code to do a migration, which is why most migrations like this happen slowly over time. However, we got a lot of benefits by doing a "big bang translation" like not having to link two different module systems (Google closure and TS)

The hackathon was an ideal time to attempt something like this and we knew the scale of the project was huge. Once the project was complete we each got a couple of extra personal days.

It was really cool tackling a project that many thought was impossible and succeeding. We all had the vision that we were doing something that had the potential to significantly improve our satisfaction and productivity on the daily basis for the long term.

This kind of thing is completely voluntary and everyone who participated really wanted to do it. I think we have a really good work-life balance at lucid.

It's awesome having leadership that supports us in moving forward with a project like this.

I find the idea of https://github.com/facebook/jscodeshift to be really useful.

I've started writing small scripts using the TypeScript parser as a library to make meaningful improvements in our codebase. Since JavaScript is valid TypeScript syntax the scripts work on both.

For example, I wrote a small script to change var to let or const when possible. It uses the AST to check scoping rules and to check if a variable is ever reassigned.

Writing scripts like this is way more effective than doing it by hand.

We use Google Closure at Lucid Software for Lucidchart and Lucidpress. It has been a great tool for us, especially for sharing code across a huge javascript codebase. Compile time type checking and dead code removal have also been great.

It is unfortunate that it isn't used more widely.

It's nice that you can see some of Google's open source projects built using closure

elgooG 11 years ago

On my Chromebook it doesn't override it with rotateY(180deg), but it does on my Linux machine running Chrome 41.

elgooG 11 years ago

For Chrome on Linux (41.0.2272.101) I'm seeing the rotateY(180deg);

elgooG 11 years ago

I see the scaleX(-1) on ChromeOS (42.0.2311.60 beta) and Chrome for Android (41.0.2272.96)

elgooG 11 years ago

Using chrome, and chrome on android inspecting the source shows that it is

  transform: scaleX(-1);
elgooG 11 years ago

That's pretty awesome.

Implemented with:

  transform: scaleX(-1);

This would prevent users from commenting on multiple articles in a short period of time, and for articles that don't hit the main page the op may never see someone's thoughtful remarks.

For users with over 1k karma, do their comments go through the pending phase too?

1. You are exposing your source code to anyone who might be interested.

I think that exposing your CSS source code with comments etc is more beneficial than detrimental. It helps us have a more open web and fosters an environment for new developers to learn from what's already great.

However, the overhead of always sending down the full CSS probably isn't worth it since so few people are actually interested. http://daneden.me/max-css/ suggests including a .max version of your css alongside the .min for this very purpose, which I think is a great idea.

I spent a month with Colemak and got to about 40 wpm. The transition to a new keyboard layout is HARD and takes a lot of determination. I know some people find it to be worth the learning curve, but I migrated back to qwerty.