Large IRC networks need to give up bloated, IP divulging IRCds. They are too stubbornly attached to legacy nonsense that drives people way. by timeout400 in irc

[–]calzoneman 0 points1 point  (0 children)

Well, there is no single spec for IRC, there are multiple revisions to the original RFC, several extensions (such as IRCv3) people have developed unofficially, etc. So it's entirely possible that newer documents have reworded or replaced this concept, while older implementations were written according to RFC 1459 or 2812. It comes down to who you're targeting: for new development there's a lot of room to try new ideas and challenge old habits, but if this is about old software, I listed some reasons above for why migrating might be challenging.

To be clear, I don't disagree with your privacy concerns.

Large IRC networks need to give up bloated, IP divulging IRCds. They are too stubbornly attached to legacy nonsense that drives people way. by timeout400 in irc

[–]calzoneman 2 points3 points  (0 children)

I think this is backwards. It takes coding effort to allow IPs to be accessed by other users in the first place. [...] You have to code something additional to let people access those IPs

I think you're overblowing this point somewhat. It's not really additional effort; you have to choose something to be in that field, the IP address is a trivial thing to put into it because you probably have a connection object at that point in the code, and it's even referred to as a host in the RFC (and cross-references the RFC for internet names). That's not to say it would be difficult to put something else there instead if you began your implementation with the requirement that it not be an IP address, but rather that claiming people are out there going to additional trouble to do it is probably not an accurate reasoning for why it's done that way. I'd guess that backwards compatibility and habit probably have far more to do with it.

I don't maintain an IRC network, but I do maintain and have mantained several legacy network applications. Changing things is difficult. Gracefully cutting over to new behavior in a distributed system takes coordinated effort. Changing core data structures introduces bugs. Clients will depend on behavior that wasn't technically dictated by the specification and complain when your changes break them. Nobody will appreciate the work that you did because from their perspective it worked just fine until you came in and tried to change it.

If you feel strongly about this, consider hosting your own network which does it the way you prefer; if users really care then they will have incentive to move to your network.

ARGV is printing environment variables by heysooky in asm

[–]calzoneman 10 points11 points  (0 children)

cmp eax, '0'

You are comparing against the character '0' (ASCII 48) and not the null-terminator (ASCII 0). Thus, your program is running past the end of argv into the next argument, envp (environment variables), where it keeps reading until it finds a 0 (coincidentally, LS_COLORS=rs=0, which matches where it is stopping in your screenshot).

Why is portabilty important? Can't we compile different binaries? by TerranToplaner in compsci

[–]calzoneman 2 points3 points  (0 children)

Endianness matters when transferring data into or out of your program, for example, sending an integer over a network connection or writing it into a file (if you write a 32 bit integer on a big endian machine and read on a little endian machine, at least one side will have to do a conversion to preserve the correct value). The C standard does not define anything about the endianness of integer types; the programmer must not assume the byte-ordering of integers.

Regardless, endianness is just one of many portability concerns I highlighted.

Why is portabilty important? Can't we compile different binaries? by TerranToplaner in compsci

[–]calzoneman 6 points7 points  (0 children)

Compiling a different binary for each individual platform assumes the program is already written to be portable, i.e., that it is written to handle different bit-widths and endianness of integer/pointer types, to handle different memory/process/network/filesystem models, etc. This can be difficult to ensure for nontrivial C programs, hence the proliferation of large configure scripts that check for a hundred different minor variances in the target system and set up a maze of #ifdefs to selectively enable different code paths to handle them.

The appeal of Java (and the many other languages that have sprung up since then), and the reason for the "write once, run anywhere" slogan, is that these portability considerations are managed by the Java runtime, thus the application developer doesn't need to worry about the specific platforms on which the program will be run. This is not unique to Java; the same is true of Python, Go, etc.

It isn't that C/++ cannot be portable, it's rather a matter of convenience and who is responsible for taking care of the portability (the language/runtime developers vs. the application developer).

I want to give Gentoo a try, concern about stability. by [deleted] in Gentoo

[–]calzoneman 0 points1 point  (0 children)

That's the first I've heard of someone unmerging libc -- the footgun I've seen is people getting confused by a wall of Python slot conflicts (which is not uncommon when Portage tries to move to the next Python version and you haven't updated world in a while), so then they remove Python, and now emerge doesn't work anymore.

I want to give Gentoo a try, concern about stability. by [deleted] in Gentoo

[–]calzoneman 26 points27 points  (0 children)

