Attention developers familiar with NVDA source: New blog series.

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Attention developers familiar with NVDA source: New blog series.

derek riemer
Hi all:
I'm preparing to publish a blog post on various core components of NVDA over the next oh, year or so. if people can take a look at the below blog post, and fact check it and/or point out things about it, before I publish, that would be sweet! I'm also happy to put these on the wiki rather than my personal site if you wish. I'd especially like someone from NV Access to check this for accuracy and/or errors, as part of why i wrote this (And will write more of these) is to get more familiar with the code myself).
Thanks.

https://derekriemer.com/2017/02/14/introduction-to-nvda-development-the-basic-objects-explained/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

James Teh
Looks fine to me! My only comment is that I'm not entirely sure who you're audience is. A very new NVDA developer might get totally befuddled by the discussion of metaclasses and proving that with type(), etc. That said, if you're not targeting newbies, that's fine. :)

On Wed, Feb 15, 2017 at 4:05 PM, Derek Riemer <[hidden email]> wrote:
Hi all:
I'm preparing to publish a blog post on various core components of NVDA over the next oh, year or so. if people can take a look at the below blog post, and fact check it and/or point out things about it, before I publish, that would be sweet! I'm also happy to put these on the wiki rather than my personal site if you wish. I'd especially like someone from NV Access to check this for accuracy and/or errors, as part of why i wrote this (And will write more of these) is to get more familiar with the code myself).
Thanks.

https://derekriemer.com/2017/02/14/introduction-to-nvda-development-the-basic-objects-explained/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

Joseph Lee

Hi,

Additional notes:

  • I’d recommend adding an intro section that outlines the scope of this series, as well as prior knowledge, prereqs and what not.
  • Adding references (such as relevant Python links) would be nice (useful for researchers).

 

For Derek and other contributors: for the last few months, I myself have thought about writing a series of blog posts detailing the internals of NVDA, and I’m glad Derek is now bringing this into fruition. To contributors to this blog, I wish you all good luck and you have my blessings. As always, feel free to ask the experts if you get stuck.

Cheers,

Joseph

P.S. A tip on technical writing: it might be a good idea to ask yourself questions as you write posts – questions that new devs might ask (real or imaginary).

 

From: James Teh [mailto:[hidden email]]
Sent: Tuesday, February 14, 2017 10:13 PM
To: NVDA screen reader development <[hidden email]>
Subject: Re: [Nvda-devel] Attention developers familiar with NVDA source: New blog series.

 

Looks fine to me! My only comment is that I'm not entirely sure who you're audience is. A very new NVDA developer might get totally befuddled by the discussion of metaclasses and proving that with type(), etc. That said, if you're not targeting newbies, that's fine. :)

 

On Wed, Feb 15, 2017 at 4:05 PM, Derek Riemer <[hidden email]> wrote:

Hi all:

I'm preparing to publish a blog post on various core components of NVDA over the next oh, year or so. if people can take a look at the below blog post, and fact check it and/or point out things about it, before I publish, that would be sweet! I'm also happy to put these on the wiki rather than my personal site if you wish. I'd especially like someone from NV Access to check this for accuracy and/or errors, as part of why i wrote this (And will write more of these) is to get more familiar with the code myself).

Thanks.

https://derekriemer.com/2017/02/14/introduction-to-nvda-development-the-basic-objects-explained/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel

 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

derek riemer
In reply to this post by James Teh
Good point. I assume the reader has some understanding of python. I guess I could mark that section as advanced readers, and just say here's the big picture at the end.

On Tue, Feb 14, 2017 at 11:12 PM, James Teh <[hidden email]> wrote:
Looks fine to me! My only comment is that I'm not entirely sure who you're audience is. A very new NVDA developer might get totally befuddled by the discussion of metaclasses and proving that with type(), etc. That said, if you're not targeting newbies, that's fine. :)

