Readit News logoReadit News
claudiusd commented on A magical AWS serverless developer experience   journal.plain.com/posts/2... · Posted by u/ptrik
claudiusd · 4 years ago
It's great to see how others are doing serverless development. It's definitely not something you learn to do well overnight. I'm glad to see someone get past the learning curve and write about what works for them.

I've been experimenting with serverless for some time now and came to many of the same conclusions written about here. The biggest takeaway for me is that there are pitfalls to an overreliance on lambdas. You really need to offload as much as you can to the other serverless solutions AWS provides.

I've been using Appsync for my graphql API instead of API gateway + Lambda, and I have had a good experience with it. A lot of logic can be offloaded into mapping templates, making lambdas unnecessary in many cases. Debugging is still a bit of a pain for me, but the end result is fast, cheap, and reliable.

claudiusd commented on Show HN: Netvyne – a Chrome extension to leave and read comments on any URL   netvyne.com/... · Posted by u/ksarw
kevincox · 4 years ago
I know most users don't care but I won't install a browser extension that has full access to every page for this. Have you considered also supporting an API + bookmarklet?

It would be as simple as something like https://www.netvyne.com/?url=%s which would create and redirect you to the comment page for that URL and a simple bookmarklet to generate that URL for the current page.

I also use Firefox so your extension isn't available anyways.

claudiusd · 4 years ago
The privacy risk of installing extensions that have full access to every page you visit is enormous. It includes the risk of exposing passwords and credit card numbers.

Using a bookmarklet is a much better idea since users can control where they run.

claudiusd commented on How to Evaluate Startup Offers   faingezicht.com/articles/... · Posted by u/mavelikara
claudiusd · 4 years ago
As someone with experience as a startup employee and founder, having negotiated startup offers from both sides of the table and seen several unfavorable and favorable liquidity scenarios play out, here is the advice I give people:

Treat stock options in an early stage startup as if they are worthless. Don't make salary/equity tradeoffs and instead, negotiate for both the "high salary" and "high equity".

Stock options have a number of "gotchas" that may not be immediately obvious:

1. Exercise price and exercise window. It takes a lot longer for a startup to exit than than most people would like to think (if it exits at all). 10+ years is my experience. You're probably not going to stay with the company that long, so when you leave the company and want to keep your shares, you only have so much time to exercise them (this is the exercise window - typically 3 months). It could cost you many $thousands to exercise and there is no guarantee your stock will be worth anything. You are essentially now an investor in the company and you are afforded none of the protections that the company's venture investors received.

2. Liquidation preference. In a liquidity event, the company's venture investors get paid back some multiple of their original investment (typically 1-2x) before any common shareholders get paid (which includes options holders). If the company is not valued above a certain threshold at liquidity, then common shareholders get nothing. As the company takes on new investors, this liquidation preference starts to add up, and as an employee you are not going to be told what this amounts to. You could exercise your shares, pay the company money, have the company exit for an apparently attractive amount, and then get nothing because the liquidation preference threshold wasn't met. The company exits, and you lose money.

3. Tax treatment. Assuming the company exits while you are still an employee (i.e. you have not exercised your shares) or the company has an attractive exercise window (10 years is not uncommon nowadays), and the valuation is high enough not to trigger liquidation preference, then you will make some money. Unfortunately, the amount you earn will get taxed as income, not capital gains, and the difference is significant. To be taxed as capital gains, you have to exercise your options and hold on to the shares for at least a year before selling them. Some companies offer early exercise benefits, but if you do this then you could potentially lose money as I described above.

RSU's on the other hand (essentially just plain stock like founders get) do not have to be exercised and are taxed as income on their value the moment they are vested (or on the value of the entire grant on the data of issue, assuming you file an 83(b) election with the IRS). These have value, and I would be comfortable with a salary/equity tradeoff for them. This is something you should ask about during negotiation. If RSUs are off the table, then you can try asking the company to pay the [early] exercise price for you as a signing bonus.

claudiusd commented on Ocean drone captures video from inside a hurricane   noaa.gov/news-release/wor... · Posted by u/duck
krasin · 4 years ago
Based on the photo from the NASA website ([1]), they use a Thales Satellite modem ([2]). My best guess it's VesseLINK 700 ([3]) that uses Iridium Certus constellation ([4]) and costs around $8K ([5]).

Key Features:

* Robust, Light-Weight Communications for at Sea Operations

* Certus 700 Services (352 kbps Up/704 kbps Down & 256 kbps Streaming Capable)

*100% Global Satellite Coverage and Low Latency for Critical Data and Voice Communications

1. https://blogs.nasa.gov/earthexpeditions/wp-content/uploads/s...

2. https://www.thalesgroup.com/en/markets/market-specific-solut...

3. https://www.thalesgroup.com/sites/default/files/database/doc...

4. https://en.wikipedia.org/wiki/Iridium_satellite_constellatio...

5. https://seatech.systems/product/thales-vesselink-700-for-iri...

claudiusd · 4 years ago
I would bet that modem is using a phased antenna array [1] (I'm guessing this is what "solid state, no moving parts" means on the product page). With the right sensors (gyros, etc), a solid-state system like that should be able to keep a pretty tight lock on the satellite even in the roughest conditions.

1. https://en.wikipedia.org/wiki/Phased_array

claudiusd commented on Comparing SARS-CoV-2 natural immunity to vaccine-induced immunity [pdf]   medrxiv.org/content/10.11... · Posted by u/yasp
wahern · 5 years ago
They've always had a good point. This is yet another paper in a line of good (and unsurprising) research going back to vaccine trials in 2020.

The discourse has become politicized, unfortunately, and for whatever reasons the voices of the pro-vaccine faction in the U.S. have become dominated by people who reflexively discount the science. This doesn't seem to be the case in Europe, where the EU-wide immunity passport treats those with prior documented infection the same as the fully vaccinated. This was pointed out to me on HN a few weeks ago, when I opined that it would be logistically impractical to verify and issue immunity passports to the previously infected.

Would it be better if those with a previous infection received a vaccine? Maybe. That's a more complex question. But at this juncture that's moving the goal posts; it's scientifically and politically unreasonable to make that demand.

claudiusd · 5 years ago
Thank you for saying this. Despite taking all precautions, I was infected in Jan 2021 before becoming eligible for the vaccine. Once I recovered, I was comfortable venturing outside again and doing some traveling but there was practically zero information about natural immunity following infection. As states easing travel restrictions, these only applied to people who had been vaccinated. There was no exception for folks who were previously infected (at least for the states I researched). At a time when vaccine appointments were scarce and there were long waiting lists (my how times have changed), I still got the first appointment I could so I could get my vaccine card.

The lack of guidance for those who were previously infected was strange. When I'd read about immunization rates and progress towards "herd immunity", previous infections also weren't included in these stats, which again was strange.

I'm in Europe now, and here it seems like natural immunity is essentially as valid as vaccination, at least for travel.

I can't explain why previous infections seem so widely discounted in the US. It feels like an intentional omission, which makes it hard for me to trust at face value what I hear and read about the pandemic.

claudiusd commented on Moving my serverless project to Ruby on Rails   frantic.im/back-to-rails... · Posted by u/goranmoomin
Dunedan · 5 years ago
> A lambda publishes a message to SNS, another one picks it up and writes something to DynamoDB, the third one takes that new record and sends an email…

Or, you know, just do related functionality in the same AWS Lambda function. While I would probably do the sending of an e-mail asynchronously as well (as AWS Lambda function triggered by a DynamoDB stream), the indirection over SNS to write something to DynamoDB seems overly complex.

Why would you do something asynchronously with a Serverless architecture you'd do synchronously with Ruby on Rails?

> […] and random hardcoded configs in AWS console.

Just don't do that. A Serverless application will always be a pita if it relies on manual configuration. Ensure all relevant configuration is part of Infrastructure as Code (e.g. CloudFormation or Terraform).

> Impossible to replicate production environment

If the project is set up properly with Infrastructure as Code replicating the production environment is as easy as it can possibly get. And because it's Serverless, if an environment isn't used, it usually doesn't even incur notable costs.

There is no silver bullet and I believe Serverless as well as other approaches have their place, but what I miss are similar posts about great experiences with Serverless applications. I for myself wouldn't want to go back and I'm really happy with the problems Serverless applications solve.

claudiusd · 5 years ago
Completely agree. Most of the criticism I've seen comes from people who don't have a good grasp of the platform or tools, or haven't adapted their style to the "serverless mindset".

There's definitely a new technique I've had to teach myself in order to build serverless systems effectively. Today I'm getting great results from the approach.

claudiusd commented on Serverless: I'm a Big Kid Now   simplethread.com/serverle... · Posted by u/jetheredge
djhaskin987 · 6 years ago
> Nobody wants to manage servers. Managing servers is a nasty side effect of wanting to execute code.

Actually, I am setting up a serverless app now. 4-5 lambdas, s3 buckets, RDS, IAM roles, and 6 weeks (easily) getting everything into CFT's and Ansible so that I can deploy this relatively small app.

You know how I would replace all that stuff? 1 single VM. (Alright, maybe 2, 1 for the database.)

A server buys you ease of deployment. It really does. Code needs an environment. Lambdas punt on dependency management and environment. You have to build the environment for the lambdas using IAM roles, RDS, s3 -- out of toothpicks. All that stuff (security, storage) is already there for you in a VM.

I was talking with my brother in law about his serverless deployment of ~23 microservices he had carved up out of a Java Spring app. A small change anywhere in the code meant he had to redeploy all of it, not because of how the code was structure but that was the only way the build tools allowed him to do it. More problematically, the dependencies had to be built into every single lambda and made the build longer. (No, lambda layers didn't work for us. Way too complicated to figure it out.)

Honestly after going through tons and tons of pain to deploy these lambdas in both cases, it's just way easier to deploy on a VM. Maybe not for developers who just can't do anything if it's not done in their IDE, but from a broader, more globally-looking DevOps perspective, there are hidden costs.

Yes, it's easy to develop for lambda. But WOW, it's awful in deployment in comparison to just putting things on VMs.

claudiusd · 6 years ago
Ugh, these arguments frustrate me, but here I go getting sucked into another...

> Actually, I am setting up a serverless app now. 4-5 lambdas, s3 buckets, RDS, IAM roles, and 6 weeks (easily) getting everything into CFT's and Ansible so that I can deploy this relatively small app.

I'm sorry but if this took you 6 weeks then you're doing it wrong. To be fair, I haven't tried using CFTs and Ansible for my serverless deployments, but then again these seemed like big time overkill to me. Your experience seems to back that up.

Look, I don't want to say infrastructure-as-code is a bad thing, but don't blame the infrastructure when it's your choice of tools that is the problem. The AWS CLI makes it so easy to write a bash script to deploy a small project. But hey if you think an extra 6 weeks is worth it to use Ansible, then by all means...

claudiusd commented on Unit Testing Is Overrated   tyrrrz.me/blog/unit-testi... · Posted by u/ingve
senorjazz · 6 years ago
> because I spend half of my time writing tests.

Only half your time? You're doing testing wrong if it doesn't take 80% of the time ;-)

I have a love hate relationship with testing. Working for myself as a company of one, some of the benefits testing bring just don't apply. I have a suite of programs built in the style of your point (1). The programs were quick to market and hacked out whilst savings ran out not knowing if I would make a single sale.

Sales came, customer requests came, new features were wanted, sales were promised "if the program could just do xyz". More things was hacked on. The promise of "I will go back and do this properly and tidy up this god unholy mess of code" slowly slipped away that I stopped lying to myself I would do it.

Yes there was a phase of fix one problem add another, but I have most of that in my head now and has been a long time since that happened.

Not a single test. Developing the programs was "fun" and exciting. Getting requests for features in the morning and having the build ready by lunch kept customers happy.

Now I am redoing the apps as a web app for "reasons". This time am doing it properly, testing from the start. I know exactly what the program should do and how to do it, unlike the first time when I really had no idea. But still, I Come to a point and realise the design is wrong and I hadn't taking something into consideration. Changing the code isn't so bad, changing the tests, O.M.G.

I am so fed up of the project, I do all I can to avoid it, it is 2 years late, I wish I never started it. The codebase has excellent testing, mocks, no little hacks, engineering wise am proud of it. The tests have found little edge cases that would have been found out by customers so avoided that. But there is no fun in it. No excitement. Is just a constant drudging slog.

Am trying to avoid dismissing testing all together, as I really want to see the benefit of it in a production substantially code base. If I ever get there. At the moment, the code base is the best tested unused software ever written IMO

claudiusd · 6 years ago
LOL. I guess I was being a bit conservative with that estimate!

I've worked for myself as well and know what you mean. In my situation, I was able to save myself from testing by telling my customers "this is a prototype so expect some issues".

claudiusd commented on Unit Testing Is Overrated   tyrrrz.me/blog/unit-testi... · Posted by u/ingve
whb07 · 6 years ago
I agree with all your points. Have you looked at any strongly typed functional language from ML like Ocaml, F#, Rust, or say similar like Haskell?

If you do make a slight tweak somewhere, the compiler will tell you there’s something broken in obscure place X that you would find out at runtime say with Ruby or Python.

THATS the winning formula. I’ve written so many tests for Python ensuring a function’s arguments are validated rather than the core logic/process of it.

claudiusd · 6 years ago
I have only done a little bit but I know exactly what you're talking about and it's great.
claudiusd commented on Unit Testing Is Overrated   tyrrrz.me/blog/unit-testi... · Posted by u/ingve
heyoo · 6 years ago
Your points are fine, but I do not see how they apply to the blog post.

Overall, the blog post says, unit tests take a long time to write compared to the value they bring - instead (or also) focus on more valuable automated integration tests / e2e tests because it is much easier than it was 10-20 years ago.

claudiusd · 6 years ago
My point is that OP is in step 1 of 5. It's not to say there aren't any good thoughts there, but the overall diatribe comes from a place of inexperience so take their advice with a grain of salt.

u/claudiusd

KarmaCake day470March 23, 2011View Original