Monday, January 12, 2009

Re: [BLUG] January meeting? February Meeting?

Barry Schatz wrote:
> I assume the holiday season is to blame for December, but I think it's
> time we got everyone together in meatspace again (IRL, for those who use
> acronyms).
>
> I've been putting off making a proper presentation on GnuPG for a while,
> and a meeting (with a projector and such) would be a good reason to get
> it done.
>
> Not that I'm opposed to meeting at Yogi's again. I might show off my
> refurb Dell laptop that runs KDE4 in that case. Or the latest build of
> Mozilla's Fennec browser.
>
> How about it? What you you all think?
>
> -Barry
> _______________________________________________
> BLUG mailing list
> BLUG@linuxfan.com
> http://mailman.cs.indiana.edu/mailman/listinfo/blug
>
In Feb. I could talk about using computers for political activities
(mainly targeting voters).
I think that the library might be a better location for the kind of talk
I would tend to give. If I give the talk, I have a few political friends
that might want to join us for that meeting.


_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

[BLUG] January meeting? February Meeting?

I assume the holiday season is to blame for December, but I think it's
time we got everyone together in meatspace again (IRL, for those who use
acronyms).

I've been putting off making a proper presentation on GnuPG for a while,
and a meeting (with a projector and such) would be a good reason to get
it done.

Not that I'm opposed to meeting at Yogi's again. I might show off my
refurb Dell laptop that runs KDE4 in that case. Or the latest build of
Mozilla's Fennec browser.

How about it? What you you all think?

-Barry
_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

Re: [BLUG] Looking to study further in computer science

On Fri, Jan 09, 2009 at 07:21:37PM -0500, Paul Purdom wrote:
> Steven Black wrote:
>> You should've tried a hex editor on the saved games! That's how I
>> started.
>>
> When I started decoding saved game files, my eventual plan was to write
> programs to play the game (or more limitedly help automate some parts of
> the play). Of course, one often starts minor projects that don't get
> finished.

Minor projects that don't get finished... major projects that don't get
finished... the size of a project has no relationship with whether or
not it'll get finished, or even what the eventual size will be once it
is finished...

> Of course, when I started programming, people had not started writing
> computer games. Had to learn lock picking to get at the computer (Royal
> McBee) for practicing on. Caltech had a liberal attitude on having lock
> picks just so long as you did not use them for evil purposes. The
> compute had a 32 track hard drive for main memory.

My father told me of a science fair project where someone implimented
Conway's Game of Life in hardware. This was right here in Indiana, mind
you.

There have been computer games since before there have been personal
computers. Back in the day, they just required a little more hardware
development if you wanted something of your own...

Cheers,

--
Steven Black <blacks@indiana.edu> / KeyID: 8596FA8E
Fingerprint: 108C 089C EFA4 832C BF07 78C2 DE71 5433 8596 FA8E

Friday, January 9, 2009

Re: [BLUG] Looking to study further in computer science

Steven Black wrote:
> You should've tried a hex editor on the saved games! That's how I
> started.
>
When I started decoding saved game files, my eventual plan was to write
programs to play the game (or more limitedly help automate some parts of
the play). Of course, one often starts minor projects that don't get
finished.

Of course, when I started programming, people had not started writing
computer games. Had to learn lock picking to get at the computer (Royal
McBee) for practicing on. Caltech had a liberal attitude on having lock
picks just so long as you did not use them for evil purposes. The
compute had a 32 track hard drive for main memory.


_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

Re: [BLUG] Looking to study further in computer science

On Wed, Jan 07, 2009 at 12:41:56PM -0500, Simón Ruiz wrote:
> *lol* I remember running a hex editor on the binary of Moria and
> seeing the "super god mode" code sticking out as an odd legible plain
> text word in the middle of unrecognizable binary goop, so I wrote it
> down out of curiosity.
>
> It took me a few days to actually use it and figure out what it was, though.

You should've tried a hex editor on the saved games! That's how I
started.

