HNHacker News
TopNewBestAskShowJobs

caw

692 karma · joined October 2, 2011

submissionscomments
caw··on Ask HN: What Can Distributed Software Development Teams Learn from FLOSS?
There was a previous discussion about fully distributed teams here: https://news.ycombinator.com/item?id=3976819

It sounds as though you're doing a partially distributed team though, which is hard to do correctly. You basically have to treat the remote workers same as a remotely-managed multi-site team, except a site has only 1 worker. You have to worry about any resulting politics and the remote worker(s) getting marginalized and upper management thinking "If they're not present they must not be important to the payroll". That decision made informally during free bagel friday? They haven't heard about it.

One way I've heard it put is that everyone in the office now works in a corporate branded internet cafe, and should assume they're working fully remotely. That means more written artifacts about decisions and design.

From my own experiences, similar timezones work best. If you're in the US and your coworkers 12-13 hour different from you, it's going to be difficult if you're the only person holding everything together without some working hour modifications from either side.

For the technical issues, you need a realtime and asynchronous communication component. Chat and email works fine for this, though you can also do an audio/video chat.

caw··on Why are glasses so expensive? (2012)
I've purchased Zenni glasses for my last 2 prescriptions. The first pair I got I found much more comfortable after replacing the nose pads with a kit from Walmart. Otherwise the glasses are pretty good - lightweight, double hinged and everything.

I reordered the same frames this past year and they seem to be fine, so I don't know if they changed up the nose pads in any way or if I managed to adjust the frames properly this go around.

For sunglasses I go with with Luxottica because of the premium polarized lenses. I wear sunglasses 11 months out of the year so I definitely agree on getting a quality pair.

caw··on Adopting Microservices at Netflix
This other quote seem horrific as well.

> A single specialist in Java distributed systems is managing the entire configuration without any commercial storage tools or help from engineers specializing in storage, SAN, or backup.

So this person is either a genius who has specialized knowledge in these areas, or it's been abstracted by the platforms people to the point where it's only Java knowledge. Either way, it sounds like this person never gets to take a vacation or be not on-call. Hopefully there's not just 1 person responsible for all of the configuration, it just takes 1 person to run it.

> Process prevents problems. At many companies, the standard response to something going wrong is to add a preventative step to the relevant procedure.

The linked section goes on to talk about HR process with the "Act in NetFlix's best interest". It totally avoids the concept of technical processes. I'm betting "best interest" is a bit more formal on the tech side. Bad process is process for process's sake. Good process serves a very important role for offloading what people have to remember, as well as knowledge transfer. From time to time, steps of a process become irrelevant because of other changes and it has to be pruned. Sometimes companies forget about this step.

If Netflix has ever seen a problem with their builds/deploys and added a test to check against that problem, guess what--they followed the standard response to update the procedure. It's not necessarily a bad thing.

caw··on Why One Programmer Doesn’t Do DevOps Anymore
If you take your definition as "ops people who code and automate", you get a really efficient ops team who can orchestrate several hundred or thousand servers.

You still then have a friction point between "dev" and "ops" relating to hand off. Ops could go full PaaS, but more than likely you'll end up with a "cloud" infrastructure where your dev team will have to learn ops, or the traditional model where stuff gets thrown over the fence. Good luck deploying that service because there was no capacity planning and it'll take 6-8 weeks to get hardware from the vendor, regardless of whether ops can rack it and build it in under a day.

It's far better to have an org overlap so that ops is involved in dev planning to help address roadblocks, assist in capacity planning and management, as well as help reduce friction in tasks.

caw··on Performance Tuning Linux Instances on EC2
Didn't realize it was a 4 tuple, I was thinking of just the binding to the local port. Still, increasing the ephemeral range will cause problems with applications relying on ports outside the default ephemeral range.
caw··on Performance Tuning Linux Instances on EC2
> Again, why? My understanding is that this controls the range of ports that the kernel selects from for new sockets; e.g., if you make a TCP connection to google.com on port 443, on _your side_ the connection is <your ip> : <a port from that range>; the default range is [32768, 61000], and this is per destination IP. (You can have two connections to two separate IPs with the same local port.) The default range is nearly 30k ports wide. Are you opening >30k connections to a single host?

