Faits:
Faits:
A. A._, B._ et C._ habitent tous trois un bâtiment locatif de Morges. Le 23 octobre 2002, B._ a saisi les autorités judiciaires d'une plainte pénale dirigée contre A._, à qui il reprochait de l'avoir injurié en l'apostrophant avec les termes de "salopard" et de "sale étranger". Le 7 suivant, C._ a lui aussi déposé une plainte contre A._, pour des invectives semblables. Entendus par le Juge d'instruction de l'arrondissement de la Côte, trois témoins proposés par B._ ont confirmé les faits allégués par ce dernier. Informé de leurs déclarations, A._ a maintenu qu'il contestait ces faits; il a affirmé que "les étrangers" organisaient un complot contre lui. Le Juge d'instruction a entendu chaque personne séparément et à huis clos; il a établi un procès-verbal de leurs déclarations.
Par ordonnance du 20 octobre 2003, ce magistrat a clos l'enquête et renvoyé A._, accusé d'injure, devant le Tribunal de police compétent.
Par ordonnance du 20 octobre 2003, ce magistrat a clos l'enquête et renvoyé A._, accusé d'injure, devant le Tribunal de police compétent.
B. Avec le concours du Juge d'instruction, une conciliation est intervenue le 10 novembre 2003 entre A._ et C._; celui-ci a alors retiré sa plainte contre paiement de 300 fr. B._ a lui aussi retiré sa plainte, par une lettre du 26 novembre 2003, sans commentaires ni explications. Par un prononcé du lendemain 27 novembre, pris à huis clos et communiqué par écrit, la Présidente du Tribunal de police a pris acte des retraits de plaintes et a ordonné la cessation de la poursuite pénale. Elle n'a pas alloué de dépens à l'accusé; au contraire, elle lui a imputé les frais de la cause par 1'100 fr. au motif qu'il avait provoqué la poursuite par un comportement répréhensible au regard du droit civil.
Sans succès, A._ a contesté la décision concernant les frais et dépens devant la Cour de cassation pénale du Tribunal cantonal, qui l'a débouté le 28 janvier 2004. Cette juridiction a considéré, notamment, que le comportement répréhensible du recourant, à l'origine de la poursuite pénale, était suffisamment établi par les dépositions des témoins.
Sans succès, A._ a contesté la décision concernant les frais et dépens devant la Cour de cassation pénale du Tribunal cantonal, qui l'a débouté le 28 janvier 2004. Cette juridiction a considéré, notamment, que le comportement répréhensible du recourant, à l'origine de la poursuite pénale, était suffisamment établi par les dépositions des témoins.
C. Agissant par la voie du recours de droit public, A._ requiert le Tribunal fédéral d'annuler ce dernier prononcé. Invoquant la garantie d'un procès équitable conférée par l'art. 6 par. 1 CEDH, il fait valoir que les faits déterminants ont été constatés sur la base de témoignages recueillis par le Juge d'instruction seulement; il se plaint de n'avoir pas eu l'occasion de contester ces témoignages lors de débats publics.
Une demande d'assistance judiciaire est jointe au recours.
Invités à répondre, B._ et le Ministère public cantonal proposent le rejet du recours; la Cour de cassation pénale a renoncé à présenter des observations.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Aux termes de l'art. 86 al. 1 OJ, le recours de droit public n'est recevable qu'à l'encontre des décisions prises en dernière instance cantonale. Selon la jurisprudence concernant cette disposition, les critiques que le plaideur n'a pas soumises à l'autorité cantonale de dernière instance, dirigées contre le prononcé d'une autorité inférieure, sont en principe irrecevables devant le Tribunal fédéral (ATF 129 I 49 consid. 3 p. 57; 128 I 354 consid. 6c p. 357). Par ailleurs, l'art. 90 al. 1 let. b OJ exige que l'acte de recours contienne un exposé des faits essentiels et un exposé succinct des droits constitutionnels ou des principes juridiques tenus pour violés, précisant en quoi consiste la violation.
En l'occurrence, devant la Cour de cassation pénale du Tribunal cantonal, le recourant s'est surtout plaint d'une violation de la présomption d'innocence (art. 30 al. 1 Cst., 6 par. 2 CEDH), garantie constitutionnelle qui est violée lorsque la décision imputant les frais judiciaires au prévenu libéré des fins de la poursuite pénale laisse entendre que celui-ci semble néanmoins coupable de l'infraction en cause (ATF 116 Ia 162; voir aussi ATF 119 Ia 332; 114 Ia 299; CourEDH Leutscher c. Pays-Bas du 26 mars 1996, Rec. 1996 p. 427, ch. 29 et ss; Ringvold c. Norvège du 11 février 2003, ch. 38). Le recourant tenait pour "paradoxal et parfaitement contraire au principe de la présomption d'innocence de statuer avant jugement en contradictoire que l'accusé a eu un comportement répréhensible au point de vue du droit civil". L'argumentation présentée ne comportait pas d'autre allusion à la garantie d'une procédure judiciaire contradictoire conférée par les 30 al. 3 Cst. et 6 par. 1 CEDH. Le recourant ne tentait pas de démontrer que la décision concernant les frais et dépens eût pour objet des "droits et obligations de caractère civil" ou "une accusation en matière pénale" aux termes de cette disposition conventionnelle. Il ne tente d'ailleurs pas non plus cette démonstration à l'appui du recours de droit public.
A titre exceptionnel, un moyen de droit nouveau peut être soumis au Tribunal fédéral si l'autorité cantonale de dernière instance exerçait un pouvoir d'examen complet et devait appliquer le droit d'office, sans être liée par les motifs invoqués devant elle (ATF 128 I 354 consid. 6c in fine p. 357/358). Au regard des art. 415 al. 2 et 447 al. 1 CPP vaud., cette situation était formellement réalisée en ce qui concerne la Cour de cassation pénale. Toutefois, le recourant ne contestait aucunement la compétence de la Présidente du Tribunal de police de statuer hors débats sur les frais et dépens, conformément à l'art. 312 CPP vaud. Dans ces conditions, il ne pouvait pas attendre de la Cour de cassation pénale qu'elle examinât d'office une question délicate concernant la compatibilité de cette procédure, dans le cas d'espèce, avec des règles de rang supérieur au droit cantonal. Enfin, le recourant ne met pas sérieusement en doute les motifs qui ont conduit cette juridiction à rejeter le grief qu'il tirait de l'art. 30 al. 1 Cst. concernant la présomption d'innocence. Le recours de droit public est donc irrecevable au regard des art. 86 al. 1 et 90 al. 1 let. b OJ.
A titre exceptionnel, un moyen de droit nouveau peut être soumis au Tribunal fédéral si l'autorité cantonale de dernière instance exerçait un pouvoir d'examen complet et devait appliquer le droit d'office, sans être liée par les motifs invoqués devant elle (ATF 128 I 354 consid. 6c in fine p. 357/358). Au regard des art. 415 al. 2 et 447 al. 1 CPP vaud., cette situation était formellement réalisée en ce qui concerne la Cour de cassation pénale. Toutefois, le recourant ne contestait aucunement la compétence de la Présidente du Tribunal de police de statuer hors débats sur les frais et dépens, conformément à l'art. 312 CPP vaud. Dans ces conditions, il ne pouvait pas attendre de la Cour de cassation pénale qu'elle examinât d'office une question délicate concernant la compatibilité de cette procédure, dans le cas d'espèce, avec des règles de rang supérieur au droit cantonal. Enfin, le recourant ne met pas sérieusement en doute les motifs qui ont conduit cette juridiction à rejeter le grief qu'il tirait de l'art. 30 al. 1 Cst. concernant la présomption d'innocence. Le recours de droit public est donc irrecevable au regard des art. 86 al. 1 et 90 al. 1 let. b OJ.
2. Selon l'art. 152 OJ, le Tribunal fédéral peut accorder l'assistance judiciaire à une partie à condition que celle-ci soit dans le besoin et que ses conclusions ne paraissent pas d'emblée vouées à l'échec. En l'occurrence, la procédure entreprise devant le Tribunal fédéral n'avait manifestement aucune chance de succès, de sorte que l'une de ces deux conditions, au moins, n'est pas satisfaite. La demande d'assistance judiciaire sera donc rejetée.
2. Selon l'art. 152 OJ, le Tribunal fédéral peut accorder l'assistance judiciaire à une partie à condition que celle-ci soit dans le besoin et que ses conclusions ne paraissent pas d'emblée vouées à l'échec. En l'occurrence, la procédure entreprise devant le Tribunal fédéral n'avait manifestement aucune chance de succès, de sorte que l'une de ces deux conditions, au moins, n'est pas satisfaite. La demande d'assistance judiciaire sera donc rejetée.
3. A titre de partie qui succombe, le recourant doit acquitter l'émolument judiciaire et les dépens à allouer à l'adverse partie.
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est irrecevable.
1. Le recours est irrecevable.
2. La demande d'assistance judiciaire est rejetée.
2. La demande d'assistance judiciaire est rejetée.
3. Le recourant acquittera les sommes suivantes:
3.1 Un émolument judiciaire de 1'000 fr.;
3.2 Une indemnité de 1'000 fr. à verser à l'intimé à titre de dépens.
3.2 Une indemnité de 1'000 fr. à verser à l'intimé à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties, au Procureur général et au Tribunal cantonal du canton de Vaud.
Lausanne, le 7 septembre 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: