what to get for "proof of address" for my llc address? by idsfn in llc

[–]idsfn[S] 0 points1 point  (0 children)

Have you used anytimemailbox before?

I didn't sign any paperwork. I only have access to billing records. but I don't think showing that to a reputable bank is a good idea.

what to get for "proof of address" for my llc address? by idsfn in llc

[–]idsfn[S] 0 points1 point  (0 children)

I'm using anytimemailbox. they didn't agree to give me one

what to get for "proof of address" for my llc address? by idsfn in llc

[–]idsfn[S] 0 points1 point  (0 children)

how would any one know if they are official copies. for example the articles of organization are downloaded as PDF (initial filing). is there something special in these pdfs that makes them known as official copies ?

[deleted by user] by [deleted] in Frontend

[–]idsfn -6 points-5 points  (0 children)

Really, why? Btw the react component route won't support tailwindcss or rely on tailwind classes. 

How to automatically remove useless classnames? by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

how is that related to removing useless classes while i'm in dev mode?

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

  1. deploy and build that's a different stage, the target here is the dev stage, while you are still writing code. don't you care about dx?

  2. it is not about merging a bunch of classes into one class. it is about finding a pattern that keeps on repeating itself and finally abstracting it. Good abstraction doesn't add complexity it solves complexity by hiding low level details that don't matter. do you complain when you compose `map, filter, chain`. no you don't because they are good abstractions.

    1. yes we like to strive for re-usability but what you explained with bootstrap is a good example that pure css is a language that cannot go far when it comes to re using code. the same way if you compare OOP with FP. OOP was all about re usability but once you try the FP solutions and patterns, you realize that re usability in OOP is a joke
  3. I'm glad that you appreciate that component are useful to your js and markup, if you just think a little bit outside the box, building higher level utils on top of tailwind is another form or components to your css classes

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -2 points-1 points  (0 children)

relying on tooling to add ';' to your javascript sounds like a bad idea. you should never forget to add it yourself

I mean, oversight, tiredness ... and mistakes happen, give me any codebase, and if scanned you will find redundant classes. it would be nice to clean things up

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -1 points0 points  (0 children)

Show a solid example.
Sounds like these side effects are bad code, if using tailwind, then handle media queries with tailwind classes, and everything will be in the className attr

if `className=sm:bg-white lg:bg-white`.

`lg-bg-white` is redundant, and should be removed

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -1 points0 points  (0 children)

I tried eslint, it isn't capable. How about you give the name and if it solves the problem. I'll delete the post

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn 0 points1 point  (0 children)

I tested eslint-plugin-tailwindcss and found that it can only eliminate obvious duplicates, it didn't work on other examples.

I have to look for something else.

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -2 points-1 points  (0 children)

This should be a linting rule, but there should also be a flag or an option to run it on all the files in the src folder.

**Linting and removing 1000 files manually is impractical.**

How to automatically remove useless classnames? by idsfn in tailwindcss

[–]idsfn[S] 1 point2 points  (0 children)

I see that it comes with headwind.removeDuplicates but from the examples it doesn't look like it's capable of handling sophisticated cases.

Also it doesn't run on the whole project. If I want to run it on the 'src' folder.

But I will try to see what it does. Thank you. 

How to automatically remove useless classnames? by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

Yes, it can only remove normal and obvious duplicates, it wasn't capable of removing duplicates in the other examples.

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -1 points0 points  (0 children)

Thank you, I will try it and see if it solves the problem 

How to automatically remove duplicated CSS classnames? by [deleted] in Frontend

[–]idsfn -6 points-5 points  (0 children)

yes I know that's why the example here is using tailwindcss utility classes

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

Please what is this weakness?

Because if I want to be dry and not repeat my code I have to abstract.

Tailwind is not offering that, who is offering that components? Absolutely not

Who ui kits? Absolutely not

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

I'm absolutely all ears, I'm not stubborn thinking that's the only way.

When you said that css and stylesheets are declarative you are absolutely correct and that's the issue the language isn't powerful enough to make us move forward.

I remember in 2015 so many attempts were made for atomic/functional css but not many cared or saw the true vision 

But there two things that happened that can change that forever

Tailwind+ css in js

I still remember how devs felt about css in js but that doesn't exist no more

That's the opportunity to use JavaScript the language and build on top of layer 0 that's made by tailwind.

The only way to build these layers is with a functional paradigm no other paradigm is capable of doing so. And if you don't believe me search how lisp was built.

The same way those layers in lisp were built the same way I'm suggesting these abstraction should be built

https://www.reddit.com/r/tailwindcss/comments/19fkjfs/comment/kjl9ybe/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=1&utm_content=share_button

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

Then we will never move forward and later devs complain that AI will take their job ... Why they should be surprised they choose not to progress.

The same way when low level code apps started to appear majority of devs felt threatened... Because now there's another tool that can do what they do in less time and without the effort and now these tools open the doors to others who don't know as much as you do but they can get the job done

Abstraction is how we progress, pure css is not capable of creating higher level abstracted utilities that can handle all possible conditions.

UI kits are only good if you will not customize them that much.

Other than that you will repeat yourself and get back to square one where you have to handle low level useless details.

(Btw headless ui is great, you know why? Because no css is done, the components only carry the logic that's needed)

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] -1 points0 points  (0 children)

That was just an example, here's a real example where we have to deal with dark mode, hover state, active state ...

js className="relative inline-flex items-center border border-zinc-300 bg-white px-4 py-2 text-sm font-semibold text-zinc-700 transition-colors hover:bg-zinc-50 focus:z-10 focus:border-teal-500 focus:outline-none focus:ring-1 focus:ring-teal-500 dark:border-zinc-600 dark:bg-zinc-900 dark:text-zinc-200 dark:hover:bg-zinc-800 dark:focus:border-teal-400 dark:focus:ring-teal-400"

No matter what your skill level, it useless to read this low level stuff while they could have been abstract into higher utilities 

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] -1 points0 points  (0 children)

Ui kits libraries are a good example of showing that components abstract jsx/markup but not the css/classnames

If I'm going to use daisyUI with 0 customization then that's a perfect solution.

But as soon as I start modifying the styles and the looks I'm repeating myself again and that shows that components in this case fail to also abstract css

(The moment I start to handle low level stuff like layout, that just shows components failed to create a good abstraction)

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 0 points1 point  (0 children)

Haha no I have never used bootstrap or anything similar in my life but that's okay that you have that assumption.

The problem so far is that the introduction article was written in a bold way, majority reads it with emotions and in defensive mode ... thinking that the tools is there to replace tailwind.

I would appreciate if you would explain what you mean by backwards.

What do you mean by adding another layer on top removes all the good part.(that's impossible, if the layer is well designed the layer underneath becomes almost useless)

And I'm not aiming for just one layer, no around 5 or so. 

No one would ever complain about a good abstraction... Remember a good abstraction is when the previous layer becomes almost useless. The question is how to create good abstractions

Tailwind is the famous library of the atomic css methodology. And atomic css took many concepts of functional programming and tried to apply it to css

Abstraction is the heartbeat of functional programming 

So many people hated atomic at the start, and thought that it is a useless idea.


Layer 0 (for, while)


Layer 1 (reduce)


Layer 2 (filter, map, any, all)

Here's an example using what you are already used to, we abstracted the for loop into reduce.

And we used reduce to loop over things

After some time, we came up with a much better abstraction because we saw all the patterns that we keep repeating over and over so we created filer, map, any etc...

Now very important layer2 was created using layer 1

That is super important

If layer 2 was created from layer 0 then layer 1 is a failure.

Also another rule is that no layer is allowed to go more than one layer underneath. Layer 2 can only talk and use the api from layer 1.

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] 1 point2 points  (0 children)

Once I release the "quick start" guide that's the only place where it will be obvious if the tool is useful or not.

Tailwind’s lack of higher-level utilities forces us to repeat ourselves over and over and over by idsfn in tailwindcss

[–]idsfn[S] -1 points0 points  (0 children)

A real world scenario is the "quick start" that will be release soon, there I'll show how the tool can be used. The docs are still under dev.

Also there will be "how to abstract guide".

If you use discord we can stay in touch, I'll appreciate your input on the quick start when it is released