HNHacker News
TopNewBestAskShowJobs

stringham

102 karma · joined May 9, 2012

submissionscomments
stringham··on What is the best programming dad joke?
!false

It's funny because it's true

stringham··on Use streaming JSON to reduce latency on mobile
Should have (2017) in the title.
stringham··on Gmail auto labels
What kinds of things do you use it for?
stringham··on Converting 600k lines of code to TypeScript in 72 hours
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.

stringham··on Codemod – A library to assist with large-scale codebase refactoring
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.

stringham··on What's the deal with Ctrl+Left and Ctrl+Right?
I had the same problem with vscode.

I filed this issue: https://github.com/Microsoft/vscode/issues/32246

Rather than wait, I ended up creating this extension last weekend to do it the way I wanted it to: https://marketplace.visualstudio.com/items?itemName=stringha...

stringham··on The Witness: the creator of Braid talks about his fiendishly difficult new game
I have been following the progress of this game on the-witness.net for a few years. Really exciting that they've got a release date now.
stringham··on Future Node.js releases will be from the io.js repo
Interesting that they are moving forward with the name io.js rather than merging into node and keeping the legacy name.
stringham··on Hackthe.computer 2015 coding competition
Great set of problems! I've really been enjoying working through them.
stringham··on Five Years of Google Closure
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

stringham··on elgooG
On my Chromebook it doesn't override it with rotateY(180deg), but it does on my Linux machine running Chrome 41.
stringham··on elgooG
For Chrome on Linux (41.0.2272.101) I'm seeing the rotateY(180deg);
stringham··on elgooG
I see the scaleX(-1) on ChromeOS (42.0.2311.60 beta) and Chrome for Android (41.0.2272.96)
stringham··on elgooG
Using chrome, and chrome on android inspecting the source shows that it is

  transform: scaleX(-1);
stringham··on elgooG
TLD Source: http://www.iana.org/domains/root/db/google.html

Mirror implemented with:

  body {
    transform: scaleX(-1);
  }
stringham··on elgooG
.google is a TLD

http://www.iana.org/domains/root/db/google.html

stringham··on elgooG

  transform: scaleX(-1);
stringham··on elgooG
That's pretty awesome.

Implemented with:

  transform: scaleX(-1);
stringham··on Conway's Game of Life – Trying It on Images
Here's an example I made in plnkr.co: http://embed.plnkr.co/y1a3DWh1P8tTTUamsWbE/preview

It begins by filling in the canvas with random colors.

stringham··on Copying and Pasting in JavaScript
Yeah, and I wish it was easier to do properly. This looks like a great resource to help with that.
stringham··on Coming Soon to Hacker News: Pending Comments
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?

stringham··on Show HN: Gargl – Create an API for any website, without writing a line of code
I wouldn't call http an api. Http is a protocol.
stringham··on Google Keep
I'm getting it in Chrome as well.
stringham··on Why bother with a CSS build process?
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.

stringham··on Ditch QWERTY – Your Hands Need Colemak
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.