Re: Any help needed right now?

David Carter <[email protected]> Mon, 27 Jan 2020 19:01:10 +0000
Newsgroups gmane.comp.fonts.fontforge.devel
Message-ID <CAKr4HqZctrcjVgH+m2yBTpHGpjq=d3ekdL4fb5KKiiesQeFNVg@mail.gmail.com>
--===============5956484688722013888==
Content-Type: multipart/alternative; boundary="000000000000a6f271059d23bb8e"

--000000000000a6f271059d23bb8e
Content-Type: text/plain; charset="UTF-8"

Thank you kindly Jose for your thoughts.

I agree small steps to begin with.  I've been involved with lots of large
codebases where summer interns would come in, write a substantial amount of
code which was buggy and full of warnings, and I would spend a few months
tidying up the mess afterwards.  I never write code in that way.  I'm a
firm believer in small changes towards a goal.  I'm also a big fan of TDD
but I'm guessing there are no unit tests for this project.  It is never too
late.  I can see that FF is a very complex piece of work, so will need 'kid
gloves'.

I see there are a number of crash reports on Github and a large number of
warnings during compilation (mainly incomplete switch statements which is
worrying).  I think these should be addressed first.  I notice when
clicking around the application that odd things happen (the GUI seems to
get very confused for example when there are two windows open
simultaneously).  Other times the close button doesn't work.   I think
these small things should be investigated and fixed.    I'm a big fan of
memory and bug analysis tools so would like to run those when I get up and
running with a local build.

As explained to Fred, I'm currently stuck with a linker issue on MacOS (too
many versions of libiconv).  I hope to get past that shortly.

Regards
David.

On Mon, Jan 27, 2020 at 1:36 AM Jose Da Silva <[email protected]> wrote:

> Hi David,
> Start with small patches and improvements first instead of trying to
> tackle
> a big monster project. This comes with time as you get more familiar with
> the code. I agree, C is much more interesting.
>
> You may want to take a top-down look (to see the forest), but probably try
> fix from a bottom-up approach. Top down approach can easily fix one thing
> and
> break something else (and there are times where the code flipped one way
> and
> then another) but doing a bottom-up approach, you can fix a number of
> lower-
> level unstable functions that assume data is good (doesn't handle bad data
> well), and also misses a bit of housecleaning along the way.
>
> Keep an eye for improvement, like making code thread-safe/re-entrant code,
> big/little endian, runs well on modern distros and if you can, older
> distros, big/little endian.
>

--000000000000a6f271059d23bb8e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thank you kindly Jose for your thoughts.<div style=3D"user=
-select: auto;"><br style=3D"user-select: auto;"></div><div style=3D"user-s=
elect: auto;">I agree small steps to begin with.=C2=A0 I&#39;ve been involv=
ed with lots of large codebases where summer interns would come in, write a=
 substantial amount of code which was buggy and full of warnings, and I wou=
ld spend a few months tidying up the mess afterwards.=C2=A0 I never write c=
ode in that way.=C2=A0 I&#39;m a firm believer in small changes towards a g=
oal.=C2=A0 I&#39;m also a big fan of TDD but I&#39;m guessing there are no =
unit tests for this project.=C2=A0 It is never too late.=C2=A0 I can see th=
at FF is a very complex piece of work, so will need &#39;kid gloves&#39;.<d=
iv style=3D"user-select: auto;"><br style=3D"user-select: auto;"></div><div=
 style=3D"user-select: auto;">I see there are a number of crash reports on =
Github and a large number=C2=A0of warnings during compilation (mainly incom=
plete switch statements which is worrying).=C2=A0 I think these should be a=
ddressed first.=C2=A0 I notice when clicking around the application that od=
d things happen (the GUI seems to get very confused for example when there =
are two windows open simultaneously).=C2=A0 Other times the close button do=
esn&#39;t work.=C2=A0 =C2=A0I think these small things should be investigat=
ed and fixed.=C2=A0 =C2=A0 I&#39;m a big fan of memory and bug analysis too=
ls so would like to run those when I get up and running with a local build.=
</div><div style=3D"user-select: auto;"><br style=3D"user-select: auto;"></=
div><div style=3D"user-select: auto;">As explained to Fred, I&#39;m current=
ly stuck with a linker issue on MacOS (too many versions of libiconv).=C2=
=A0 I hope to get past that shortly.</div><div style=3D"user-select: auto;"=
><br style=3D"user-select: auto;"></div><div style=3D"user-select: auto;">R=
egards<br style=3D"user-select: auto;">David.</div></div></div><br><div cla=
ss=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jan 27, 20=
20 at 1:36 AM Jose Da Silva &lt;<a href=3D"mailto:[email protected]">digi=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad=
ding-left:1ex">Hi David,<br>
Start with small patches and improvements first instead of trying to tackle=
 <br>
a big monster project. This comes with time as you get more familiar with <=
br>
the code. I agree, C is much more interesting.<br>
<br>
You may want to take a top-down look (to see the forest), but probably try =
<br>
fix from a bottom-up approach. Top down approach can easily fix one thing a=
nd <br>
break something else (and there are times where the code flipped one way an=
d <br>
then another) but doing a bottom-up approach, you can fix a number of lower=
-<br>
level unstable functions that assume data is good (doesn&#39;t handle bad d=
ata <br>
well), and also misses a bit of housecleaning along the way.<br>
<br>
Keep an eye for improvement, like making code thread-safe/re-entrant code, =
<br>
big/little endian, runs well on modern distros and if you can, older <br>
distros, big/little endian.<br>
</blockquote></div>

--000000000000a6f271059d23bb8e--


--===============5956484688722013888==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============5956484688722013888==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
fontforge-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fontforge-devel
http://fontforge.10959.n7.nabble.com/Developer-f3.html

--===============5956484688722013888==--