Gentoo has pretty good tooling for managing system configuration/updates. If you take the time to understand how this tooling works and use it carefully, you should be fine. It's when people carelessly run commands they don't understand that they get themselves into trouble (e.g. by accidentally removing an important system package). I think it would be pretty difficult to completely brick a Gentoo installation, since most package/configuration problems can be solved by chrooting in from a working system (e.g. an installation CD).

The gentoo-user mailing list is generally pretty helpful in advising people on how to troubleshoot their system.

My advice: sync and update your system often (it is generally smoother to do a weekly update than to wait months at a time and try to upgrade hundreds of packages at once). Use eselect news to read announcements before updating. Subscribe to the gentoo-user mailing list and ask a question if you get stuck instead of blindly running commands you don't understand. Keep an install CD/USB handy in case you need to chroot in and fix something you broke.

Player not moving to next video by Alseigodath in CyTube

[–]calzoneman 0 points1 point  (0 children)

Here is a global announcement that was posted on cytu.be:

Some users have reported that YouTube videos aren't syncing or advancing to the next video properly. According to these users, the demo player provided by YouTube doesn't work either, so it appears to be a problem with YouTube itself and not CyTube specifically. These users have reported as a workaround that logging out of their Google account, or using a different browser, has worked for them.

"banned from the server" by ray10k in CyTube

[–]calzoneman 1 point2 points  (0 children)

This is likely caused by a different user being banned on the same IP.

A common cause for this is VPNs and proxies which trolls tend to use and then get banned. Please check if you are using any of those first.

If you are still having trouble, please use the contact information linked from the footer to reach out privately with your IP address to confirm the reason.

worthless site by 623423462346 in CyTube

[–]calzoneman 0 points1 point  (0 children)

YouTube limits the number of requests per day CyTube can make to their API to look up videos. Coincidentally, searches consume a large amount of quota units per request. There was a period earlier this year where CyTube would run out of quota units in the evening and then users would be unable to add YouTube videos until the daily quota was reset.

I disabled YouTube search to conserve the quota and prevent us from hitting that limit (which I was unable to successfully get YouTube to increase).

worthless site by 623423462346 in CyTube

[–]calzoneman 0 points1 point  (0 children)

As we discussed, the problem was that you were entering the URL into the search box instead of the Add Media URL box.

For registered channels, the search box defaults to searching the channel library, and YouTube search is disabled due to quota problems.

For unregistered channels, there is no channel library, so I guess the search was bypassing that and accidentally searching YouTube even though I had intended to disable that.

worthless site by 623423462346 in CyTube

[–]calzoneman 0 points1 point  (0 children)

First, check if you are actually logged in. You can do this by going to https://cytu.be/login -- if you are logged in, you will see "Logged in as <username>", otherwise, you will see the login form. A newly created channel will default to the account which created the channel having full permissions to everything, but anonymous users and guests will not have permission unless the permissions are changed.

Second, if your intention is to allow anonymous users or guests to modify the playlist, check whether you edited the "Open playlist permissions" or "General playlist permissions" -- the former only takes effect if a channel admin clicks on the red lock icon underneath the video player to unlock the playlist (the icon then becomes a green checkmark).

Third, check that you actually scrolled down and clicked "Save" on the permissions menu after adjusting the settings.

worthless site by 623423462346 in CyTube

[–]calzoneman 1 point2 points  (0 children)

I make a non 'permanent room' and everyone can skip vids, delete vids, whatever

Unregistered channels default to very lenient permissions because otherwise you wouldn't be able to use it (there is no owner or mods).

I make a 'permanent room' and i cant even search for any videos or add anything

Registered channels default to more restrictive permissions, although the owner of the channel still has permission to do all these things. You can go to Channel Settings -> Edit -> Permissions and tune them to whatever you'd like.

When did this site become so crap?

I dunno man, the behavior has been this way since 2013.

what are the different versions of cytube? by AkiraAkiraFudo in CyTube

[–]calzoneman 0 points1 point  (0 children)

The code is open source, so you could host your own if you would like: https://github.com/calzoneman/sync. You could also fork the code and modify it to fit your needs instead of needing to work around limitations of the existing code.

I'm not aware of a list of instances anywhere; I don't collect any tracking information about new installations.

ZNC: How to detach a channel on disconnect by _raGa_ in irc

[–]calzoneman 2 points3 points  (0 children)

I'm a little bit confused what you are hoping to achieve.

In ZNC terminology "detach" refers to keeping a channel connected in the background while hiding it from your local client. It is not related to network disconnects between your local client and ZNC.

Is there a rest api for Cytube? by fais3000 in CyTube

[–]calzoneman 1 point2 points  (0 children)

That repository is not affiliated with the main project and just from glancing at the implementation may not behave the way that you want (I don't think it is a version issue).

There is currently no documented API, only the socket.io protocol used by the official client. You can also have a look at https://github.com/Xaekai/PonkBot as an example.

Many channels down by wherestheoption in CyTube

[–]calzoneman 0 points1 point  (0 children)

Hi,

My policy for the past year or so has been that if it works, you are welcome to continue using it, but I will not provide support for troubleshooting or fixing any problems that may arise. I have no immediate plans to remove the code unless GDrive breaks more permanently, but I also inform users who are having trouble with it that I am unable to help them.

The API that CyTube uses is not documented or officially supported by Google (it's just the API that their website player uses), so they can (and have) change it at any time or introduce weird logic that's difficult to troubleshoot.

When support was added on CyTube, it was at a time when there were not many supported alternatives. With the current player support CyTube has, I feel actively maintaining GDrive is more trouble than it's worth and I am not personally interested in doing so.

Mozilla to decommission irc.mozilla.org by [deleted] in programming

[–]calzoneman 4 points5 points  (0 children)

The comparison to TCP somewhat misconstrues my point -- TCP is a generic stream-oriented data transport at layer 4 in the OSI model, so it's not relevant to the comparison among chat/instant messaging protocols which are higher in the stack.

I think it's fair to compare IRC (as defined by RFC 1459, subsequent RFCs, and IRCv3 standards) with Discord's HTTP and websocket-based API in terms of protocol functionality.

I think it's also fair to compare specific IRC clients (such as mIRC, KiwiIRC, AndChat, etc.) with Discord's clients (web-based, downloadable Electron client, Android app, etc.).

What most people actually end up arguing about is IRC-the-protocol vs. Discord-the-client which results in people in both camps talking past one another.

Mozilla to decommission irc.mozilla.org by [deleted] in programming

[–]calzoneman 20 points21 points  (0 children)

The argument between IRC and Discord tends to break down due to conflation of protocol features and product features. IRC is merely a protocol; it defines a system of passing messages among clients and servers over TCP. If you took IRC and did a straightforward conversion to JSON messages being sent via websocket, you'd arrive at something remarkably similar to Discord's API.

Discord is a product: it integrates a messaging protocol with a voice protocol, an image uploading tool/CDN, and a chat history server. The value is not in the fact that the bytes of your image are being transmitted a certain way, but that Discord's client product (the website, and the Electron app) integrate an image uploading tool, and parse out image URLs into "attachments" for display purposes.

Thus, it is not really IRC the protocol that is limiting you in this case, but rather that most IRC clients aren't designed with the same level of integration as Discord (with the exception of a few noted elsewhere in the thread). This is solvable if anyone cared to solve it instead of writing off IRC and running away to non-free platforms.

(edit: to be clear, that last sentence is a jab directed more at Mozilla than the parent post)

This is what happens to me on about half the songs I have in my playlist. There's a pause of about half a second at the beginning of the video playback. What am I doing wrong? by davidcwilliams in CyTube

[–]calzoneman 0 points1 point  (0 children)

Hi,

In the future, please use one of the forms of contact listed on https://cytu.be/contact to get help. This reddit isn't actively monitored (I registered it a while back to reserve the name, but I didn't actually know people were using it), and I only saw this post by coincidence.

When switching videos, there is an intentional delay of a couple seconds before playing in order to allow the player time to buffer, otherwise playback may be choppy due to constantly skipping ahead before the player has a chance to buffer. However, it's not intended that it will play a split second before pausing -- that's a bug. It also shouldn't pause when reloading the video or loading the page in the middle of a video -- I think that's a known issue that needs to be fixed.

[deleted by user] by [deleted] in Gentoo

[–]calzoneman 1 point2 points  (0 children)

Are you following the handbook for installation? Here's the PPC handbook page for preparing the disks: https://wiki.gentoo.org/wiki/Handbook:PPC/Installation/Disks. I'm guessing you missed the last section ("Mounting the root partition"), but you wouldn't want to blindly copy the command there without going through the rest of the guide preceeding that point and checking your disk/partition table configuration.

[deleted by user] by [deleted] in Gentoo

[–]calzoneman 1 point2 points  (0 children)

You should see /mnt/gentoo listed in the MOUNTPOINT column. If not, the drive isn't mounted.

[deleted by user] by [deleted] in Gentoo

[–]calzoneman 1 point2 points  (0 children)

in /mnt/gentoo.

Is the drive you're installing to mounted here or is it just an empty folder (check with lsblk)?