HNHacker News
TopNewBestAskShowJobs

Cyranix

767 karma · joined February 5, 2010

  Contact:

    https://angel.co/cyranix (AngelList)
    http://cyranix.github.io (profile, currently outdated)

  Location:

    Seattle, WA

  Currently:

    CTO at Hazel Analytics (Seattle, wA)

  Selected history:

    Developer at Socrata (Seattle, WA)
    Developer at Moveline (Las Vegas, NV)
    Developer at MyEdu (Austin, TX)
    Rice University (Houston, TX), B.A. in linguistics
submissionscomments
Cyranix··on Ask HN: Who is hiring? (May 2014)
If you have specific questions or want to know more, feel free to send an email to me at andrew.harrison+hn@moveline.com — I was hired from a HN posting about half a year ago.
Cyranix··on Build Tools – Make, no more
Agreed. Mixing languages is fine when necessary, but a single language is usually preferable to me. My dev team has been using Grunt in projects thus far and have been pleased with Gulp in small experiments.
Cyranix··on Ask HN: Who is hiring? (April 2014)
I'm a developer at Moveline who was hired through an HN post. Feel free to send a message to andrew.harrison+hn@moveline.com if you want to know more.

(N.B. — I may internally share the messages that I receive in order to refine our hiring process, but you won't be signed up for mailing lists or anything gross like that.)

Cyranix··on For Nearly Two Decades the Nuclear Launch Code Was 00000000
I had a flight a few months ago during which I was seated next to a fascinating woman whose mother had survived one of the nuclear bombs dropped on Japan during WWII. She had thrown herself facedown into a shallow ditch at the roadside, suffering tremendous burns on her back but staying alive. There's no question that it can pay to do your utmost when it comes to a matter of survival like that.
Cyranix··on RethinkDB 1.11 is out: query profiler, new streaming algorithm, devops features
RethinkDB was dead simple to get up and running, and it has been a joy to work with for one of my side projects. Keep up the fantastic work!
Cyranix··on Hey developers, stop forcing me to login to unsubscribe
Hear, hear. If you're worried about legit customers getting unsubscribed against their will (because that is TOTALLY a significant occurrence...), you can have a dual approach. Unsubscribing without authentication sends one final message which has an undo link; unsubscribing while authenticated shows a confirmation on the site instead of the inbox.

I know, the "Here's an email to confirm that you hate our emails" message isn't anyone's favorite... but if it helps companies improve their unsubscription mechanisms, I can let it slide.

Cyranix··on Ask HN: What do you think of job hopping?
I've been a developer for a little over five years now, and I've had four jobs. The longest of them lasted over two years, and shortest lasted three months. I'm actually leaving a job today after a little over eighteen months.

In my limited experience, rapid job changes at the outset of one's career aren't particularly damaging -- providing you can offer an honest and reasonable explanation. I left my longest job because I had to move in support of my wife's career. I left my shortest job because the technical lead was toxic and the work would have led to a dead-end career. I'm leaving my job today for a variety of reasons which I've discussed amicably yet honestly over a period of several months with my manager. In no case was a better salary or some other material gain the primary motivation behind my decision to leave.

There's something to be said for getting exposure to a variety of environments early on. Freelancing, consulting, part-time jobs, summer jobs, and co-op terms can help to maximize exposure without much risk of negative career implications. If you have good priorities -- e.g. eventually ending up in a fulfulling, long-term job with appropriate pay -- a few changes will likely do more good than harm. But if you routinely leave when the technical challenge stops being sexy or if you attempt to get a cushy job with nothing but shortcuts, you can find yourself in trouble.

Cyranix··on Note to recruiters
> your to buzy

Grammar... rage... rising...

Cyranix··on George Orwell: Politics and the English Language (1946)
I'm certainly familiar with the phrase. In American English it would be considered a collocation (https://en.wikipedia.org/wiki/Collocation) because "trash can" et simil have replaced it... and Orwell's essay suggests that collocations detract from clarity. But I've clearly exposed my ignorance about this particular Britishism.
Cyranix··on George Orwell: Politics and the English Language (1946)
Many thanks to you and the other replies for increasing my linguistic cultural awareness!
Cyranix··on George Orwell: Politics and the English Language (1946)

  > one can even, if one jeers loudly enough, send some
    worn-out and useless phrase ... into the dustbin,
    where it belongs.
Such a fitting sentence on which to end the essay, since "dustbin" is no longer part of the modern English lexicon, as far as I know.
Cyranix··on From a useless Git Diff to a useful one
For those wondering: in ~/.gitconfig or similar,

  [alias]
    df = diff --patience --ignore-space-at-eol -b -w --ignore-blank-lines
Cyranix··on Russia: Hidden chips 'launch spam attacks from irons'
That may be part of the reason. Common household item with somewhat unpredictable usage sounds like a good way to mask the activity.
Cyranix··on Level Up Your Shell Game

  alias refresh-bash="source ~/.bash_profile"
Cyranix··on CodeCombat in Y Combinator
Don't forget that in addition to code and art, you have data. Even if someone clones your codebase and invests time in recreating visual assets, they won't be able to draw on the player experiences you've been collecting. With data, you're able to identify trends and test new approaches smartly in order to maintain the edge; your would-be competitors wouldn't have much more to go on than their own intuition.

I won't claim to know what he thinks exactly -- maybe he's the alum you refer to? -- but I wonder if Samuel Clay (Newsblur, YC S12) would agree with that sentiment, given that he has published https://github.com/samuelclay/NewsBlur for all to see. I haven't committed to my own startup idea yet, but my plan for it does involve open-sourcing the code while keeping a custom corpus and its associated NLP models private.

Cyranix··on Zuck makes his first major investment in Panorama Education (YC S13)
> Panorama isn’t a vastly complex piece of technology by design. Feuer has found that analog, paper-based systems still work best with students, parents, and teachers. The team will work with communities to host pizza parties and other gatherings, where the surveys are handed out.

Awesome that they're not trying to force technology down everyone's throats, which might keep real people at arm's length... and especially impressive that they can scale this approach to 4000+ schools. Best wishes going forward!

Cyranix··on Introducing Rubinius X
I can't speak to Spring and Hibernate, but using Guice for dependency injection has been quite pleasant. True, it does push some errors to run-time that I would have preferred to see at compile-time, but the error messages make the resulting fix immediately obvious.

(Can anyone speak to this aspect of working with Dagger?)

Cyranix··on How exercise boosts brain health
As the husband of a neuroscience researcher who works with a mouse model, I believe you'd be surprised at the applicability of such research towards human analogues.
Cyranix··on Time-lock encryption
Ha, close enough I suppose. Thank you!
Cyranix··on Time-lock encryption
Not directly related to this article, but gwern.net seems to be coming up on the front page quite often. Is there an RSS feed for the site? I was unable to find one.
Cyranix··on Node.js and the new web front-end
Are you claiming to have an objective yardstick for comparing the goodness of languages? (Don't answer that.)

If not, please remember that different languages are just that -- different, not necessarily better or worse. Personal attitudes towards the differences between languages are totally normal. Bearing this in mind will help the conversation proceed in a more civil manner.

Cyranix··on You Can't JavaScript Under Pressure
> obscure variable names

Absolutely! Being under the gun led me, at one point, to have a "longest string in array" method with a statement like

  if (i[z].length < qq) { ... }
Cyranix··on Ask HN: Who is hiring? (October 2013)
> you can be anywhere

It will help job seekers if you put REMOTE in the first line of the posting.

Cyranix··on RethinkDB 1.10: multi-indexing
I kicked off a new project just a few days ago with RethinkDB -- absolutely loving it so far. This new release addresses a minor pain point and gives me confidence in my choice of data store.

In case `coffeemug is still checking in here, I'd like to put in a request to update the documentation page on drivers. The listed Elixir driver has been broken for a few months; a working one can be found at azukiapp/elixir-rethinkdb. Overall the page could be organized a bit better: putting the languages in alphabetical order and not duplicating the list (which pushes contributor names below the fold) seem like straightforward improvements. Thanks for all the hard work -- hope to be sharing my project and showing off some RethinkDB swag before too long!

Cyranix··on Firing and being fired
> Wait, so you fire half of your staff and they're happier afterwords? Again, I have to question whether it's the employees' fault or the company's fault. If half of your staff is leaving to places where they're happier, what does that say about the company?

I agree with a lot of what you've said, but that bit struck me as unfair. It's natural for employees to be fired, and for those fired employees to reflect on the past in order to find jobs that make them happier -- what a depressing world it would be if that weren't the case! -- so I'm not sure I'd conclude that their personal growth necessarily implies a systemic problem in the company (especially at n=6). And it's entirely possible that someone might get fired from a different company and end up happier at the OP's company, no?

Cyranix··on Inexperienced doesn't mean stupid
Adding to (1b): it's not just that companies will ignore some aspects of the job description as posted. For some companies, that description isn't intended to represent the expected contribution of a single employee -- if you read between the lines, it might be a description of a new team or of a new long-term initiative. The company might post it as though it were a job opening for an individual out of laziness, out of ignorance of what skills are actually needed, or in the hope that one magical developer will be able to do everything on their wish list.

Ultimately the company will want most, if not all, of the listed skills covered. However, if you can convince decisionmakers that you can successfully start addressing a subset of their needs today, as `patio11 says, then the company may recalibrate their posting to find someone (or multiple someones) to cover the remaining duties or provide training to you (or to existing staff) to shore things up.

The lesson is not to take a job description at face value. Setting aside the fact that some postings are written by people who don't actually understand the role, companies will always try to hire the most talented people for the least amount of money, as they ought to. But if hiring that one mythical ultra-developer is "shooting for the moon", then hiring someone who can effectively make inroads into the company's growth areas is "landing among the stars".

Cyranix··on Git concepts simplified
I'm not sure I see how you could use `git stash` to accomplish the same thing. Running `git stash && git stash pop` is almost a no-op, so you don't get the benefits described above. Am I missing something?
Cyranix··on Git concepts simplified
Not to be cruel, but I don't understand how you've used Git for years without understanding what the index is. There's more than a few learning resources for Git online to satisfy your curiosity. Anyway, to give an abbreviated explanation:

The index is a staging area for your commits. When you use `git add`, changes in the working directory are staged (prepared) for the next commit. If you pass the `-a` flag to `git commit`, Git will stage all changes to files that it is already aware of. (Recall that new files are untracked and must be manually added to the index the first time they're committed; `-a` won't add those files because Git doesn't already know about them.)

Why have a staging area instead of just creating a commit directly from all the changes in the working directory? It's basically a sanity measure for organizing commits if you're ever anything less than a perfect developer. If you make a bunch of changes and later realize that there's more than one "unit of work" represented in those changes (however you choose to define those units), you can selectively add files to the index to create commits that make sense. You can even use the interactive mode of `git add` to selectively stage changed sections within a single file. If you care about the benefits of sensible commits -- bug hunting with bisection, ability to run `git revert` to undo a logical unit of work -- then the index is your friend.

A few random pages on the index that I pulled up:

[0] http://www.gitguys.com/topics/whats-the-deal-with-the-git-in...

[1] http://git-scm.com/book/en/Git-Tools-Interactive-Staging

Cyranix··on SteamOS
Here's hoping that this effort is where they've been concentrating some of their non-game devs. There have been longstanding issues with Valve-produced UX once you look beyond the in-game aspects. TF2 server list couldn't sort properly on the first update for years, the Steam browser is often dog slow, etc. -- things that are front-and-center pain points for me. A perfect initial release isn't a reasonable goal, but I do hope that they'll be able to polish the out-of-game experience better than they have in the past.
Cyranix··on Rainyday.js
Great efforts. I don't think it's usually the case that a raindrop is brought to a stop once it overcomes friction, though, right?
← PreviousPage 4 of 12Next →