On Wed, Feb 15, 2017 at 4:05 PM, Derek Riemer <[hidden email]> wrote:
Hi all:
I'm preparing to publish a blog post on various core components of NVDA over the next oh, year or so. if people can take a look at the below blog post, and fact check it and/or point out things about it, before I publish, that would be sweet! I'm also happy to put these on the wiki rather than my personal site if you wish. I'd especially like someone from NV Access to check this for accuracy and/or errors, as part of why i wrote this (And will write more of these) is to get more familiar with the code myself).
Thanks.

https://derekriemer.com/2017/02/14/introduction-to-nvda-development-the-basic-objects-explained/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel




--

Derek Riemer: Improving the world one byte at a time!

  • University of Colorado Boulder Department of computer science, 4th year undergraduate student.
  • Accessibility enthusiast.
  • Proud user of the NVDA screen reader.
  • Open source enthusiast.
  • Skier.

Personal website



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

Noelia
Hi, this is great. I love the exercise regarding to meta.
I think you should recommend to open the Python console with
NVDA+control+z for this, not from tools.
I would prefer to view this in the Wiki, so that people knows that this
is trust
Cheers

El 15/02/2017 a las 7:35, Derek Riemer escribió:

> Good point. I assume the reader has some understanding of python. I guess I
> could mark that section as advanced readers, and just say here's the big
> picture at the end.
>
> On Tue, Feb 14, 2017 at 11:12 PM, James Teh <[hidden email]> wrote:
>
>> Looks fine to me! My only comment is that I'm not entirely sure who you're
>> audience is. A very new NVDA developer might get totally befuddled by the
>> discussion of metaclasses and proving that with type(), etc. That said, if
>> you're not targeting newbies, that's fine. :)
>>
>> On Wed, Feb 15, 2017 at 4:05 PM, Derek Riemer <[hidden email]>
>> wrote:
>>
>>> Hi all:
>>> I'm preparing to publish a blog post on various core components of NVDA
>>> over the next oh, year or so. if people can take a look at the below blog
>>> post, and fact check it and/or point out things about it, before I publish,
>>> that would be sweet! I'm also happy to put these on the wiki rather than my
>>> personal site if you wish. I'd especially like someone from NV Access to
>>> check this for accuracy and/or errors, as part of why i wrote this (And
>>> will write more of these) is to get more familiar with the code myself).
>>> Thanks.
>>>
>>> https://derekriemer.com/2017/02/14/introduction-to-nvda-deve
>>> lopment-the-basic-objects-explained/
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Nvda-devel mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>>>
>>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Nvda-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>>
>>
>
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> Nvda-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: Newblog series.

Brian's Mail list account BY
In reply to this post by derek riemer
Well I even sort of followed it knowing little of the Python butt a  lot of
it is common sense that you cannot have what has not been given a value and
you cannot get a position which is negative. also I found myself thinking
hang on while all this is going on the underlying parameters coming from the
program or windows could be changing, so one needs to be careful not to
cache something that needs constant updating.
 Still a bit too much hard work for me I have to say at my every increasing
brain age though, but its nice to see that despite all of this object stuff,
the real deep down everyday programming is much the same, but we can invoke
a kind of multi tasking we never had access to when I were  a lad.
 Brian

[hidden email]
Sent via blueyonder.
Please address personal email to:-
[hidden email], putting 'Brian Gaff'
in the display name field.
----- Original Message -----
From: "Derek Riemer" <[hidden email]>
To: "NVDA screen reader development" <[hidden email]>
Sent: Wednesday, February 15, 2017 6:05 AM
Subject: [Nvda-devel] Attention developers familiar with NVDA source:
Newblog series.


> Hi all:
> I'm preparing to publish a blog post on various core components of NVDA
> over the next oh, year or so. if people can take a look at the below blog
> post, and fact check it and/or point out things about it, before I
> publish,
> that would be sweet! I'm also happy to put these on the wiki rather than
> my
> personal site if you wish. I'd especially like someone from NV Access to
> check this for accuracy and/or errors, as part of why i wrote this (And
> will write more of these) is to get more familiar with the code myself).
> Thanks.
>
> https://derekriemer.com/2017/02/14/introduction-to-nvda-development-the-basic-objects-explained/
>


--------------------------------------------------------------------------------


> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot


--------------------------------------------------------------------------------


> _______________________________________________
> Nvda-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

James Scholes
In reply to this post by derek riemer
> 5x7rect = Rectangle(5,7)

Just to note that 5x7rect is not a valid Python variable name
--
James Scholes
http://twitter.com/JamesScholes

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

derek riemer

Just to note that 5x7rect is not a valid Python variable name
Yes indeed. Good catch. I could just call it rect.  I actually didn't run this code, it's more for illustration.
--
James Scholes
http://twitter.com/JamesScholes

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel



--

Derek Riemer: Improving the world one byte at a time!

  • University of Colorado Boulder Department of computer science, 4th year undergraduate student.
  • Accessibility enthusiast.
  • Proud user of the NVDA screen reader.
  • Open source enthusiast.
  • Skier.

Personal website



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: Newblog series.

derek riemer
In reply to this post by Brian's Mail list account BY

hang on while all this is going on the underlying parameters coming from the
program or windows could be changing, so one needs to be careful not to
cache something that needs constant updating.
NVDA core pumps quite often. The caching is a compromise. If for example, the name changes mid function execution, fetching that is still slower. core will detect that anyway when it comes around next time. I don't know if that point was made clear in my blog. There's also certain info that really should never change. For example, the parent.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: New blog series.

Brian Gaff Lineone downstairs
In reply to this post by derek riemer
Yes I can well remember when attempting wayback in the 80s to put some code
out in an article in Pop com Weekly how the proof readers at the mag
completely screwed things up by removing indents and changing capitals into
lower case and correcting spellings of things that were spelled in a certain
way for a reason. One might have expected a proof reader for a computer
magazine would know not to fiddle with code, sadly that was my naivety at
the time.
 Oh well those were the days, 8 bits and hexadecimal.

Brian

[hidden email]
Brian Gaff's other account.

----- Original Message -----
From: "Derek Riemer" <[hidden email]>
To: "NVDA screen reader development" <[hidden email]>
Sent: Wednesday, February 15, 2017 4:39 PM
Subject: Re: [Nvda-devel] Attention developers familiar with NVDA source:
New blog series.


>> Just to note that 5x7rect is not a valid Python variable name
>>
> Yes indeed. Good catch. I could just call it rect.  I actually didn't run
> this code, it's more for illustration.
>
>> --
>> James Scholes
>> http://twitter.com/JamesScholes
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Nvda-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>>
>
>
>
> --
>
> Derek Riemer: Improving the world one byte at a time!
>
>   - University of Colorado Boulder Department of computer science, 4th
>   year undergraduate student.
>   - Accessibility enthusiast.
>   - Proud user of the NVDA screen reader.
>   - Open source enthusiast.
>   - Skier.
>
> Personal website <http://derekriemer.com>
>


--------------------------------------------------------------------------------


> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot


--------------------------------------------------------------------------------


> _______________________________________________
> Nvda-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: Attention developers familiar with NVDA source: Newblog series.

Brian's Mail list account BY
In reply to this post by derek riemer
Ah yes the dreaded  problem when the process stops  with core frozen in
stack. I tend to see this a lot. The nearest thing to stopping time that we
have! :-)
 Brian

[hidden email]
Sent via blueyonder.
Please address personal email to:-
[hidden email], putting 'Brian Gaff'
in the display name field.
----- Original Message -----
From: "Derek Riemer" <[hidden email]>
To: "NVDA screen reader development" <[hidden email]>
Sent: Wednesday, February 15, 2017 4:44 PM
Subject: Re: [Nvda-devel] Attention developers familiar with NVDA source:
Newblog series.


>> hang on while all this is going on the underlying parameters coming from
>> the
>> program or windows could be changing, so one needs to be careful not to
>> cache something that needs constant updating.
>>
> NVDA core pumps quite often. The caching is a compromise. If for example,
> the name changes mid function execution, fetching that is still slower.
> core will detect that anyway when it comes around next time. I don't know
> if that point was made clear in my blog. There's also certain info that
> really should never change. For example, the parent.
>


--------------------------------------------------------------------------------


> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot


--------------------------------------------------------------------------------


> _______________________________________________
> Nvda-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/nvda-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel