Re: Searching for blind programmer to start a school for blind programmers

  • From: Christopher Coale <ccoale427@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Sat, 09 Apr 2011 15:52:16 -0700

My knowledge of how the processor works (by means of knowing assembly and OS development) is useful. Knowing how to write a program using only byte code is not (and I couldn't do it without many free hours and lots of reference manuals, and even then it would be a difficult task). Not to belittle your knowledge, but I'm just saying that being able to write a program using a hex-editor (and if you can, more power to you) is not very helpful in understanding how computers work; learning assembly and learning operating system design is where it is important, I would say.


On 4/9/2011 3:45 PM, Ken Perry wrote:
Yes and us true geeks used to dream hex in our sleep.  I think there are
still some of us left and I am no longer one, I know of all the
possibilities and I can still code in ASM for burning chips but I no longer
dream in op codes and registers, memory locations and IRQ's.  All I was
saying is learning of the existence and how it works is invaluable to a
programmer even today.  Are you telling me your knowledge of the subject is
not useful?

Ken

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher
Coale
Sent: Saturday, April 09, 2011 3:30 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: Searching for blind programmer to start a school for blind
programmers

I didn't say it was impossible (after all, how else would a compiler
work?) I said that it was asinine and impractical.  I say this because
the x86 instruction set is amazingly complex. Sure someone could use a
debugger to look around at machine code, that's not hard at all (in
fact, I do it a lot with vc++ to debug things and get performance
boosts). But, writing a binary file from scratch? I see it being
possible, but you would need to know the encoding of every instruction
you use. For example, "int imm8" is apparently 0xCD + the immediate
byte, so to do int 80h, you'd have 0xCD80. That is fairly simple, but
the "mov" instructions where you can have memory, immediate, and
register operands are difficult, and then for each memory, immediate,
and register operand you have an 8-bit, 16-bit, 32-bit, and for x64,
64-bit versions. It's no small feat to write a binary by hand.

Laugh yes I have read them and there was a time I could write some very
good
stuff with nothing but a debugger.  Just because it's nasty don't mean
it's
impossible.  I was not even in the same class of some of the guys I used
to
hang out with.  I knew one that won a programming contest who wrote a
program to display a naked woman with nothing more than Assembler and a
text
editor.  As for machine language you can write it on your own if you know
enough.  Unfortunately time has dulled my memory of useless interrupts
because we have so much easier ways to do things now.  I think I could
probably get a command line app to run with nothing but a hex editor but
calling the GUI might be beyond me because you would have to do some
serious
digging to get that to work and sometimes the information is just not
available anymore.

Ken


Ken

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher
Coale
Sent: Saturday, April 09, 2011 2:23 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: Searching for blind programmer to start a school for blind
programmers

What? Have you ever read the x86 information sheets? Teaching someone
assembly is a good way to teach them how a computer works -- having them
write programs in pure byte code (especially for x86) is both asinine
and impractical.  Maybe not so much for an extremely extremely simple
virtual machine or basic processor, but complex instruction sets like
x86 are flat-out beyond writing op-codes by hand. If you don't believe
me, just take a poke at the NASM source code. ;)

On 4/8/2011 6:47 PM, Ken Perry wrote:
I am not quite as old as you but I come from the same time zone.  I had
to
learn assembler to hack games on the Vic 20 and the commodore 64 and the
TI
but more than that when I joined the Air Force and took on Electronics
Assembler made my life easier.  Then later in life after I lost my site I
took software engineering and had to burn chips and while we could have
wrote stuff in C it was much easier to control the registers and stuff
with
ASM.  If we used C we allot of the time had to use special assembler
keywords to get things to work quite right.  If you look on the Fruit
Basket
page I was also insane enough to write the fruit basket in Assembler for
windows xp and it runs in vista.  I am not sure if that runs in Windows 7
but I should revisit it and make sure it does.  Lost knowledge is not a
good
thing.  Assembler may not be a way I would write a project now days but
if
you want to teach someone how your computers work there is only one thing
better.  The one thing better is straight opt codes using a debugger and
watching what is going on.  Well you could also write straight binary
files
like a good Fortran coder but who does that any more.  That what I should
do
is create the fruit basket with nothing but a hex editor.

Ken


-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Bill Cox
Sent: Friday, April 08, 2011 11:40 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: Searching for blind programmer to start a school for blind
programmers

On Fri, Apr 8, 2011 at 11:16 AM, Littlefield, Tyler<tyler@xxxxxxxxxxxxx>
wrote:
Assember?  Really?  You must be almost as old
as me!  I can't even find people who care about speed or memory usage
anymore.
I love assembler. It's a great way to teach people what's going on under
the
hood and make them think about what they do. Every time I see someone
reserve a 100k buffer just because, I cringe. :)
We must be from the same generation.  I'm 47, and learned to program
in machine code on an 8080 based Intel board with a hex keypad and
some LEDs.  It was a couple of years before I found out that people
programmed using assemblers, rather than entering hex by hand.

I worry that the new generation's early experience with computers is
amazing games and technology so complex they could never realistically
hope to understand it.  What's the natural path now days for kids to
go from playing computer games to writing them?  On the old Apple IIs,
you just typed list instead of run, and there was all the code.

Bill
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: