Hacker Newsnew | past | comments | ask | show | jobs | submit | jdotjdot's commentslogin

What is the legal plan you have on an annual basis? That sounds like something incredibly useful to have, where can you find one of those and how much do they cost? What do they cover?


Prepaid legal is a whole bucket of worms, usually sold by multilevel marketing type organizations. I'm sure there are some options that aren't a scam, but many are.


Legal plans are good if you don't feel like using Nolo or Rocket yourself and want someone to do it for you. Same as using H&R Block to have someone run TurboTax for you.


I assume the sketchiness is why it is one of the services offered by Toby Jones:

https://www.youtube.com/watch?v=ESJINXeBjhc


All lawyers should be required to have a flat fee for “vaguely and specifically threatening letter” heh.


As with everything service related, it depends on the human providing the service.

The subscription (legal plan) brand itself is irrelevant. What all legal plans have is a network of contracted set-rate of fees for lawyers, to the benefit of their members. Not sure if the lawyers themselves get subscription fees or its fee per service, but either way the brand acts like a customer leadgen into pricier products/services.

The hard part is actually finding a good lawyer. Lawyers under the exact same legal plan can be wildly different.

By far the #1 thing to do when using legal plans (via company-provided benefit) is consulting with coworkers about their interaction with a lawyer.

Yelp/google may not be as useful because often they will reflect the feedback of a fee-paying customer


Here is an example:

https://www.legalplans.com/

At a previous employer this was one benefit you could sign up for along with health insurance. I never used their services, so I can't say if they are good or bad.


I had one as an employee benefit.

They did a thing that was like a nurse line where you could just chat with an attorney about specific or general items. My plan did stuff like contract/lease review, real estate, traffic tickets, and other stuff.

Several services were included and a bunch of others were an additional, scheduled cost. I believe it cost ~$100/year, with additional (very reasonable) riders for adoption, elder care, etc.


I have been waiting for this since the moment I first read about Materialize a year or two ago. I think there's still a lot of work to be done, but at heart, if you can pair technology like Materialize with an orchestration system like dbt, you can use dbt to keep your business logic extremely well organized, yet have all of your dependent views up to date all of the time, and use dbt even to use the same analytical layered views both for analytical AND operational purposes.

The biggest issue I see is that it requires you to be all-in on Materialize, and as a warehouse (or as a database for that matter), it's surely not as mature as Snowflake or Postgres.


Thank you for your kind words! We indeed have plenty of work to be done (and are thus hiring)! I'm curious however why you think this requires you to be all-in on Materialize. As you said better than I could have, dbt is amazing at keeping your business logic organized. Our intention is very much for dbt to standardize the modeling/business logic layer which allows you to use multiple backends as you see fit in a way that shares the catalog layer cleanly.

Our hope is that you have some BigQuery/Snowflake job that you're tired of running up the bill hitting redeploy 5 times a day, and you can cleanly port that over to Materialize with little work because the adapter is taking care of any small semantic differences in date handling, or null handling, etc. So Materialize sits cleanly side-by-side with Snowflake/BigQuery, and you're choosing whether you want things incrementally maintained with a few seconds of latency by Materialize, or once a day by the batch systems.

My view is you're likely going to want to do data science with a batch system (when you're in "learning mode" you try and keep as many things fixed, including not updating the dataset), and then if the model becomes a critical automated pipeline, rather than rerunning the model every hour and uploading results to a Redis cache or something, you switch it over to Materialize, and don't have to every worry about cache invalidation.


In that situation (dual usage modes) I think I'd rather have the primary data store be Materialize, and just snapshot Materialize views back to your warehouse (or even just to an object store).

Then you could use that static store for exploration/fixed analysis or even initial development of dbt models for the Materialize layer, using the Snowflake or Spark connectors at first. When something's ready for production use, migrate it to your Materialize dbt project.

The way dbt currently works with backend switching (and the divergence of SQL dialects with respect to things like date functions and unstructured data), maintaining the batch and streaming layers side by side in dbt would be less wasteful than the current paradigm of completely separate tooling, but still a big source of overhead and synchronization errors.

If the community comes up with a good narrative for CI/CD and data testing in flight with the above, I don't think I'd even hesitate to pull the trigger on a migration. The best part is half of your potential customers already have their business logic in dbt.


I should clarify; I don't think that for the general case you have to go all-in on Materialize, but for the case in my comment--where you are effectively using business logic within Materialize views as the "source of truth" of logic across all of both your analytics and your operation--that requires buy-in. Additionally, if I'm _already_ sending all of my data to a database or to my data warehouse, ETLing all of that data to Materialize also is rather burdensome. Just because I technically could run Materialize side by side with something doesn't mean I necessarily want to, especially given the streaming use case requires a lot more maintenance to get right and keep running in production.

I fully agree with you that for many data science cases, you're likely to stick with batching. Where I see Materialize to be the most useful, and where I'd be inspired to use it and transform how we do things, would be the overlap between when Analytics team are writing definitions (e.g., what constitutes an "active user"?) and are typically doing so on the warehouse, but then I want those definitions to be used, up to date, and available everywhere in my stack, including analytics, my operational database, and third-party tools like marketing tools.

Personally, I'm less interested in one-off migrations like you're suggesting. What I really want is to have something like Materialize embedded in my Postgres. (Such a thing should be doable at minimum by running Materialize + Debezium side-by-side with Postgres and then having Postgres interact with Materialize via foreign data wrappers. It would need some fancy tooling to make it simple, but it would work.) In such a scenario, a Postgres + Materialize combo could serve as the "center of the universe" for all the data AND business definitions for the company, and everything else stems from there. Even if we used a big data warehouse in parallel for large ad hoc queries (which I imagine Materialize wouldn't handle well, not being OLAP), I would ETL my data to the warehouse from Materialize--and I'd even be able to include ETLing the data from the materialized views, pre-calculated. If I wanted to send data to third-party tools, I'd use Materialize in conjunction with Hightouch.io to forward the data, including hooking into subscriptions when rows in the materialized views change.

For what I propose, there are some open questions about data persistence, high availability, the speed to materialize an initial view for the first time, and backfilling data, among other things. But I think this is where Materialize has a good chance of fundamentally changing how analytical and operational data are managed, and I think there's a world where data warehouses would go away and you'd just run everything on Postgres + Materialize + S3 (+ Presto or similar for true OLAP queries). I could see myself using Materialize for log management, or log alerting. I'm just as excited to see pieces of it embedded in other pieces of infrastructure as I am to use it as a standalone product.


Thank you very much for the elaboration, I really appreciate the thinking!

> Personally, I'm less interested in one-off migrations like you're suggesting. What I really want is to have something like Materialize embedded in my Postgres.

We're about to launch "Materialize as a Postgres read-replica" where it connects to a Postgres leader just as a Postgres read-replica would - using the built-in streaming replication in newer versions of postgres. It's currently in final testing before being released in the next month or two.

https://github.com/MaterializeInc/materialize/issues/5370

Also on our roadmap for Materialize Cloud is plug-and-play connections with Fivetran, Hightouch, and Census (and more) to bring in the business data, and allow you to, as you put it, make Materialize the central collection point for keeping updated all your views.


Exciting! Does this already have the concept of backfilling as mentioned by GP. Interested to know as well


I agree with you. If you are focused on PostgreSQL, you could find interesting the work being done on IVM: https://wiki.postgresql.org/wiki/Incremental_View_Maintenanc... - https://github.com/sraoss/pgsql-ivm


Are you referring to LayerCI, possibly?


Must be, since algolia shows me questions from 8 days ago that sound familiar.


Quite a few of these issues too strike me as Celery problems rather than RabbitMQ. I’ve run into many of these similar issues and in every case it was due to Celery’s implementation not using RabbitMQ properly and was fixed with an internal patch to Celery.

The most blatant example is the countdown tasks. Celery has a very strange implementation of these (meant to be broker agnostic) where it consumes the task from queue, sees in the task custom headers (which is meaningless to RabbitMQ) that it should be delayed and then sits on the task and takes a new task. That results in heavy memory load on your celery client holding all these tasks in memory, and if you have acks_late set, RabbitMQ will be sitting on many tasks that are claimed by a client but not acked and _also_ have to sit in memory. But that is 100% a celery problem, not Rabbit, and we solved it by overriding countdowns to use DLX queues instead so that we could use Rabbit-native features. Not surprisingly, Rabbit performs a lot better when you’re using native built-in features.


With your countdown implementation, how did you solve the resolution issue? I.e. if I delay a task for 111 seconds, I can publish it to RabbitMQ with a queue with a per-queue TTL of 100 seconds, after which it'll fall out to a DLX. What happens with the remaining 11 seconds? Does the DLX deliver (somehow) to a series of increasingly shorter per-queue TTL queues?

I, too, would love an implementation of arbitrary-granularity delays without buffering (potentially huge, mem-wise) tasks in "unacknowledged" in a giant binary heap: that's expensive for consumers and terrifying for RabbitMQ stability when a broker has to e.g. re-"ready" millions of messages because a delay-buffer OOMed.


One solution which we did was to use the official delay plugin provided by the Rabbit MQ. It’s working good, so far

https://www.rabbitmq.com/blog/2015/04/16/scheduling-messages...


Hopefully you're aware of some of the shortcomings of this plugin when operating in a multi-node cluster.

The plugin keeps a node-specific database of the messages that are to be delayed. If the node is unavailable or lost, so too are the messages the node was keeping for future publish.

Also, there is no visibility in to the messages that are awaiting delay. 10? 100? 5000? Your guess is as good as mine and you'll never be able to figure out what's in to-be-published pipeline.

Signed, someone who has dealt with these issues.


Awesome! I was peripherally aware of that, I think, but had filed it as "not ready" for some reason. Will definitely give it another look, thanks!


Hopefully you're aware of some of the shortcomings of this plugin when operating in a multi-node cluster.

The plugin keeps a node-specific database of the messages that are to be delayed. If the node is unavailable or lost, so too are the messages the node was keeping for future publish.

Also, there is no visibility in to the messages that are awaiting delay. 10? 100? 5000? Your guess is as good as mine and you'll never be able to figure out what's in to-be-published pipeline.

Signed, someone who has dealt with these issues.


Adding to the pile of people agreeing. SQLite works okay for analytics for now, and I would be super-interested in something embeddable more tailor-made for analytics, but don't understand yet in what specific ways DuckDB is an improvement.


We've been using it for years and love it. Our engineering team went from begrudgingly sometimes doing what they're supposed to in Pivotal to actually _loving_ their project tracker. Never seen anything else like it.


What company was this? I’d love to see a talk about how this worked


This was a software specialist UK outpost of a second-tier US defence company, about a decade ago. They developed their process while an independent software company, and were subsequently eaten by that US defence company (before I joined) who had the good sense to leave them alone to do what they do.


We use StackOverflow for Teams with a small team (<15 developers) and it’s been great. While I’m sure our revenue alone won’t make it profitable, I think it’s a product that can work with teams of all sizes. Don’t knock it till you’ve tried it.


This looks exciting, but as other commenters noted, you need to provide more detail about the underlying data and ML strategy. There are many companies peddling both questionable "AI" and questionable "sure-to-work" training and fitness practices, and you sit in the intersection of both. Even if what you offer is real and truly works (and I hope it does!), you'll need to show a bit more to get people to trust you and invest their time in following FitnessAI's instructions.


Noted! Thanks so much for your input — I'll work on a post


Can you include links to some of this research? That is fascinating.

I have a friend who is an extreme night owl who has long said then when he sleeps matters far more than how much—but in a negative sense. Even if he gets as much as 10 hours of sleep, if he has to go to sleep early in order to wake up early (6-7am), he’ll be miserable. If he goes to sleep at 3am and wakes up at 9:30am, he’ll feel great despite having gotten much less sleep.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: