HNHacker News
TopNewBestAskShowJobs

jsaxton86

626 karma · joined May 30, 2011

https://jsaxton.com/
submissionscomments
jsaxton86··on Ask HN: Final year project in CS
I wouldn't do the website as a matter of principle.

I helped build a website for a department when I was in college. I was paid a reasonable hourly rate in exchange for my services. In this case, the OP would be paying the university money in exchange for the privilege of building them a website. That's insane.

jsaxton86··on Jack Ma Says: If You’re Poor at 35, You Deserve It
I'm sure lots of poor people would find wisdom in what you're saying, including single mothers, people with health issues, people making a lot less than $10/hr, students, and a lot of others I'm sure I'm forgetting.
jsaxton86··on I was asked to crack a program in a job interview
Does this guy have any idea how hard it is to come up with good interview questions? By posting the question and solution online (complete with an md5sum and everything!), he has ruined the question, and his employer will now need to spend a significant amount of time coming up with another way to evaluate candidates.
jsaxton86··on Methane Is Discovered Seeping from Seafloor Off East Coast, Scientists Say
I share the grandparent's frustration. I'm not opposed to the NYT having a paywall, but submitting paywall-protected content to a news aggregator is a bad idea, especially when free alternatives exist. The point of a news aggregator is to share content with the rest of the community, and paywalls are designed to restrict that access.
jsaxton86··on 6.0 Northern California earthquake
The problem with Phoenix is that it already has a larger population than its water supply can support.
jsaxton86··on Ask HN: Who is hiring? (August 2014)
Elemental Technologies (Portland, OR) -- http://www.elementaltechnologies.com

We have lots of open positions, but most are for Software Engineers (specifically, anyone with C++, Rails, or video expertise): http://www.elementaltechnologies.com/company/careers

We're a growing company with maybe 140 people now. Our specialty is video transcoding, and we're doing some pretty game changing stuff, especially in the areas of HEVC/h.265 and 4K. I think we were the first company in the world to successfully pull off a live 4Kp60 broadcast. We're working with many of the biggest names in the industry (ESPN, HBO, Comcast, BBC, etc.), and being involved in events like the World Cup and Olympics is a lot of fun.

Even though we have ~140 people now, Elemental still definitely has a startup feel -- almost everyone does a lot of new feature development. The team is extremely competent -- the most competent I have ever been a part of. Our products generally have 4 layers:

* A video codec written in C (with some CUDA -- we have GPU accelerated codecs)

* A C++ media engine that basically takes the aforementioned codec and does useful stuff with it (this is what I work on)

* A process manager written in Ruby

* A Ruby on Rails UI that basically takes in a bunch of user settings and converts it into an XML file that gets passed into the media engine

* We also have a cloud product that runs on top of AWS

The benefits at Elemental are amazing, and too numerous to list here. I encourage you to check them out here: http://www.elementaltechnologies.com/company/careers/benefit...

If you have any questions, please email me at john.saxton [at] elementaltechnologies [dot] com or feel free to apply via our website: http://www.elementaltechnologies.com/company/careers

jsaxton86··on How to Get a Job Using a Technology You Don't Know
Summary: If you want to learn a new technology, consider implementing a side project with that technology.
jsaxton86··on Ask HN: What did I do so wrong in this coding interview
You are correct. Here are the revised numbers after excluding public/scripts/node_modules:

  -------------------------------------------------------------------------------
  Language                     files          blank        comment           code
  -------------------------------------------------------------------------------
  PHP                             36            330           1048            597
  Javascript                       9            101             86            362
  SASS                             6              4              4            127
  XML                              1              0              0             18
  CSS                              1              0              0              1
  -------------------------------------------------------------------------------
  SUM:                            53            435           1138           1105
  -------------------------------------------------------------------------------
jsaxton86··on Ask HN: What did I do so wrong in this coding interview
I'm trying to figure out how much effort went into this. I ran cloc, and here's what I got:

  --------------------------------------------------------------------------------
  Language                      files          blank        comment           code
  --------------------------------------------------------------------------------
  Javascript                     1803          66480          85484         423029
  HTML                             57            847             79          20374
  SASS                             19             21              8          12114
  C++                              38           1011            763           7700
  C/C++ Header                     45            816            713           5165
  CSS                              16            133             27            777
  PHP                              36            330           1048            597
  CoffeeScript                     14             72             44            326
  make                             13             91              3            255
  YAML                             39              8              0            227
  Bourne Shell                     16             49             42            197
  Python                            1             32              7            125
  m4                                1             12              0             61
  Bourne Again Shell                5             15             16             38
  XML                               1              0              0             18
  Ruby                              1              0              2              4
  --------------------------------------------------------------------------------
  SUM:                           2105          69917          88236         471007
  --------------------------------------------------------------------------------
Most of this is obviously third party code, but it looks like you wrote thousands of lines of PHP, plus a bunch of frontend code?

I'm not a web developer, but this seems like a day or two of work? That seems unreasonable to me, and I probably wouldn't have agreed to that level of commitment, especially if they were still interested in me after an interview.

Side note: in the webdev world, is it normal to have third party code mixed with stuff you wrote yourself? In C++ land most of the third party stuff would have gone in a contrib directory or something before being built into a library of some sort.

jsaxton86··on The ROI on being an entrepreneur vs. an employee
Yeah, I think we're pretty much on the same page. I think we both agree that established startups probably provide the best balance between risk and reward, but I'm less optimistic about the potential reward, especially for an engineer.

I joined the company I currently work for about a year after they raised a series C round. Most importantly, I get a pretty competitive base salary, but I also have some stock options. Even in the best case scenarios I think I'm looking at new car money, not mid-six figures. From talking with other coworkers, joining shortly after the series B round would have increased my options by roughly a factor of 3, in which case that "new car money" becomes "down payment on a house" money. Which is great, I'm not complaining at all, but it's not enough such that anyone post-series B that I know will be making a few hundred thousand per year.

jsaxton86··on The ROI on being an entrepreneur vs. an employee
"You'll almost certainly walk away with the equivalent of a few hundred thousand per year"

"Certainly" is an inappropriately strong word. Even if you assume a salary of $150,000/year, in order to reach $300,000/year you would need to make $150,000/year in stock options, which comes out to $450,000 total if you assume it takes 3 years to get from series B+ to an acquisition/IPO. Of course, it could take longer. Or the median outcome could occur and neither event would happen.