Who needs god mode when you can quickly and easily both increase
your own hit points, and decrease the hitpoints of particularly hard
monsters. (Though that came much later, it was fairly easy to change the
PC's stats, including literally maxing out the money.)

> Alice is a java-equivalent "language" which is constructed via a drag
> and drop interface with drop down menus and such. This makes it
> literally impossible to make syntax errors, so students can focus more
> on understanding programming concepts and fundamentals than on the
> mechanics of how to "write" the language.
>
> We're beginning to use it for teaching programming in our Middle School.

Yeah, the rest of the world thinks of using it no earlier than middle
school. I think, "Hey, that may be an introduction suitable to age 5 or
6."

After all, I was already planning to teach her Python at age 8. If this
one is supposed to be easier to use, then it logically would be suitable
for earlier ages...

> BTW, I've found teaching someone how to use a language is a pretty
> effective "focused project" to get me to get a basic understanding of
> the language and then while I'm teaching it, to get my understanding
> tested and hammered on by questions and such so I usually end up
> pretty well versed in the basic fundamentals.
>
> I rarely get into anything too advanced, though, when I'm teaching an
> introductory course; I have to find my own reasons to explore more
> advanced topics.

Yeah. This sort of thing has actually caused me a bit of trouble in
classes in the past. This happens due to a craptastic "good enough"
approach to some facts, where presumably the details are expected to be
provided in a later class. Well, if a student already knows the details,
then it looks like both the instructor and the author are incompetant.

I blamed the author more than the instructor, of course, as the author
should have researched the material and known the truth beforehand.

Cheers,
Steven


_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

Wednesday, January 7, 2009

Re: [BLUG] Looking to study further in computer science

On Wed, Jan 7, 2009 at 11:54 AM, Steven Black <blacks@indiana.edu> wrote:
> You clearly needed some more focused projects.

Yeap, I pretty much worked on something until I got distracted.

I really need to be interested to pay attention, and I usually need a
*reason* to be interested; like a project I'm working on.

I'd probably be medicated for this sort of behavior in most modern
American schools. ;-)

> I learned Borland's Turbo Basic to make it easier to modify the saved
> games for Moria. (At the time these were uncompressed and 90k.) The file
> format was reverse engineered -- things would've been much easier had I
> realized the file format was clearly documented in the C source. (But
> then, I was 9 and playing with it on my own.) My last BASIC program let
> me wander around the full map and hack on objects, monsters, and the
> player.

*lol* I remember running a hex editor on the binary of Moria and
seeing the "super god mode" code sticking out as an odd legible plain
text word in the middle of unrecognizable binary goop, so I wrote it
down out of curiosity.

It took me a few days to actually use it and figure out what it was, though.

> I have a friend who, IIRC, always writes an implimentation of Conway's
> Game of Life in any language he is learning. It is short enough it is
> doable, but complex enough that it gives him enough exposure to the
> language.

*lol* I'll have to do that with my latest "language", Alice
<http://www.alice.org>.

Alice is a java-equivalent "language" which is constructed via a drag
and drop interface with drop down menus and such. This makes it
literally impossible to make syntax errors, so students can focus more
on understanding programming concepts and fundamentals than on the
mechanics of how to "write" the language.

We're beginning to use it for teaching programming in our Middle School.

BTW, I've found teaching someone how to use a language is a pretty
effective "focused project" to get me to get a basic understanding of
the language and then while I'm teaching it, to get my understanding
tested and hammered on by questions and such so I usually end up
pretty well versed in the basic fundamentals.

I rarely get into anything too advanced, though, when I'm teaching an
introductory course; I have to find my own reasons to explore more
advanced topics.

> It also provides him with an immediate comparison of any two languages
> he had previously used.

Indeed. I've done Life in Java and Python, and I *probably* have
copies of that stuff around somewhere...

> Cheers,
>
> --
> Steven Black

Cheers,

--
Simón Ruiz

_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

Re: [BLUG] Looking to study further in computer science

On Wed, Jan 07, 2009 at 12:33:52AM -0500, Simón Ruiz wrote:
> I just gotta say that was an incredibly thoughtful and useful post by
> Steven.

Thank you.

> An observation: I've only ever learned a language because I needed to
> or wanted to do something specific and using that programming language
> was a means to that end.