This port range is sometimes known as the "ephemeral port range" and works as you described. How can you have 32 tabs open to news.ycombinator.com port 80? The source port on your machine are all different ports and from that range.

The 30K range is not to a single host, it's just all open connections waiting for data to return. That is to say, the connections are established, being established, or being torn down. If the connection was completely torn down you'd be able to reuse the port and there would be no issue.

So if your network working set is >28K ports, you may need to change this setting. Most people probably don't need to change this. If you do need to change this because you find your application is throwing errors about binding to ports in use, the above suggestion is fairly decent for setting and forgetting.

The one problem with the above suggestion is if you have an application binding to a port somewhere in the range of 10240-32768 or 61001-65535 (http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_number... for examples, it's obviously not complete). You can't just say that 10240-65535 is fair game for ephemeral connections, because inevitably an ephemeral connection will block a known port bind attempt, and your service will fail to run.

caw··on Ask HN: Dealing with quick exploding internship offers
Some schools have requirements around accepting jobs and following through. It may be an honor code violation by rejecting an internship you accepted.

You've already asked for an extension on this company, and asked your higher priority companies to be expedited. When I ended up in your position I did the same.

If you can't get the expedited offers you wanted, then you have to decide how much you need this internship. If you're junior or senior year without any other internships under your belt, you need the work experience so take something. Remember, if you hate it, it's only 3 months and you learned what you don't like. If you're freshman/sophomore year, you could do a few more things like research or find other internships (not necessarily related to the job fair). Early March though you're pushing it for this summer, you would either need to find smaller companies with quicker schedules, or may end up with a Fall internship. Would shifting your schedule (school summer, work fall, school spring) be a possibility?

caw··on Ask HN: Do you use MongoDB for analytics?
If you're okay with writing your own queries and some basic HTML, you could use something like d3.js to render graphs.

If you're looking for more of an Excel pivot table on your MongoDB, there's a category of enterprise software that does this basically called "analytics dashboards" or "business intelligence dashboards" like Pentaho or Jaspersoft (1st google results, not recommending necessarily).

Most of those products come with the associated enterprise price tag ("call for pricing"). I'm not aware of any free ones

caw··on “Anthem was the target of a very sophisticated external cyber attack”
Lifelock doesn't catch everything though. Neil Boortz, a former syndicated radio talk show host, had someone open a bank account and take Social Security distributions for several months and Lifelock didn't catch it. http://www.wsbradio.com/weblogs/nealz-nuze/2014/sep/04/my-so...
caw··on Letter to a startup, from an employee
One solution I've seen is comp time for exempt employees above your "normal" hours. So if you work 50 hour weeks normally, and need to for some reason work requires you to do 70 hours, you'll get 2 days of comp time. Now this brings up arguments about what are your "normal" hours and how to calculate that but it is an alternative without having to go hourly.
caw··on Ask HN: Is it foolish to open source your SAAS business source code?
It depends on the business. That model definitely works, and another variant on the model where paid solution users get additional enterprisey features also works (single sign on, Active Directory integration, etc). Take for example Chef, which has a paid version and an open source version. Paid Chef comes in 2 flavors, hosted and on-prem. There's also Nagios and several other IT monitoring solutions.

You may want to double check on which license is best to use in this scenario, but it definitely is possible to grow a business using it.

caw··on Ask HN: What's your salary expectation?
What number will make you jump ship doesn't necessarily match your market salary. If you're in a big-co and want to switch to a startup, you'll take a salary hit. If you just want out of your job because it's dead-end or your boss is a psychopath, any number may do.

Let's assume you want a market salary -- you can still know your market and know your worth but let them name a number first.

The assumption is generally if an employer names a number first it's going to be on the low end of their scale. Therefore, there is room up to negotiate to get to your actual value.

Suppose hypothetically you know your worth to be $120K. You don't say anything, and the employer comes out with $100K. You can negotiate for that other $20K since you know what your worth is. If money isn't a factor ("extremely flexible about pay") or if they really can't pay you that much, you can negotiate on secondary benefits like vacation time, reimbursements, and travel/training budgets. Would you take $110K and $15K of benefits instead of a $120K salary and $2K of benefits? Some people might.

Suppose you did say $120K, they can still try to price you down by price anchoring you to their initial offer of $100K. They'll go into the benefits, the intangibles, and the value of their benefits relative to the compensation -- how the "catered daily lunch" is actually like $X of salary for example. Maybe you go back and forth on negotiations and end somewhere around the first scenario.

Another way this could go is you state your salary, and their lowest offer was above yours. While it could be attributed to not knowing the market or valuing yourselves, it could be because you don't know their salary bands. This company either really wants you or just plain pays more than "market". If they're thinking $130K and you say $120K, you'll lose out on $10K/year.

caw··on AWS C4 Instances
AWS reserved instances are buying hours. If you can commit to running a particular instance type for ~720 hours every month for a year or 3, then it makes sense to go RI. You don't have to use for one machine running 24x7, you can burst with loads - 2 machines 12x7, etc etc.
caw··on What does it take to run a web app with 5K – 10K users?
Nope, just instead of this

    0 1 * * * backup >/var/log/foo 2>&1
I do this

    0 1 * * * backup >/var/log/foo
My errors are emailed to me via standard cron conventions. Normal logging is available for me if I care to look at it.
caw··on What does it take to run a web app with 5K – 10K users?
Alternatively, if you bother to have proper exit codes for your backup scripts, you could verify exit != 0, and alert on that.

I have cron on all of my systems email STDERR to me, STDOUT is redirected to the normal logs.

One you clean up your crons, you really only get email once a month or so when something breaks.

caw··on Ask HN: Home-Office workes: what are you eating/cooking for lunch?
I do either leftovers or sandwiches. Basically whatever I would have packed in my lunchbox had I brought my lunch to work, but I don't actually have to prep it the night before. This also means I can do something hot like a grilled cheese or ham & egg sandwich.

Once in a blue moon I'll go out to eat since I don't work from coffee shops or the library.

caw··on Kyoto taxi drivers reduce robberies by 50 percent by doing nothing
Some departments explicitly don't allow discounts, but a lot of others will allow discounts only if they're offered at the time of service. They can't ask for the discounts, but if they're offered they can accept.
caw··on Microservices – Not a free lunch
> Oh-oh. The payment system is 8 microservices, and therefore around 64 interfaces to the rest of the system.

Up until now I've been operating under the assumption that "payments" separated out from the app is microservice, and it didn't need to be subdivided further. Your comment seems to imply this is still too monolithic for the microservice buzzword?

Could you provide an example microservice payments architecture?

caw··on Ask HN: Is there a ceiling for developers without a degree?
Yes the degree gets less relevant, but there are companies who will require a degree to get above a certain level. These are probably larger companies where HR sets a lot of requirements. If you want to/end up working at one of these companies, they may offer a degree program.

Smaller companies won't care, or would be able to waive any such requirements they had.

caw··on Ask HN: Why don't online retailers display inventory numbers?
Some stores like Macy's actually do fill from their storefronts. They can't get realtime inventory numbers that way because they have employees go and pick off the shelf, at the same time customers are buying off the same shelf.
caw··on Ask HN: How do you keep your stable GitHub repo active?
I actually just encountered this yesterday on a project. It had a disclaimer that said something like "This project isn't abandoned, we just maintain 0 bugs in the bug tracker. It's stable and ready for use, and if we get a bug report we'll fix it as soon as possible"
caw··on Why I’m Giving Up My Passport
My friend works at one of the big 4 accounting firms doing international tax, and $5k is the going rate for the services he provides. He said most of the time their services are paid by the employers, though they have a few high net worth individuals who pay for the service.
caw··on Ask HN: Carpal Tunnel Recommendations?
What I normally do is swap between normal mouse and trackball, but I think sustained use of my phone has been bothering me more than recently. I've never been diagnosed with carpal tunnel, but I definitely have some kind of repetitive strain injury.

If it's an RSI and not getting better from breaks, I'd recommend Active Release Technique (http://www.activerelease.com/). I've been going to an ART provider for a knee injury, but since I'm there they also work on my wrist and it's been helping. The 2 places I've been are classified as chiropractors for insurance purposes, since they're chiropractors who also practice ART. This has its pros and cons - you don't need to get a referral to go, but you could be limited on sessions.

caw··on WiFried: iOS 8 WiFi Issue
Happens to me as well on a rMBP. There's also significant lag opening new tabs.

I've had wifi issues on my phone since upgrading, where the iPhone will switch to LTE even though there's wifi available, from a network it remembers. Rebooting the phone will cause it to reconnect, so I'm trying this airdrop disable tip to see if it helps my connection problems.

caw··on Is Docker ready for production?
I follow that I'm not provisioning a full node, and parts of Chef installations are definitely unneeded, but where I'm stuck is I still have a config file that I need to control.

In the case of Cassandra I'd have certain cassandra.yml tweaks I need to make, possibly different for beta/staging/prod, and docker-cassandra needs that config file. I also need to spawn the containers with the right setup, such that the right ports get exposed and shared volumes get mounted so the configs get read in. The spawning is a slightly different ops problem (do I want a homogenous cluster where I just spawn containers somewhere as needed, or do I want certain containers on certain machine types), but it seems like something that would fall in the domain of a provisioning tool.

Should I just be building the configs into the container and rebuild the container if they need to change? The isolation of the process seems at odds with my desire to have a semi-dynamic, centrally managed configuration.

I'm also considering that Chef itself is overkill to manage Docker containers and there are other tools more well suited to managing Docker-based infrastructure, but I'm not sure what they are.

caw··on Is Docker ready for production?
My coworker and I have been fighting with Docker for the last few weeks like the OP, so maybe HN can help us here. Right now we use Chef to provision the hosts and we run services normally. Now we're trying to introduce Docker into our test environment, so we don't need to replicate a multi-node database cluster out of machines. In the process, it seems like we're having to repeat most of our Chef recipes to create the config files, and put them in the appropriate locations to let Docker mount them as a shared volume.

Are we doing it wrong? Should everything be Docker and all of our Chef recipes should be written for Docker? Or is this right and just a natural pain of having both bare metal processes and Dockerized processes? Unlike the article, so far everything is 1 process or application per container, not a full OS.

caw··on Ask HN: Would you take a job that you may not want?
Similarly, if there's some kind of training that this company will provide that you may not get elsewhere it may be a reason to take them up on it. For example a paid Masters degree that you want or industry certification/licensing.

There could also be an opportunity to transfer to the tech sides of the business. Coming from the core business as an internal transfer, you'll have knowledge of the company's business and potentially be more valuable as a transfer (you'll get the "big picture").

caw··on Aurora - New MySQL-Compatible Database Engine
Based on how Amazon's pricing tables are, it should be included.

If you go to the normal RDS pricing, there's "Single AZ" and "Multi AZ" pricing. The Multi is 2x Single because it transparently runs the 2nd instance. http://aws.amazon.com/rds/pricing/

caw··on Ask HN: How do you offer health insurance to your remote team?
The company I'm at uses a 3rd party company to handle payroll, taxes, health insurance, and some level of benefits (like 401k and "discount programs"). According to my understanding I'm a W-2 employee of my company and simultaneously the 3rd party. Because the 3rd party has an office in my state, I get paid via that branch, and pay taxes for my state and not my employer's state. My healthcare plan also differs somewhat from my co-worker's because of state required minimum coverage.
caw··on Ask HN: What do you do with your old iPhone when you buy a new one?
My 3GS exclusively sits in my car and plays music connected via Bluetooth. I also used it traveling to another country, since AT&T would unlock my old iPhone but not my new one. They said the reason was that I was "currently on contract and it's not their policy to unlock contracted phones".
← PreviousPage 3 of 25Next →