HNHacker News
TopNewBestAskShowJobs

iamdanfox

158 karma · joined January 4, 2014

iamdanfox@gmail.com
submissionscomments
iamdanfox··on What's new in Gradle 5.0
This is a huge achievement - props to the Gradle maintainers for delivering so much with such careful adherence to backcompat! I’ve had two enableFeaturePreview lines in my repos for a few weeks now and it made upgrading to Gradle 5.0 a zero manual action upgrade!
iamdanfox··on Introducing Conjure, Palantir’s Toolchain for HTTP/JSON APIs
We require all teams to use semver and usually define the Conjure API in the same repo as the server that implements it (so they are versioned together). Most of the time teams want to preserve wire-format back compat (i.e. only add optional fields to requests and don’t remove things from responses). Devs are pretty good at this, but we actually run a conjure-backcompat checker as part of CI to catch any unintended breaks they might have missed.

When it comes to intentional breaks, teams save up a bunch of carefully documented changes and then tag the next semver major version (i.e. 2.0.0). This is safe to do because all microservices and frontends we build actually contain embedded minimum and maximum version constraints on the backend services they require. Our deployment infrastructure knows about all these constraints and can then ensure that new major releases will only be rolled out in production when all their callers have explicitly declared support.

iamdanfox··on Announcing TypeScript 2.0 Beta
It's definitely not as elegant as Scala or Haskell, but I think their justification is very reasonable. The current implementation is maximally compatible with existing usages of tagged unions (e.g. Redux actions), because it allows you to choose whatever discriminant you like ('type', 'kind', whatever). Keeping very close to JS seems to be a core tenet of TypeScript and is quite valuable in my opinion. It means they can adopt new ECMAScript syntax without clashes and also ensures that newbies have a smaller learning curve. Also, they can always add in some syntactic sugar later if they want to!
iamdanfox··on How to make the Atom editor transparent
I usually want to keep an eye on my Selenium tests so I can debug them if they get stuck. When I don't have enough space to leave the selenium VNC window open, I put it underneath a semi-transparent terminal window which allows me to keep working.
iamdanfox··on Zorium v1.0.0 (╯°□°)╯︵ ┻━┻
Nicely comprehensive blog post, Zorium looks like it is the result of a lot of hard work! Since this looks like a serious library (rather than a personal dev exercise), I'm curious about why you decided not to go with React:

1. The React source is definitely intimidating - what extensions did you feel it needed?

2. Animations are a tough problem, but I was under the impression that the communication isn't usually the problem, it's meshing a declarative representation with a mid-transition DOM. How is the Zorium approach better than the React one?

3. Flux, JSX and mixins are all completely optional and not compulsory to write a frontend in React; why did these motivate you to write a new library from scratch?

I hope these don't come across too critical, I have a lot of respect for anyone who can even finish a project like this, let alone document it. I've heard lots of good things about React, so I'm curious to hear other perspectives!

iamdanfox··on What is the best way to attract your first 10k users?
There are a few interesting answers in the 'Startup Traction' topic on Quora [1].