It is important to note that "needing to know it for work" can, in fact,
include learning a language (or other tool with a specific syntax)
because it seems important for a job you are interested in *getting*.

If you're interested in actual paying jobs in the field, it is important
to know the skills actually in demand. If you're in doubt as to which
of any two languages to use in a personal project, an easy answer is
to check out the job listings and favor the language with the most job
opportunities available in it.

People like to see examples of your work, yes, but people like it best
if your example clearly relates to their problem area. Since there are
so many problem areas, the easiest way to hit the mark here is to be
in the preferred language.

> I learned BASH because I needed to administer a few hundred Linux boxes.

Wait a minute... I think I don't remember why I learned BASH.

It might have been straight-up because prior to that I had been heavy in
to BAT and BTM files. (BTM being a 4DOS/NDOS thing with more features.)
I knew the power inherant in a good shell script, even though I didn't
know a good shell language. I'd run in to examples and shell snippets
in my initial Linux investigations, and I'd want to know more because I
liked what I saw.

It might have been back when I was using Make and M4 to create my
webpages. (I learned M4 specifically as a macro language for making
web pages. I've never really liked writing web pages in HTML... and
I've always loved consistent style.) For those unfamiliar with Make, it
leverages the shell to run the commands, which means that in order to
become good with Make, you also need to be good with BASH.

I might have learned it to create better one-liners on the command-line.
I had heard from my father that it not only had FOR and WHILE loops, but
you could use them on the command-line. These are incredible time-savers
when you need them. So, I may have needed them once, started reading the
Info documentation, and sort of gotten distracted with how yummy it was
compared to what I had been using.

More than likely all three of these reasons are actually true, and even
though I can't remember which one came first, I kept going back to the
documentation each time, and each time I not only remembered something
better, I also remembered enough about some other feature I didn't
immediately need, but which later provided a seed to solve a different
problem.

> I've never learned a language because I wanted to learn it.

There are people who learn languages because they want to learn it. They
tend to be the hard-core computer science types who favor theory over
practicality.

When the same phenomena is witnessed with spoken languages you get
people learning Klingon (because they think it is cool, and with no
intention of, say, attending a Star Trek convention in a Klingon
outfit), Esperanto, and the like. (There's another language, too, newer
than Esperanto with similar goals, but with patent problems to the point
that there's a "patent-free" version as well. Unfortunately, I forgot
the names.) Totally impracticle things to know, with little real benefit
in the long term.

Ultimately, my goal has always been to make cool stuff.

> I played a lot with GWBASIC and MBASIC as a child, my dad even got me
> some tutorials to run through, but I never used it and it faded away.
> I played through several JavaScript tutorials and books, but I was
> having more fun with the cool stuff that I could make it do than
> anything really web-related and forgot it all after I moved on.
> Same goes for Visual C++ when I decided to learn "real" programming
> after the short stint with JavaScript.

You clearly needed some more focused projects.

I learned Borland's Turbo Basic to make it easier to modify the saved
games for Moria. (At the time these were uncompressed and 90k.) The file
format was reverse engineered -- things would've been much easier had I
realized the file format was clearly documented in the C source. (But
then, I was 9 and playing with it on my own.) My last BASIC program let
me wander around the full map and hack on objects, monsters, and the
player.

I learned C because I wanted more power. I wanted to do things that you
couldn't easily do in BASIC. I also wanted to write my own games.

I ended up writing more tools than games, though. I like things to be
easy and fast. It eventually led me to system administration with a
heavy bend toward automation.

> Sitting and working my way through tutorials because I wanted to "be
> able to use X language" never really stuck

I have a friend who, IIRC, always writes an implimentation of Conway's
Game of Life in any language he is learning. It is short enough it is
doable, but complex enough that it gives him enough exposure to the
language.

It also provides him with an immediate comparison of any two languages
he had previously used.

Truthfully, if you're going to add languages like notches in your belt,
an approach like that is probably a good one to have. Of course, I have
no idea how much of any of the languages he learned this way actually
stuck...

Cheers,

--
Steven Black <blacks@indiana.edu> / KeyID: 8596FA8E
Fingerprint: 108C 089C EFA4 832C BF07 78C2 DE71 5433 8596 FA8E

_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug