1,944 karma · joined August 12, 2019
What do you think the best path is to that feature? Element seemed to have audio calls already, but not voice channels.
Also basic features like push to talk and noise thresholds are key.
We've clearly got inputs, outputs, and when working correctly, some signal processing going on in the middle.
Another big blocker is the confidence to delicately review a PR and demand it to be drastically reworked.
Actually, I think they're the same problem.
When your livelihood is tied to other humans, you generally want to minimize conflict.
Pothead here, also probably autistic, also dealt with a lot of family trauma, also positioned to retire soon.
If you're smoking weed to feel a "cosmic connection" (which is reasonable IMO), you might want to look into trying more powerful psychedelics.
There's a lot of interesting research going on with mushrooms for depression: https://www.webmd.com/depression/news/20210415/study-magic-m...
I'm planning on waiting until I'm fully out of tech, then tripping balls and working on fixing myself instead of fixing code.
The idea is to destabilize society by accelerating disruptive societal change.
At the far extremes, this looks like mass shootings or bombings with manifestos attached.
On the right, the theory is that a white ethnostate will surely emerge to bring order if the country is thrown into chaos along racial lines.
On the left, it looks very much the same, except what will surely emerge is an egalitarian utopia once those white fascists are out of the picture.
In practice, a lot of these ideas successfully filter into the mainstream because they're being pushed by propaganda networks that seek to damage western democracy.
Importantly, if the propaganda can convince otherwise well meaning people to subtly ingrain "white male == bad" into the language and attitudes, that benefits accelerationists.
White supremacists want you to say that white people are the problem. It legitimizes radical ideas like "replacement theory".
It's also why things like the Rittenhouse trial are so volatile. If he's acquitted, one side will further radicalize. If he's convicted, the other side will further radicalize.
Even if you honestly believe that white males are the source of all the world's problems, labeling it as a white male problem will produce further radicalized white males.
> So, I'm hoping you are not a white male, as I don't think we can have the tiniest inkling of what it feels like to be a minority.
So GP is suggesting that everyone feels isolated, regardless of race or gender.
You reply with "hoping you are not a white male" to this observation.
We all know that if GP is a white male, his comment borders on white supremacy. He's saying we've lost what makes America great, and it's all because we opened our borders and gave up cultural homogeneity. What a racist xenophobe! Good on you for calling him out!
But if GP is a woman of color, the US being a hostile place makes so much sense. And of course she's trying to figure out who the country is really for, because her experience makes it feel like it's not built for her. It's so brave to be asking these tough questions and challenging the system.
Also, are you a white male? Why do you even feel that it's ok for you to weigh in on this topic?
The way I see it, your "hoping you are not a white male" comment is culturally expected, and you said it anyway, even though we both know it causes acceleration of conflict.
Maybe you're a right-wing accelerationist, but I suspect you're not, which makes your comment even worse, because you're reinforcing their narrative unintentionally.
I think that is why IAmWorried is actually worried.
NFTs are a technical detail, but they're exciting. I'm also excited about webrtc and webauthn. These technologies enable new businesses to exist, like Uniswap.
> phone numbers are useful, but vanity phone numbers definitely aren't solving any problems other than proving you have one
Vanity phone numbers aren't a terrible comparison to the current NFT art craze.
But also, vanity phone numbers have been popular for as long as I can remember, in every location around the world. This has been true since the invention of the telephone.
It used to be that having a 212 area code number was very prestigious. That was true because it created the appearance of doing business in NYC, which meant you must be important. After all, your business exists in NYC!
Also every possible analog of vanity phone numbers that I can think of has been wildly successful. Squatting domain names comes to mind, but also registering your nickname first on whatever the next hot tech service is. If your Twitter username is <4 characters, you're probably somewhat important, because at the very least it means you were early to Twitter.
The article you linked about phone numbers is exactly the reason why art NFTs are working and will continue to grow.
> “This number gives the impression that I am distinguished, which helps me get business, especially among officials in the state ministries who I am dealing with,” he said. “If I call them from a regular number, they wouldn’t answer my call, but when they see this number, they can’t ignore it because they know a VIP is calling them.”
> “It helps me with marketing the company,” he said. “After getting one for $100, it’s helped my business grow.”
> “He cherishes it,” Mohsen said. “Just like wine, the older it gets the more valuable it becomes.”
This all seems like very normal human stuff to me.
https://upload.wikimedia.org/wikipedia/commons/e/ec/Mona_Lis...
This is a pretty high resolution copy of the Mona Lisa. If I went to see it at the Louvre in person, I wouldn't be able to see this level of detail.
I've never even seen the thing with my own eyes, but I know it's a pretty big flex by the French that they own it.
The most common reaction I've heard from people that have seen it is that it's surprisingly small.
It was insured in 2021 for $870M.
> 1) if that’s all one cares about then donating to them directly will give them more money since transaction fees are cheaper
It's not about donating to the artist directly, exactly. It's about putting a value on their work, which is likely more valuable to the artist than a direction donation.
> 2), I haven’t looked into this directly, but it would seem token resale fees given to artists are not enforceable since they could be worked around by having a holding contract that gets traded instead.
Maybe, but if you ever need to "really" own the piece for some reason, you'd have to reconcile to mainnet anyway, and the artist would get paid then. Everything else is just a promise.
For example, even today, you may need a previous NFT by an artist to get in on a new drop from that artist.
> Now if they start to be used in some enforceable way such as in a DRMd display then this would be a form of underlying value but why not use a non DRMd display?
Actually, most artists want their work to be widely seen. This creates a virtuous cycle. You buy an artist's work, which increases the value of that work, which increase the artist's exposure, which increase the artist's perceived value, which increases the value of the work you purchased, which leads to more sales for the artist, etc.
Instead of a one-time donation, the fan becomes quite literally invested in the artist.
It's the same reason a musician might want to trend on TikTok by giving away 60 seconds of their song "for free" in the hopes to make it up on streaming, merch, ticket sales, and influence later.
> Then there is the more general trend of treating tokens like these as investments where the value gets driven up and, appears to me, detached from any sense of underlying value. So the only way for the sale value of these tokens to hold is to have some one else willing to buy it. But if there is no underlying value then it’s not clear to me how this can continue indefinitely.
I remember being much younger and seeing people buy toys, instruments, and curiosities "as an investment". Most of these didn't work out, but occasionally I see something from my childhood on ebay and think "oh, well, obviously that was going to be important, i should have bought a couple of those and put it away".
Time causes some things to crystalize and other things to fade into obscurity. I suspect the same will happen with these "original" era NFTs.
Tell that to Uniswap: https://uniswap.org/blog/uniswap-v3/
> Consider also that we might not all be talking about the same thing.
I think this is 90% of the confusion/disagreement in this thread.
I've always thought that it's fine to use git however you want, but if you hit a bottleneck (it gets too big and becomes slow), then you split your repo along logical boundaries (usually a large library can be split out and versioned, for example).
Somewhere over the last 15 years, that's changed, and the zeitgeist is now "mash dozens of independent repos into one repo" no matter the situation. Everyone in this thread that's suggested monorepos aren't the way to go has been downvoted, which caught me by surprise.
> I suppose that's why I felt compelled to reply to your thread in particular -- yes, we're investing in monorepos, but no, it's not because we're trying to drive people to them.
I believe you're sincere, and perhaps I was a bit too cynical about GitHub's motivations. Sorry about that, this topic is just frustrating and GH is in a position to help make things better.
Do you think GitHub could offer some kind of practical guide about when to use monorepos and what their limitations are?
I think part of the problem is that git's docs and the git-scm book aren't going to prescribe a way to use the software, because it's intentionally extremely flexible. Git users appreciate this, but GitHub users might lack good guidance.
As another reply pointed out, this might also have its origins in the git-submodule porcelain being confusing and underutilized.
Most GitHub users have probably never used submodules, don't know when a git repo would start to slow down due to size, aren't sure how to split out part of a repo while preserving history, and probably haven't thought too much about internal dependency versioning.
> to me, "monorepo" implies needing special attention
I think you and I are actually in total agreement, but the vast majority of corporate GitHub users have no context about where git came from, what it's good at, what it's limitations are, and how to use it for more than trunk-based development.
The ideas that "Linux is a monorepo" or "monorepos are the only natural way to manage code for any project" or that git should be "fixed" to support centralization should be concerning to GH.
I suspect these people don't have "monorepos" in the way that you and I are talking about them. They probably just have mid-sized repos that haven't need to be split up yet.
Even if you can support those customers as they grow into monorepos without friction due to enormous technical efforts, we're failing to teach a generation of engineers how to think about their most fundamental tools.
I appreciate that GitHub is trying to use technology to smooth out these points of confusion and improve git to work in every scenario, but publishing customer education materials about how to make good decisions about source code management would also help a lot.
> I talk with customers weekly who want to mash dozens of independent repos (Git or otherwise) together. If they aren't going to reap any of the benefits mentioned above or elsewhere in this topic, I strongly advise against it.
It sounds like you're giving good advice to the teams that you talk to, but what can I show my team that's authoritative from GitHub that says "don't mash dozens of independent repos together and then blur the lines so you can't tell what's independent anymore"?
I thought this was obvious, but it's not, and I don't know how to get people to understand it.
This is a particularly bad problem when your independent repos are working fine, but then there's a company-wide initiative to go "monorepo", and it's obvious in advance that the resulting monorepo won't be usable without a lot of extra work.
Maybe I've just been unlucky, but every time I've had a monorepo experience, it's been exactly that approach. And, as I'm sure you can tell by this thread, I haven't had much luck in convincing other engineers that mashing all unrelated code into one repo is a silly thing to do.
Also, I appreciate that you're upstreaming to core git and not trying to build a technical moat.
But why do so many people want these monorepos?
This seems like a serious developer education problem to me.
If I'm wrong that Google is the cause of this cultural shift toward monorepos, what do you think caused it?
I can't figure out why so many people are married to git but insist on leaning into its weaknesses (large repos) instead of its strengths (smaller composable repos).
In siblings to this thread, we have people reminiscing about the good old days of subversion and asking for git to emulate those features. It's quite frustrating to watch.
I think I've been operating under the illusion that most developers understood git well enough to realize it's a better model than svn. But in reality developers would have been more than happy to use "SvnHub" if that had come along first.
If you think that git needs to be "fixed" or "updated" to support a centralized vcs server to do partial updates over the network, then I think you've missed the point of git.
As a best practice, there's a reason that Linus started git in a separate repo, rather than as part of the Linux project. The reason is that if you put too many projects into one git repo, and it gets too large, you do eventually hit a scale where it becomes a problem.
A very simple way to mitigate that is to keep each project in its own repo, which you can easily do once you start hitting git scale problems.
Thankfully, one of the original git use cases was to decompose huge svn repos into smaller git repos, so the tooling required is already built in.
> I honestly find it ironic that you’re accusing people of “copying google” in a parent post but you’re the one assuming that everyone will hit Google limits…
I think you got the wrong take there. I'm saying that Google's monorepo approach is only valid because they invested so heavily into building custom tooling to handle it. We don't have access to those tools and therefore shouldn't use their monorepo approach.
If you're going to use git, you're going to have the most success using it as intended, which is some logical separation of "one repo per project" where "project" doesn't grow too out of hand. The Linux kernel could be thought of as a large project that git still handles just fine.
Tragically, I think if Google did opensource their internal vcs and monorepo tooling, they would immediately displace git as the dominant vcs and we would regress back to trunk-based development.
The problem is choosing a monorepo because the tooling isn't suited for monorepos.
Trying to build a monorepo with git is like trying to build your CRUD web app frontend in c++.
Sure, you can do it. Webassembly exists and clang can compile to it. I wouldn't recommend it because the tooling doesn't match your actual problem.
Or maybe a better example is that it's like deciding the browser widgets aren't very good, so we'll re-render our own custom widgets with WebGL. Yes, this is all quite possible, and your result might get to some definition of "better", but you're not really solving the problem you had of building a CRUD web app.
Can Microsoft successfully shim git so that it appears like a centralized trunk-based monorepo, the way you'd find at an old cvs/svn/perforce shop? Yes, they did, but they shouldn't have.
My thesis is they're only pushing monorepos because it helps GitHub monetize, and I stand by that.
> Tests should only execute against code that changed. Builds should only build the thing you want to build, not the whole repository.
How do you run your JS monorepo? Did you somehow get bazel to remote cache a webpack build into individual objects, so you're only building the changes? Can this even be done with a modern minimization tool in the pipeline? Is there another web packager that does take a remotely cachable object-based approach?
I don't know enough about JS build systems to make a monorepo work in any sensible way that utilizes caching and minimizes build times. If anything good comes out of the monorepo movement, it will be a forcing function that makes JS transpilers more cacheable.
And all this for what? Trunk-based development? So we can get surprise dependency updates? So that some manager feels good that all the code is in one directory?
The reason Linus invented git in the first place was because decentralized is the best way to build software. He literally stopped work on the kernel for 2 weeks to build the first version of git because the scale by which he could merge code was the superpower that grew Linux.
If you YouTube search for "git linus" you can listen to the original author explain the intent from 14 years ago: https://www.youtube.com/watch?v=4XpnKHJAok8
If this is a topic you're passionate about, I'd encourage you to watch that video, as he addresses why decentralizing is so important and how it makes for healthy software projects. It's also fun to watch old Googlers not "get it".
He was right then and he's right now. It's disappointing to see so much of HN not get it.
If you want a centralized, trunk-based version control, don't use git.
It's funny how each company decides to solve these problems.
Google called in the computer scientists and designed a better centralized vcs for their purposes. Good on them. It'd be great if they open sourced it. So typical of Google to invent their own thing and keep it private.
Microsoft took the most popular vcs (git), and inserted a shim layer to make it compatible with their use case. How expected that Microsoft would build a compatibility shim that attempts to hide complexity from the end user.
Meanwhile, Linux and Git are plugging along just fine, in their own separate repos, even though many people work on both projects.
- CI breaks all the time. Even one temperamental test from anywhere else in the organization can cause your CI run to fail.
- Building the monorepo locally becomes very complicated, even to just get your little section running. Now all developers need all the tools used in the monorepo.
- Dependencies get upgraded unexpectedly. Tests aren't perfect, so people upgrade dependencies and your code inevitably breaks.
It's cool that everyone is on the same coding style, but that's very much achievable with a shared linter configuration.
Microsoft forked git and layered their own file system on top of it to support a centralized git workflow so that they could have a monorepo.
Yes. This is very accurate and also the problem. Monorepos are being used as a political tool to change behavior, but the problem is that it has severe technical implications.
> There is no "right" way.
With git, there is a "wrong" way, and that's not separating your project into different repos. It causes real world technical problems, otherwise we wouldn't have this article posted in the first place.
> It's just something organizations have struggle with because it's going to be costly no matter what, and all that matters is what type of cost your org is most easily able to bear.
It's not a coin toss whether monorepos will have better or worse support from all standard git tooling. It will be worse every time.
The amount of tooling required to enforce dependency upgrades, code styles, security checks, etc across many repos is significantly less than the amount of tooling required to successfully use a monorepo.
When you do, you have two choices. You can either commit to the monorepo direction and start using non-standard tooling that sacrifices decentralization, or you can break up your repo into smaller manageable repos.
I don't have any problem with small organizations throwing everything into one git repo because it's convenient.
My objection is that when you eventually do hit the limits of git, will you choose to break the fundamentals of git decentralization as a workaround? Or will you break up the repo into a couple of other repos with specific purposes?
I don't like that GitHub makes money by encouraging people to make the wrong choice at that juncture.
I strongly disagree with that, but I'll let this blog post explain it better than I can: https://medium.com/@mattklein123/monorepos-please-dont-e9a27...
> You keep talking about Google, but a much more famous monorepo is Linux itself.
I thought it was fairly well known that monorepos came directly from Google as part of their SRE strategy. It didn't even come into common usage until around 2017 (according to wikipedia). If I'm remembering correctly, the SRE book recommends it, and that's why it gained popularity.
Also, I don't believe that Linux is a valid interpretation of "monorepo". Linux is a singular product. You can't build the kernel without all of the parts.
A better example would be if there was a "Linus" repo that contained both git and linux. There isn't, and for good reason.
> The fact that git is very poor at scaling monorepos might mean that it's a bad idea to use git for larger organizations, not that it's a bad idea to use monorepos. If git can be improved to work with monorepos, all the better.
Any performance improvement in git is welcome, but anything that sacrifices a full clone of the entire repository is antithetical to decentralization.
The whole point of git is decentralized source code.
That said, there's absolutely no reason to structure your code in a monorepo.
Here's what I think GitHub is doing:
1) Encourage monorepo adoption
2) Build tooling for monorepos
3) Selling tooling to developers stranded in monorepos
Microsoft, which owns GitHub, created the microsoft/git fork linked in the article, and they explain their justification here: https://github.com/microsoft/git#why-is-this-fork-needed
> Well, because Git is a distributed version control system, each Git repository has a copy of all files in the entire history. As large repositories, aka monorepos grow, Git can struggle to manage all that data. As Git commands like status and fetch get slower, developers stop waiting and start switching context. And context switches harm developer productivity.
I believe that Google's brand is so big that it led to this mass cognitive dissonance, which is being exploited by GitHub.
To be clear, here are the two ideas in conflict:
* Git is decentralized and fast, and Google famously doesn't use it.
* Companies want to use "industry standard" tech, and Google is the standard for success.
Now apply those observations to a world where your engineers only use "git".
The result is market demand to misuse git for monorepos, which Microsoft is pouring huge amounts of resources into enabling via GitHub.
It makes great sense that GitHub wants to lean into this. More centralization and being more reliant on GitHub's custom tooling is obviously better for GitHub.
It just so happens that GitHub is building tools to enable monorepos, essentially normalizing their usage.
Then GitHub can sell tools to deal with your enormous monorepo, because your traditional tools will feel slow and worse than GitHub's tools.
In other words, GitHub is propping up the failed monorepo idea as a strategy to get people in the pipeline for things like CodeSpaces: https://github.com/features/codespaces
Because if you have 100 projects and they're all separate, you can do development locally for each and it's fast and sensible. But if all your projects are in one repo, the tools grind to a halt, and suddenly you need to buy a solution that just works to meet your business goals.
But wait, actually, why sit through yet another technical interview when you could just buy the right stock/cryptocoin?
It seems to me that a lot of would-be conservative, career-driven tech workers are discovering that they can make more money flipping jpegs and meme coins than writing code for a big company.
Meanwhile, people like us are doing the "real" work of... using machine learning to increase engagement and sell ads for crap people don't need? running A/B tests to see which button configuration causes more UGC? optimizing conversion funnels for ad campaigns?
I've come to the sincere belief that the people involved in SHIB or NFTs or any of that are actually contributing more to society than most software engineers that I know. They're trying out new ideas about property ownership and forming new communities around new values. They're doing something of questionable value, but the vast majority of tech workers are doing something of negative value.
Regardless of the topic, if your conclusion is that "No, it is the children who are wrong!", chances are you're missing the point.
/b/tard here. Can confirm.
http://www.rubyinside.com/media/poignant-guide.pdf
or
It's an incredible work.
Ruby is the spiritual successor to Perl, and the niche it filled was to be the "beautiful" programming language. If you don't appreciate _why's guide and the idea of code as magical incantations, you're not going to enjoy your Ruby experience. I don't think there's many rubyists that didn't appreciate _why.
With something as weird as Ruby, where there's so many ways to do everything, you're going to want to start with beginner's mind anyway.
I've always wondered, and since you're right here... how do sites like this make money?
It looks like you're probably crawling all the JAV vendors, finding free clips of today's releases, embedding them in your own site to draw traffic, and making money with affiliate links to buy the full content?
Am I missing anything? It seems hard to believe you'd get enough affiliate signups to make it worthwhile.
I can imagine your site as being a few hours a year of script maintenance and a money printer, or a 40hr/week SEO job with 1000s of similar sites across the adult industry.
I'd love to know anything you're willing to share about how the business works.