HNHacker News
TopNewBestAskShowJobs

moonboots

3,611 karma · joined April 24, 2011

jack@typing.io
submissionscomments
moonboots··on Typing Practice for Programmers
Thanks for pointing this out. I will see if I'm holding on to references to finished lessons for too long.
moonboots··on Typing Practice for Programmers
Currently there's an option to tweet your results after you finish any entire lesson. However, I will consider adding more sharing opportunities.
moonboots··on Typing Practice for Programmers
Love the metaphor and glad you enjoyed the experience
moonboots··on Typing Practice for Programmers
I found myself fat fingering too many keys, wanted to improve my typing, and one thing led to another...
moonboots··on Typing Practice for Programmers
Thanks for the feedback and criticism. I decided to keep error correct close to the error instead of allowing navigation to simplify navigation logic. Mimicking normal editing may have still felt stilted if I didn't support the mousing around or keyboard shortcuts programmers are used to with their editors.

I debated whether to require typing the import/include boilerplate at the start of code. As you noted, this usually done piecemeal and often inserted by an ide. I decided to include it as it's part of the code and looked for code samples that didn't go overboard. For the Java and Scala examples, I collapsed imports into wildcards imports.

moonboots··on Typing Practice for Programmers
Good question! I wanted to focus on helping users practice typing code with its often cumbersome symbols. The majority of comments are prose, comfortably near the home row, which I didn't feel deserved as much attention. Plus some comments (like the ones in the Guava projects) are longer than the code.
moonboots··on Typing Practice for Programmers
You can try typing.io without signin in by clicking the demo link below the blue button.
moonboots··on Typing Practice for Programmers
You can try typing.io without signing in by clicking the 'demo' link under the signin button.

I choose Google because I didn't want to worry about email verification, salting, key derivation functions, etc.

moonboots··on Typing Practice for Programmers
I am! This is good idea. Keep an eye out for a blog post...
moonboots··on Typing Practice for Programmers
Thanks, I'm glad you found the stats useful. In my initial version, I wasn't requiring the user to correct errors. I was personally getting errors rates around 3~5% , which appear good but seemed too low for the amount of errors I feel I make. Adding the need to backspace and correct keys revealed the true cost of mistyping a key, namely the wasted keys typed before correcting and all the backspaces.

Thanks for pointing out typeracer. I will take a look at it and try to incorporate its error handling.

moonboots··on Typing Practice for Programmers
I'm glad someone noticed! I hope you whitelisted typing.io in noscript:)
moonboots··on Typing Practice for Programmers
Thanks for the bug report. I'll look into what's happening with your key inputs on Safari.
moonboots··on Typing Practice for Programmers
Thanks for the js library recommendations. I've taken a look at keymaster, and it's mostly focused around modifier keys used in shortcuts. I'm currently using google closure library, but I will need to add more key recognition and failsafes in case there is a unrecognized keyboard layout.
moonboots··on Typing Practice for Programmers
Autocompletion is an important tool along side typing proficiency. Most of the autocomplete I've used only covers alphanumericVariableNames, so you still have to type the hard-to-reach symbol keys.
moonboots··on Typing Practice for Programmers
Thanks, will take a look into this
moonboots··on Typing Practice for Programmers
Thanks for the bug report. The next update will fix international keyboard layouts once I figure out the mess that is cross-browser, cross-language javascript key event handling:)
moonboots··on Typing Practice for Programmers
Author here, thanks for the feedback. Do you mean the backspace cursor that appears after the user typed a character incorrectly?
moonboots··on Textmate 2 and why you should never rewrite your code
The Netscape rewrite became Firefox.
moonboots··on Making the Switch from Amazon Cloudfront to Fastly
Steve Souders blogged about how to serve scripts with far future expires without updating the client's script tag [1]. This technique initially loads the (potentially stale) js from the client's cache and checks for updates in the background, updating the client's cache if a new version is detected.

[1] http://www.stevesouders.com/blog/2012/05/22/self-updating-sc...

moonboots··on Do you check HTTPS certificates in your API clients?
Nginx ssl reverse proxy does not verify certificates. I tested by reverse proxying to an ssl server with a self signed certificate. Nginx did not log any warnings or complain.
moonboots··on Living with HTTPS
A solution going forward to contain 3rd party javascript is HTML5 sandbox iframe. This allows declaring a whitelist of permissions 3rd party code should be granted. Only about 40% of browsers support this feature [1]. For unsupported browsers, the external javascript continues working without the security guarantees, so it's no worse than the situation now.

[1] http://caniuse.com/#feat=iframe-sandbox

moonboots··on Living with HTTPS
If you don't want to pay a premium for a wildcard certificate, you could just get another certificate for the static subdomain. You can get an unlimited number of free, single subdomain certificates from StartSSL.
moonboots··on How We Built A Data Center With Commodity Hardware And FOSS
Hetzner can set up a private gigabit vlan upon request[1]. They charge a one time setup cost for the switch (30 euros) and 15 euros/month/server. Internal and incoming traffic is free. With this setup, internal data transfer is at 1 Gbps while external transfer is at 100Mbps.

  [1] http://devblog.supportbee.com/2012/06/04/building-a-dependable-hosting-stack-using-hetzners-servers/
moonboots··on Update on Tuts+ Premium Security Breach
Absolute verification is impossible, but this doesn't mean more verification isn't helpful. NetTuts should publicly says what key derivation function they are using. Could they be lying? Maybe. Could they have other security vulnerabilities? Probably. Would I trust NetTuts with my credit card number? No.
moonboots··on Update on Tuts+ Premium Security Breach
NetTuts needs to mention which key derivation function they are using so the community can verify they didn't fuck up again.

I would also recommend that they use this opporunity to teach their web developing users about proper password storage, but after reading their php hashing tutorial[1], I think it's best if their users look elsewhere. The tutorial eventually recommends bcrypt after listing multiple unsafe solutions. I understand that the author is trying to build up to the solution, but the correct solution needs to be in the first paragraph. The incorrect solutions need to be clearly flagged so a beginner skimming through doesn't see "md5" and stop.

[1] http://net.tutsplus.com/tutorials/php/understanding-hash-fun...

moonboots··on The fanless heatsink: Silent, dust-immune, and almost ready for prime time
Does this heatsink work when it's mounted vertically? The "hydroplaning"/floating effect seems to suggest the heatsink must be resting on the base instead of suspended sideways.
moonboots··on Scientists crack RSA SecurID 800 tokens, steal cryptographic keys
Direct link to researcher's blog post about the exploit: http://blog.cryptographyengineering.com/2012/06/bad-couple-o...
moonboots··on JQuery 1.8b1: what’s new?
There has been recent work to make jquery compatible with Google closure's advanced compilation[1]. As mentioned in John Resig's reddit comment you referenced, this would allow the compiler to automatically remove unused components in jquery and perform whole program optimizations. Unfortunately, this approach requires large rewrites to jquery to conform to the strict conventions required by the closure compiler.

[1] https://groups.google.com/forum/#!topic/jquery-bugs-team/2zb...

moonboots··on Introducing SPDY
I haven't seen explicit documentation about the rewriting behavior, but I assumed they were rewriting on based on the before and after waterfall charts in this blog post[1]. I agree it's not a great idea. Cloudflare actually recommends blacklisting problematic scripts [2], which partially defeats the feature's usefulness.

  [1] http://blog.cloudflare.com/56590463
  [2] http://www.cloudflare.com/wiki/Rocket_Loader
moonboots··on Announcing SPDY draft 2 implementation in nginx
I agree it's a big deal, but I wouldn't say people aren't noticing[1][2][3] or complaining[4].

  [1] http://tools.ietf.org/html/draft-montenegro-httpbis-speed-mobility-01
  [2] http://lists.w3.org/Archives/Public/ietf-http-wg/2012AprJun/0498
  [3] http://www.mnot.net/blog/2012/03/31/whats_next_for_http
  [4] http://librelist.com/browser//mongrel2/2011/8/17/opinions-about-spdy/#e67f0aaa71f4af3f0663195b99217f80
← PreviousPage 4 of 8Next →