So even in the unlikely scenario that the company goes from series B -> liquidation event in 3 years, and you get 0.25% equity (I'm assuming unreasonably generous stock options here for your average engineer, especially given the base salary), the company needs a $180MM liquidation event for the math to work out. This of course assumes that all stock is equal and your investors don't have a liquidation preference or anything like that. It also assumes the company doesn't take additional financing that dilutes the option pool.

jsaxton86··on GitHub is your resume so keep your resume in GitHub
As mentioned several times, Github is not your resume. At the very least, it's not mine. Sure, I have a github profile, but the little side projects there don't really have anything to do with my professional work (most recently, data deduplication and video processing).

Also, LaTeX can produce much, much better resumes than markdown. Here's a link to my (extremely dated) resume using the moderncv template: http://jsaxton.com/resume.pdf

It's great for a number of reasons:

1: It immediately gets the attention of the hiring manager, since it looks way better than the typical MS Word resume.

2: It's really easy to edit. If I want to add an item, I just add "/item Did X". It's great.

3: It's plaintext, so you can throw it in git, which is really nice. Since I don't want the public to know if I'm updating my resume, I keep my resume in a private git repository (the same private repo where I keep all my Coursera work).

jsaxton86··on Why I Don't Drink
"It is expensive." is definitely relevant. If my fiancee and I go out for dinner and we each have a couple of drinks, the tab at least doubles.
jsaxton86··on Mark Karpeles' blog hacked
FWIW, the original reddit post says "Keeping in line with fucking Gox alone, no user database dumps have been included."
jsaxton86··on Ask HN: Where are the 750k Bitcoins lost by Mt. Gox?
An interesting idea, but it assumes that the demand doesn't change after a government seized a large number of BTC.
jsaxton86··on Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
I think it mostly depends upon the range of each of the nodes. If your nodes have an average range of 820 feet (the range of 802.11n (in good weather, I assume)), and you have 1 node exactly every 820 feet between NY and SF, that's over 16,000 links. If each link has 10ms of latency, that's 16s of latency.
jsaxton86··on Open Libernet: a Bitcoin-based fully encrypted mesh networking protocol
A large scale mesh network is interesting to me for a couple of reasons:

* Consumers would no longer be dependent on monopolies like Comcast for internet service (OSI layer 1)

* It is much more resistant to eavesdropping and censorship (OSI layers 2-3)

These seem like two totally different problems to me, and I'm still struggling to understand how the physical layer part can work on a large scale.

I get how they could work on a small scale. For example, you could easily set up an ad-hoc wifi network in a college dorm for, say, file sharing purposes. But in most other settings, I don't get how it could work. Most people don't even talk to their neighbors, so even if you lived in a neighborhood that had a high enough density of nodes for this to work, why would you want to share a little ad-hoc network with your neighbors?

Of course, wireless networks alone aren't going to be sufficient to build a large-scale mesh network that could disrupt existing ISPs. The latency alone makes this infeasible. So you need someone to invest in physical links, especially physical links that cover long distances. That's why the BTC part of this proposal is so great -- it provides a way to compensate these people. Of course, this is just a slightly different problem than the one we have today, but instead of being stuck with Comcast we're stuck with whoever runs these physical links.

jsaxton86··on Losing graciously
You might want to try out Xubuntu. XFCE is even more lightweight that GNOME2 and I have really come to appreciate it.
jsaxton86··on Living in retirement: Seven things I wish I could tell my 35-year-old self
That sounds awesome! How did you deal with the Darien Gap? Ferry?
jsaxton86··on We are not normal people
Does the barber need arbitrary shapes in this case?

It looks like his pain point was that he was walking to a computer. Perhaps having a tablet by his phone could fix this problem? It could be as easy as the paper calendar solution, but since it's all being done electronically, you could allow people to schedule appointments online and such.

jsaxton86··on Java Primary Cause of 91 Percent of Attacks: Cisco
The Java browser plugin runs unsigned applets in a sandbox. Sandboxed applications can only use a subset of Java that should make it impossible to cause serious damage to the host system. However, if an attacker can break out of the sandbox, they can do whatever they want, so this is a pretty common attack vector.

If you're interested, I spent some time figuring out how these attacks work and I blogged about it here: http://jsaxton.com/fun-with-wireshark-and-ie-java-exploits-p...

jsaxton86··on The NASA Studies on Napping
This is interesting, but I wouldn't consider it a conclusive study. According to the original paper, the sample size is only 21 (12 napping pilots, 9 no-rest pilots).
jsaxton86··on Target's data breach bigger than first thought – more than 100M records
I heard a rumor that it's because Visa/MasterCard don't want to update every point-of-sale terminal in the country.
jsaxton86··on The Space Monkey Upgrade Scam
The premise of your argument (that you own the Space Monkey device) is totally unfounded. In order to win this debate, you're going to need a stronger claim to ownership than "I thought I owned it, so I own it!"
jsaxton86··on The Space Monkey Upgrade Scam
Here's what Space Monkey promised on their kickstarter page[1]: "Space Monkey is the next generation cloud. For $10 per month, you get a full Terabyte (1000 Gigabytes) of storage you can use anywhere, any time."

No device is promised, and even after re-reading his blog post, I'm not sure what emil10001's argument is. He feels he owned his Space Monkey, because what? Because he felt that he should own it? Because there wasn't a big red font on the kickstarter page that said "YOU DO NOT OWN THE DEVICE!!!"?

Maybe emil10001 has a point and Space Monkey is running a huge scam. That, of course, is premised on the assumption that Space Monkey sold him a device, then insisted he didn't own it. Emil10001 has provided no evidence that this is the case. That's not hyperbole, go reread his blog post. It's like a kid throwing a temper tantrum because he isn't getting his way. I can't believe this is getting upvoted on HN.

[1]: http://www.kickstarter.com/projects/clintgc/space-monkey-tak...

jsaxton86··on A Crypto Challenge For The Telegram Developers
There's a great Crypto I course on Coursera that I would highly recommend.
jsaxton86··on Show HN: I made an easy-to-understand 6502 emulator in pure C
At a previous job, there was a legacy UI application that had a 10,000+ line file called "messloop.c". It consisted of a function called messloop(), which was an infinite loop with a massive switch statement inside of it. I never had to work on it, but I'm told it was a maintenance nightmare.

So when I read the author's code and saw the way he handled a similar problem, I was intrigued. If you had to deal with a massive switch statement with thousands of cases, it would probably be easier to maintain IMHO.

For a hobby project, the author's solution is 100% correct and I'm not critiquing it at all. In fact, the only reason I even commented was because I thought his solution was better than any other procedural solution I had seen before.

With that said, in an enterprise environment, where maintainability is crucial, I'd argue that a massive switch statement is probably a bad idea. Going back to messloop.c, what happens if the user tries to change a floating point value through the UI? Well, I can tell you that there is a case statement for that somewhere in messloop.c. What is that case statement called? I'm not sure, all I know is it's a #define that I'm sure made sense to the original author. It's basically a needle-in-a-haystack problem.

jsaxton86··on Show HN: I made an easy-to-understand 6502 emulator in pure C
One of the most interesting parts of this code to me was the switch statement in the main loop. Professionally, I have run into programs that have massive switch statements with hundreds of cases in them, which I've always considered a "code smell". Your approach is interesting -- breaking everything up into logical groups, putting them in separate files, then using the preprocessor to put everything back together -- that's the first time I've seen that.

I'm still not sure how I feel about it -- you could argue that you have the same problem, but now it's spread out over many files. At the same time, I can look at the loop and have a pretty good idea of what it does and I can easily find what I'm looking for. I guess without OO, there isn't a great solution to the problem, although yours is probably a slight improvement, with the added bonus of getting me to think about the preprocessor in a new way.

Good work.

jsaxton86··on Scientists discover Indonesian cave with 'stunning' record of tsunamis
I can't find the original paper, unfortunately. With that said, it's interesting to compare the OP with the BBC's reporting of the same story: http://www.bbc.co.uk/news/science-environment-25269698
jsaxton86··on Why I Wrote PGP (1999)
I don't think you understand why people approve of what the NSA is doing, which is why that's usually going to be an ineffective argument. The NSA promises a safer country, and all we have to is let them do a little bit of surveillance behind the scenes. We won't even notice -- it's not intrusive in the same way that a cavity search is. An NSA supporter once asked me if I would have given up the metadata on my phone if it would have prevented 9/11 and saved ~3000 lives. I wouldn't, for reasons that have been discussed on HN repeatedly, but I think it's still a fair question.

The real issue here is the power imbalance combined with the lack of oversight and accountability. When I talk to NSA supporters, that's what I try to emphasize.

← PreviousPage 2 of 4Next →