Lots of them mention having a great product that solves a real problem, having a content-rich blog to drive traffic, inviting friends and some PR. (Maybe the friends one isn't so applicable to an ad network!)

[1]: https://www.quora.com/Startup-Traction

iamdanfox··on MenuetOS 1.0 – 1.5 MB OS written entirely in assembly [video]
Someone got a Linux image that could run `ls` down to 6.12MB by intercepting file accesses and deleting anything unused... See "How I shrunk a Docker image by 98.8%" (https://news.ycombinator.com/item?id=9438323)
iamdanfox··on Extracting Audio from Pictures
There's a gem right at the end from 1878:

"Oldest known publication of a recording of recognizable phrases in the English language (“Brown University”; “How do you do?”)"

iamdanfox··on Google Patents DEVIL TOY Which Will BRAINWASH KIDS
I was expecting the patent [1] to describe some kind of Amazon Echo, stuffed into a teddy bear with responses and a personality.

Instead, it seems to turn the toy into a glorified TV remote that sends "media device commands to a media device, instructing the media device to change state".

Shame about the click-baity article, I though this had potential for an interesting discussion about AI around children.

[1]: http://pdfaiw.uspto.gov/.aiw?PageNum=0&docid=20150138333&IDK...

iamdanfox··on Monitoring tool for the Ripple Network
I tried the name `~SnapSwap` to actually get into this app. (I found this from a 'Popular Gateways' page [1].)

The blank input field isn't a super friendly way to show people your product if they haven't encountered Ripple before (like myself)... a little blog post about what Ripple is and why you made ledgermonitor would be cool!

[1]: https://ripple.com/knowledge_center/gateway-information/

iamdanfox··on ES6 `const` not always immutable
This is familiar to programmers who are used to pointers or references. (Java's `final` does the same thing).

To prevent changes to an object's properties, you could use `Object.freeze()` instead [1]. NB, this is shallow, so a child object of a frozen object can still have its properties changed.

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

iamdanfox··on Eliminate the Gender Pay Gap by Banning Salary Negotiations
A women-in-business non-profit found that Fortune 500 companies with most women board members consistently outperformed those with fewest [1].

Market forces should therefore cause the numbers of women board members to increase accordingly, however, "change has occurred at a sluggish pace" [2].

The 40% EU objective stipulates that "qualification and merit will remain the key criteria" and will hopefully challenge unconscious biases that may be behind the sluggish progress [3].

[1]: http://www.catalyst.org/knowledge/bottom-line-corporate-perf...

[2]: http://www.ey.com/US/en/Newsroom/News-releases/Women-are-joi...

[3]: http://europa.eu/rapid/press-release_IP-12-1205_en.htm

iamdanfox··on Ask HN: How to integrate coding into primary school?
I would hesitate to make primary schools kids learn 'coding' because personally, I find the underlying problem solving more inspiring than learning syntax.

FIRST Lego League [1] offers a compelling alternative though. I competed in FLL with a team of other primary school kids and greatly enjoyed designing a robot (with motors and sensors) and then programming it to solve tasks using a drag and drop language. Each member of our team could focus on the part they enjoyed most rather than everyone sitting in front of the computer.

"FLL challenges kids to think like scientists and engineers" and has a glamorous 'World Final' event that is honestly the coolest thing in the world when you're 11.

[1]: http://firstlegoleague.theiet.org/

iamdanfox··on Android Is Peeing on an Apple in Pakistan - Google Maps
Otto Lindberg did exactly this to for a whole town in the 1930s!

Amazingly, the fake town (called 'Agloe') "became real — and then, strangely, undid itself and became a fantasy again" [1]

[1] http://www.npr.org/blogs/krulwich/2014/03/18/290236647/an-im...

iamdanfox··on Project Fi by Google
I bet there would be a psychological impact. People would curtail their usage and frantically switch antennas on and off, resulting in an overall poor experience.

Perhaps having a big allowance in mind just encourages people to use their data!

iamdanfox··on Project Fi by Google
I often have to manually disconnect from a slow wifi connection and switch to 4G. Project Fi doing it automatically looks great!

Those tariffs seem pretty steep though - I'm getting 3GB of 4G data for £15 a month [1]. Is $50/mo normal in the states?

[1]: https://giffgaff.com/goodybags-4g

iamdanfox··on A blueprint for clearing the skies of space debris
Will this be the first spacecraft mounted laser weapon?

> "we plan to install a full-scale version on the ISS, incorporating a three-meter telescope and a laser with 10,000 fibers, giving it the ability to deorbit debris with a range of approximately 100 kilometers".

iamdanfox··on Gyroscope: A personal site powered by your life
Having used both, I personally prefer Strava. I've found it far better at motivating me to run. You can compare your performance against other runners along pre-defined segments (e.g. some hill you regularly run). The two people I've recommended Strava to are now hooked.

Their engineers make cool side projects [1] and release interesting new features regularly.

[1] http://labs.strava.com/heatmap/

iamdanfox··on The new MacBook
From http://www.apple.com/uk/macbook/specs/

  Supported scaled resolutions:
   - 1440x900
   - 1280x800
   - 1024x640
I think the screen will probably be ok.
iamdanfox··on ResearchKit: A software framework designed to benefit medical research
Android compatibility looks feasible since the kit will be open source [1]. That should open up the ResearchKit demographic quite a bit!

[1]: https://developer.apple.com/researchkit/

iamdanfox··on Google Confirms Plan to Offer Wireless Service
It seems you can bypass the WSJ paywall by Googling the article name:

https://www.google.co.uk/search?q=Google+confirms+plans+to+o...

iamdanfox··on Coffeescript 1.9.0 contains a backwards incompatible change
I've greatly enjoyed writing CoffeeScript, but am concerned that over the long term, it will fall behind javascript in terms of feature support.

The [Babel][1] transpiler (formerly 6to5) and tooling like Facebook's typechecker, [flow][2] have large teams and a rapid pace of development.

I don't want to miss out on cool features like generators, let/const, etc just for CoffeeScript's lovely bracket-less code.

[1]: https://babeljs.io/ [2]: http://flowtype.org/

iamdanfox··on Ask HN: What is the architecture of HN?
I'm not sure if this is what you meant by 'architecture', but Paul Graham [1] describes writing the first version of HN in a dialect of Lisp called 'Arc' [2].

An old version of the code appears to be available on GitHub [3].

[1]: http://www.paulgraham.com/hackernews.html [2]: https://en.wikipedia.org/wiki/Arc_(programming_language) [3]: https://github.com/wting/hackernews

iamdanfox··on A Deep Dive on React Native [video]
Completely agree - speeding up only really works with certain accents and presenting styles.
iamdanfox··on A Deep Dive on React Native [video]
If you have to watch a video though, try increasing the playback speed (it's in the little settings gear on the YouTube player).

I normally listen for a few minutes at double speed, then drop down to 1.5 if necessary.

iamdanfox··on Build Static Websites
I've been trying this philosophy out on a little GitHub Pages editor app [1]. Everything happens client side apart from a tiny bit of OAuth handled by heroku!

1: http://github.com/iamdanfox/ghupdate/

iamdanfox··on U.S. Spies on Millions of Cars
I had thought that ALPR data would be quite a very tool for detectives, but a related article [1] is quite disparaging about their use in Vermont. Apparently in 2013, for a ~$1m investment, 106 queries were made resulting in just 3 cases of useful information.

I think combining each states' databases as described in the WSJ will actually improve this number and is actually a prudent decision.

1: http://digital.vpr.net/post/license-plate-scanners-raise-pri...

iamdanfox··on The Clock
If you haven't already, definitely try a polarizing filter. I had to take some shots of some glass-framed artwork and it worked really well for those!
iamdanfox··on The Clock
One of the most pleasing things for me is that his gallery was navigable using two finger swipes on my macbook!
iamdanfox··on Riot – A React-like, 2.5K user interface library
Immutable props seems to be one immediate difference between React and Riot. I hope this could be considered for a future update; immutability by default makes debugging so much nicer!

(Also React's PropType checking is surprisingly useful)

Page 1 of 2Next →