Yo, webmaster
Posted by Major Pain (+207) 12 years ago
Question for you: Do you have control over the message base code?

If so, I would like to offer the following suggestions, which I think are uniformly constructive. I think they would improve the site considerably:

1) Allow [em] and [/em] to generate into the EM and /EM HTML tags; this allows the browser and/or stylesheet to define what emphasis is. Normally, this means italics, but it can be redefined.

2) Allow [strong] and [/strong] to generate into the STRONG and /STRONG HTML tags; this allows the browser and/or stylesheet to define what emphasis is. Normally, this means bold, but it can be redefined.

3) Allow
and
to generate into the BLOCKQUOTE and /BLOCKQUOTE HTML tags. These again allow stylesheet friendly redefinition of indent, color, leader bars and so one, while the browser will always have a highly functional default, even if it is simply indent. In the case of this tag, it is important to generate as many closing /QUOTE tags as required to match the number of opens so that quotes cannot cascade into other message HTML.

4) I also think it would be very nice if color were allowed. It can make for a bit of a mess, true enough, and requires the same kind of auto-close care as blockquote so as to prevent the page from cascading off into some kind of colored mess, but it sure would be nice to be able to use basic colors like red, green, blue, aqua, etc. Just the a few ordinal (color cube corner) colors, minus white (makes invisible text, meh) would be quite useful. Plus orange... you gotta think about halloween... RGB=FF8844... Unless you want to add a global message body tag such as an ONBLACK tag, in which case you'd forbid black text and allow white in that particular message body. That'd be AWESOME. :-)

5) Allow [LI] and [/LI] to generate list items, with the surrounding [UL][/UL] and [OL][/OL] tags; lists are really basic to expressing many ideas. Again, you have to watch the closing tags, but that's not very onerous.

Seriously, the boards could be so much more expressive with just a few changes. What do you think? Kick it to the next level, or... meh?
Top
Posted by J. Dyba (+1344) 12 years ago
This is far from meh?. You sound like the kind of person that might understand the cost that is being shouldered her voluntarily. Not a paypal link or banner ad to be found.

While I feel your suggestions are valid and would be a welcome change, "meh" is a tad bit insulting.
Top
supporter
Posted by Bridgier (+9024) 12 years ago
No, he sounds like a customer, who knows the value of everything and the cost of nothing...

meh indeed....
Top
Posted by jessiker (+285) 12 years ago
Or, perhaps, he sounds like someone with some ideas!

Maybe he wants to volunteer some time to put these things in??
Top
Posted by J. Dyba (+1344) 12 years ago
I'm not bashing him or his idea's, they are good ones. I just didn't like the last sentence. Killed his whole post/intent for me.
Top
moderator
founder
Posted by David Schott (+16663) 12 years ago
Perhaps I'm reading it wrong but I think the Major is saying, "Do you like my ideas, or do my ideas make you say, 'Meh.'?" (as in, "I'm not too hot on your ideas."). In other words, "Here are my ideas. What do you think? Hot or not?"

I don't think the Major intended to insult anyone.

- Dave
Top
Posted by Major Pain (+207) 12 years ago
My last line was intended to refer to the webmaster's perception of what *I* said; did the ideas seem like next level, or nothing to get excited about. Poorly written on my part no doubt, and I apologize for any offense given. Meh - as far as I know - is a written version of shoulder-shrugging.

And sure, I'd be willing to help. I'm expert in both python and perl, and can probably learn any other environment (Ruby, etc.) without too much trouble. People rightfully tend to be very careful about who gets to meddle with their code, though, and so I don't like to give the impression that I'm trying to get my fingers into the jewelry box.
Top
Posted by extreme conditions (+34) 12 years ago
what???ru talking about and who cares?
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major Pain said:

> Question for you ...

Your ideas are fine, but the technology and techniques used to build this web site are outdated and I don't feel like spending any time massaging the legacy spaghetti.

Regards, Larry
MilesCity.com Webmaster
Top
Posted by Major Pain (+207) 12 years ago
Well, as mentioned, I may have the skills (don't know what tech it actually uses, so it's maybe), and I'd do it for free. I'd at least *look* at it. IF you like -- NOT PUSHING, just letting you know its an option if you were to so choose.

If the BBS is a public system, maybe just the name, version, revision would help, I could look into it and let you know from there. Via email is fine.

[This message has been edited by Major Pain (edited 8/16/2008).]
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major, respectfully, I created this and know more about writing software in the tip of my little pinky than you do in your entire body. That is not meant in disrespect, it is just a matter of fact. Perl / Ruby / PHP / Python and such (IMO) are a joke -- and just irritate me.

I don't dislike you. You seem like a person I would like to have a beer with and argue about this stuff, however, you still have a lot to learn about software development (even in web development).

This crappy little web site has outdone many others over the years. I have people from other states and cities and towns writing to me wanting what we have here -- and I've always said no.

The best thing you could do is "outdo me". I'd love to see that. I don't plan on continuing here forever.

Regards, Larry
MilesCity.com Webmaster
Top
Posted by LG (+202) 12 years ago
Webmaster:
With all due respect, your words are both rude and arrogant.

Dick move.
Top
Posted by Chris Peterson (+167) 12 years ago
I disagree. I see no rudness or arrogance. Honesty sometimes comes across that way. Put your head back in the sand and know that all is ok.
Top
supporter
Posted by Big Dave (+440) 12 years ago
Just my own opinion here, but I think that Larry has done a great job of presenting this forum and doing some policing when necessary and as I understand it, his compensation is nil. So if Larry wants to explain his position as he did and chide those who choose to be critical that is his right and privilege - it's his site. He also told Major Pain that if he could build a better site to do it.

Oh and by the way webmaster, if you need some advice I learned some BASIC as a high school sophomore in 1982. Those Apple II's rocked.
Top
Posted by Coach Brabant (+54) 12 years ago
PHP has some nice scripts for forums...but I realize that the forum is just a piece of this site. Just a thought...

Jeff
Top
Posted by Major Pain (+207) 12 years ago
> Major, respectfully, I created this and know
> more about writing software in the tip of my
> little pinky than you do in your entire body.

Ok...

> That is not meant in disrespect, it is just a matter of fact.

Actually, Larry, it would appear to be a matter of supposition, unless you know my background in software and hardware. Do you? Are you satisfied that no one anywhere could possibly have skills and experience equal to, or perhaps even superior to, yours? Or are you just playing the odds here?

> Perl / Ruby / PHP / Python and such (IMO) are
> a joke -- and just irritate me.

You're entitled to your opinion, certainly.

> however, you still have a lot to learn about
> software development (even in web development)

Would you care to provide an example of what it is that remains for me to learn? I'm always willing to look into new things. What am I missing? And even more interesting, how did you determine I was missing those things?

> The best thing you could do is "outdo me".
> I'd love to see that. I don't plan on
> continuing here forever.

I think you mistook my intent, Larry. I don't believe you can reasonably interpret anything I said as a claim or implication that I intended to outdo you; I simply offered to work on something you said you weren't willing to for the specific benefit of milescity.com.
Top
founder
supporter
Posted by Tucker Bolton (+3665) 12 years ago
OK, stop it before I send both of you to your rooms.
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
LG said:

> With all due respect, your words are both rude and arrogant.

Yes, I tend to get that way when I am irritated.
Top
moderator
founder
Posted by David Schott (+16663) 12 years ago
I don't blame Larry for wanting to maintain creative control over this website. I think it is a very classy looking site that Miles City can be proud of.

Once he opens the site up to a few "tinkerers" then the cat is out of the bag and you wind up with a site that looks more like... Glendive's site, for instance (I can't even remember the URL for that site but the main page was much too busy and cluttered looking).

Major's suggestion to allow colors in the post... well, pretty soon people are colorizing every other word in the post and the color becomes a distraction to the message.

Also, one of the things I like about this site is that it doesn't look like every other PHP (blah, blah) BBS site out there. It's unique.

Larry is not only a very experienced programmer but he also has an artistic flare and, in my opinion, a good sense of taste. I think it's rare to find that combination of technical and artistic skills in a person.

Anyhow, I'm yet to see someone else put forth a Miles City website that is superior to this one let alone even equal. Perhaps the Major will surprise us.

- Dave
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major Pain:

Look, I apologize for the manner in which I responded. I had just finished replying to about 100 e-mail messages, most of which irritated the hell out of me. I ended up venting my frustrations on you, with what was, yes, a rude post.

In regards to this site, I will explain this one last time. At one point I intended on creating an ASP.NET version using C# code-behind emitting XHTML relying upon CSS and such. Actually, most of it is finished. However, the amount of effort required to migrate the horribly designed old SQL Server database tables to the new schema is simply greater than my motivation or time I have available to do it -- especially considering this site is working just fine.

Sometimes, simpler is better. As is, I consider this legacy code that is in maintenance mode. I don't plan on adding any significant new features to it at this time. This is called "not shaking the jello".

In regards to my credentials, I'm not going to go through all of them -- except to say that I worked at Microsoft in the Operating Systems Division, the Advanced Research and Development Division, and the Consumer Division. I also started my own small software company back in 1995, and subsequently one of my products won a "Product of the Year Award" from PC Magazine and was prominently featured in it.

I also created this particular version of MilesCity.com starting around 1999, almost a decade ago, using very simple technology and techniques that worked across all browsers. It is no great masterpiece, but it works.

There are certain reasons why paging and such were not implemented -- one was to specifically reduce the load on the processor and SQL Server. There are certain reasons why I use the old tags -- and that is for maximum compatibility. There are certain reasons why I limit the types of tags that can be embedded into a post and prohibit HTML. And there are certain reasons for the way other things are implemented.

You are correct, in that my statement concerning your skills was not a "fact" but a "supposition" instead. I don't know what your qualifications or skills are, and I by no means am the greatest developer on earth -- far from it. So, again, I apologize for being rude in my response to you.

Regards, Larry
MilesCity.com Webmaster
Top
Posted by Major Pain (+207) 12 years ago
Hi again, Larry;

Fair enough. Understand fully you don't want to break a properly operating implementation. In return, my creds FYI:

I'll start with a very much incomplete list of software I have written; project and primary languages employed. These projects are mine in both the creative and the production sense; projects done under someone else's management or creative direction are not included in this list, even if I wrote the code front to back; likewise, projects where I managed the team but did little of the actual programming are not listed.

o 3D Landscape/heightfield Renderer {C}
o 68(7)05 Cross-assembler {C}
o Associative memory / AI research {C and Python}
o AVT v1-v4 - Images over radio by analog transmission {C and 68000 assembler}
o AVT v5 - Images over radio via AFSK {C and 68000 assembler -- hardware redesign, not similar to v1-v4}
o ApAssist hypertext documentation system (pre-HTML, with Pete Patterson's assistance) {C}
o Baudot TTY driver {SC/MP assembly, 6800 assembly}
o CMJ-TU device (Magnum) Images over radio by analog transmission {6809 assembly}
o Cards-n-Quiz - commercial arcade game {6809 assembly}
o CoComm - telecommunications {C}
o Coral reef analysis software for Florida Atlantic University {8086 assembler, mostly}
o Crits - Artificial life software (probably the most fun I ever had writing software) {C}
o Crypt - Encryption utility suite {C}
o Database-driven document processing system {VB/Access}
o Database software for my old Classic Audio site {VB/Access}
o Database software for my family site {VB/Access}
o Database software for our lingerie store {VB/Access}
o Database engine - "dbtxt" {Python}
o Diagnostic Cardiac Monitor - commercial software {z80 and 1802 assembler}
o Document preparation system (Postscript}
o EA140 (Soroc IQ 140 emulator) {6809 assembler under 6809 Flex, again in C under Windows}
o Easy Morph with my design team {C}
o E-commerce software for a very large (10^7 SKUs) web retail operation {PostgreSQL, Perl, Python and C}
o EPROM programmer drivers {C}
o Encryption, numerous ground-up applications {mostly C, one in Python}
o Fractal visualization system {C}
o FT9600 driver for Amiga - Radio driver {C}
o Heathkit scope driver for Amiga - Tool driver {C}
o HTML file-tree tool {C}
o HTML text colorizing tool {C}
o IP/IM - Image Processing {C}
o Image compression, and lots of it - image processing {C}
o Image file convertors - probably a hundred or so of them {C}
o Image file formats, ELF (Extended Layer Format) in particular {spec, C}
o Image stacking for noise reduction and gain (astrophotography) {C}
o Inertial tracking software for missiles - Military application {Assembler; CPU classified}
o It - Commerical arcade game {6809 assembler}
o Jakeboard - Handicapped empowerment for keyboard {C}
o Layering systems [geometric, realtime, 90+ mode] {C}
o Missile Command - non-commercial arcade clone {6809 assembler}
o Moboard - modem based BBS {6809 assembler, under Flex}
o Morphing - image processing {C}
o Navigation by ground image delta analysis {6809 assembler}
o Notebook (with Pete Patterson's assistance) - PIM {C}
o Opal with rest of design team - image processing {C}
o PCLO / BoardMaster - high speed computer aided design for PCB work {C and 68000 assembler} [Tech award at 1985 COMDEX]
o Packet Bulletin board - networking {C}
o Plugins for image processing (far too numerous to count) {C}
o Poker/Blackjack/Slot/Dice - commerical arcade/bar game {6809 assembler}
o Quizzard - commercial arcade/bar game {6809 assembler}
o Ray Trace engine - image processing [multi-core, multithreaded, hierarchical, and hyperrealistic] {C}
o ReFlex for Amiga - Operating System emulation {C}
o ReFlex for Windows - Operating System emulation {C/port to MSVC}
o Regpaint (with Barry Chalmers) - image processing {C}
o Rockball - commercial arcade game {6809 assembler}
o Scheme - computer aided design (schematic capture) {C}
o Scripting language for WinImages (BASIC-like) {C}
o Scope - software oscilloscope driver for Heath digital scope {C}
o Shadows - extremely high speed 3-d shadow rendering software {C}
o Shopping cart systems (several) {Perl}
o Softpanel drivers - display and utility {C}
o Soroc emulation for Win95 - Terminal emulation {C}
o Sounds for Solar Fox / Satan's Hollow - commercial arcade {z80 assembler}
o Spacecraft multi-computer synchronization - NASA {C}
o Spectral colorspace software - image processing {C}
o Speech synthesis driver for 6809 Flex / Votrax hardware {6809 assembler)
o Talkboard - Handicapped empowerment for speech {C}
o Target location by reverse time analysis of video records {C as POC, and again in Ada for the DoD}
o Tech II hardware sound system {6809 assembler}
o Telerad - Tele-Radiology system with real-time analysis, contrast windowing, levels, contrast enhance, etc. {C}
o Tree-based text decomposition and recoding - compression {C}
o View-Edit - image processing {6809 assembler}
o View-II - signal processing {6809 assembler}
o Web board system with formatting and etc. {Perl}
o WinImages image manipulation suite with rest of coding team {C}

My WinImages suite has been featured prominently in PC Magazine, Windows magazine, Camcorder magazine, Multimedia world, PowerPoint EZine, PC Presentations magazine, TV Technology Magazine, Byte, Computer Buyers Guide, Computer Shopper, Digital Video, Desktop Video World, and a bunch of out-of-USA magazines I confess I never really bothered to keep track of, all with fairly lengthy positive reviews. There are tons more that did "me-too" product announcements, of course. That's just marketing, really. Eventually, all that press becomes just a buzz in my ears while I try to get real work done. Awards are the same; eventually that stuff just gets jammed into a warehouse, the Lucite all dusty and the brass plaques sporting years of smudged greenish fingerprints. I do keep one really nice one of brass and fine woodwork around, from the Dayton Hamvention, of all places -- that was "technical achievement of the year." Those people are my peers and also many are my friends, a bunch of technical crazies, and I have to confess, that award, speech and presentation meant more to me than any of the others. I'm going to will all that crud to my kids, make them deal with sorting it out.

In addition to the above projects of mine, I have worked as a team member in many projects. A summary of the languages I've written significant code in (10k lines or more) includes:

o 6502 assembler
o 6800 machine code
o 6800 asm
o 6809 asm
o 6809 machine code
o 68000 asm
o 68020 asm
o 68705 asm
o 8080 asm
o 8085 asm
o 8086 asm
o 80286 assembler
o 80386 assembler (other than embedded systems, that was the end of asm for me - compilers FTW)
o Ada
o AIML [an AI markup language of my own devising, parsed by Python]
o AUML [a book/manual authoring markup language of my own devising, parsed by Python]
o Algol
o AmigaBASIC [dialect of BASIC]
o APL
o ARexx [REXX dialect]
o ATOM asm
o Basic - MS [dialect of Basic]
o Basic - SWTPC [dialect of Basic]
o C
o C++
o 6809 assembler: Chess engine [alpha-beta pruning based variant of SARGON]
o COBOL
o dbtxt [SQL dialect]
o forth
o fortran
o HTML [hand coding with and without style sheets, plus generators]
o LISP
o Modula II
o MySQL [SQL dialect]
o Pascal
o PDP-11 assembler
o Perl
o PostgreSQL [SQL dialect]
o Postscript
o Python
o SC/MP asm [National semiconductor ISP8000A]
o Scripting [Amiga, Bash, MS-DOS, Modcomp JCL, Flex JCL, ARexx]
o Visual Basic
o XBasic [extended dialect of Basic]
o z8000 asm

I have worked in hardware, software and combined capacities for IBM (at the Boca Raton PC unit), Analam CAD/CAM, Sony, MCI, Bally-Midway, Centuri, Techstar, Logical Devices, Arcade Engineering, Modcomp (contracting to NASA), ESI (contracting to the US Navy Weapons Center), Academy Design (contracting to the US DoD)
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major Pain:

Damn dude -- that's impressive. You win.

Rather than rehashing or attempting to add to my credentials, I'll just make a few random comments ...

> Visual Basic

Negative man points. VB sucks!

> A personal tweak of mine is to try - hard - not to use other people's code. Libraries, objects, etc. The time saved often takes its toll in intractable bugs, frozen functionality, and the associated support nightmares.

That is my exact same strategy. Third party components or libraries (especially when you don't have the code) almost always limit or kill you. I also try to write everything from scratch.

> Perl is so... messy. Just my opinion, of course.

That's not an opinion; I think it's a fact! Ugh.

Regards, Larry
MilesCity.com Webmaster
Top
Posted by Major Pain (+207) 12 years ago
VB does suck, and hard, but VB was built in with MS Access, and that was the technology at hand at the time (we're talking Access circa 1997 here.) It had pretty direct hooks into the forms and the databases all at the same time, so at least from my point of view, it wasn't a technology to be trivially rejected in favor of something less integrated.

Using Access's macro capability in there would have been even worse, you have to admit. Hardcore headaches. Those things were pre-crippled by being too canned in how they were built. I seem to remember they were a bit buggy, too, though it could have been me; I didn't spend a lot of time with them.

When MS pulled VB (temporarily) from Office, I was first stunned (on behalf of legacy apps), then amused. Then they put it back. I don't know how to feel now. Maybe just grateful I'm not doing Access development any longer.

[This message has been edited by Major Pain (edited 8/17/2008).]
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major, With your experience, perhaps you can help me out here. The following is a convolution filter I created for sharpening an image ... do you have any suggestions on how to improve it?

[code deleted - see the greatness of Major Pain below]

Regards, Larry
MilesCity.com Webmaster
Top
Posted by Major Pain (+207) 12 years ago
Well, as a convolution, there are three ways to improve it;

One is to adjust the horizontal and vertical components of the convolution matrix algorithmically in response to the noise level in the image, or conversely, to detect the steepness of the local area (grey scale rate change > some number of levels/pixel) and simply not apply the convolution unless the rate is high -- this keeps it from sharpening low level noise;

The second is to expand to a 4x4 or 5x5 convolution or even larger but of course, they're more finicky to set up. The benefit is you can better approximate a circle, and that means you catch more angles.

The third is to more closely approximate (and here I use the term *extremely* loosely) a circular convolution kernel within the 3x3 matrix, which you can do by weighting the cells a little differently. Yours is essentially a plus, and consequently will not sharpen diagonals. You might try:

-E -E -E
-E (8xE)+1 -E
-E -E -E

...where E is the intensity of the sharpening you're after.

Depending on how CPU costs affect your design, a considerably better way to go is to apply an unsharp mask. It costs some cycles, but *man* does it do a fine job of sharpening. The basic mechanism is to take a copy of the region to be sharpened, and blur it using a Gaussian of 1...10 pixels in radius, taking the unmolested pixels from the original, which you want to keep handy. Then you subtract the blurred image from the original, which leaves only ("edgedata") edges (because the blur didn't have any left, it won't take them from the original.) Then using an "amount" metric, you multiply the original image by 1+edgedata and the edges -- only the edges -- increase in contrast. Sharpness can be technically defined by edge contrast rate, and that's what this does - directly addresses edge rates.

The Gaussian blur is the big cost here; running an 8x8 or 10x10 circularly weighted convolution on a per-pixel basis is kind of nasty, timewise.

So (as per usual), there's a short cut available. Not perfect, but functional.

First, run a blur convolution:

1 1 1
1 1 1 / 9
1 1 1

Then subtract the result of a 3x3 sharpen:

-1 -1 -1
-1 9 -1
-1 -1 -1

...see how that works for you. You can also provide a trivial mix back into the original to scale the result, where the mix factor F is 0~1, the convolution result is C, the original pixel is P and the final result is R:

R = F x C + (1-F) x P

...that assumes factor is normalized to 0~1; if you're working with ints of 0~255 as is common with most RGBA, then F can be 0~255 and you can use integer math to simplify and accelerate (make sure the variables are at least unsigned 16-bit in this case):

R = ((F * C) + ((255-F) x P)) >> 8

You can (probably should) use the variable sharpen I described instead of the 3x3x1 matrix, like so;

-E -E -E
-E (8xE)+1 -E
-E -E -E

..that'll give you more flexibility. Scale the blur result proportionally to E.

Having said all that, a real variable aperture Gaussian can't be beaten by any constant convolution kernel. If you'd like to see one in action, grab a copy of the Gimp (free) load an image, and play with Filters / Enhance / Unsharp mask.
Top
supporter
Posted by Levi Forman (+3718) 12 years ago
10 PRINT HELLO WORLD
20 GOTO 10
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
Major, The question I posed was a test -- and it is now very obvious that you know exactly what you are talking about -- and I'm humbled. Not many understand a convolution filter; however you took it another step and actually provided further advice, better than I've ever received before. I'm going to go back and delete my code a couple messages up or so (as it is in production and I don't want it propagated), however, kudos to you -- damn you're good. You are a 5 star member of the club now.

Regards, Larry
MilesCity.com Webmaster
Top
Posted by mule train (+1050) 12 years ago
remind me to never mess with Major Pain, as he could probably wipe out my entire existence in 5 clicks of a mouse
Top
admin
moderator
founder
Posted by MilesCity.com Webmaster (+9981) 12 years ago
I think Major Pain might actually be Chuck Norris.
Top
supporter
Posted by Bridgier (+9024) 12 years ago
I have to apologize to Mr. Pain as well - mea culpa, etc, etc...

That said - what's with all the perl hate?
Top
Posted by Major Pain (+207) 12 years ago
Ah, I guess I don't hate Perl, per se, I just find it opaque after the fact; it is a very concise language, which means that it is visually dense, so lots of function can fit in a line. Add to this several (at least) ways to get something done, and familiarity goes right out the window -- and that's one of the things I count on when looking at older code of mine, or other people's code. The fact that I have trouble understanding *my* old Perl code is probably the biggest red flag for me; that doesn't happen in either C (lower level, generally speaking, also I'm "breezy" about how I write it), or in Python, which -- to me, I'm not trying to start a war here -- has just about the perfect balance of functionality and visual structure, plus an enforced indent that is highly coincident with how I would have liked to indent it if it was optional. Which means I can read *other* people's code pretty easily, which is really nice.

Perl's *very* powerful, it's had very good (though as usual, opaque) OO extensions for a while, there are tons of pre-written things for it if you like to go that way, and it is highly stable. I just.... don't like it much.

It's like the poor man's APL. If you ever accidentally see APL code, you come away kind of feeling like you just found a bunch of alien hieroglyphics. That probably read "To Serve Man." (My apologies to the shade of Damon Knight.) Perl can be kind of like that, and combined with poor indentation habits and short variable names (and $, and %, and @ and weird syntax for pipes and files...) It isn't that you can't write beautiful Perl code; most people just don't. The language seems to actually encourage you to be terse and opaque.

Python, on the other hand... I could bore you to tears over how much I like it. The day someone (hopefully) comes with a serious Python compiler I might just give up C coding. As is, it is interpreted (well, often "precompiled" into bytecode, but then *that* is interpreted) and so in terms of absolute speed a C compiler will run rings around it. If something isn't CPU intensive, I go for Python first these days. It's also a terrific first language to teach; relaxed about types, solid exception handling, very complete in terms of the built-ins, and a really nice OO model that lands squarely between the crazed ivory tower variants and those far too loose to be useful.

...and just for the record, I am not Chuck Norris. Never even met the guy. We do have some of the same roots, though:


That's me about ten years ago


Tang soo do is directly in the 跆拳道 / ji do kwan lineage, which is my root martial arts background. On the other hand, Norris is quite the religious fellow, and I'm not. Also, he stayed handsome, and I got grim-faced and grumpy. Turned into a major pain, if you will.

[This message has been edited by Major Pain (edited 8/17/2008).]
Top
Posted by LG (+202) 12 years ago
Major,
If I knew half of a quarter of your knowledge, I would be lucky indeed.
You're way too intelligent for this part of the world.
Top
supporter
Posted by Bridgier (+9024) 12 years ago
Well, yes - bad perl code is... very bad. The density thing gets even worse when people have some sort of fetish against vertical white space, or decide that the best way to initialize multi-level data structures is create page after page of:

$my->{crappy}{structure}{needs}{help}[0] = 'foo';
$my->{crappy}{structure}{needs}{help}[1] = 'bar';

etc, etc, etc.

From the little bit of python that I've had the opportunity to play with, it looks like it takes the things that I enjoy about perl and regularizes the syntax and has a more consistent feel - as though it was designed instead of hacked. Luckily, the job I just started last month may eventually involve some python work as well.

Now, if you REALLY want to talk about unmaintainable "code" - try going back after a couple of years and deciphering an XSLT transform that you wrote but didn't document. That really sucks.
Top
Posted by J. Dyba (+1344) 12 years ago
Out of curiosity, if you associate with Tang soo do, why are you wearing black pants in your picture?

This, btw, is not a test. I am honestly curious. The impact of Americanization on martial arts disciplines has always interested me.
Top
Posted by jessiker (+285) 12 years ago
Goodness! I'd just like to say I'm thoroughly impressed by both of you, for your amazing technical ability!
Top
Posted by Major Pain (+207) 12 years ago
Not associated with TSD; it's just part of the lineage. My master is a fairly traditional ji do kwan stylist; TKD was defined for a while by the initial houses, or kwans (organizations, really). The JDK in turn picked up a lot of things from early TSD, particularly some of the Japanese/Okinawan imposed pattern series - pyong an, chel gi (jap. nahianchi), bassai - from during the japanese invasion.

The kwans kind of evaporated in a paroxism of unification under the world tae kwon do federation. My master and I decided that rather than give up the old traditions, we'd add the new. So now there are the old patterns, the "new" patterns (pal gwe, etc) and the "really new" patterns "tae geuk." In the end, there are many things we do that a TSD stylist would recognize (hopefully), but we aren't actually TSD.

Aside from the patterns themselves, most TKD is pretty similar. There's even an entirely different branch, started by an NK general, General Choi, which has completely different patterns and has very little in common, historically speaking, with the kwans, but again, the rest of the technique is fairly similar.

I augment with locking from chin na and grappling from ju do; just to get a more rounded curriculum, and I also like the more rounded style of kicking that is in the hap ki do tradition. Makes for an interesting mix. I stress body mechanics, not eastern thought, as the root of power.

[This message has been edited by Major Pain (edited 8/18/2008).]
Top
supporter
Posted by Dan Mowry (+1432) 12 years ago
It's like Chuck Norris and Sly Stallone whippin' out their mad programming skillz to defeat the Evil Forces of Evil.

Can I be a sidekick henchman? I sorta' know how to make a Goto and Gosub generate a random number and make a beep when it's done.
Top
Posted by Major Pain (+207) 12 years ago
You know what the superhero's command to his sidekick is in Montana, right?


"Here. Hold my beer."
Top
supporter
Posted by Dan Mowry (+1432) 12 years ago
lol...

Yup. That's when things are about to get serious.
Top